/* ==========================================================================
   LEGATUS — styles.css
   Direção: "o limiar". O monograma é um pórtico; a página é uma travessia.
   Títulos sobem por baixo de uma verga. Ousadia concentrada no acordeão.
   1 tokens · 2 base · 3 tipografia · 4 layout · 5 componentes
   6 seções · 7 motion · 8 responsivo · 9 reduced-motion
   ========================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --ink:#18130B; --pa:#FAF9F5; --gd:#AF863C; --gdl:#DEC97B; --gr:#8F8D86; --br:#3B2D1D;

  --d1:#1E180E; --d2:#2A2114; --p1:#FFFFFF;
  --chumbo:#1B1C1E;                      /* rodapé: chumbo, não marrom */
  --on-dk:#FAF9F5; --on-dk-s:rgba(250,249,245,.66);
  --on-lt:#18130B; --on-lt-s:rgba(59,45,29,.84);
  --ln-dk:rgba(250,249,245,.13); --ln-lt:rgba(24,19,11,.13);
  --ln-gd:rgba(175,134,60,.42);

  --fd:"Playfair Display",Georgia,serif;
  --fb:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --fs:clamp(1rem,.96rem + .2vw,1.0625rem);
  --h1:clamp(2.4rem,1.3rem + 4.2vw,4.6rem);
  --h2:clamp(1.8rem,1.25rem + 2.3vw,2.95rem);
  --h3:clamp(1.1rem,1rem + .5vw,1.35rem);
  --lh-t:1.2;                            /* nunca abaixo de 1.2: linhas mascaradas */
  --lh-b:1.68;

  --gut:clamp(1.25rem,4vw,3.25rem);
  --max:1440px;                          /* mesma largura do cabeçalho em toda a página */
  --sy:clamp(5rem,9vw,9.5rem);
  --hh:80px;

  --r:4px; --r2:16px; --r3:20px;
  --t:220ms; --e:cubic-bezier(.22,.61,.36,1); --eio:cubic-bezier(.65,.05,.36,1);
}

/* ---------- 2. BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.js{scroll-behavior:auto}
body{
  background:var(--ink);color:var(--on-dk);
  font-family:var(--fb);font-size:var(--fs);line-height:var(--lh-b);
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--gdl);outline-offset:3px;border-radius:2px}
::selection{background:var(--gd);color:var(--ink)}
[hidden]{display:none!important}
.skip{position:fixed;top:.5rem;left:.5rem;z-index:200;padding:.6rem 1rem;background:var(--pa);color:var(--ink);border-radius:var(--r);transform:translateY(-160%);transition:transform var(--t) var(--e)}
.skip:focus{transform:translateY(0)}
.ic{width:1.15rem;height:1.15rem;flex:none;transition:transform .35s var(--e)}

/* ---------- 3. TIPOGRAFIA ---------- */
h1,h2,h3{font-family:var(--fd);font-weight:400;line-height:var(--lh-t)}
.h2{font-size:var(--h2);max-width:min(100%,26ch);text-wrap:balance}
.h2--w{max-width:min(100%,32ch)}
.lead{font-size:1.03rem;max-width:min(100%,60ch);color:var(--on-lt-s);margin-top:1.6rem}
.lead--dk{color:var(--on-dk-s)}

/* ---------- 4. LAYOUT ---------- */
.wrap{width:min(100% - var(--gut)*2,var(--max));max-width:100%;margin-inline:auto}
.sec{position:relative;padding-block:var(--sy)}
.sec--pa{background:var(--pa);color:var(--on-lt)}
.sec--dk{background:var(--ink);color:var(--on-dk)}
[id]{scroll-margin-top:calc(var(--hh) + 1.5rem)}

/* rail: rótulo curto SEMPRE acima do título */
.rail__lb{display:flex;align-items:center;gap:.85rem;font-size:.82rem;color:var(--br);margin-bottom:1.2rem}
.rail__lb::before{content:"";width:32px;height:1px;background:var(--gd);flex:none}
.rail__lb--dk{color:var(--gdl)}

