/* ==========================================================================
   Seções — cada uma com composição própria
   ========================================================================== */

/* grade de 12 colunas que pode sangrar até a borda da janela */
.bleed{display:grid;grid-template-columns:[full-start] var(--side) [c-start] repeat(12,minmax(0,1fr)) [c-end] var(--side) [full-end];column-gap:var(--gap)}
.bleed > *{min-width:0}
.ph{position:relative;overflow:hidden;background:var(--bg-2)}
.ph img{width:100%;height:100%;object-fit:cover}
/* foto com parallax: sobra de 9% em cima e embaixo para o deslocamento nunca abrir fresta */
.ph img[data-par]{position:relative;height:118%;top:-9%}

/* ---------- 1. Abertura ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(620px,100svh,1040px);padding-top:var(--hd-h);grid-template-rows:1fr auto}
.hero__mono{position:absolute;z-index:-1;top:-18%;right:-21%;height:140%;width:auto;aspect-ratio:754/694;color:var(--metal);pointer-events:none;overflow:visible}
.hero__mono path{fill:currentColor;fill-opacity:.035;stroke:currentColor;stroke-opacity:.26;stroke-width:1.15}
.anim .hero__mono path{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}
.is-in .hero__mono path{animation:monoDraw 2.8s var(--ease-io) .1s forwards,monoFill 1.6s ease 2.3s forwards}
@keyframes monoDraw{to{stroke-dashoffset:0}}
@keyframes monoFill{to{fill-opacity:.035}}

.hero__copy{grid-column:c-start/span 8;grid-row:1;align-self:center;padding:clamp(2rem,5vh,4rem) 0 clamp(2rem,5vh,3.5rem)}
.hero__kicker{font-size:var(--t-label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.hero__kicker b{font-weight:600;color:var(--fg)}
.hero__t{font-size:var(--t-hero);line-height:.94;letter-spacing:-.032em;margin-top:clamp(1.2rem,3vh,2rem)}
.hero__t .ln{display:block}
.hero__t .ln--in{padding-left:1.35em}
.hero__foot{display:grid;gap:1.6rem;max-width:34rem;margin-top:clamp(1.6rem,4vh,2.8rem)}
.hero__sub{font-size:var(--t-md);line-height:1.55;color:var(--fg-2)}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.6rem}

.hero__fig{grid-column:10/full-end;grid-row:1/span 2;position:relative;margin-top:clamp(.5rem,2vh,1.5rem)}
.hero__fig .ph{position:absolute;inset:0}
.hero__fig img{object-position:44% 18%}
.hero__cap{position:absolute;left:1.4rem;bottom:1.3rem;z-index:1;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-1);white-space:nowrap}

.hero__bar{grid-column:c-start/span 8;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,auto));justify-content:space-between;gap:1.2rem;padding:1.4rem 0 1.7rem;border-top:1px solid var(--line)}
.hero__bar > div{position:relative;display:grid;gap:.3rem;padding-left:1.15rem}
/* duas linhas finas: as caneluras da coluna do monograma */
.hero__bar > div::before{content:"";position:absolute;left:0;top:.15rem;bottom:.15rem;width:4px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.hero__bar dt{font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.hero__bar dd{font-size:var(--t-sm);font-weight:500;color:var(--fg);white-space:nowrap}
.hero__bar a{transition:color .3s ease}
.hero__bar a:hover{color:var(--accent)}

@media (max-width:1180px){
  .hero__t{font-size:clamp(3rem,1rem + 5.4vw,6rem)}
  .hero__t .ln--in{padding-left:.6em}
  .hero__copy,.hero__bar{grid-column:c-start/span 7}
  .hero__fig{grid-column:9/full-end}
  .hero__bar{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem}
}
@media (max-width:820px){
  .hero{min-height:0;grid-template-rows:auto}
  .hero__copy{grid-column:c-start/c-end;grid-row:auto;padding:clamp(1.6rem,5vh,2.6rem) 0 2.2rem}
  .hero__t{font-size:clamp(2.85rem,12.6vw,4.6rem);line-height:.98}
  .hero__t .ln--in{padding-left:.9em}
  .hero__foot{margin-top:1.6rem}
  .hero__ctas .btn{flex:1 1 100%}
  .hero__fig{grid-column:full-start/full-end;grid-row:auto;margin:0;aspect-ratio:4/4.4}
  .hero__cap{left:var(--gutter);bottom:.9rem;font-size:.64rem}
  .hero__bar{grid-column:c-start/c-end;grid-row:auto;border-top:0;padding-top:1.4rem}
  .hero__mono{top:3%;right:-46%;height:74%}
}

/* ---------- 2. Escritório ---------- */
.esc__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:clamp(3.5rem,7vw,7rem)}
.esc .folio{grid-column:1/span 3;grid-row:1;padding-top:1rem}
.esc__t{grid-column:4/span 9;grid-row:1;font-size:var(--t-statement);line-height:1.08;letter-spacing:-.018em}
.esc__pics{grid-column:1/span 7;grid-row:2;position:relative;margin-left:calc(-1 * var(--side));margin-bottom:clamp(3rem,8vw,7rem)}
.esc__main{aspect-ratio:1066/853}
.esc__main img{object-position:50% 40%}
.esc__sub{position:absolute;right:-9%;bottom:clamp(-7rem,-8vw,-3rem);width:38%;aspect-ratio:3/4;box-shadow:0 0 0 clamp(6px,.8vw,12px) var(--bg)}
.esc__sub img{object-position:50% 20%}
.esc__body{grid-column:9/span 4;grid-row:2;align-self:center;display:grid;gap:2.4rem}
.esc__p{font-size:var(--t-md);line-height:1.6;color:var(--fg-2)}
.ledger > div{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1.05rem 0;border-top:1px solid var(--line)}
.ledger > div:last-child{border-bottom:1px solid var(--line)}
.ledger dt{font-family:var(--f-display);font-size:1.18rem;font-weight:400;line-height:1.35;color:var(--fg)}
.ledger dd{font-size:var(--t-sm);line-height:1.5;color:var(--fg-2)}
.esc__reg{font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
@media (max-width:1024px){
  .esc .folio{grid-column:1/-1}
  .esc__t{grid-column:1/-1;grid-row:2}
  .esc__pics{grid-column:1/span 10;grid-row:3}
  .esc__body{grid-column:1/-1;grid-row:4;max-width:40rem}
}
@media (max-width:640px){
  .esc__grid{row-gap:2.4rem}
  .esc__pics{grid-column:1/-1;margin-right:calc(-1 * var(--gutter));margin-bottom:5.5rem}
  .esc__sub{right:var(--gutter);bottom:-4.5rem;width:42%}
}

/* ---------- 3. Áreas de atuação ---------- */
.areas{position:relative;overflow:clip;padding:var(--section) 0}
.areas__arch{position:absolute;right:-14vw;top:50%;margin-top:calc(min(78vw,1100px) / -2);width:min(78vw,1100px);height:auto;aspect-ratio:1;color:var(--metal);pointer-events:none;opacity:.5;transform:rotate(-14deg);transform-origin:50% 50%}
.areas__arch path{fill:none;stroke:currentColor;stroke-opacity:.42;stroke-width:1}
.areas__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.areas__head{grid-column:1/-1;max-width:44rem}
.areas__t{font-size:var(--t-h2);margin-top:1.3rem}
.areas__lead{margin-top:1.3rem;max-width:30rem;color:var(--fg-2);font-size:var(--t-md);line-height:1.55}
.areas__nav{grid-column:1/-1;margin-top:clamp(2.4rem,5vw,4rem)}
.areas__prog{display:none}
.area__btn{display:grid;grid-template-columns:3rem 1fr auto;align-items:baseline;width:100%;gap:.5rem;color:var(--fg)}
.area__n{font-family:var(--f-display);font-size:1rem;color:var(--accent)}
.area__name{font-family:var(--f-display);font-weight:300;font-size:clamp(1.65rem,1.05rem + 1.7vw,2.6rem);line-height:1.12;letter-spacing:-.015em}
.area__ic{display:none}
.area__num,.area__title{display:none}
.area__inner{padding:1rem 0 2rem 3.5rem;display:grid;gap:1.3rem;max-width:44rem}
.area__p{font-size:var(--t-md);line-height:1.55;color:var(--fg-2)}
.area__tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.6rem}
.area__tags li{position:relative;padding-left:1.15rem;font-size:var(--t-sm);line-height:1.4;color:var(--fg)}
.area__tags li::before{content:"";position:absolute;left:0;top:.28em;height:.85em;width:4px;border-left:1px solid var(--accent);border-right:1px solid var(--accent)}

/* modo acordeão (celular, tablet, movimento reduzido) */
.areas.is-acc .area{border-top:1px solid var(--line)}
.areas.is-acc .area:last-child{border-bottom:1px solid var(--line)}
.areas.is-acc .area__btn{grid-template-columns:2.6rem 1fr 34px;align-items:center;min-height:72px;padding:.9rem 0}
.areas.is-acc .area__ic{display:block;position:relative;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease-out)}
.areas.is-acc .area__ic::before,.areas.is-acc .area__ic::after{content:"";position:absolute;left:11px;right:11px;top:50%;height:1.2px;margin-top:-.6px;background:var(--fg);transition:transform .5s var(--ease-out)}
.areas.is-acc .area__ic::after{transform:rotate(90deg)}
.areas.is-acc .area.is-open .area__ic{transform:rotate(180deg)}
.areas.is-acc .area.is-open .area__ic::after{transform:rotate(0)}
.areas.is-acc .area__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease-io)}
.areas.is-acc .area.is-open .area__panel{grid-template-rows:1fr}
.areas.is-acc .area__inner{min-height:0;overflow:hidden;padding-top:0;padding-bottom:0}
.areas.is-acc .area__inner > :first-child{margin-top:.2rem}
.areas.is-acc .area__inner > :last-child{margin-bottom:2rem}
@media (max-width:640px){
  .areas.is-acc .area__inner{padding-left:0}
  .area__tags{grid-template-columns:1fr}
}

