
/* Layout: estúdio sóbrio. Papel neutro e bandas quase pretas alternadas; títulos grandes em duas tonalidades; imagens que crescem e trocam com o scroll. */
:root{
  color-scheme: light;
  --paper:#f3f3f1;      /* fundo claro neutro */
  --paper-2:#e8e8e4;    /* superfícies claras */
  --ink:#151515;        /* texto e bandas escuras */
  --ink-2:#1e1e1d;      /* superfícies sobre o escuro */
  --gray:#a6a6a0;       /* segunda tonalidade dos títulos */
  --mute:#5e5e59;       /* texto secundário no claro */
  --on-dark:#ededea;    /* texto no escuro */
  --mute-dark:#9a9a94;  /* texto secundário no escuro */
  --gray-dark:#5f5f5b;  /* segunda tonalidade no escuro */
  --oak:#a8835a;        /* ponto de acento: carvalho */
  --line:rgba(21,21,21,.12);
  --line-dark:rgba(237,237,234,.13);

  --f-sans:"Geist", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"Geist Mono", ui-monospace, Menlo, Consolas, monospace;

  --t-xs:.75rem; --t-sm:.875rem; --t-md:1.0625rem; --t-lg:1.375rem;
  --t-xl:clamp(2.1rem,4.6vw,3.9rem); --t-xxl:clamp(3rem,8.4vw,8rem);
  --gl:max(16px, env(safe-area-inset-left, 0px));
  --gr:max(16px, env(safe-area-inset-right, 0px));
  --pad:clamp(16px,3vw,40px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0}
[hidden]{display:none!important}
img{max-width:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:var(--t-md);line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--oak);outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400;text-wrap:balance}
h2{font-size:var(--t-xl);line-height:1;letter-spacing:-.035em}
.tone{color:var(--gray)}
.dark .tone{color:var(--gray-dark)}
.wrap{max-width:1440px;margin-inline:auto;padding-left:max(var(--pad),var(--gl));padding-right:max(var(--pad),var(--gr))}
.eyebrow{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.dark .eyebrow{color:var(--mute-dark)}
.mono{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.02em}
.dark{background:var(--ink);color:var(--on-dark);color-scheme:dark}
.sec{padding-block:clamp(88px,11vw,168px)}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(44px,6vw,88px)}
.head p.lede{color:var(--mute);max-width:42ch;justify-self:end}
.dark .head p.lede{color:var(--mute-dark)}

@media (max-width:820px){.head{grid-template-columns:1fr}.head p.lede{justify-self:start}}
.ph{display:inline-block;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border:1px dashed currentColor;opacity:.75}

/* Botões */
.cta{display:inline-flex;align-items:center;gap:14px;font-size:var(--t-sm);font-weight:500;letter-spacing:-.005em;cursor:pointer;background:none;border:0;color:inherit;padding:0;font-family:inherit}
.cta .dot{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;transition:transform .6s var(--ease),background .4s}
.dark .cta .dot,.cta.light .dot{background:var(--on-dark);color:var(--ink)}
.cta .dot svg{width:16px;height:16px;transition:transform .6s var(--ease)}
.cta:hover .dot{transform:scale(1.1)}
.cta:hover .dot svg{transform:rotate(-45deg)}
.cta .u{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .6s var(--ease);padding-bottom:2px}
.cta:hover .u{background-size:100% 1px}
.pill{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:44px;border:1px solid currentColor;font-size:var(--t-sm);font-weight:500;transition:background .4s var(--ease),color .4s var(--ease)}
.pill:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dark .pill:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}