/* ---------- 5. COMPONENTES ---------- */

/* foto — grade única que unifica temperaturas diferentes */
.ph{position:relative;overflow:hidden;background:var(--d1)}
.ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.04) brightness(.9) sepia(.16);transition:transform .9s var(--e)}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(168deg,rgba(175,134,60,.13),rgba(24,19,11,.38))}
/* véu preto neutro — alterna com o bronze pra página não ficar toda marrom */
.ph--black img{filter:saturate(.3) contrast(1.08) brightness(.72)}
.ph--black::after{background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.84))}

/* botão */
.btn{position:relative;display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.75rem;border-radius:999px;font-size:.95rem;font-weight:500;overflow:hidden;border:1px solid transparent;transition:transform .35s var(--e),box-shadow .35s var(--e)}
.btn>*{position:relative;z-index:2}
.btn--gold{color:#17120A;background:linear-gradient(135deg,#EBD9A8,#D3AE60 46%,#AF863C);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 28px -16px rgba(175,134,60,.95)}
.btn--gold::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 26%,rgba(255,255,255,.5) 46%,transparent 64%);transform:translateX(-135%)}
.btn--lg{padding:1.15rem 2.1rem;font-size:1rem}
@media (hover:hover){
  .btn--gold:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 20px 36px -16px rgba(175,134,60,1)}
  .btn--gold:hover::after{transform:translateX(135%);transition:transform .75s var(--e)}
  .btn:hover .ic{transform:scale(1.12)}
}
.lead + .btn{margin-top:2.75rem}

/* spotlight que segue o mouse (preenchimento) */
[data-spot]{position:relative;isolation:isolate}
[data-spot]>*{position:relative;z-index:2}
[data-spot]::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s var(--e);background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(222,201,123,.15),transparent 62%)}
@media (hover:hover){[data-spot]:hover::after{opacity:1}}

/* ---------- 6. SEÇÕES ---------- */

/* 6.1 cabeçalho */
.hd{position:fixed;inset:0 0 auto;z-index:100;height:var(--hh);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background var(--t) var(--e),border-color var(--t) var(--e),backdrop-filter var(--t) var(--e)}
.hd.on{background:rgba(24,19,11,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--ln-gd)}
.hd__in{display:flex;align-items:center;gap:2rem}
.logo{display:inline-flex;align-items:center;flex:none}
.logo img{height:42px;width:auto;transition:transform .5s var(--e),opacity .3s var(--e)}
@media (hover:hover){.logo:hover img{transform:translateY(-2px);opacity:.9}}
.logo--ft img{height:58px}
.hd__nav{margin-left:auto;display:flex;gap:2.1rem}
.hd__nav a{position:relative;font-size:.88rem;color:var(--pa);padding-block:.35rem}
.hd__nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gd);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--e)}
.hd__nav a:hover::after,.hd__nav a.on::after{transform:scaleX(1)}
.hd__cta{padding:.7rem 1.3rem;font-size:.85rem}
.burger{display:none;width:2.6rem;height:2.6rem;margin-left:auto;position:relative}
.burger span{position:absolute;left:50%;width:1.3rem;height:1.5px;background:var(--pa);transform:translateX(-50%);transition:transform var(--t) var(--e),opacity var(--t) var(--e)}
.burger span:nth-child(1){top:1.05rem}
.burger span:nth-child(2){top:1.5rem}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateX(-50%) translateY(.22rem) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateX(-50%) translateY(-.22rem) rotate(-45deg)}

/* 6.2 menu mobile */
.ovl{position:fixed;inset:0;z-index:90;background:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:2.5rem;padding:var(--gut);padding-top:calc(var(--hh) + 2rem)}
.ovl__nav{display:flex;flex-direction:column;gap:1rem}
.ovl__nav a{font-family:var(--fd);font-size:clamp(1.9rem,11vw,2.8rem);color:var(--pa)}
.ovl .btn{align-self:flex-start}
body.lock{overflow:hidden}