/* modo fixo (desktop): a seção prende por um trecho curto e as áreas avançam com a rolagem */
.areas.is-pin{padding:0;height:calc(100svh + var(--n,6) * 19svh)}
.is-pin .areas__pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.is-pin .areas__grid{width:100%;height:min(100svh - 8rem,760px);align-content:start}
.is-pin .areas__head{grid-column:1/span 5;max-width:none}
.is-pin .areas__t{font-size:clamp(2.4rem,1.2rem + 2.6vw,4rem)}
.is-pin .areas__nav{grid-column:1/span 5;margin-top:clamp(1.6rem,3.5vh,2.8rem);padding-left:1.4rem}
/* o trilho e os painéis se posicionam pela GRADE: nada entre eles e .areas__grid pode ser posicionado */
.is-pin .areas__prog{display:block;position:absolute;left:0;top:0;height:0;width:1px;background:var(--line)}
.is-pin .areas__prog i{position:absolute;inset:0;background:var(--accent);transform-origin:top;transform:scaleY(0)}
.is-pin .area__btn{padding:.42rem 0;color:var(--fg-3);transition:color .45s ease}
.is-pin .area__name{display:inline-block;font-size:clamp(1.5rem,.9rem + 1.25vw,2.2rem);transition:transform .6s var(--ease-out)}
.is-pin .area.is-on .area__btn{color:var(--fg)}
.is-pin .area.is-on .area__name{transform:translate3d(.6rem,0,0)}
@media (hover:hover) and (pointer:fine){.is-pin .area__btn:hover{color:var(--fg-2)}.is-pin .area.is-on .area__btn:hover{color:var(--fg)}}
.is-pin .area__panel{position:absolute;top:0;bottom:0;left:calc((100% + var(--gap)) * 7 / 12);right:0;display:flex;align-items:center;visibility:hidden;transition:visibility 0s linear .36s}
.is-pin .area.is-on .area__panel{visibility:visible;transition:visibility 0s}
.is-pin .area__inner{padding:0;max-width:none;width:100%;gap:1.4rem}
.is-pin .area__num{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(5rem,2.6rem + 5.4vw,8.5rem);line-height:1;letter-spacing:-.045em;color:var(--accent);margin:-.1em 0 0}
.is-pin .area__title{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(2rem,1.2rem + 1.8vw,3.2rem);line-height:1.05;letter-spacing:-.02em;color:var(--fg)}
/* telas baixas (notebook com escala de 150%, ~590 px úteis), que antes viravam lista: versão compacta do trecho fixo */
@media (max-height:639px){
  .is-pin .areas__pin{align-items:flex-end;padding-bottom:1.4rem}
  .is-pin .areas__grid{height:calc(100svh - 6rem)}
  .is-pin .areas__t{font-size:clamp(2rem,6.4vh,3.2rem);margin-top:.8rem}
  .is-pin .areas__lead{margin-top:.7rem;font-size:1rem}
  .is-pin .areas__nav{margin-top:clamp(.9rem,2.6vh,1.8rem)}
  .is-pin .area__btn{padding:.26rem 0}
  .is-pin .area__name{font-size:clamp(1.25rem,4vh,1.9rem)}
  .is-pin .area__inner{gap:1rem}
  .is-pin .area__num{font-size:clamp(3.6rem,13vh,6.5rem)}
  .is-pin .area__title{font-size:clamp(1.7rem,5.2vh,2.6rem)}
}
.is-pin .stg{opacity:0;transform:translate3d(0,22px,0);transition:opacity .35s ease,transform .5s var(--ease-out)}
.is-pin .area.is-on .stg{opacity:1;transform:none;transition:opacity .7s var(--ease-out) calc(.12s + var(--k,0) * .07s),transform .9s var(--ease-out) calc(.12s + var(--k,0) * .07s)}
.is-pin .area__num.stg{transform:translate3d(0,40%,0);clip-path:inset(0 0 100% 0)}
/* revelado: a máscara sobra para fora da caixa, senão corta o topo dos algarismos */
.is-pin .area.is-on .area__num.stg{transform:none;clip-path:inset(-.3em -.2em -.2em -.2em);transition:transform 1s var(--ease-out) .05s,clip-path 1s var(--ease-io) .05s,opacity .3s ease .05s}

