/* Anderson Aguiar Advocacia · estilo */
:root{
  --canvas:#0c0f16;
  --panel:#131824;
  --panel-2:#1a2030;
  --accent:#f7db5a;
  --accent-hover:#ffe680;
  --accent-muted:#8a7a3a;
  --text-secondary:#a9aebb;
  --text-primary:#ede9df;
  --rule:rgba(170,182,214,.07);
  --line:rgba(237,233,223,.12);
  --line-strong:rgba(237,233,223,.34);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --f-display:"Marcellus",Georgia,serif;
  --f-text:"Manrope",system-ui,sans-serif;
  --f-label:"Josefin Sans","Manrope",sans-serif;
  --tshadow:0 1px 2px rgba(5,6,10,.9),0 3px 14px rgba(5,6,10,.6);
  --wrap:min(1180px,100% - 32px);
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--canvas);overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text-primary);font:400 17px/1.65 var(--f-text);overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased;opacity:0;animation:page-in .9s var(--ease-out) .05s forwards}
@keyframes page-in{to{opacity:1}}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:rgba(247,219,90,.28);color:var(--text-primary)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--accent);color:var(--canvas);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .3s var(--ease-out)}
.skip:focus{top:16px}
main:focus{outline:none}

/* ---------- ambiente fixo: papel pautado, grão, brilho lento ---------- */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient .rules{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 43px,var(--rule) 43px 44px);-webkit-mask:radial-gradient(ellipse 80% 70% at 50% 50%,#000 20%,transparent 85%);mask:radial-gradient(ellipse 80% 70% at 50% 50%,#000 20%,transparent 85%)}
.ambient .drift{position:absolute;width:90vmax;height:90vmax;left:-20vmax;top:-30vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(92,112,168,.13),rgba(92,112,168,0));animation:drift 96s var(--ease-io) -30s infinite alternate}
.ambient .drift.two{left:auto;right:-30vmax;top:auto;bottom:-40vmax;background:radial-gradient(closest-side,rgba(247,219,90,.05),rgba(247,219,90,0));animation-duration:120s;animation-delay:-70s}
@keyframes drift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(18vw,22vh,0)}100%{transform:translate3d(6vw,48vh,0)}}
.ambient .grain{position:absolute;inset:-50%;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.page{position:relative;z-index:1}

/* ---------- tipografia base ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:400;letter-spacing:.005em;margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.08}
h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2}
p{margin:0}
.label{font:400 12.5px/1.4 var(--f-label);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:baseline;gap:.7em}
.label .sec{font-family:var(--f-display);letter-spacing:0;font-size:15px;opacity:.9}
.lede{font-size:clamp(17px,1.35vw,19px);color:var(--text-secondary);max-width:52ch}
.gold{color:var(--accent)}
.d1{font-family:var(--f-text);font-weight:400;font-size:.9em}

/* sublinhado de tinta feito à mão */
.u{position:relative;white-space:nowrap}
.u svg{position:absolute;left:-2%;width:104%;bottom:-.2em;height:.42em;overflow:visible;pointer-events:none}
.u path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease-out) .5s}
.in .u path{stroke-dashoffset:0}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:13px 24px;border-radius:3px;font:600 15px/1.2 var(--f-text);letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out);text-shadow:none}
.btn-primary{background:var(--accent);color:#0c0f16;box-shadow:0 8px 30px -12px rgba(247,219,90,.55)}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 14px 36px -12px rgba(247,219,90,.6)}
.btn-ghost{border-color:rgba(247,219,90,.5);color:var(--accent);background:rgba(12,15,22,.35)}
.btn-ghost:hover{border-color:var(--accent);background:rgba(247,219,90,.08);transform:translateY(-1px)}
.btn svg{width:18px;height:18px;flex:none}
@media (pointer:coarse){.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:76px;display:flex;align-items:center;transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out),backdrop-filter .5s}
.nav::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,15,22,.85),rgba(12,15,22,0));pointer-events:none;transition:opacity .5s}
.nav.solid{background:rgba(12,15,22,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav.solid::before{opacity:0}
.nav .in-nav{position:relative;width:var(--wrap);margin-inline:auto;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}
.brand img{width:36px;height:auto}
.brand span{font:300 14px/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;padding-top:3px}
.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{font:400 12px/1 var(--f-label);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--text-secondary);padding:10px 0;position:relative;transition:color .3s var(--ease-out)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.nav-links a:hover{color:var(--text-primary)}
.nav-links a:hover::after{transform:scaleX(1)}

/* ícones das redes (dourado, como o logo) */
.social{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#0c0f16;transition:background-color .3s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.social a:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px -8px rgba(247,219,90,.6)}
.social svg{width:17px;height:17px}
.social.big a{width:46px;height:46px}
.social.big svg{width:21px;height:21px}
@media (max-width:1120px){.nav-links{display:none}}
@media (max-width:520px){.brand span{display:none}.brand img{width:34px}}
/* ---------- hero: a assinatura ---------- */
#hero{position:relative}
.stage{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,5vh,48px);padding:110px 16px 72px;overflow:hidden}
.sig{width:min(86vw,880px,130vh);height:auto;overflow:visible}
.sig .ghost{display:none}
.sig .p{fill:var(--accent);stroke:none}
.sig .line{display:none}
.halo{position:absolute;left:50%;top:40%;width:min(110vw,1300px);height:min(60vw,640px);transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(247,219,90,.10),rgba(247,219,90,0));pointer-events:none}
.nib,.dust{display:none}
.bands{position:relative;width:min(100%,880px)}
.band{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.band h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.08;max-width:17ch}
.band .say{font-family:var(--f-display);font-size:clamp(1.75rem,3.4vw,2.8rem);line-height:1.16;max-width:22ch}
.band .sub{color:var(--text-secondary);font-size:clamp(16px,1.3vw,18px);max-width:50ch}
.band .cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
.band .cue{display:none}
.band[data-static="hide"]{display:none}
.band.settle .t,.band.settle .sub{display:none}
.band.first{margin-bottom:28px}

/* modo animado (JS e portões liberados) */
.anim #hero{height:600vh}
.anim .stage{position:sticky;top:0;height:100vh;height:100svh;min-height:0;padding:0;display:block}
.anim .sig{position:absolute;left:50%;top:37%;width:min(72vw,940px,104vh);transform:translate(-50%,-50%)}
.anim .sig .ghost{display:inline;opacity:.06}
.anim .sig .p{fill-opacity:0;stroke:var(--accent);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;stroke-opacity:0}
.anim .sig .rule,.anim .sig .orn{fill-opacity:1;stroke:none;transform-box:fill-box;transform:scaleY(0)}
.anim .sig .rule{transform-origin:50% 0}
.anim .sig .orn{transform-origin:50% 50%;transform:scale(0)}
.anim .sig .diag,.anim .sig .sm{stroke:none}
.anim .sig .line{display:inline;fill:none;stroke-width:2.3;vector-effect:none;stroke-opacity:1}
.anim .halo{opacity:var(--glow,0)}
.anim .nib{display:block;position:absolute;left:0;top:0;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#fff5c2;opacity:0;transition:opacity .5s var(--ease-out);will-change:transform;pointer-events:none;z-index:3}
.anim .nib::before{content:"";position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(closest-side,rgba(247,219,90,.75),rgba(247,219,90,0))}
.anim .nib::after{content:"";position:absolute;inset:-46px;border-radius:50%;background:radial-gradient(closest-side,rgba(247,219,90,.18),rgba(247,219,90,0));animation:nib-breathe 3.2s ease-in-out -1s infinite}
@keyframes nib-breathe{50%{opacity:.35}}
.anim .nib.on{opacity:1}
.anim .dust{display:block;position:absolute;inset:0;pointer-events:none}
.dust i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:var(--accent);opacity:0;animation:mote var(--d) linear var(--dl) infinite;animation-play-state:paused}
.live .dust i{animation-play-state:running}
@keyframes mote{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:var(--o)}85%{opacity:var(--o)}100%{transform:translate3d(var(--dx),var(--dy),0);opacity:0}}
.anim .bands{position:absolute;left:50%;bottom:7vh;transform:translateX(-50%);width:min(92vw,900px);height:34vh}
.anim .band{position:absolute;inset:0;justify-content:flex-start;opacity:0;text-shadow:var(--tshadow)}
.anim .band.first{opacity:1;margin:0}
.anim .band[data-static="hide"],.anim .band.settle .t,.anim .band.settle .sub{display:flex}
.anim .band.settle .t,.anim .band.settle .sub{display:block}
.anim .band.off{visibility:hidden}
.anim .band .cue{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:auto;font:400 11px/1 var(--f-label);letter-spacing:.34em;text-transform:uppercase;color:var(--text-secondary)}
.cue b{display:block;width:1px;height:44px;background:linear-gradient(to bottom,rgba(247,219,90,0),rgba(247,219,90,.9));transform-origin:top;animation:cue 2.6s var(--ease-io) -.4s infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* entradas das faixas (só transform e opacity, guiadas por --k) */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
.anim [data-fx="write"] .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*3.2,1);opacity:var(--kc);transform:translate3d(calc((1 - var(--kc))*-7px),calc((1 - var(--kc))*2px),0)}
.anim [data-fx="rise"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translate3d(0,calc((1 - var(--kc))*22px),0)}
.anim .band .fade{opacity:clamp(0,(var(--k,0) - .45)*3,1);transform:translate3d(0,calc((1 - clamp(0,(var(--k,0) - .45)*3,1))*12px),0)}
.anim .settle .sub{opacity:clamp(0,(var(--k,0) - .6)*4,1);transform:translate3d(0,calc((1 - clamp(0,(var(--k,0) - .6)*4,1))*12px),0)}
.anim .settle .cta{opacity:clamp(0,(var(--k,0) - .75)*5,1);transform:translate3d(0,calc((1 - clamp(0,(var(--k,0) - .75)*5,1))*14px),0)}

