/* ══════════════════════════════════════════════════════════════════
 * AUTOSITE — chrome.css
 * Site skin : header, nav, footer, article, cards, forms, CTA.
 * Ce fichier est STATIQUE entre les sites. Les couleurs/fonts sont
 * dans style.css (generated design system, CSS vars).
 * ══════════════════════════════════════════════════════════════════ */

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,14,26,0.94);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid rgba(148,163,184,0.24);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}
.site-header.scrolled{border-bottom-color:rgba(148,163,184,0.3);box-shadow:0 8px 22px -16px rgba(2,6,23,0.85)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.9rem var(--container-padding);max-width:var(--max-width);margin:0 auto;gap:1rem}
.logo{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:#f8fafc;text-decoration:none;display:inline-flex;align-items:center;gap:0.6rem;letter-spacing:-0.02em}
.logo:hover{color:var(--color-primary)}
.logo-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:inline-flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:800;font-size:0.95rem;letter-spacing:0.02em;box-shadow:0 4px 14px -4px color-mix(in srgb,var(--color-primary) 55%,transparent);position:relative;overflow:hidden}
.logo-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.25),transparent 45%);mix-blend-mode:overlay;pointer-events:none}
.nav{display:flex;align-items:center;gap:0.15rem}
.site-header .nav a{padding:0.55rem 1rem;border-radius:var(--radius-sm);font-size:0.9rem;font-weight:500;color:#dbe7f7 !important;text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base);position:relative;opacity:1 !important;visibility:visible !important}
.site-header .nav a:hover{color:#ffffff !important;background:rgba(255,255,255,0.1)}
.site-header .nav a.active{color:#7cc4ff !important;font-weight:700}
.site-header .nav a.active::before{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);width:18px;height:2px;border-radius:2px;background:var(--color-primary)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;color:var(--color-foreground);z-index:110}
.nav-toggle svg{width:24px;height:24px}
.nav-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.45);backdrop-filter:blur(4px);z-index:104;opacity:0;pointer-events:none;transition:opacity .25s ease}
.nav-overlay.open{opacity:1;pointer-events:auto}

/* ── Hero base ── */
.hero{position:relative;overflow:hidden;padding:clamp(3.5rem,8vw,6rem) 0 clamp(3rem,6vw,5rem);isolation:isolate}
.hero .container{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.95rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.8rem;font-weight:600;margin-bottom:1.25rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);letter-spacing:0.02em}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 0 color-mix(in srgb,var(--color-primary) 55%,transparent);animation:pulse-dot 2s ease-in-out infinite}
.hero h1{max-width:18ch;margin-bottom:1.25rem;letter-spacing:-0.03em}
.hero-lede{font-size:clamp(1.05rem,1.8vw,1.2rem);color:var(--color-muted-foreground);max-width:60ch;margin-bottom:2rem;line-height:1.7}
.hero-actions{display:flex;gap:0.9rem;flex-wrap:wrap;align-items:center}

/* ── Sections ── */
.section{padding:clamp(3rem,6vw,5rem) 0}
.section-alt{background:var(--color-muted)}
.section-header{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.section-header .overline{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-primary);margin-bottom:0.75rem}
.section-header h2{margin-bottom:0.9rem;letter-spacing:-0.02em}
.section-header p{color:var(--color-muted-foreground);font-size:1.05rem;line-height:1.7}