/* Cabeçalho */
.top{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:transform .6s var(--ease),background .4s,color .4s}
.top.hide{transform:translateY(-110%)}
.top.solid{background:rgba(243,243,241,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.top.on-dark{color:var(--on-dark)}
.top.on-dark.solid{background:rgba(21,21,21,.72)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.logo{font-size:1.3rem;font-weight:500;letter-spacing:-.045em;display:inline-flex;align-items:flex-start;gap:3px;white-space:nowrap}
.logo i{width:6px;height:6px;border-radius:50%;background:var(--oak);margin-top:3px}
.nav{display:flex;align-items:center;gap:32px;font-size:var(--t-sm)}
.nav a.l{position:relative;opacity:.85}
.nav a.l::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a.l:hover::after{transform:scaleX(1);transform-origin:left}
.top .cta .dot{width:36px;height:36px}
.top.on-dark .cta .dot{background:var(--on-dark);color:var(--ink)}
.burger{display:none}
@media (max-width:980px){
  .nav .l{display:none}
  .nav:not(.open) > .cta{display:none}
  .nav.open > .cta{margin-top:8px}
  .burger{display:inline-flex}
  .nav.open{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:flex-start;gap:22px;background:var(--paper);color:var(--ink);padding:24px max(var(--pad),var(--gr)) 32px max(var(--pad),var(--gl));border-bottom:1px solid var(--line)}
  .nav.open .l{display:block;font-size:1.5rem;letter-spacing:-.03em}
}

/* Abertura */
.hero{padding-top:clamp(116px,12vw,176px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);align-items:end}
.hero h1{font-size:var(--t-xxl);line-height:.94;letter-spacing:-.04em;font-weight:400}
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.line > span{display:block;animation:up 1.3s var(--ease) both}
.line:nth-child(2) > span{animation-delay:.08s}
.line:nth-child(3) > span{animation-delay:.16s}
@keyframes up{from{transform:translate3d(0,105%,0)}to{transform:none}}
.hero-side{display:grid;gap:26px;padding-bottom:.6em;animation:fade 1.4s .35s var(--ease) both}
@keyframes fade{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-side p{color:var(--mute);max-width:34ch}
.hero-side p strong{color:var(--ink);font-weight:500}
.hero-meta{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:clamp(32px,4vw,56px);padding-bottom:14px;color:var(--mute)}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}}

/* Showreel que cresce com o scroll */
.reelhero{position:relative;height:200vh}
.reelhero .pin{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.screen{position:relative;width:100%;height:100%;clip-path:inset(var(--iy,6%) var(--ix,7%) var(--iy,6%) var(--ix,7%) round var(--r,14px));background:#0f0f0f;will-change:clip-path}
.screen .slide{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s var(--ease);transform:scale(var(--sc,1.12))}
.screen .slide.on{opacity:1}
.screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55));pointer-events:none}
.hud{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 calc(var(--ix,7%) + 24px) calc(var(--iy,14%) + 22px);color:#ecebe7;flex-wrap:wrap}
.hud .bars{display:flex;gap:6px}
.hud .bars i{width:30px;height:2px;background:rgba(236,235,231,.3);position:relative;overflow:hidden}
.hud .bars i.on::after{content:"";position:absolute;inset:0;background:#ecebe7;transform-origin:left;animation:fill 6s linear forwards}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hud .meta{display:grid;gap:6px}

/* Manifesto */
.manifest .grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px)}
.manifest .big{font-size:clamp(1.65rem,3.3vw,3rem);line-height:1.14;letter-spacing:-.035em;font-weight:400;text-wrap:pretty}
.manifest .big .w{opacity:var(--o,1);transition:opacity .2s linear}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(64px,8vw,120px);border-top:1px solid var(--line-dark)}
.fact{padding:24px 24px 0 0;display:grid;gap:10px;align-content:start}
.fact + .fact{padding-left:24px;border-left:1px solid var(--line-dark)}
.fact b{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.fact b sup{font-size:.32em;color:var(--oak);vertical-align:top;margin-left:4px;letter-spacing:0}
.fact span{color:var(--mute-dark);font-size:var(--t-sm);max-width:22ch}
@media (max-width:900px){
  .manifest .grid{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(3){padding-left:0;border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line-dark);margin-top:24px}
}

/* Projetos: lista + imagem que troca */
.work{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px)}
.wlist{display:grid}
.proj{min-height:76vh;display:grid;align-content:center;gap:16px;border-top:1px solid var(--line);padding-block:40px;color:var(--gray);transition:color .7s var(--ease)}
.proj.on{color:var(--ink)}
.proj .tags{display:flex;gap:18px;flex-wrap:wrap}
.proj h3{font-size:clamp(2rem,3.6vw,3.3rem);line-height:1;letter-spacing:-.045em;transition:transform .9s var(--ease)}
.proj.on h3{transform:translateX(10px)}
.proj p{max-width:38ch;font-size:var(--t-sm)}
.proj.on p{color:var(--mute)}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin:6px 0 0;font-size:var(--t-sm)}
.specs dt{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.specs dd{margin:0}
.proj .thumb{display:none}
.stage{position:sticky;top:calc(env(safe-area-inset-top,0px) + 92px);height:calc(100vh - 124px);max-height:780px;align-self:start;overflow:hidden;border-radius:10px;background:#111}
.stage .img{position:absolute;inset:-6% 0;background-size:cover;background-position:center;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease)}
.stage .img.on{clip-path:inset(0 0 0 0)}
.stage .img.was{clip-path:inset(0 0 0 0);transition:none}
.stage figcaption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;gap:12px;z-index:3;color:#ecebe7}
.stage .count{position:absolute;top:16px;left:18px;z-index:3;color:#ecebe7}
@media (max-width:900px){
  .work{grid-template-columns:1fr}
  .stage{display:none}
  .proj{min-height:0;color:var(--ink);padding-block:28px 44px}
  .proj p{color:var(--mute)}
  .proj .thumb{display:block;aspect-ratio:4/3;max-width:100%;background-size:cover;background-position:center;border-radius:8px;order:-1}
}

/* Vídeos: faixa horizontal */
.hreel{position:relative}
.hreel .pin{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:clamp(28px,4vw,48px)}
.track{display:flex;gap:clamp(14px,1.6vw,24px);padding-left:max(var(--pad),var(--gl));padding-right:max(var(--pad),var(--gr));will-change:transform}
.clip{flex:none;width:clamp(280px,42vw,680px);display:grid;gap:14px;margin:0}
.clip .v{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:8px;overflow:hidden}
.clip .v .bg{position:absolute;inset:0 -8%;background-size:cover;background-position:center;will-change:transform}
.clip .v .play{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:rgba(237,237,234,.92);display:grid;place-items:center;transform:scale(.85);transition:transform .6s var(--ease)}
.clip:hover .v .play{transform:scale(1)}
.clip .v .play::before{content:"";border-left:13px solid var(--ink);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.clip .v .tc{position:absolute;left:14px;bottom:12px;color:#ecebe7}
.clip figcaption{display:flex;justify-content:space-between;gap:12px;font-size:var(--t-sm)}
.clip figcaption span{color:var(--mute-dark)}
.hreel .bar{height:1px;background:var(--line-dark)}
.hreel .bar i{display:block;height:100%;width:0;background:var(--on-dark)}
.hreel.native{height:auto!important}
.hreel.native .pin{position:static;height:auto;padding-block:clamp(88px,11vw,140px)}
.hreel.native .track{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
.hreel.native .clip{scroll-snap-align:start}

/* Antes e depois */
.compare .grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,72px);align-items:center}
.compare .copy{display:grid;gap:22px}
.compare .copy p{color:var(--mute);max-width:36ch}
.ba{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;border-radius:10px;user-select:none;touch-action:pan-y;background:var(--paper-2)}
.ba .layer{position:absolute;inset:0;background-size:cover;background-position:center}
.ba .after{clip-path:inset(0 0 0 var(--cut,50%))}
.ba .handle{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:1px;background:#fff;pointer-events:none}
.ba .knob{position:absolute;top:50%;left:var(--cut,50%);width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 24px rgba(0,0,0,.18);pointer-events:none;transition:transform .4s var(--ease)}
.ba:hover .knob{transform:scale(1.08)}
.ba .knob svg{width:22px;height:22px;color:var(--ink)}
.ba .t{position:absolute;top:16px;z-index:2;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:30px}
.ba .t.l{left:16px;background:rgba(255,255,255,.9);color:var(--ink)}
.ba .t.r{right:16px;background:rgba(21,21,21,.78);color:#ecebe7}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba:has(input:focus-visible){outline:2px solid var(--oak);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:900px){.compare .grid{grid-template-columns:1fr}}

/* Serviços: lista com pré-visualização que segue o cursor */
.svc-list{border-top:1px solid var(--line)}
.svc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,5fr) minmax(0,5fr) auto;gap:clamp(16px,3vw,48px);align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line);transition:color .4s}
.svc h3,.svc .n{transition:transform .6s var(--ease),color .4s}
.svc::before{content:"";position:absolute;inset:0 calc(-1 * max(var(--pad),var(--gl)));background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:-1}
.svc-list{position:relative;z-index:0}
.svc:hover{color:var(--on-dark)}
.svc:hover h3,.svc:hover .n{transform:translateX(12px)}
.svc:hover::before{transform:scaleY(1);transform-origin:top}
.svc:hover .d,.svc:hover .n{color:var(--mute-dark)}
.svc .n{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--mute)}
.svc h3{font-size:clamp(1.5rem,2.6vw,2.3rem);letter-spacing:-.04em;line-height:1.05}
.svc .d{color:var(--mute);font-size:var(--t-sm);max-width:46ch;transition:color .4s}
.svc .d em{display:block;font-style:normal;font-family:var(--f-mono);font-size:.72rem;margin-top:10px;letter-spacing:.01em}
.svc .arr{width:20px;height:20px;transition:transform .6s var(--ease)}
.svc:hover .arr{transform:rotate(-45deg)}
.peek{position:fixed;left:0;top:0;width:300px;aspect-ratio:4/3;border-radius:8px;background-size:cover;background-position:center;pointer-events:none;z-index:40;opacity:0;transform:translate3d(-50%,-50%,0) scale(.7);transition:opacity .35s var(--ease),scale .5s var(--ease)}
.peek.on{opacity:1}
.ainote{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px);margin-top:clamp(56px,7vw,100px)}
.ainote p{grid-column:2}
.ainote p{font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.2;letter-spacing:-.03em;max-width:36ch}
@media (max-width:900px){
  .ainote p{grid-column:1}
  .svc{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}
  .svc .n{grid-column:1/-1}
  .svc .d{grid-column:1/-1;order:3}
  .ainote{grid-template-columns:1fr}
  .peek{display:none}
}