/* ---------- 4. Advogados ---------- */
.adv__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:clamp(3rem,6vw,5rem)}
.adv__head{grid-column:7/span 6;grid-row:1;align-self:end;padding-bottom:1rem}
.adv__head h2{font-size:var(--t-h2);margin-top:1.3rem}
.adv__head p{margin-top:1.3rem;max-width:28rem;color:var(--fg-2);font-size:var(--t-md);line-height:1.55}
.adv__card--a{grid-column:1/span 5;grid-row:1/span 2}
.adv__card--b{grid-column:7/span 5;grid-row:2;margin-top:clamp(0rem,3vw,3rem)}
.adv__ph{aspect-ratio:4/5}
.adv__mv{position:absolute;inset:0;transform:scale(1.06);transition:transform 1s var(--ease-out)}
.adv__stack img{position:absolute;inset:0}
/* troca automática de pose: a nova entra por cortina e assenta na escala; a anterior é empurrada.
   O cartão do Linconl abre de baixo para cima, o do Glaucio de cima para baixo. */
.js .adv__stack img{clip-path:inset(100% 0 0 0);z-index:0;scale:1.14;translate:0 0}
.js .adv__card--b .adv__stack img{clip-path:inset(0 0 100% 0)}
.js .adv__stack img.is-prev{clip-path:inset(0 0 0 0);z-index:1;scale:1.05;translate:0 -6%;transition:translate 1.3s var(--ease-io),scale 1.3s var(--ease-io)}
.js .adv__card--b .adv__stack img.is-prev{translate:0 6%}
.js .adv__stack img.is-cur{clip-path:inset(0 0 0 0);z-index:2;scale:1;translate:0 0;transition:clip-path 1.3s var(--ease-io),scale 2s var(--ease-out)}
.adv__stack img + img{display:none}
.js .adv__stack img + img{display:block}
.adv__cap{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;padding-top:1.4rem}
.adv__name{font-size:clamp(2.2rem,1.4rem + 2.4vw,3.8rem);line-height:1;letter-spacing:-.025em}
.adv__meta{margin-top:.7rem;font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.adv__meta b{font-weight:600;color:var(--accent)}
.adv__poses{display:flex;gap:.45rem}
.adv__poses button{position:relative;width:44px;height:55px;overflow:hidden;opacity:.5;transition:opacity .3s ease,transform .16s var(--ease-out)}
.adv__poses button::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line)}
.adv__poses button[aria-pressed="true"]{opacity:1}
.adv__poses button[aria-pressed="true"]::after{box-shadow:inset 0 0 0 1.5px var(--fg)}
/* linha que enche até a próxima troca */
.adv__poses button::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;z-index:1;background:var(--accent);transform:scaleX(0);transform-origin:left}
.adv__poses button.is-run::before{transform:scaleX(1);transition:transform var(--pose-t,5s) linear}
.adv__poses button:hover{opacity:.85}
.adv__poses button:active{transform:scale(.95)}
.adv__poses img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.adv__band{grid-column:3/-1;grid-row:3;margin-right:calc(-1 * var(--side));margin-top:clamp(1rem,4vw,4rem)}
.adv__band .ph{aspect-ratio:16/8}
.adv__band img{object-position:50% 30%}
.adv__band figcaption{margin-top:1rem;font-size:var(--t-sm);color:var(--fg-3)}
@media (max-width:900px){
  .adv__head{grid-column:1/-1;grid-row:1}
  .adv__card--a{grid-column:1/span 6;grid-row:2}
  .adv__card--b{grid-column:7/span 6;grid-row:2;margin-top:3.5rem}
  .adv__cap{grid-template-columns:1fr}
  .adv__name{font-size:clamp(1.45rem,.9rem + 2.6vw,2.4rem)}
  .adv__band{grid-column:1/-1;margin-right:calc(-1 * var(--gutter));margin-left:calc(-1 * var(--gutter))}
  .adv__band .ph{aspect-ratio:16/10}
  .adv__band figcaption{padding-inline:var(--gutter)}
}
@media (max-width:520px){
  .adv__grid{column-gap:.8rem}
  .adv__meta{letter-spacing:.08em;font-size:.66rem}
  .adv__poses button{width:36px;height:45px}
}