/* ── Grids ── */
.grid{display:grid;gap:var(--space-xl)}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.85rem 1.6rem;border-radius:var(--radius-md);font-family:var(--font-heading);font-weight:600;font-size:0.95rem;line-height:1;cursor:pointer;border:none;transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base),color var(--transition-base);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px -4px color-mix(in srgb,var(--color-primary) 65%,transparent)}
.btn-primary:hover{background:var(--color-secondary);color:var(--color-on-secondary);transform:translateY(-1px);box-shadow:0 8px 20px -6px color-mix(in srgb,var(--color-primary) 65%,transparent)}
.btn-outline{background:transparent;color:var(--color-foreground);border:1.5px solid var(--color-border)}
.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,transparent)}
.btn-ghost{background:transparent;color:var(--color-foreground);padding-left:0.5rem;padding-right:0.5rem}
.btn-ghost:hover{color:var(--color-primary)}
.btn-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-on-primary);padding:1rem 2rem;border-radius:var(--radius-full);font-weight:700;box-shadow:0 6px 24px -6px color-mix(in srgb,var(--color-primary) 70%,transparent);position:relative;overflow:hidden}
.btn-cta::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);transition:left .6s ease}
.btn-cta:hover::after{left:100%}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px color-mix(in srgb,var(--color-primary) 75%,transparent)}
.btn-cta-white{background:var(--color-card);color:var(--color-primary);padding:0.9rem 1.8rem;border-radius:var(--radius-full);font-weight:700;box-shadow:0 6px 24px -8px rgba(15,23,42,0.25)}
.btn-cta-white:hover{transform:translateY(-2px);color:var(--color-secondary);box-shadow:0 10px 30px -8px rgba(15,23,42,0.3)}
.btn-arrow{transition:transform var(--transition-base);display:inline-block}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* ── Cards ── */
.card{background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s ease;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px -16px rgba(15,23,42,0.18);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}
.feature-card{text-align:left;padding:2rem}
.feature-card .feature-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,transparent),color-mix(in srgb,var(--color-primary) 4%,transparent));display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:var(--color-primary);position:relative}
.feature-card .feature-icon svg{width:26px;height:26px;stroke-width:1.8}
.feature-card .feature-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:0.5rem;letter-spacing:-0.01em}
.feature-card .feature-desc{color:var(--color-muted-foreground);line-height:1.7;font-size:0.95rem}

/* ── Stats ── */
.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;padding:2rem 0;text-align:center}
.stat-item .stat-number,.stat-highlight .stat-number{font-family:var(--font-heading);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;color:var(--color-primary);line-height:1.05;letter-spacing:-0.02em;display:block;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-item .stat-label,.stat-highlight .stat-label{font-size:0.88rem;color:var(--color-muted-foreground);margin-top:0.3rem;display:block}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin:2rem 0}
.stat-highlight{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem 1.25rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.stat-highlight:hover{transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(15,23,42,0.15)}

/* ── CTA banner ── */
.cta-banner{position:relative;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);text-align:center;overflow:hidden;isolation:isolate;box-shadow:0 24px 60px -24px color-mix(in srgb,var(--color-primary) 60%,transparent)}
.cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 120%,rgba(255,255,255,0.18),transparent 40%),radial-gradient(circle at 80% -20%,rgba(255,255,255,0.12),transparent 45%);pointer-events:none;z-index:0}
.cta-banner > *{position:relative;z-index:1}
.cta-banner h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:0.7rem;letter-spacing:-0.02em}
.cta-banner p{color:rgba(255,255,255,0.9);margin-bottom:1.5rem;font-size:1.05rem;max-width:48ch;margin-left:auto;margin-right:auto}

/* ── Testimonials ── */
.testimonial-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;position:relative;box-shadow:0 4px 20px -8px rgba(15,23,42,0.08);transition:transform .3s ease,box-shadow .3s ease}
.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -16px rgba(15,23,42,0.15)}
.testimonial-card::before{content:"\201C";position:absolute;top:-18px;left:18px;font-size:5rem;color:var(--color-primary);opacity:0.12;font-family:Georgia,serif;line-height:1}
.testimonial-card .stars{color:#f59e0b;font-size:0.95rem;margin-bottom:0.65rem;letter-spacing:0.1em}
.review-card .stars{color:#facc15;font-size:1rem;margin-bottom:0.75rem;letter-spacing:0.08em}
/* ── Reviews 3-column grid ── */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
/* ── Vertical review card (3-col grid) ── */
.review-card-v{display:flex;flex-direction:column;gap:0.6rem;padding:1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow .3s ease,border-color .3s ease;height:100%}
.review-card-v:hover{border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));box-shadow:0 8px 24px -12px rgba(15,23,42,0.18)}
.review-card-v .stars{color:#facc15;font-size:1.05rem;letter-spacing:0.08em;line-height:1;flex-shrink:0}
.review-card-v .review-title{font-weight:700;font-size:0.97rem;color:var(--color-foreground);line-height:1.35}
.review-card-v .review-text{color:var(--color-muted-foreground);line-height:1.65;font-size:0.9rem;flex:1}
.review-card-v .review-footer{margin-top:auto;padding-top:0.85rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:0.2rem}
.review-card-v .reviewer-name{font-weight:700;font-size:0.88rem;color:var(--color-foreground)}
.review-card-v .review-product{font-size:0.75rem;color:var(--color-muted-foreground);font-style:italic}
.review-card-v .review-date{font-size:0.72rem;color:var(--color-muted-foreground)}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.reviews-grid{grid-template-columns:1fr}}
.testimonial-card p{font-size:1rem;line-height:1.7;margin-bottom:1.25rem;color:var(--color-foreground)}
.testimonial-card cite{display:flex;align-items:center;gap:0.75rem;font-style:normal;font-weight:600;color:var(--color-foreground)}
.testimonial-card .reviewer-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:700;flex-shrink:0}
.testimonial-card .reviewer-role{font-weight:400;font-size:0.82rem;color:var(--color-muted-foreground);display:block;margin-top:2px}