/* Processo */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.step{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:10px;padding:24px;display:grid;grid-template-rows:auto 1fr auto;gap:28px;min-height:330px;transition:background .5s var(--ease),transform .6s var(--ease)}
.step:hover{background:#252524;transform:translateY(-6px)}
.step .top-row{display:flex;justify-content:space-between;align-items:baseline}
.step .num{font-size:clamp(2.6rem,4vw,3.6rem);font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--gray-dark);transition:color .5s}
.step:hover .num{color:var(--on-dark)}
.step h3{font-size:var(--t-lg);letter-spacing:-.03em}
.step p{color:var(--mute-dark);font-size:var(--t-sm)}
.promise{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(40px,5vw,72px);padding-top:28px;border-top:1px solid var(--line-dark)}
.promise p{max-width:58ch;color:var(--mute-dark)}
.promise p strong{color:var(--on-dark);font-weight:500}
@media (max-width:1100px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step{min-height:0}.step:last-child{grid-column:1/-1}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* Para quem */
.who{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.card{border-radius:10px;background:var(--paper-2);padding:26px;display:grid;gap:60px;align-content:space-between;min-height:300px;overflow:hidden;position:relative;transition:color .5s var(--ease)}
.card .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.card .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.7))}
.card > *:not(.bg){position:relative}
.card:hover{color:#ecebe7}
.card:hover .bg{opacity:1;transform:scale(1)}
.card h3{font-size:clamp(1.4rem,2vw,1.8rem);letter-spacing:-.04em;line-height:1.05}
.card p{font-size:var(--t-sm);color:var(--mute);transition:color .5s}
.card:hover p{color:#d6d5d0}
@media (max-width:1000px){.who{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.who{grid-template-columns:1fr}.card{min-height:220px}}
.partner-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;margin-top:36px;color:var(--mute);font-size:var(--t-sm)}

/* Depoimentos */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.q{border:1px dashed var(--line);border-radius:10px;padding:28px;display:grid;gap:40px;align-content:space-between;margin:0}
.q blockquote{margin:0;font-size:var(--t-lg);line-height:1.3;letter-spacing:-.025em;color:var(--mute)}
.q figcaption{display:grid;gap:2px;font-size:var(--t-sm)}
.q figcaption span{color:var(--mute)}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* Sobre */
.about .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,96px);align-items:end}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:10px;overflow:hidden;position:relative;background:
  radial-gradient(34% 26% at 50% 36%, #c4c3be 0 98%, transparent 100%),
  radial-gradient(70% 44% at 50% 100%, #b5b4ae 0 98%, transparent 100%),
  linear-gradient(170deg,#dcdcd8,#c9c9c4)}
.portrait .ph{position:absolute;left:16px;bottom:16px}
.about .copy{display:grid;gap:26px}
.about .lead{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.12;letter-spacing:-.04em}
.about .copy > p:not(.lead){color:var(--mute);max-width:54ch}
.vals{display:flex;gap:8px;flex-wrap:wrap}
.vals span{font-size:var(--t-sm);padding:9px 16px;border-radius:30px;border:1px solid var(--line)}
@media (max-width:900px){.about .grid{grid-template-columns:1fr}.portrait{aspect-ratio:4/3}}

/* Perguntas */
.faq .grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:24px;font-size:clamp(1.1rem,1.6vw,1.35rem);letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);position:relative;transition:transform .5s var(--ease),background .4s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}
.faq .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.faq details[open] .ans{grid-template-rows:1fr}
.faq .ans > div{overflow:hidden}
.faq .ans p{padding-bottom:26px;color:var(--mute);max-width:62ch}
@media (max-width:900px){.faq .grid{grid-template-columns:1fr}}

/* Fecho e contacto */
.close h2{font-size:var(--t-xxl);line-height:.94;letter-spacing:-.04em}
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);margin-top:clamp(56px,7vw,100px)}
.wa{display:grid;gap:22px;align-content:start}
.wa p{color:var(--mute-dark);max-width:36ch}
.wa .num{font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.04em;font-weight:300;user-select:all;font-variant-numeric:tabular-nums}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.f{display:grid;gap:6px}
.f.full{grid-column:1/-1}
.f label{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-dark)}
.f input,.f select,.f textarea{font:inherit;font-size:var(--t-md);color:var(--on-dark);background:transparent;border:0;border-bottom:1px solid var(--line-dark);padding:10px 0;border-radius:0;width:100%;transition:border-color .4s}
.f select option{background:var(--ink);color:var(--on-dark)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-bottom-color:var(--on-dark)}
.f textarea{resize:vertical;min-height:80px}
.ffoot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.ffoot small{color:var(--mute-dark);font-size:var(--t-xs);max-width:40ch}
.sent{grid-column:1/-1;color:var(--on-dark);font-size:var(--t-sm)}
@media (max-width:900px){.cgrid{grid-template-columns:1fr}}
@media (max-width:520px){form{grid-template-columns:1fr}}
.foot{margin-top:clamp(88px,10vw,140px);border-top:1px solid var(--line-dark);padding-block:40px max(28px, env(safe-area-inset-bottom,0px))}
.fcols{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:28px}
.fcols .fh{margin:0 0 12px;font-weight:400;font-family:var(--f-mono);font-size:.6875rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-dark)}
.fcols p,.fcols a{font-size:var(--t-sm);display:block;line-height:1.8}
.fcols .tag{font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.035em;line-height:1.15;max-width:18ch}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute-dark)}
@media (max-width:820px){.fcols{grid-template-columns:repeat(2,minmax(0,1fr))}.fcols > div:first-child{grid-column:1/-1}}