/* 6.3 hero */
.hero{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:flex-end;padding-block:calc(var(--hh) + 4rem) clamp(3.5rem,7vw,6rem);overflow:hidden}
.hero__ph{position:absolute;inset:0;z-index:0}
.hero__ph::after{background:linear-gradient(180deg,rgba(24,19,11,.72),rgba(24,19,11,.28) 32%,rgba(24,19,11,.86) 76%,rgba(24,19,11,.96))}
.hero__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;min-width:0}
.hero__mk{width:3rem;height:3rem;color:var(--gdl)}
.hero__h{font-size:var(--h1);max-width:min(100%,22ch);color:var(--pa);text-wrap:balance}
.hero__p{color:var(--on-dk-s);max-width:min(100%,54ch);font-size:1.03rem}
.hero .btn{margin-top:.6rem}

/* selo — vidro levemente escuro, bordas suaves */
.seal{position:absolute;right:max(var(--gut),calc(50% - var(--max)/2));bottom:clamp(3.5rem,7vw,6rem);z-index:2;display:none;align-items:center;gap:1rem;max-width:min(100%,20rem);padding:1.1rem 1.25rem;border-radius:var(--r3);background:rgba(18,14,8,.4);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(250,249,245,.14);box-shadow:0 20px 44px -24px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.1)}
.seal__mk{width:2.4rem;height:2.4rem;color:var(--gdl);flex:none}
.seal p{font-size:.74rem;line-height:1.5;color:var(--on-dk-s)}
.seal b{display:block;font-family:var(--fd);font-size:1rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--pa);margin-bottom:.2rem}