/* ── FAQ ── */
.faq-section{max-width:760px;margin:2rem auto 0}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:0.75rem;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease;background:var(--color-card)}
.faq-item:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:0 6px 20px -8px rgba(15,23,42,0.08)}
.faq-question{padding:1.15rem 1.4rem;font-family:var(--font-heading);font-weight:600;font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--color-foreground)}
.faq-question::after{content:"";width:12px;height:12px;border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(45deg) translateY(-2px);transition:transform .3s ease;flex-shrink:0}
.faq-item.open .faq-question::after{transform:rotate(-135deg) translateY(2px)}
.faq-answer{padding:0 1.4rem;color:var(--color-muted-foreground);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s ease}
.faq-item.open .faq-answer{padding:0 1.4rem 1.25rem;max-height:1000px}

/* ── Callouts ── */
.callout-box{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 5%,transparent),color-mix(in srgb,var(--color-accent) 5%,transparent));border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:var(--radius-lg);margin:1.75rem 0}
.callout-icon{font-size:1.4rem;flex-shrink:0;margin-top:0.1rem;color:var(--color-primary)}
.callout-box p{margin:0;line-height:1.7}

/* ── Check list ── */
.check-list{list-style:none;padding:0;margin:1.25rem 0}
.check-list li{position:relative;padding:0.5rem 0 0.5rem 2rem;line-height:1.7}
.check-list li::before{content:"";position:absolute;left:0;top:0.7rem;width:1.3rem;height:1.3rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 2px 6px -2px color-mix(in srgb,var(--color-primary) 60%,transparent)}
.check-list li::after{content:"";position:absolute;left:0.45rem;top:0.95rem;width:0.35rem;height:0.65rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}

/* ── Trust signals ── */
.trust-badges{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.75rem}
.trust-badge{display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 0.9rem;background:var(--color-card);color:var(--color-foreground);border-radius:var(--radius-full);font-size:0.82rem;font-weight:600;border:1px solid var(--color-border);box-shadow:0 2px 6px -2px rgba(15,23,42,0.06)}
.trust-badge svg{width:14px;height:14px;color:#10b981;stroke-width:3}

/* ── Article cards ── */
.article-card{overflow:hidden;padding:0;display:flex;flex-direction:column}
.article-card .card-image{overflow:hidden;position:relative;aspect-ratio:16/10;background:var(--color-muted)}
.article-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.article-card:hover .card-image img{transform:scale(1.06)}
.article-card .card-body{padding:1.5rem 1.75rem 1.75rem;flex:1;display:flex;flex-direction:column}
.article-card .card-tag{display:inline-block;padding:0.3rem 0.8rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.76rem;font-weight:600;margin-bottom:0.85rem;align-self:flex-start;letter-spacing:0.02em}
.article-card h3{font-size:1.15rem;font-weight:700;line-height:1.35;margin-bottom:0.6rem;letter-spacing:-0.01em}
.article-card h3 a{color:var(--color-foreground);text-decoration:none}
.article-card h3 a:hover{color:var(--color-primary)}
.article-card .excerpt{color:var(--color-muted-foreground);font-size:0.92rem;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.article-card .card-meta{display:flex;align-items:center;gap:0.9rem;font-size:0.8rem;color:var(--color-muted-foreground);margin-top:auto}

/* ── Breadcrumb ── */
.breadcrumb{padding:1rem 0;font-size:0.85rem;color:var(--color-muted-foreground)}
.breadcrumb a{color:var(--color-muted-foreground);text-decoration:none;transition:color var(--transition-base)}
.breadcrumb a:hover{color:var(--color-primary)}
.breadcrumb .sep{margin:0 0.5rem;opacity:0.5}

/* ── Article content ── */
.article-content{font-size:1.05rem;line-height:1.8;color:var(--color-foreground)}
.article-content h2{font-family:var(--font-heading);font-size:clamp(1.45rem,2.5vw,1.8rem);font-weight:700;margin:2.75rem 0 1rem;letter-spacing:-0.02em;position:relative;padding-left:1rem}
.article-content h2::before{content:"";position:absolute;left:0;top:0.4em;bottom:0.4em;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--color-primary),var(--color-secondary))}
.article-content h3{font-family:var(--font-heading);font-size:clamp(1.15rem,1.9vw,1.35rem);font-weight:700;margin:2rem 0 0.8rem;color:var(--color-foreground)}
.article-content p{margin-bottom:1.15rem}
.article-content ul,.article-content ol{margin:1rem 0 1rem 1.5rem}
.article-content li{margin-bottom:0.4rem;line-height:1.75}
.article-content blockquote{border-left:4px solid var(--color-primary);padding:1.1rem 1.5rem;margin:1.75rem 0;background:var(--color-muted);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-foreground)}
.article-content code{background:var(--color-muted);padding:0.12rem 0.4rem;border-radius:4px;font-size:0.88em;font-family:ui-monospace,"SF Mono",Menlo,monospace}
.article-content img{border-radius:var(--radius-lg);margin:1.75rem 0}
.article-content table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:0.95rem}
.article-content th,.article-content td{padding:0.75rem 1rem;border:1px solid var(--color-border);text-align:left}
.article-content th{background:var(--color-muted);font-weight:600}
.article-content figure{margin:1.75rem 0}
.article-content figcaption{font-size:0.85rem;color:var(--color-muted-foreground);text-align:center;margin-top:0.5rem}
.article-content a{color:var(--color-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-primary) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .2s ease}
.article-content a:hover{text-decoration-color:var(--color-primary)}
.key-passage{background:var(--color-muted);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:3px solid var(--color-accent);margin:1.25rem 0;font-weight:500}