/* WhatsApp fixo */
.fwa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border-radius:52px;background:var(--ink);color:var(--on-dark);font-size:var(--t-sm);font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.22);transform:translateY(140%);transition:transform .7s var(--ease),background .4s,color .4s}
.fwa.show{transform:none}
.fwa.inv{background:var(--on-dark);color:var(--ink)}
.fwa svg{width:20px;height:20px}

/* Revelações (estado de repouso visível) */
.rv{transform:translate3d(0,56px,0);transition:transform 1.3s var(--ease)}
.rv.in{transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{transform:none}
  .reelhero{height:auto}
  .reelhero .pin{position:relative;height:70vh}
}

/* Seletor de idioma */
.langs{display:flex;gap:2px;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em}
.langs a{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0 6px;border-radius:20px;opacity:.6;transition:opacity .3s,background .3s}
.langs a:hover{opacity:1}
.langs a[aria-current="true"]{opacity:1;background:rgba(127,127,120,.16)}
@media (max-width:980px){.nav:not(.open) .langs{display:none}.nav.open .langs{margin-top:6px}}
.burger-wrap{display:flex;align-items:center;gap:10px}

/* Consentimento do formulário */
.f.check{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start}
.f.check input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:var(--on-dark)}
.f.check label{font-family:var(--f-sans);font-size:var(--t-sm);letter-spacing:0;text-transform:none;color:var(--mute-dark)}
.f.check a{text-decoration:underline;text-underline-offset:3px;color:var(--on-dark)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;display:block;line-height:1.8;font-size:var(--t-sm)}
.linkbtn:hover,.fcols a:hover{text-decoration:underline;text-underline-offset:3px}