/* 6.4 faixa */
.band{background:var(--ink);border-block:1px solid var(--ln-gd);padding-block:1.05rem;overflow:hidden}
.band__mv{display:flex;width:max-content;animation:mv 46s linear infinite}
.band__tr{display:flex;align-items:center;flex:none}
.band__tr li{padding-inline:2.1rem;font-size:.82rem;color:var(--on-dk-s);white-space:nowrap;display:flex;align-items:center;gap:2.1rem}
.band__tr li::after{content:"";width:5px;height:5px;background:var(--gd);transform:rotate(45deg);flex:none}
@keyframes mv{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (hover:hover){.band:hover .band__mv{animation-play-state:paused}}

/* 6.5 sobre — texto à esquerda, bento à direita */
.about__gr{display:grid;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.bento{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.bento .ph{border-radius:var(--r2)}
.bento__a{grid-column:1/3;aspect-ratio:16/10}
.bento__b,.bento__c{aspect-ratio:1}
@media (hover:hover){.bento .ph:hover img{transform:scale(1.06)}}

/* 6.6 expansão */
.bene{overflow:hidden}
.bene__bg{position:absolute;inset:0;z-index:0}
.bene .wrap{position:relative;z-index:1}
.cols{display:grid;gap:0;margin-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--ln-dk)}
.col{padding:1.9rem 0;border-bottom:1px solid var(--ln-dk)}
.col h3{font-size:var(--h3);color:var(--gdl);margin-bottom:.6rem}
.col p{color:var(--on-dk-s);font-size:.95rem;max-width:min(100%,36ch)}
.bene__cta{margin-top:3.25rem}

/* 6.7 processo — acordeão */
.proc{background:var(--d1)}
.proc__hd{margin-bottom:clamp(2.75rem,5vw,4rem)}
.proc__sub{margin-top:1.6rem}
.steps{display:flex;flex-direction:column;gap:10px}
.step{position:relative;overflow:hidden;border:1px solid var(--ln-dk);border-radius:var(--r3);background:var(--ink);transition:background .45s var(--e),border-color .45s var(--e)}
.step.is-open{background:var(--pa);border-color:transparent}
/* spotlight só na BORDA, e só nos cards fechados */
.step[data-spot]::after{display:none}
.step::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:5;pointer-events:none;opacity:0;transition:opacity .35s var(--e);
  background:radial-gradient(170px circle at var(--mx,50%) var(--my,50%),rgba(222,201,123,.95),rgba(222,201,123,0) 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
@media (hover:hover){.step:not(.is-open):hover::before{opacity:1}}

.step__bt{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.4rem;text-align:left}
.step__n{font-family:var(--fd);font-size:1rem;color:var(--gdl);letter-spacing:.06em;flex:none;transition:color .4s var(--e)}
.step.is-open .step__n{color:var(--br)}
.step__lb{font-family:var(--fd);font-size:1.15rem;color:var(--on-dk);flex:1;transition:color .4s var(--e),opacity .3s var(--e)}
.step.is-open .step__lb{color:var(--on-lt)}
.step__pl{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid var(--ln-gd);border-radius:50%;transition:transform .45s var(--e),background .35s var(--e),border-color .35s var(--e),opacity .3s var(--e)}
.step__pl svg{width:14px;height:14px;color:var(--gdl);transition:color .35s var(--e)}
.step.is-open .step__pl{transform:rotate(135deg);background:var(--br);border-color:var(--br)}
.step.is-open .step__pl svg{color:var(--pa)}
@media (hover:hover){.step:not(.is-open):hover .step__pl{background:var(--gd);border-color:var(--gd)}.step:not(.is-open):hover .step__pl svg{color:var(--ink)}}

.step__pn{max-height:0;overflow:hidden;padding-inline:1.4rem;transition:max-height .55s var(--eio)}
.step.is-open .step__pn{max-height:32rem}
.step__dot{display:block;width:22px;height:22px;border:1px solid var(--br);border-radius:50%;position:relative;margin-bottom:.9rem}
.step__dot::after{content:"";position:absolute;inset:0;margin:auto;width:5px;height:5px;background:var(--br);border-radius:50%}
.step__pn h3{font-size:var(--h3);color:var(--on-lt);margin-bottom:.55rem}
.step__pn p{color:var(--on-lt-s);font-size:.96rem;max-width:min(100%,46ch);padding-bottom:1.6rem}

/* 6.8 soluções — mosaico simétrico */
.mos{display:grid;gap:12px;margin-top:clamp(2.5rem,5vw,4rem)}
.mos__c{padding:1.7rem;border-radius:var(--r2);display:flex;flex-direction:column;justify-content:flex-end;gap:.55rem;min-height:13rem}
.mos__c h3{font-size:1.08rem;line-height:1.34}
.mos__c p{font-size:.88rem;line-height:1.5}
.mos__c--dk{background:var(--br);color:var(--pa)}
.mos__c--dk p{color:rgba(250,249,245,.7)}
.mos__c--lt{background:var(--p1);color:var(--on-lt);border:1px solid var(--ln-lt)}
.mos__c--lt p{color:var(--on-lt-s)}
.mos__c--lt::after{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(175,134,60,.17),transparent 62%)}
.mos__c--gd{background:linear-gradient(140deg,#C39B4C,#AF863C);color:#191307}
.mos__c--gd p{color:rgba(25,19,7,.78)}
.mos__c--gd::after{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.25),transparent 62%)}
.mos__p{border-radius:var(--r2);min-height:13rem}
@media (hover:hover){.mos__p:hover img{transform:scale(1.06)}}

/* 6.9 relatos — cabeçalho centralizado */
.tst__hd{text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem)}
.tst__hd .rail__lb{justify-content:center}
.tst__hd .h2{margin-inline:auto}
.tst__tr{display:grid;gap:14px}
.q{padding:2.1rem 1.9rem;border:1px solid var(--ln-dk);border-radius:var(--r2);display:flex;flex-direction:column;gap:1.5rem;background:var(--d1);transition:border-color .4s var(--e),transform .4s var(--e)}
@media (hover:hover){.q:hover{border-color:var(--ln-gd);transform:translateY(-3px)}}
.q blockquote{font-family:var(--fd);font-style:italic;font-size:1.18rem;line-height:1.5;color:var(--on-dk)}
.q figcaption{font-size:.85rem;color:var(--gdl);margin-top:auto;padding-top:1.3rem;border-top:1px solid var(--ln-dk)}
.q figcaption span{display:block;color:var(--on-dk-s);font-size:.78rem;margin-top:.15rem}
.tst__nt{margin-top:2rem;text-align:center;font-size:.75rem;color:var(--on-dk-s)}

/* 6.10 dúvidas */
.faq__gr{display:grid;gap:2.5rem}
.fq{border-bottom:1px solid var(--ln-lt)}
.fq summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;cursor:pointer;list-style:none;font-size:1.02rem;color:var(--on-lt);transition:color .3s var(--e)}
.fq summary::-webkit-details-marker{display:none}
.fq summary:hover{color:var(--gd)}
.fq__ic{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid var(--ln-gd);border-radius:50%;transition:transform .4s var(--e),background .35s var(--e),border-color .35s var(--e)}
.fq__ic svg{width:14px;height:14px;color:var(--gd);transition:color .35s var(--e)}
.fq[open] .fq__ic{transform:rotate(135deg);background:var(--gd);border-color:var(--gd)}
.fq[open] .fq__ic svg{color:var(--pa)}
.fq__a{overflow:hidden}
.fq__a p{padding-bottom:1.6rem;color:var(--on-lt-s);font-size:.96rem;max-width:min(100%,64ch)}

