/* ==========================================================================
   Dra. Amanda Cardoso — Advogada Previdenciária
   Estrutura de seções espelhada do site Lara Larissa Arquitetura.
   Paleta, tipografia e escala tipográfica adaptadas ao público 60+.
   ========================================================================== */

/* ============================== TOKENS ============================== */
:root{
    --navy:#12293F;
    --navy-deep:#0B1826;
    --gold:#8A6A3B;          /* 4.75:1 sobre creme — AA texto pequeno */
    --gold-light:#C9AE83;    /* 8.18:1 sobre navy */
    --cream:#FBF9F6;
    --paper:#FFFFFF;
    --ink:#141C24;
    --muted:#485660;
    --line:#E6E0D8;
    --line-dark:rgba(255,255,255,.14);
    --wa:#178044;            /* 4.99:1 com texto branco — AA */
    --wa-dark:#0F6234;

    --f-display:'Playfair Display',Georgia,'Times New Roman',serif;
    --f-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;

    --maxw:1240px;
    --header-h:84px;
    --r:8px;
}

/* ============================== RESET ============================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{
    font-family:var(--f-body);
    font-size:18px;
    line-height:1.75;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    overflow-wrap:break-word;   /* e-mail longo não estoura em telas de 320px */
}
img{max-width:100%;height:auto;display:block}
/* <picture> é inline por padrão e não preencheria os contêineres de imagem */
.hero__bg picture,.destaque__image picture,.cta-final__bg picture{display:block;width:100%;height:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.2;letter-spacing:-.01em}
p{max-width:64ch}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:4px}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}
section{padding:clamp(76px,9vw,136px) 0}