/* ---------- 5. Atendimento ---------- */
.how__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.how__fig{grid-column:1/span 4;position:sticky;top:6rem}
.how__fig .ph{aspect-ratio:4/5}
.how__fig img{object-position:50% 30%}
.how__body{grid-column:6/span 7}
.how__body h2{font-size:var(--t-h2);margin-top:1.3rem}
.how__lead{margin-top:1.3rem;max-width:32rem;color:var(--fg-2);font-size:var(--t-md);line-height:1.55}
.steps{position:relative;margin-top:clamp(2.6rem,5vw,4rem);border-top:1px solid var(--line)}
.steps__line{position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--accent);transform-origin:left}
.step{display:grid;grid-template-columns:5.2rem 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.step__n{font-family:var(--f-display);font-weight:300;font-size:2.4rem;line-height:1;letter-spacing:-.02em;color:var(--fg-3);transition:color .6s ease}
.step.on .step__n{color:var(--accent)}
.step h3{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);letter-spacing:-.012em;line-height:1.15}
.step p{margin-top:.5rem;color:var(--fg-2);max-width:40rem}
.how__cta{margin-top:2.4rem}
@media (max-width:900px){
  .how__fig{grid-column:1/-1;position:relative;top:auto;margin-bottom:2.8rem}
  .how__fig .ph{aspect-ratio:16/11}
  .how__body{grid-column:1/-1}
}
@media (max-width:520px){.step{grid-template-columns:3.4rem 1fr}.step__n{font-size:1.9rem}}