.article-tag{display:inline-block;padding:0.3rem 0.9rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.8rem;font-weight:600;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);letter-spacing:0.02em}
.article-title{font-size:clamp(1.9rem,4.2vw,2.75rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin-bottom:1rem}
.article-meta{display:flex;align-items:center;gap:0.9rem;color:var(--color-muted-foreground);font-size:0.88rem;flex-wrap:wrap}
.article-meta .dot-sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:0.5}
.article-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}

/* ── Forms ── */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:0.4rem;color:var(--color-foreground)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.8rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);font-size:0.95rem;font-family:var(--font-body);color:var(--color-foreground);background:var(--color-card);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 12%,transparent)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ── Footer ── */
.site-footer{background:#0b1020;color:rgba(255,255,255,0.62);padding:4rem 0 0;margin-top:4rem;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:900px;height:300px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 22%,transparent) 0%,transparent 60%);pointer-events:none;opacity:0.7}
.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;position:relative;z-index:1}
.site-footer .logo{color:#fff;margin-bottom:1rem}
.site-footer .logo:hover{color:#fff}
.footer-brand p{font-size:0.9rem;line-height:1.7;color:rgba(255,255,255,0.45);max-width:320px}
.footer-col h4{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.95);margin-bottom:1.1rem;font-family:var(--font-heading)}
.footer-col a{display:block;font-size:0.88rem;color:rgba(255,255,255,0.5);padding:0.32rem 0;text-decoration:none;transition:color var(--transition-base),transform var(--transition-base)}
.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:1.5rem 0;text-align:center;font-size:0.82rem;color:rgba(255,255,255,0.35);position:relative;z-index:1}

/* ── WhatsApp float ── */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;background:#25D366;color:#fff;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 8px 28px -4px rgba(37,211,102,.5);transition:all .3s cubic-bezier(.22,1,.36,1)}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 36px -4px rgba(37,211,102,.55);color:#fff}
.whatsapp-float:active{transform:translateY(0) scale(.97)}
.whatsapp-float svg{flex-shrink:0}

/* ── Responsive ── */
@media(max-width:1024px){
    .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
    .nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--color-background);flex-direction:column;justify-content:flex-start;padding:5rem 1.5rem 2rem;gap:0.35rem;box-shadow:-8px 0 40px rgba(0,0,0,0.12);transition:right .3s cubic-bezier(.22,1,.36,1);z-index:105;align-items:stretch}
    .nav.open{right:0}
    .site-header .nav a{font-size:1.05rem;padding:0.9rem 1rem;width:100%;border-radius:var(--radius-sm)}
    .nav-toggle{display:block}
    .card-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .site-footer .footer-grid{grid-template-columns:1fr;gap:2rem}
    .stats-bar{grid-template-columns:repeat(2,1fr);gap:1.5rem}
    .whatsapp-float span{display:none}
    .whatsapp-float{padding:.9rem;border-radius:50%}
    .article-content h2{padding-left:0.85rem}
}