@media (max-width:720px){
  .anim .sig{top:31%;width:92vw}
  .anim .bands{bottom:5vh;height:48vh}
  .band{gap:14px}
}
@media (max-height:700px) and (min-width:721px){
  .anim .sig{top:33%;width:min(60vw,720px)}
  .anim .bands{height:40vh;bottom:4vh}
  .band h1{font-size:clamp(1.9rem,3.6vw,2.8rem)}
  .anim .band .cue{display:none}
}

/* ---------- seções ---------- */
section{position:relative;scroll-margin-top:84px}
.sec-pad{padding:clamp(96px,14vh,150px) 0}
.wrap{width:var(--wrap);margin-inline:auto}
.head{display:flex;flex-direction:column;gap:18px}

/* revelação coreografada */
[data-reveal] .rv{opacity:0;transform:translate3d(0,26px,0);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:calc(var(--i,0)*90ms)}
[data-reveal].in .rv{opacity:1;transform:none}
[data-reveal].settled .rv{transition-delay:0s!important}

/* linha de assinatura: o elemento assinatura do site */
.sigline{width:var(--wrap);margin-inline:auto;display:flex;align-items:center;gap:14px;color:var(--accent-muted)}
.sigline .x{font:300 20px/1 var(--f-label);color:var(--accent);opacity:.75;transform:translateY(-1px)}
.sigline .ln{flex:1;height:1px;background:linear-gradient(to right,rgba(247,219,90,.55),rgba(247,219,90,.12));transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease-out)}
.sigline img{width:22px;opacity:0;transform:rotate(-12deg) scale(.8);transition:opacity 1s var(--ease-out) 1.1s,transform 1.2s var(--ease-out) 1.1s}
.sigline.in .ln{transform:scaleX(1)}
.sigline.in img{opacity:.9;transform:none}