/* ---------- 6. Dúvidas ---------- */
.faq{background:var(--bg-2)}
.faq__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.faq__head{grid-column:1/span 4;position:sticky;top:6rem;align-self:start}
.faq__head h2{font-size:var(--t-h2);margin-top:1.3rem}
.faq__head p{margin-top:1.3rem;color:var(--fg-2);font-size:var(--t-md);line-height:1.55;max-width:22rem}
.faq__head .lnk{margin-top:1.4rem}
.faq__list{grid-column:6/span 7}
@media (max-width:900px){
  .faq__head{grid-column:1/-1;position:static;margin-bottom:2.4rem}
  .faq__list{grid-column:1/-1}
  .qa__a{padding-right:0}
}

/* ---------- 7. Contato ---------- */
.ct{position:relative;overflow:hidden;isolation:isolate}
.ct__mono{position:absolute;z-index:-1;left:-12%;bottom:-38%;height:110%;width:auto;aspect-ratio:754/694;color:var(--metal);pointer-events:none}
.ct__mono path{fill:currentColor;fill-opacity:.03;stroke:currentColor;stroke-opacity:.24;stroke-width:1.1}
.ct__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:clamp(3rem,6vw,5.5rem)}
.ct__main{grid-column:1/span 7;align-self:center}
.ct__main h2{font-size:var(--t-h2);margin-top:1.3rem}
.ct__num{display:inline-block;margin-top:clamp(1.6rem,3vw,2.6rem);font-family:var(--f-display);font-weight:300;font-size:var(--t-giant);line-height:1;letter-spacing:-.03em;color:var(--fg);background:linear-gradient(var(--accent),var(--accent)) no-repeat 100% 100%/0 1px;padding-bottom:.12em;transition:background-size .7s var(--ease-out),color .3s ease}
.ct__num:hover,.ct__num:focus-visible{background-position:0 100%;background-size:100% 1px}
.ct__hint{margin-top:1rem;font-size:var(--t-sm);color:var(--fg-2)}
.ct__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:clamp(2.2rem,4vw,3.2rem);max-width:40rem}
.ct__info > div{position:relative;padding-left:1.15rem;display:grid;gap:.3rem}
.ct__info > div::before{content:"";position:absolute;left:0;top:.15rem;bottom:.15rem;width:4px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.ct__info dt{font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.ct__info dd{font-size:var(--t-sm);color:var(--fg)}
.ct__fig{grid-column:9/span 4;align-self:end}
.ct__fig .ph{aspect-ratio:4/5}
.ct__fig img{object-position:50% 25%}
.ct__fig figcaption{margin-top:.9rem;font-size:var(--t-sm);color:var(--fg-3)}
.ct__form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:1.6rem var(--gap);padding-top:2.2rem;border-top:1px solid var(--line)}
.ct__form-h{grid-column:1/-1;font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);letter-spacing:-.012em}
.ct__form .field--msg textarea{min-height:52px;height:52px}
.ct__form-end{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem}
.ct__note{font-size:var(--t-sm);color:var(--fg-3);max-width:34rem}
@media (max-width:1024px){
  .ct__main{grid-column:1/span 7}
  .ct__fig{grid-column:9/span 4}
  .ct__form{grid-template-columns:1fr 1fr}
  .ct__form .field--msg{grid-column:1/-1}
  .ct__form .field--msg textarea{height:auto;min-height:110px}
}
@media (max-width:720px){
  .ct__main{grid-column:1/-1}
  .ct__fig{grid-column:1/span 7}
  .ct__form{grid-template-columns:1fr}
  .ct__info{grid-template-columns:1fr}
  .ct__form-end .btn{width:100%}
  .ct__mono{left:-50%;bottom:-10%;height:60%}
}