/* 6.11 fechamento — centralizado */
.end{overflow:hidden;background:var(--ink)}
.end__bg{position:absolute;inset:0;z-index:0}
.end__bg::after{background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.9))}
.end__in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.6rem}
.end__mk{width:3rem;height:3rem;color:var(--gdl)}
.end__h{max-width:min(100%,29ch);margin-inline:auto;color:var(--pa)}
.end__p{max-width:min(100%,56ch);margin-inline:auto}
.end .btn{margin-top:.8rem}

/* 6.12 rodapé — chumbo */
.ft{background:var(--chumbo);border-top:1px solid rgba(250,249,245,.1);padding-top:clamp(3.5rem,7vw,5.5rem)}
.ft__gr{display:grid;gap:2.5rem;padding-bottom:3rem}
.ft__tg{font-family:var(--fd);font-style:italic;color:var(--on-dk-s);margin-top:1rem;max-width:min(100%,28ch)}
.ft__cl{display:flex;flex-direction:column;gap:.5rem}
.ft__cl h2{font-family:var(--fb);font-size:.78rem;font-weight:500;color:var(--gdl);margin-bottom:.7rem}
.ft__cl a{display:inline-flex;align-items:center;gap:.5rem;color:var(--on-dk-s);font-size:.9rem;padding-block:.35rem;transition:color var(--t) var(--e),transform var(--t) var(--e)}
.ft__cl a:hover{color:var(--pa);transform:translateX(3px)}
.ft__cl a[aria-disabled="true"]{opacity:.5}
.ft__cl .ic{width:1rem;height:1rem;color:var(--gd)}
.ft__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.4rem;border-top:1px solid rgba(250,249,245,.09);font-size:.78rem;color:var(--on-dk-s)}
.ft__mk{width:1.6rem;height:1.6rem;color:rgba(175,134,60,.5)}

/* ---------- 7. MOTION ---------- */
/* a verga: a linha do título sobe por dentro da máscara.
   padding/margin compensados para nunca cortar p, g, j, q, y. */