/* 1 · sobre nós */
.about-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px);align-items:start}
.about-top .head{position:sticky;top:120px}
.about-top h2{max-width:13ch}
.about-lead{display:flex;flex-direction:column;gap:20px}
.about-lead p{color:var(--text-secondary);max-width:62ch}
.about-lead .big{font-family:var(--f-display);font-size:clamp(1.3rem,2vw,1.62rem);line-height:1.45;color:var(--text-primary)}
.pillars{list-style:none;margin:clamp(56px,8vh,88px) 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillars li{position:relative;padding:34px 28px 36px;display:flex;flex-direction:column;gap:12px}
.pillars li+li{border-left:1px solid var(--line)}
.pillars li::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease-out)}
.pillars li:hover::before{transform:scaleX(1)}
.pillars .pn{font:400 14px/1 var(--f-display);color:var(--accent);letter-spacing:.12em}
.pillars h3{font-size:clamp(1.4rem,2vw,1.75rem)}
.pillars p{color:var(--text-secondary);font-size:15.5px}
.about-cols{columns:2;column-gap:clamp(40px,5vw,72px);color:var(--text-secondary)}
.about-cols p{break-inside:avoid;margin:0 0 1.15em}
.about-close{max-width:780px;margin:clamp(40px,6vh,64px) auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.about-close p{font-family:var(--f-display);font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.38}
.signed{display:flex;align-items:center;gap:14px}
.signed .x{font:300 20px/1 var(--f-label);color:var(--accent)}
.signed .ln{width:160px;height:1px;background:var(--line-strong)}
.signed span{font:300 13px/1 var(--f-label);letter-spacing:.28em;text-transform:uppercase}
.fill{display:inline-block;border:1px dashed rgba(247,219,90,.55);color:var(--accent);padding:2px 10px;border-radius:3px;font-size:14px}
.link-arrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent);text-decoration:none;font-weight:500;font-size:15px;align-self:flex-start;transition:color .3s var(--ease-out)}
.link-arrow svg{width:18px;height:18px}
.link-arrow:hover{color:var(--accent-hover)}