/* =========================== TIPOS COMUNS =========================== */
.section-tag{
    display:inline-block;
    font-family:var(--f-body);
    font-size:.82rem;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);margin-bottom:22px;
}
.on-dark .section-tag{color:var(--gold-light)}
.section-title{
    font-size:clamp(1.9rem,4vw,3rem);
    color:var(--navy);line-height:1.18;
}
.on-dark .section-title{color:#fff}
.section-title em{font-style:italic;color:var(--gold)}
.on-dark .section-title em{color:var(--gold-light)}
.section-desc{
    margin-top:24px;font-size:1.14rem;line-height:1.8;color:var(--muted);
}
.on-dark .section-desc{color:#BFCEDB}

/* ============================== BOTÕES ============================== */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:12px;
    font-family:var(--f-body);font-weight:600;line-height:1.3;
    border-radius:4px;text-align:center;
    transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.btn svg{flex:none}
.btn--primary{
    background:var(--wa);color:#fff;
    min-height:64px;padding:18px 38px;font-size:1.12rem;
    box-shadow:0 4px 18px rgba(15,98,52,.22);
}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--wa-dark);box-shadow:0 6px 24px rgba(15,98,52,.3)}
.btn--large{min-height:70px;padding:22px 46px;font-size:1.18rem}
.btn--small{
    background:var(--wa);color:#fff;
    min-height:48px;padding:12px 26px;font-size:.98rem;
}
.btn--small:hover,.btn--small:focus-visible{background:var(--wa-dark)}
.btn--outline{
    border:1.5px solid var(--navy);color:var(--navy);
    min-height:60px;padding:16px 34px;font-size:1.05rem;
}
.btn--outline:hover,.btn--outline:focus-visible{background:var(--navy);color:#fff}

/* ============================ ANIMAÇÕES ============================ */
.js .anim-fade-up,
.js .anim-fade-right,
.js .anim-fade-left{opacity:0;transition:opacity .7s ease,transform .7s ease}
.js .anim-fade-up{transform:translateY(24px)}
.js .anim-fade-right{transform:translateX(-24px)}
.js .anim-fade-left{transform:translateX(24px)}
/* Em telas estreitas o deslocamento horizontal empurra o bloco para fora
   da viewport e cria scroll lateral. Abaixo de 900px tudo entra na vertical. */
@media (max-width:899px){
    .js .anim-fade-right,.js .anim-fade-left{transform:translateY(24px)}
}
.js .is-visible{opacity:1;transform:none}
.js .anim-delay-1{transition-delay:.12s}
.js .anim-delay-2{transition-delay:.24s}
.js .anim-delay-3{transition-delay:.36s}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .js .anim-fade-up,.js .anim-fade-right,.js .anim-fade-left{
        opacity:1!important;transform:none!important;transition:none!important;
    }
    .gallery-band__track{animation:none!important}
    *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ============================== HEADER ============================== */
.header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    height:var(--header-h);
    background:transparent;
    transition:background .35s ease,box-shadow .35s ease,height .35s ease;
}
.header.is-scrolled{
    background:rgba(11,24,38,.97);
    box-shadow:0 1px 0 rgba(255,255,255,.08);
    height:72px;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.header__logo{display:flex;flex-direction:column;line-height:1.15}
.header__logo b{
    font-family:var(--f-display);font-size:1.34rem;font-weight:600;color:#fff;letter-spacing:.01em;
}
.header__logo span{
    font-size:.74rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-light);
}
.header__nav{display:flex;align-items:center;gap:34px}
.header__link{
    font-size:1rem;font-weight:500;color:#E4EDF5;
    padding:6px 0;border-bottom:1.5px solid transparent;transition:border-color .25s ease,color .25s ease;
}
.header__link:hover,.header__link:focus-visible{color:#fff;border-bottom-color:var(--gold-light)}
.header__hamburger{
    display:none;flex-direction:column;justify-content:center;gap:6px;
    width:52px;height:52px;padding:12px;
}
.header__hamburger span{
    display:block;height:2px;background:#fff;border-radius:2px;
    transition:transform .3s ease,opacity .3s ease;
}
.header__hamburger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.header__hamburger.is-open span:nth-child(2){opacity:0}
.header__hamburger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* =============================== HERO =============================== */
/* A foto disponível é um retrato vertical. Em full-bleed no desktop ela vira
   um close desproporcional, então a imagem ocupa a faixa direita e o texto
   fica sobre o navy sólido. No mobile ela volta a ser fundo inteiro. */
.hero{
    position:relative;min-height:100svh;
    display:flex;flex-direction:column;justify-content:center;
    padding:calc(var(--header-h) + 48px) 0 clamp(130px,16vh,190px);
    overflow:hidden;background:var(--navy-deep);
}
/* coluna flex: o container ocupa a linha inteira, sem centralizar a si mesmo */
.hero > .container{width:100%;flex:0 0 auto}
/* Opacidade reduzida: a foto se funde ao navy do fundo. Além do efeito
   editorial, isso disfarça os artefatos de compressão do arquivo original. */
.hero__bg{position:absolute;inset:0;z-index:0;opacity:.78}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.hero__overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,
        rgba(11,24,38,.52) 0%,
        rgba(11,24,38,.90) 34%,
        rgba(11,24,38,.97) 62%,
        rgba(11,24,38,.99) 100%);
}
.hero__content{position:relative;z-index:2}
.hero__eyebrow{
    display:inline-block;font-size:.82rem;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:24px;
}
.hero__title{
    font-size:clamp(2.1rem,5.2vw,3.6rem);color:#fff;max-width:17ch;line-height:1.14;
}
.hero__title em{font-style:italic;color:var(--gold-light)}
.hero__subtitle{
    margin-top:26px;max-width:54ch;
    font-size:1.19rem;line-height:1.75;color:#CFDCE8;
}
.hero__benefits{margin:34px 0 40px;display:grid;gap:15px;max-width:56ch}
.hero__benefits li{position:relative;padding-left:38px;font-size:1.07rem;line-height:1.6;color:#E6EFF7}
.hero__benefits li::before{
    content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;
    border:1.5px solid var(--gold-light);background:rgba(201,174,131,.16);
}
.hero__benefits li::after{
    content:"";position:absolute;left:8px;top:8px;width:7px;height:12px;
    border:solid var(--gold-light);border-width:0 2.2px 2.2px 0;transform:rotate(45deg);
}
.hero__note{margin-top:18px;font-size:.99rem;color:#A9BCCC}
.hero__scroll{
    position:absolute;left:50%;bottom:112px;transform:translateX(-50%);  /* acima da barra fixa */
    z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;
    font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#9FB4C6;
}
.hero__scroll-line{width:1px;height:52px;background:linear-gradient(180deg,var(--gold-light),transparent)}

/* ============================== SOBRE ============================== */
.sobre{background:var(--cream)}
.sobre__grid{display:grid;gap:44px}
.sobre__right p{font-size:1.09rem;line-height:1.85;color:var(--muted)}
.sobre__right p+p{margin-top:22px}
.sobre__right strong{color:var(--ink);font-weight:600}

/* Credenciais — ocupa o lugar dos contadores numéricos do site referência.
   Sem números inventados: apenas fatos verificáveis. */
.credenciais{
    display:grid;gap:0;margin-top:clamp(56px,7vw,84px);
    grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
    border-top:1px solid var(--line);
}
.credenciais__item{
    padding:38px 30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);
}
.credenciais__item:last-child{border-right:0}
.credenciais__value{
    display:block;font-family:var(--f-display);font-size:1.62rem;
    color:var(--navy);line-height:1.25;margin-bottom:10px;
}
.credenciais__label{font-size:1.01rem;line-height:1.6;color:var(--muted);max-width:none}

/* ============================== ÁREAS ============================== */
.areas{background:var(--paper)}
.areas__header{max-width:760px;margin:0 auto clamp(52px,6vw,76px);text-align:center}
.areas__header .section-desc{margin-left:auto;margin-right:auto}
.areas__grid{
    display:grid;gap:24px;
    grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));
}
.area-card{
    background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
    padding:40px 34px;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.area-card:hover{border-color:var(--gold-light);box-shadow:0 10px 34px rgba(18,41,63,.08);transform:translateY(-3px)}
.area-card__icon{
    width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--navy);margin-bottom:24px;
}
.area-card__icon svg{width:26px;height:26px;stroke:var(--gold-light);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.area-card h3{font-size:1.35rem;color:var(--navy);margin-bottom:14px}
.area-card p{font-size:1.04rem;line-height:1.75;color:var(--muted);max-width:none}

/* ===================== BLOCO EM DESTAQUE (BIO) ===================== */
.destaque{
    display:grid;align-items:center;gap:0;
    background:var(--navy);color:#fff;
}
.destaque__image{position:relative;min-height:420px;opacity:.88}
.destaque__image img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.destaque__content{padding:clamp(52px,6vw,88px) clamp(28px,5vw,76px)}
.destaque__tag{
    display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.2em;
    text-transform:uppercase;color:var(--gold-light);margin-bottom:20px;
}
.destaque__title{font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin-bottom:26px}
.destaque__title em{font-style:italic;color:var(--gold-light)}
.destaque__content p{font-size:1.08rem;line-height:1.82;color:#C6D5E2}
.destaque__content p+p{margin-top:20px}
.destaque__details{margin:32px 0 36px;display:grid;gap:14px}
.destaque__details li{
    position:relative;padding-left:26px;font-size:1.05rem;color:#E0EAF3;line-height:1.6;
}
.destaque__details li::before{
    content:"";position:absolute;left:0;top:12px;width:8px;height:8px;
    background:var(--gold-light);border-radius:50%;
}
.destaque .btn--outline{border-color:var(--gold-light);color:var(--gold-light)}
.destaque .btn--outline:hover,.destaque .btn--outline:focus-visible{background:var(--gold-light);color:var(--navy)}

/* ============================ CTA MEIO ============================ */
.cta-mid{
    margin-top:clamp(56px,7vw,88px);
    padding:clamp(44px,5vw,64px) clamp(28px,4vw,56px);
    background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;
}
.cta-mid p{
    font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.75rem);
    color:var(--navy);line-height:1.35;max-width:22ch;margin:0;
}

/* =========================== DIFERENCIAIS =========================== */
.diferenciais{background:var(--cream)}
.diferenciais__grid{display:grid;gap:56px}
.diferenciais__desc{margin-top:26px;font-size:1.12rem;line-height:1.85;color:var(--muted)}
.diferenciais__right{display:grid;gap:16px}
.diferencial-item{
    display:flex;gap:22px;align-items:flex-start;
    background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
    padding:30px 28px;
}
.diferencial-item__icon{
    flex:none;width:52px;height:52px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--navy);color:var(--gold-light);
}
.diferencial-item h4{font-size:1.22rem;color:var(--navy);margin-bottom:8px}
.diferencial-item p{font-size:1.02rem;line-height:1.72;color:var(--muted);max-width:none}
.diferencial-item .pratica{
    display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
    font-size:1rem;line-height:1.65;color:var(--ink);
}
.diferencial-item .pratica b{color:var(--navy)}