.ln-mask{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.ln{display:block;will-change:transform}

/* imagem ausente: o pórtico fica no lugar dela */
.ph.no-img img{opacity:0}
.ph.no-img{background:linear-gradient(160deg,#241c11,#15110a)}
.ph.no-img::before{content:"";position:absolute;inset:0;z-index:1;background:var(--gd);opacity:.2;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 23 32 8l25 15'/%3E%3Cpath d='M6 27.5h52M14 32v18M24 32v18M40 32v18M50 32v18M10 54h44M6 58.5h52'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/38% auto;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M7 23 32 8l25 15'/%3E%3Cpath d='M6 27.5h52M14 32v18M24 32v18M40 32v18M50 32v18M10 54h44M6 58.5h52'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/38% auto}

/* ---------- 8. RESPONSIVO ---------- */

/* tablet 768–1024 */
@media (min-width:768px){
  .bento{grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;aspect-ratio:1.18/1}
  .bento__a{grid-column:1;grid-row:1/3;aspect-ratio:auto}
  .bento__b,.bento__c{aspect-ratio:auto}
  .cols{grid-template-columns:repeat(3,1fr);gap:2.5rem}
  .col{border-bottom:0;border-top:1px solid var(--ln-dk);margin-top:-1px;padding-top:1.7rem}
  .mos{grid-template-columns:1fr 1fr}
  .tst__tr{grid-template-columns:repeat(3,1fr)}
  .faq__gr{grid-template-columns:1fr 1.35fr;gap:3.5rem}
  .ft__gr{grid-template-columns:1.5fr 1fr 1fr}
  .ft__br{grid-column:1/-1}
  .proc__hd{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 4rem;align-items:end}
  .proc__sub{margin-top:0;max-width:min(100%,42ch)}
}

/* laptop+ ≥1025 */
@media (min-width:1025px){
  .ovl{display:none}
  .seal{display:flex}
  .about__gr{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
  .mos{grid-template-columns:repeat(3,1fr);grid-auto-rows:17rem}
  .mos__c,.mos__p{min-height:0}
  .ft__gr{grid-template-columns:1.7fr 1fr 1fr 1fr}
  .ft__br{grid-column:auto}

  /* acordeão horizontal */
  .steps{flex-direction:row;gap:12px;height:min(62vh,520px)}
  .step{flex:none;width:112px;transition:width .7s var(--eio),background .45s var(--e),border-color .45s var(--e)}
  .step.is-open{width:calc(100% - 3*124px)}
  .step__bt{position:absolute;inset:0 auto 0 0;width:112px;flex-direction:column;align-items:center;justify-content:space-between;gap:0;padding:1.6rem 0;z-index:4}
  .step__lb{writing-mode:vertical-rl;transform:rotate(180deg);flex:0 1 auto;margin-block:auto;font-size:1.05rem;letter-spacing:.03em;white-space:nowrap}
  .step.is-open .step__bt{pointer-events:none}
  .step.is-open .step__lb,.step.is-open .step__pl{opacity:0}
  .step__pn{position:absolute;inset:auto 0 0 112px;max-height:none;overflow:visible;padding:0 2.4rem 2.3rem 0;opacity:0;transform:translateY(16px);transition:opacity .5s var(--e),transform .5s var(--e);pointer-events:none}
  .step.is-open .step__pn{opacity:1;transform:none;pointer-events:auto;transition-delay:.22s}
  .step__pn p{padding-bottom:0}
}

/* widescreen ≥2400 */
@media (min-width:2400px){
  :root{--max:1660px;--fs:1.12rem}
  .hero{max-height:1180px}
}

/* mobile ≤767 */
@media (max-width:767px){
  :root{--hh:66px}
  .hd__nav,.hd__cta{display:none}
  .burger{display:block}
  .logo img{height:34px}
  .logo--ft img{height:46px}
  .hero .btn--lg,.end .btn--lg{width:100%;justify-content:center}
  .band__mv{animation-duration:56s}
  .mos__c{min-height:11rem;padding:1.35rem}
  .mos__p{min-height:11rem;aspect-ratio:4/3}
  .tst__tr{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scrollbar-width:none}
  .tst__tr::-webkit-scrollbar{display:none}
  .q{scroll-snap-align:start}
}

/* ---------- 9. REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .band__mv{animation:none;width:100%;flex-wrap:wrap}
  .band__tr{flex-wrap:wrap;justify-content:center}
}