/* 1b · o advogado */
.lawyer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,96px);align-items:start}
.lawyer-copy{display:flex;flex-direction:column;gap:20px}
.lawyer-copy .role{font:400 12.5px/1.5 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--text-secondary);margin-top:-6px}
.lawyer-copy .big{font-family:var(--f-display);font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.45;color:var(--text-primary);max-width:40ch}
.lawyer-copy div.rv p{color:var(--text-secondary);max-width:64ch;margin:0 0 1.1em}
.premise{margin:8px 0 0;padding:4px 0 4px 26px;border-left:1px solid var(--accent)}
.premise p{font-family:var(--f-display);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.4;max-width:34ch}
.portrait{position:sticky;top:110px;margin:0;display:flex;flex-direction:column;gap:18px}
.portrait .frame{position:relative;aspect-ratio:4/5;background:#2a2c31;border:1px solid rgba(247,219,90,.4)}
.portrait .frame::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(247,219,90,.22);z-index:-1;pointer-events:none}
.portrait .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,15,22,.5),rgba(12,15,22,0) 32%);pointer-events:none}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait figcaption{display:flex;flex-direction:column;gap:6px;padding-top:10px}
.portrait figcaption strong{font:400 1.35rem/1.2 var(--f-display)}
.portrait figcaption span{font-size:14.5px;color:var(--text-secondary)}
.portrait .link-arrow{margin-top:6px}

/* 2 · áreas de atuação, como sumário */
.svc .head{margin-bottom:40px;max-width:680px}
.svc h3.group{font:400 12px/1.4 var(--f-label);letter-spacing:.3em;text-transform:uppercase;color:var(--text-secondary);margin:56px 0 16px}
.svc .head + h3.group{margin-top:0}
.toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.toc li{position:relative;display:grid;grid-template-columns:72px minmax(220px,1fr) 1.35fr 56px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.toc li::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}
.toc li:hover::after{transform:scaleX(1)}
.toc .n{font:300 14px/1 var(--f-label);letter-spacing:.2em;color:var(--accent)}
.toc h3{font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.2;transition:transform .5s var(--ease-out),color .5s var(--ease-out)}
.toc li:hover h3{transform:translateX(6px);color:var(--accent)}
.toc p{color:var(--text-secondary);font-size:16px}
.ico{width:48px;height:48px;justify-self:end}
.ico *{fill:none;stroke:var(--accent-muted);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s var(--ease-out)}
.toc li:hover .ico *{stroke:var(--accent)}