/* ===================== TRANSPARÊNCIA (substitui depoimentos) ===================== */
.transparencia{background:var(--paper)}
.transparencia__header{max-width:780px;margin:0 auto clamp(52px,6vw,76px);text-align:center}
.transparencia__header .section-desc{margin-left:auto;margin-right:auto}
.transparencia__grid{
    display:grid;gap:26px;
    grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
}
.transp-card{
    border:1px solid var(--line);border-radius:var(--r);
    padding:42px 36px;background:var(--cream);
}
.transp-card h3{font-size:1.45rem;color:var(--navy);margin-bottom:28px}
.transp-card li{position:relative;padding-left:42px;margin-bottom:20px;font-size:1.06rem;line-height:1.65}
.transp-card li:last-child{margin-bottom:0}
.transp-card--sim li::before{
    content:"";position:absolute;left:8px;top:5px;width:8px;height:15px;
    border:solid var(--wa-dark);border-width:0 2.6px 2.6px 0;transform:rotate(45deg);
}
.transp-card--nao li{color:var(--muted)}
.transp-card--nao li::before,.transp-card--nao li::after{
    content:"";position:absolute;left:6px;top:14px;width:16px;height:2.6px;
    background:#9B4038;border-radius:2px;
}
.transp-card--nao li::before{transform:rotate(45deg)}
.transp-card--nao li::after{transform:rotate(-45deg)}