/* ---------- Rodapé ---------- */
.ft{padding:clamp(4rem,7vw,6rem) 0 2rem;border-top:1px solid var(--line)}
.ft__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:2.6rem}
.ft__brand{grid-column:1/span 3}
.lockup{display:inline-grid;justify-items:center;gap:.85rem;color:var(--fa-gold)}
.lockup svg{width:62px;height:auto;aspect-ratio:754/694}
.lockup__name{font-family:var(--f-mark);font-weight:500;font-size:1.95rem;letter-spacing:.14em;line-height:1;margin-right:-.14em;color:var(--paper-1)}
.lockup__sub{font-size:.66rem;font-weight:500;letter-spacing:.56em;margin-right:-.56em;text-transform:uppercase;color:var(--metal)}
.lockup__rule{width:100%;height:4px;border-top:1px solid rgba(180,155,118,.5);border-bottom:1px solid rgba(180,155,118,.5)}
/* navegar · contato · advogados */
.ft__grid > .ft__col:nth-child(2){grid-column:5/span 2}
.ft__grid > .ft__col:nth-child(3){grid-column:7/span 3}
.ft__grid > .ft__col:nth-child(4){grid-column:10/span 3}
.ft__h{font-size:var(--t-label);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin-bottom:1rem}
.ft__col a,.ft__col p{display:block;font-size:var(--t-sm);line-height:1.95;color:var(--fg-2);transition:color .3s ease}
.ft__col a:hover{color:var(--fg)}
.ft__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem 2rem;margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.5rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-3)}
.ft__bot b{font-weight:600;color:var(--fg-2)}
@media (max-width:1024px){.ft__brand{grid-column:1/-1}.ft__grid > .ft__col:nth-child(n){grid-column:span 4}}
@media (max-width:640px){.ft__grid > .ft__col:nth-child(n){grid-column:1/-1}}

/* ---------- 404 ---------- */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:2rem var(--gutter)}
.nf__in{display:grid;justify-items:center;gap:1.4rem;max-width:34rem}
.nf__code{font-size:var(--t-label);font-weight:600;letter-spacing:.2em;color:var(--metal)}
.nf h1{font-size:var(--t-h2)}
.nf p{color:var(--fg-2)}