/* 3 · como atuamos */
.how-head{max-width:780px;margin-bottom:72px}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:10px 0 0;padding:0}
.chips li{font:400 12px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;padding:11px 15px 9px;border:1px solid rgba(247,219,90,.35);border-radius:999px}
.sub-h{font-family:var(--f-display);font-weight:400;font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.2;margin:0 0 40px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.steps.five{grid-template-columns:repeat(5,1fr)}
.steps::before{content:"";position:absolute;left:10px;right:10px;top:10px;height:1px;background:linear-gradient(to right,var(--accent),rgba(247,219,90,.25));transform:scaleX(0);transform-origin:left;transition:transform 2.4s var(--ease-out) .3s}
.in .steps::before{transform:scaleX(1)}
.steps li{position:relative;padding-top:44px;display:flex;flex-direction:column;gap:10px}
.steps .dot{position:absolute;left:4px;top:4px;width:13px;height:13px;border:1px solid var(--accent);background:var(--canvas);transform:rotate(45deg) scale(0);transition:transform .6s var(--ease-out);transition-delay:calc(.5s + var(--i,0)*380ms)}
.steps .dot::after{content:"";position:absolute;inset:3px;background:var(--accent);opacity:.25}
.live .steps .dot::after{animation:glow 4.8s ease-in-out infinite;animation-delay:calc(var(--i,0)*-1.2s)}
@keyframes glow{50%{opacity:1}}
.in .steps .dot{transform:rotate(45deg) scale(1)}
.settled .steps .dot{transition-delay:0s!important}
.steps .k{font:300 14px/1 var(--f-label);letter-spacing:.2em;color:var(--accent)}
.steps h3{font-size:clamp(1.2rem,1.7vw,1.4rem)}
.steps p{color:var(--text-secondary);font-size:15.5px}

.eco{margin-top:clamp(88px,12vh,130px);display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"intro intro" "map panel";gap:48px clamp(40px,6vw,96px);align-items:center}
.eco-intro{grid-area:intro;max-width:780px}
.eco-intro .sub-h{margin-bottom:16px}
.eco-intro p{color:var(--text-secondary)}
.eco-map{grid-area:map;position:relative;width:min(100%,420px);aspect-ratio:1/1;justify-self:center;margin:24px 0}
@media (max-width:1060px){.node .nl{display:none}}
.eco-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eco-svg .ring{fill:none;stroke:rgba(247,219,90,.5);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s var(--ease-out) .3s}
.in .eco-svg .ring{stroke-dashoffset:0}
.eco-svg .ring2{fill:none;stroke:rgba(237,233,223,.1);stroke-dasharray:2 6}
.eco-svg .spoke{stroke:rgba(247,219,90,.14);stroke-width:1;transition:stroke .6s var(--ease-out)}
.eco-svg .spoke.on{stroke:rgba(247,219,90,.9)}
.eco-nodes{position:absolute;inset:0}
.node{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:var(--text-secondary)}
.node .dm{width:34px;height:34px;display:grid;place-items:center;transform:rotate(45deg);border:1px solid var(--accent);background:var(--canvas);transition:background-color .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.node .dm span{transform:rotate(-45deg);font:400 12px/1 var(--f-display);color:var(--accent);transition:color .4s var(--ease-out)}
.node .nl{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font:400 10.5px/1.2 var(--f-label);letter-spacing:.18em;text-transform:uppercase;margin-top:2px;transition:color .4s var(--ease-out)}
.node[data-side="t"] .nl{top:auto;bottom:100%;margin:0 0 4px}
.node[data-side="b"] .nl{margin-top:4px}
.node[data-side="r"] .nl{top:50%;left:100%;transform:translateY(-50%);margin:0 0 0 8px}
.node[data-side="l"] .nl{top:50%;left:auto;right:100%;transform:translateY(-50%);margin:0 8px 0 0}
.node:hover .dm{transform:rotate(45deg) scale(1.08)}
.node[aria-selected="true"] .dm{background:var(--accent);transform:rotate(45deg) scale(1.14);box-shadow:0 0 24px rgba(247,219,90,.35)}
.node[aria-selected="true"] .dm span{color:#0c0f16}
.node[aria-selected="true"] .nl{color:var(--accent)}
.node:focus-visible{outline:none}
.node:focus-visible .dm{outline:2px solid var(--accent);outline-offset:5px}
.eco-panels{grid-area:panel;display:flex;flex-direction:column;gap:48px}
.eco.js .eco-panels{min-height:380px;gap:0}
.eco-item{display:flex;flex-direction:column;gap:14px}
.eco.js .eco-item{display:none}
.eco.js .eco-item.on{display:flex;animation:ans-in .6s var(--ease-out)}
.eco-item h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}
.eco-item p{color:var(--text-secondary)}
.eco-item ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:11px}
.eco-item li{display:flex;gap:14px;align-items:baseline;font-size:16px}
.eco-item li::before{content:"";width:6px;height:6px;flex:none;border:1px solid var(--accent);transform:translateY(-2px) rotate(45deg)}
.quote{margin:clamp(80px,11vh,120px) auto 0;max-width:840px;text-align:center;position:relative;padding-top:44px}
.quote::before{content:"\201C";position:absolute;top:-18px;left:50%;transform:translateX(-50%);font:400 84px/1 var(--f-display);color:var(--accent);opacity:.55}
.quote p{font-family:var(--f-display);font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.3}

/* 4 · artigos */
.posts-head{margin-bottom:48px;max-width:640px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));transition:border-color .45s var(--ease-out),transform .55s var(--ease-out)}
.card:hover{border-color:rgba(247,219,90,.45);transform:translateY(-4px)}
.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none}
.cover{position:relative;aspect-ratio:16/10;background:radial-gradient(ellipse at 50% 60%,#1d2537,#10141d);overflow:hidden;border-bottom:1px solid var(--line)}
.cover::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 23px,rgba(170,182,214,.05) 23px 24px)}
.cover svg{position:absolute;inset:0;width:100%;height:100%}
.cover .cv-l{fill:none;stroke:rgba(237,233,223,.42);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.cover .cv-a{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.card h3{font-size:1.24rem;line-height:1.32}
.card p{color:var(--text-secondary);font-size:15px}
.card .meta{font-size:13px;color:var(--text-secondary);opacity:.85;margin-top:auto;padding-top:6px}
.card .more{color:var(--accent);font-weight:500;font-size:14.5px}
.card .more span{display:inline-block;transition:transform .4s var(--ease-out)}
.card:hover .more span{transform:translateX(5px)}

/* 5 · perguntas frequentes */
.faq .head{align-items:center;text-align:center;margin-bottom:44px}
.faq-list{max-width:840px;margin-inline:auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4px;font-family:var(--f-display);font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.3;transition:color .3s var(--ease-out)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary i{position:relative;width:14px;height:14px;flex:none}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--accent);transition:transform .45s var(--ease-out)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq .ans{padding:0 4px 26px;color:var(--text-secondary);max-width:64ch;animation:ans-in .6s var(--ease-out)}
@keyframes ans-in{from{opacity:0;transform:translateY(-6px)}}

/* 6 · contato */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:start}
.contact .copy{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
.channels{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.channels li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.channels svg{width:22px;height:22px;color:var(--accent);flex:none}
.channels small{display:block;font:400 11px/1.4 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:3px}
.channels a{text-decoration:none;font-size:17px;transition:color .3s var(--ease-out)}
.channels a:hover{color:var(--accent)}
.form{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font:400 11.5px/1.4 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--text-secondary)}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:10px 2px 12px;font-size:16.5px;color:var(--text-primary);border-radius:0;transition:border-color .3s var(--ease-out);-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:110px;line-height:1.55}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f7db5a' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px;cursor:pointer}
.field select option{background:var(--panel);color:var(--text-primary)}
.field input::placeholder,.field textarea::placeholder{color:rgba(169,174,187,.55)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{box-shadow:0 1px 0 0 var(--accent)}
.field .err{font-size:13px;color:var(--accent)}
.form .send{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form .send small{color:var(--text-secondary);font-size:13px;max-width:36ch}
.sent{grid-column:1/-1;display:none;flex-direction:column;gap:8px;padding:20px;border:1px solid rgba(247,219,90,.45);background:rgba(247,219,90,.05)}
.sent.show{display:flex;animation:ans-in .6s var(--ease-out)}
.sent p{font-family:var(--f-display);font-size:1.25rem}
.sent a{color:var(--accent)}

/* whatsapp flutuante, no verde padrão do app */
.wa{position:fixed;right:20px;bottom:20px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 12px 28px -8px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.35);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),background-color .3s}
.wa.show{opacity:1;transform:none;pointer-events:auto}
.wa:hover{background:#1ebe5a}
.wa svg{width:31px;height:31px}

/* rodapé */
.foot{border-top:1px solid var(--line);padding:64px 0 40px;margin-top:40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;align-items:start}
.foot-brand{display:flex;flex-direction:column;gap:24px}
.foot-logo{width:min(290px,80%);opacity:.95}
.foot h4{font:400 11.5px/1.4 var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 14px}
.foot p{margin:0 0 8px}
.foot p,.foot a{font-size:15px;color:var(--text-primary);text-decoration:none}
.foot a:hover{color:var(--accent)}
.foot .social a{color:#0c0f16}
.foot .base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--text-secondary)}

/* páginas de artigo */
.post-head{padding-top:140px;display:flex;flex-direction:column;gap:18px;max-width:900px}
.back{color:var(--text-secondary);text-decoration:none;font-size:14px;align-self:flex-start;transition:color .3s var(--ease-out)}
.back:hover{color:var(--accent)}
.post-head h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.12}
.post-meta{color:var(--text-secondary);font-size:14.5px}
.cover.big{margin-top:14px;aspect-ratio:16/7;border:1px solid var(--line)}
.post-body{width:min(720px,100% - 32px);margin:52px auto 0;font-size:18px;line-height:1.78}
.post-body p{margin:0 0 1.2em;color:#d8d5cd}
.post-body .lead{font-size:1.2rem;line-height:1.65;color:var(--text-primary)}
.post-body h2{font-size:clamp(1.5rem,2.6vw,1.95rem);margin:1.8em 0 .7em}
.post-body ul,.post-body ol{margin:0 0 1.3em;padding-left:1.3em;color:#d8d5cd}
.post-body li{margin:0 0 .5em;padding-left:.2em}
.post-body li::marker{color:var(--accent)}
.post-body strong{color:var(--text-primary);font-weight:600}
.post-body .note{font-size:14.5px;color:var(--text-secondary);border-top:1px solid var(--line);padding-top:20px;margin-top:2.4em}
.post-body .refs{font-size:14px;color:var(--text-secondary)}
.post-body .signed{margin-top:32px}
.more-posts{padding:clamp(80px,11vh,120px) 0 40px}
.more-h{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-bottom:28px}

/* ---------- responsivo ---------- */
@media (max-width:980px){
  .steps.five{grid-template-columns:repeat(3,1fr);row-gap:44px}
  .steps.five::before{display:none}
}
@media (max-width:900px){
  .about-top,.contact-grid,.eco,.lawyer-grid{grid-template-columns:1fr}
  .eco{grid-template-areas:"intro" "map" "panel"}
  .about-top .head,.contact .copy,.portrait{position:static}
  .portrait{order:-1;max-width:380px}
  .portrait .frame::before{inset:10px -10px -10px 10px}
  .pillars{grid-template-columns:1fr 1fr}
  .pillars li:nth-child(3){border-left:0}
  .pillars li:nth-child(n+3){border-top:1px solid var(--line)}
  .toc li{grid-template-columns:48px 1fr 44px;gap:10px 16px}
  .toc li p{grid-column:2/4}
  .toc li .ico{grid-row:1;grid-column:3;width:40px;height:40px}
  .steps,.steps.five{grid-template-columns:1fr;gap:36px;padding-left:36px}
  .steps::before,.steps.five::before{display:block;left:10px;right:auto;top:10px;bottom:10px;width:1px;height:auto;transform:scaleY(0);transform-origin:top;background:linear-gradient(to bottom,var(--accent),rgba(247,219,90,.25))}
  .in .steps::before{transform:scaleY(1)}
  .steps li{padding-top:0}
  .steps .dot{left:-36px;top:4px}
  .eco.js .eco-panels{min-height:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16px}
  .pillars{grid-template-columns:1fr}
  .pillars li{padding:26px 4px}
  .pillars li+li{border-left:0;border-top:1px solid var(--line)}
  .about-cols{columns:1}
  .portrait{max-width:100%;padding-right:10px}
  .node .nl{display:none}
  .node .dm{width:30px;height:30px}
  .form{grid-template-columns:1fr}
  .facts div{flex-direction:column;gap:4px}
  .foot-grid{grid-template-columns:1fr}
  .post-body{font-size:17px}
  .quote::before{font-size:64px}
}

/* abas escondidas: tudo pausa */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- movimento reduzido: estados finais, motores parados ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
  body{opacity:1}
  [data-reveal] .rv{opacity:1;transform:none}
  .u path,.eco-svg .ring{stroke-dashoffset:0}
  .sigline .ln{transform:none}
  .sigline img{opacity:.9;transform:none}
  .steps::before{transform:none}
  .steps .dot{transform:rotate(45deg) scale(1)}
}
.eco-svg .hub{fill:var(--canvas);stroke:rgba(247,219,90,.35);stroke-width:1}