/* ================= FAIXA DE FRASE (substitui a gallery band) ================= */
.frase-band{
    background:var(--navy);color:#fff;
    padding:clamp(72px,8vw,108px) 0;text-align:center;
}
.frase-band q{
    display:block;max-width:20ch;margin:0 auto;
    font-family:var(--f-display);font-style:italic;
    font-size:clamp(1.75rem,4vw,2.9rem);line-height:1.32;color:#fff;
}
.frase-band cite{
    display:block;margin-top:32px;font-style:normal;
    font-size:1rem;color:#AFC2D2;letter-spacing:.04em;
}
.frase-band cite b{
    display:block;font-family:var(--f-display);font-size:1.18rem;
    color:var(--gold-light);font-weight:600;letter-spacing:0;margin-bottom:4px;
}

/* ============================== ETAPAS ============================== */
.etapas{background:var(--cream)}
.etapas__header{max-width:760px;margin:0 auto clamp(52px,6vw,76px);text-align:center}
.etapas__header .section-desc{margin-left:auto;margin-right:auto}
.etapas__grid{
    display:grid;gap:22px;
    grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
}
.etapa{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:38px 30px}
.etapa__num{
    display:flex;align-items:center;justify-content:center;
    width:54px;height:54px;border-radius:50%;
    background:var(--navy);color:var(--gold-light);
    font-family:var(--f-display);font-size:1.32rem;font-weight:600;margin-bottom:24px;
}
.etapa h3{font-size:1.24rem;color:var(--navy);margin-bottom:12px}
.etapa p{font-size:1.03rem;line-height:1.72;color:var(--muted);max-width:none}