/* Aviso de cookies (só aparece se houver estatísticas configuradas) */
.consent{position:fixed;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:420px;width:calc(100% - 32px);background:var(--ink);color:var(--on-dark);border-radius:12px;padding:22px;display:grid;gap:16px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.consent p{font-size:var(--t-sm);color:var(--mute-dark)}
.consent p a{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
.consent .row{display:flex;gap:10px;flex-wrap:wrap}
.consent button{height:40px;padding:0 18px;border-radius:40px;font:inherit;font-size:var(--t-sm);font-weight:500;cursor:pointer;border:1px solid var(--on-dark);background:transparent;color:var(--on-dark)}
.consent button.primary{background:var(--on-dark);color:var(--ink)}

/* Página legal */
.legal-page{padding-top:clamp(132px,14vw,180px);padding-bottom:clamp(80px,10vw,140px)}
.legal-page .grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(24px,4vw,64px)}
.legal-page h1{font-size:var(--t-xl);line-height:1;letter-spacing:-.04em}
.legal-page .upd{margin-top:16px;color:var(--mute)}
.legal-page .doc{max-width:68ch;display:grid;gap:14px}
.legal-page .doc h2{font-size:var(--t-lg);letter-spacing:-.025em;margin-top:28px}
.legal-page .doc p,.legal-page .doc li{color:#3d3d39}
.legal-page .doc ul{margin:0;padding-left:20px;display:grid;gap:6px}
.legal-page .doc a{text-decoration:underline;text-underline-offset:3px}
.legal-page .toc{position:sticky;top:110px;align-self:start;display:grid;gap:8px;font-size:var(--t-sm);color:var(--mute)}
@media (max-width:900px){.legal-page .grid{grid-template-columns:1fr}.legal-page .toc{position:static}}

/* Cena 3D do manifesto: do modelo ao render */
.model3d{position:relative;height:340vh}
.model3d .m-pin{position:sticky;top:0;height:100vh;overflow:hidden}
.model3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.model3d .m-grid{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-content:center;gap:24px;padding-top:76px;padding-bottom:70px;pointer-events:none}
.model3d .eyebrow{grid-column:1}
.model3d .big{grid-column:1;font-size:clamp(1.5rem,2.5vw,2.45rem);line-height:1.16;letter-spacing:-.035em;text-wrap:pretty;max-width:22ch}
.model3d .big .w{opacity:var(--o,1);transition:opacity .2s linear}
.model3d .m-hud{position:absolute;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:2;display:flex;justify-content:space-between;align-items:end;gap:20px;color:var(--mute-dark);pointer-events:none}
.m-stages{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap}
.m-stage{transition:color .5s var(--ease)}
.m-stage.done{color:var(--gray-dark)}
.m-stage.on{color:var(--on-dark)}
.m-stage.on::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--oak);margin-right:8px;vertical-align:1px}
.m-hud b{font-weight:500;color:var(--on-dark);font-variant-numeric:tabular-nums}
.model3d.static,.model3d.no3d{height:auto}
.model3d.static .m-pin,.model3d.no3d .m-pin{position:relative;height:auto;min-height:100vh}
.model3d.no3d canvas{display:none}
.model3d.no3d .m-grid{padding-block:clamp(88px,11vw,160px);grid-template-columns:minmax(0,1fr)}
.facts-sec{padding-bottom:clamp(88px,11vw,140px)}
.facts-sec .facts{margin-top:0}
@media (max-width:820px){
  .model3d{height:300vh}
  .model3d .m-grid{grid-template-columns:1fr;align-content:end;padding-bottom:110px}
  .model3d .big{font-size:clamp(1.3rem,5.4vw,1.7rem);max-width:none}
  .m-stages{gap:12px}
  .m-stage:not(.on){display:none}
}

/* Superfícies do navegador */
::selection{background:var(--ink);color:var(--paper)}
.dark ::selection{background:var(--on-dark);color:var(--ink)}
html{scrollbar-color:#9a9a94 var(--paper);accent-color:var(--ink);-webkit-tap-highlight-color:transparent}
input,textarea{caret-color:var(--oak)}
.dark input,.dark textarea,.dark select{accent-color:var(--on-dark)}
a{text-underline-offset:3px}