/* ================================ FAQ ================================ */
.faq{background:var(--paper)}
.faq__header{max-width:760px;margin:0 auto clamp(48px,6vw,72px);text-align:center}
.faq__header .section-desc{margin-left:auto;margin-right:auto}
.faq__list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__question{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:28px;
    padding:30px 4px;text-align:left;
    font-family:var(--f-display);font-size:1.26rem;font-weight:600;color:var(--navy);line-height:1.4;
    transition:color .25s ease;
}
.faq__question:hover{color:var(--gold)}
.faq__question svg{flex:none;stroke:var(--gold);transition:transform .35s ease}
.faq__item.is-open .faq__question{color:var(--gold)}
.faq__item.is-open .faq__question svg{transform:rotate(45deg)}
.faq__answer{overflow:hidden;height:0;transition:height .35s ease}
.faq__answer-inner{padding:0 4px 32px}
.faq__answer p{font-size:1.06rem;line-height:1.82;color:var(--muted);max-width:none}
.faq__answer p+p{margin-top:16px}

/* ============================= CTA FINAL ============================= */
.cta-final{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0}
.cta-final__bg{position:absolute;inset:0;z-index:0}
.cta-final__bg img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.cta-final__overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(105deg,rgba(11,24,38,.96) 0%,rgba(11,24,38,.9) 45%,rgba(11,24,38,.55) 100%);
}
.cta-final__content{position:relative;z-index:2;max-width:760px}
.cta-final__title{font-size:clamp(1.95rem,4.2vw,3.05rem);color:#fff;line-height:1.18}
.cta-final__title em{font-style:italic;color:var(--gold-light)}
.cta-final__desc{margin-top:26px;font-size:1.15rem;line-height:1.8;color:#CBD9E5}
.cta-final__list{margin:32px 0 42px;display:grid;gap:15px}
.cta-final__list li{position:relative;padding-left:28px;font-size:1.06rem;color:#E0EAF3;line-height:1.6}
.cta-final__list li::before{
    content:"";position:absolute;left:0;top:12px;width:9px;height:9px;
    background:var(--gold-light);border-radius:50%;
}
.cta-final__note{margin-top:20px;font-size:1rem;color:#A9BCCC}

/* =============================== FOOTER =============================== */
.footer{background:var(--navy-deep);color:#9FB2C2;padding:80px 0 0}
.footer__inner{
    display:grid;gap:44px;padding-bottom:52px;
    grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
}
.footer__brand b{
    display:block;font-family:var(--f-display);font-size:1.4rem;color:#fff;font-weight:600;
}
.footer__brand span{
    display:block;font-size:.78rem;letter-spacing:.19em;text-transform:uppercase;
    color:var(--gold-light);margin-top:4px;
}
.footer__brand p{margin-top:20px;font-size:1.02rem;line-height:1.7;color:#9FB2C2}
.footer h4{font-family:var(--f-display);color:#fff;font-size:1.2rem;margin-bottom:20px;font-weight:600}
.footer a,.footer li{display:block;margin-bottom:12px;line-height:1.6;font-size:1.02rem}
.footer a:hover,.footer a:focus-visible{color:var(--gold-light)}
.footer__bottom{
    border-top:1px solid var(--line-dark);padding-top:30px;padding-bottom:120px;
    font-size:.94rem;line-height:1.8;color:#7C90A2;
}

/* ========================= WHATSAPP FLUTUANTE ========================= */
.whatsapp-float{
    position:fixed;right:22px;bottom:100px;z-index:90;
    width:66px;height:66px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--wa);color:#fff;
    box-shadow:0 6px 22px rgba(11,24,38,.35);
    transition:background .25s ease,transform .25s ease;
}
.whatsapp-float:hover,.whatsapp-float:focus-visible{background:var(--wa-dark);transform:scale(1.06)}

/* ========================== BARRA FIXA MOBILE ========================== */
.sticky-wa{
    position:fixed;left:0;right:0;bottom:0;z-index:95;
    background:rgba(11,24,38,.97);
    border-top:1px solid rgba(138,106,59,.4);
    padding:14px 18px calc(14px + env(safe-area-inset-bottom));
    display:flex;align-items:center;justify-content:center;gap:22px;
}
.sticky-wa__txt{display:none;color:#C6D5E2;font-size:.98rem;line-height:1.4}
.sticky-wa__txt b{display:block;color:#fff;font-family:var(--f-display);font-size:1.1rem;font-weight:600}
.sticky-wa .btn{width:100%;max-width:460px;min-height:58px;padding:16px 30px;font-size:1.05rem;box-shadow:none}

/* ============================ RESPONSIVO ============================ */
@media (min-width:768px){
    body{font-size:19px}
}
/* Um único CTA persistente por vez: barra inferior no mobile,
   botão flutuante no desktop (onde o header já fica fixo). */
@media (min-width:900px){
    .sticky-wa{display:none}
    .footer__bottom{padding-bottom:44px}
}
@media (max-width:899px){
    .whatsapp-float{display:none}
}

/* Notebooks de tela baixa: compacta o hero para o CTA principal
   permanecer acima da dobra. */
@media (min-width:900px) and (max-height:880px){
    .hero{
        min-height:auto;
        padding-top:calc(var(--header-h) + 26px);
        padding-bottom:60px;
    }
    .hero__eyebrow{margin-bottom:15px}
    .hero__title{font-size:clamp(1.85rem,3.3vw,2.55rem)}
    .hero__subtitle{margin-top:18px;font-size:1.06rem}
    .hero__benefits{margin:22px 0 28px;gap:11px}
    .hero__benefits li{font-size:1.02rem}
}
@media (min-width:900px){
    /* imagem na faixa direita, texto sobre o navy sólido */
    .hero__bg{left:auto;right:0;width:52%}
    .hero__bg img{object-position:52% 14%}
    .hero__overlay{
        background:linear-gradient(90deg,
            var(--navy-deep) 0%,
            var(--navy-deep) 40%,
            rgba(11,24,38,.92) 50%,
            rgba(11,24,38,.34) 68%,
            rgba(11,24,38,.12) 100%);
    }
    /* NÃO limitar .hero__content: ele também carrega .container, cujo
       margin:0 auto centraria a coluna e abriria um vazio à esquerda.
       A largura do texto é controlada pelos filhos. */
    .hero__title{max-width:14ch}
    .hero__subtitle,.hero__benefits{max-width:50ch}

    .sobre__grid{grid-template-columns:.85fr 1.15fr;gap:72px}
    .destaque{grid-template-columns:1fr 1.15fr}
    .destaque__image{min-height:100%}
    .diferenciais__grid{grid-template-columns:.88fr 1.12fr;gap:72px;align-items:start}
    .diferenciais__left{position:sticky;top:120px}
    .etapas__grid{grid-template-columns:repeat(4,1fr)}
}

@media (max-width:899px){
    /* Nada de translateX(100%): um painel fixed posicionado fora da tela
       cria scroll horizontal, porque overflow-x:hidden não contém
       elementos position:fixed. Abre com fade no lugar. */
    .header__nav{
        position:fixed;inset:var(--header-h) 0 0 0;
        flex-direction:column;justify-content:center;gap:26px;
        background:rgba(11,24,38,.985);
        padding:40px 28px;
        opacity:0;visibility:hidden;pointer-events:none;
        transform:translateY(-12px);
        transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
    }
    .header__nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
    .header__link{font-size:1.24rem}
    .header__hamburger{display:flex}
    .hero{min-height:auto;padding-top:calc(var(--header-h) + 40px)}
    .hero__scroll{display:none}
    .destaque__image{min-height:340px}
}

@media (max-width:620px){
    .container{padding:0 20px}
    .btn--primary,.btn--large,.btn--outline{width:100%;padding-left:22px;padding-right:22px}
    .cta-mid{flex-direction:column;align-items:stretch;text-align:center}
    .cta-mid p{max-width:none}
    .credenciais__item{border-right:0;padding:30px 22px}
    .area-card,.transp-card,.etapa,.diferencial-item{padding-left:24px;padding-right:24px}
    .diferencial-item{flex-direction:column;gap:18px}
    .faq__question{font-size:1.13rem;gap:18px}
    .whatsapp-float{width:58px;height:58px;right:16px;bottom:92px}
}
