/* ===================================================================
   Rodrigo Arvelos — sistema
   =================================================================== */
:root{
  --navy:#0A1220;
  --deep:#060B15;
  --sheet:#0E1A2E;
  --card:#12213A;
  --line:rgba(243,239,230,.10);
  --line-strong:rgba(243,239,230,.22);
  --ivory:#F3EFE6;
  --ivory-dim:rgba(243,239,230,.62);
  --ivory-faint:rgba(243,239,230,.38);
  --gold:#C9A96E;
  --gold-soft:#E4CFA3;
  --gold-deep:#8F7442;
  --cream:#F3EFE6;
  --cream-ink:#0A1220;
  --cream-dim:#5B6273;
  --cream-line:rgba(10,18,32,.12);

  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter','Inter Variable',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1240px;
  --gutter:clamp(20px,4vw,56px);
  --gap:clamp(80px,10vw,160px);
  --nav-h:56px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--deep);color:var(--ivory);font-family:var(--sans);font-size:17px;line-height:1.5;letter-spacing:-.008em;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;font-optical-sizing:auto;font-variation-settings:"SOFT" 40,"WONK" 0}
a{color:inherit}
img,svg{display:block;max-width:100%}
em{font-style:italic;font-variation-settings:"SOFT" 60,"WONK" 1}
::selection{background:var(--gold);color:var(--navy)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}

.t-giant{font-size:clamp(46px,6.6vw,96px);line-height:.96;letter-spacing:-.03em}
.t-display{font-size:clamp(40px,6.4vw,96px);line-height:.98;letter-spacing:-.028em}
.t-h1{font-size:clamp(36px,5vw,78px);line-height:1;letter-spacing:-.025em}
.t-h2{font-size:clamp(30px,3.9vw,58px);line-height:1.04;letter-spacing:-.02em}
.t-h3{font-size:clamp(24px,2.6vw,36px);line-height:1.12;letter-spacing:-.015em}
.t-sub{font-size:clamp(17px,1.3vw,19px);line-height:1.5;color:var(--ivory-dim)}
.t-label{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500}
.t-cap{font-size:13.5px;line-height:1.5;color:var(--ivory-dim)}
.gold{color:var(--gold)}
.gold-text{background:linear-gradient(100deg,#E9D7B0 0%,#C9A96E 32%,#F2E4C4 52%,#B8975C 74%,#E4CFA3 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-live{animation:gold-shift 10s ease-in-out infinite alternate}
@keyframes gold-shift{to{background-position:100% 0}}

.pill{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:9999px;font-size:15px;font-weight:600;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .2s,background .2s}
.pill svg{width:14px;height:14px;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.pill:hover svg{transform:translateX(3px)}
.pill-gold{color:var(--navy);background:linear-gradient(180deg,#EBDBB6,#C9A96E 55%,#D9BF8A);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 -1px 0 rgba(0,0,0,.25) inset,0 18px 40px -18px rgba(201,169,110,.55)}
.pill-gold:hover{transform:translateY(-2px);filter:brightness(1.04)}
.pill-line{color:var(--ivory);border:1px solid var(--line-strong);background:rgba(243,239,230,.02);backdrop-filter:blur(8px)}
.pill-line:hover{border-color:var(--gold)}
.pill-navy{color:var(--ivory);background:var(--navy)}
.pill-navy:hover{background:#000}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--ivory-faint)}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust i{width:5px;height:5px;border-radius:50%;background:var(--gold)}

.edge{position:relative}
.edge::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(228,207,163,.55),rgba(228,207,163,.06) 35%,rgba(228,207,163,.03) 65%,rgba(228,207,163,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

/* nav */
.nav{position:fixed;top:14px;left:0;right:0;z-index:100;display:flex;justify-content:center;padding-inline:14px;pointer-events:none}
.nav-in{pointer-events:auto;width:100%;max-width:1040px;height:var(--nav-h);background:rgba(10,18,32,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px 0 18px;border:1px solid rgba(228,207,163,.14)}
.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ivory)}
.brand b{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em}
.brand small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-faint)}
.nav-links{display:flex;gap:26px;justify-self:center}
.nav-links a{color:var(--ivory-dim);text-decoration:none;font-size:14px;transition:color .2s}
.nav-links a:hover{color:var(--gold)}
.nav-cta{justify-self:end}
.nav-cta .pill{padding:10px 16px;font-size:14px}

/* ===================================================================
   HERO (sticky) — relevo topográfico em camadas
   =================================================================== */
.hero{position:sticky;top:0;z-index:0;height:100svh;min-height:700px;background:radial-gradient(120% 80% at 50% 110%,#12213A 0%,#0A1220 45%,#060B15 100%);overflow:hidden;display:grid;align-items:end}
.contour{position:absolute;left:-10%;right:-10%;top:0;height:100%;color:var(--gold);pointer-events:none;will-change:transform}
.contour svg{width:100%;height:100%}
.contour-1{opacity:.9}.contour-2{opacity:.75}.contour-3{opacity:.55}
.hero-photo{position:absolute;right:3%;bottom:0;height:88%;aspect-ratio:1122/1402;z-index:2;pointer-events:none;will-change:transform;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 78%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 78%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:top;filter:contrast(1.04) saturate(.92)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,32,.15),rgba(10,18,32,.55) 90%);mix-blend-mode:multiply}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,11,21,.9) 0%,rgba(6,11,21,0) 30%,rgba(6,11,21,0) 55%,rgba(6,11,21,.85) 100%);pointer-events:none}
.grain{position:absolute;inset:0;opacity:.28;mix-blend-mode:overlay;pointer-events:none}
.hero-in{position:relative;z-index:3;padding-bottom:clamp(44px,7vh,84px);display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:end}
.hero .t-label{display:block;margin-bottom:26px}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .line>span{display:block;will-change:transform}
.hero-side{display:grid;gap:22px;justify-items:start;max-width:56%}
.hero-side .t-sub{max-width:36ch}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.hero-top{position:absolute;top:calc(var(--nav-h) + 40px);left:0;right:0;z-index:3;display:flex;justify-content:space-between;padding-inline:var(--gutter);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-faint)}

/* ticker */
.ticker{position:relative;z-index:2;background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0}
.ticker-track{display:flex;gap:56px;white-space:nowrap;width:max-content;will-change:transform}
.ticker-track span{display:inline-flex;align-items:center;gap:56px;font-family:var(--serif);font-size:clamp(18px,1.6vw,24px);letter-spacing:.06em;text-transform:uppercase;color:var(--ivory-dim)}
.ticker-track i{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto}

/* ===================================================================
   FOLHA
   =================================================================== */
.sheet{position:relative;z-index:2;background:var(--sheet);border-radius:36px 36px 0 0;box-shadow:0 -40px 100px -30px rgba(0,0,0,.9);border-top:1px solid rgba(228,207,163,.18)}

/* ATO 1 — três lentes (pinado) */
.act-lens{position:relative;overflow:hidden}
.lens-stage{height:100svh;min-height:640px;display:grid;align-items:center;position:relative}
.lens-in{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(32px,6vw,96px);align-items:center;position:relative;z-index:2}
.lens-num{position:relative;height:1.1em;font-family:var(--serif);font-size:clamp(160px,24vw,380px);line-height:1;letter-spacing:-.06em;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}
.lens-num span{position:absolute;left:0;top:0;will-change:transform,opacity}
.lens-copy{position:relative;min-height:260px}
.lens{position:absolute;inset:0 0 auto 0}
.lens:first-child{position:relative}
.lens .t-label{display:block;margin-bottom:22px}
.lens h2{max-width:14ch}
.lens p{margin-top:22px;max-width:36ch}
.lens-rail{display:flex;gap:8px;margin-top:38px}
.lens-rail i{width:44px;height:2px;background:var(--line-strong);border-radius:2px;position:relative;overflow:hidden}
.lens-rail i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
.lens-rail i.on::after{transform:scaleX(1);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.lens-ring{position:absolute;right:-18vw;top:50%;width:min(70vw,900px);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;border:1px solid rgba(228,207,163,.14);pointer-events:none;will-change:transform}
.lens-ring::before,.lens-ring::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(228,207,163,.1)}
.lens-ring::after{inset:30%}

/* ATO 2 — O mapa (placa creme, pinado)
   produtos espalhados → estratégia alinhada a objetivos */
.act-map{background:var(--cream);color:var(--cream-ink);border-radius:36px;margin-inline:clamp(8px,1.2vw,16px);position:relative;overflow:hidden}
.act-map::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 45% at 20% 10%,rgba(255,255,255,.9),transparent 70%),repeating-linear-gradient(0deg,rgba(10,18,32,.035) 0 1px,transparent 1px 8px);pointer-events:none}
.map-stage{height:100svh;min-height:680px;display:grid;align-items:center;overflow:hidden;position:relative;z-index:1}
.map-in{display:grid;grid-template-rows:auto 1fr;gap:28px;height:min(84svh,760px);align-content:center}
.map-copy{position:relative;min-height:120px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end}
.map-copy .t-label{color:var(--gold-deep)}
.map-txt{position:relative}
.map-state{position:absolute;inset:0 0 auto 0}
.map-state:first-child{position:relative}
.map-state h2{color:var(--cream-ink);max-width:16ch}
.map-copy p.t-sub{color:var(--cream-dim);max-width:40ch}
.map-field{position:relative;border-radius:24px;background:#fff;border:1px solid var(--cream-line);box-shadow:0 60px 100px -60px rgba(10,18,32,.35);overflow:hidden}
.chip{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--cream);border:1px solid var(--cream-line);font-size:13px;font-weight:500;color:var(--cream-ink);white-space:nowrap;will-change:transform;transform:translate(-50%,-50%)}
.chip i{width:6px;height:6px;border-radius:50%;background:var(--cream-dim)}
.chip.keep i{background:var(--gold)}
.timeline{position:absolute;left:8%;right:8%;top:58%;height:1px;background:var(--cream-ink);transform:scaleX(0);transform-origin:left;will-change:transform}
.goal{position:absolute;top:58%;transform:translate(-50%,0);text-align:center;opacity:0;will-change:transform,opacity}
.goal i{display:block;width:9px;height:9px;border-radius:50%;background:var(--cream-ink);margin:-4px auto 12px}
.goal b{display:block;font-family:var(--serif);font-size:clamp(18px,1.8vw,26px);font-weight:500;color:var(--cream-ink);letter-spacing:-.01em}
.goal span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);margin-top:4px}
.map-note{position:absolute;left:8%;bottom:7%;font-size:13px;color:var(--cream-dim);max-width:46ch;opacity:0}
.map-mobile{display:none}

/* ATO 3 — processo horizontal */
.process{padding-top:var(--gap)}
.snap-dots,.swipe-hint{display:none}
.process-head{margin-bottom:40px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:end}
.process-stage{height:100svh;min-height:560px;display:grid;align-items:center;overflow:hidden}
.track{display:flex;gap:20px;will-change:transform;padding-inline:var(--gutter)}
.step{flex:0 0 min(60vw,680px);min-height:min(60svh,520px);border-radius:26px;background:var(--card);padding:clamp(28px,3.2vw,52px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.step .n{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.step .big{position:absolute;right:8px;top:-6px;font-family:var(--serif);font-size:clamp(120px,15vw,240px);line-height:1;letter-spacing:-.05em;color:rgba(228,207,163,.09);font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}
.step h3{margin-top:auto;max-width:12ch;position:relative}
.step p{margin-top:16px;max-width:34ch;position:relative}
.step.cream{background:var(--cream);color:var(--cream-ink)}
.step.cream p{color:var(--cream-dim)}
.step.cream .big{color:rgba(10,18,32,.07)}

/* SOBRE */
.about{padding-top:var(--gap);position:relative;overflow:hidden}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);align-items:start}
.about h2{max-width:14ch}
.about .lede{margin-top:28px;font-family:var(--serif);font-size:clamp(20px,1.9vw,27px);line-height:1.35;color:var(--ivory);max-width:30ch;font-variation-settings:"SOFT" 60,"WONK" 1}
.about .body{margin-top:28px;display:grid;gap:18px;max-width:52ch;color:var(--ivory-dim);font-size:16px}
.portrait{position:sticky;top:calc(var(--nav-h) + 40px);border-radius:26px;background:linear-gradient(160deg,#16294A,#0A1220);aspect-ratio:4/5;display:grid;align-content:end;padding:clamp(24px,3vw,40px);overflow:hidden}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,32,0) 40%,rgba(10,18,32,.92) 100%)}
.portrait .mono{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:clamp(160px,22vw,300px);line-height:1;letter-spacing:-.06em;color:rgba(228,207,163,.12);font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}
.portrait .who{position:relative;z-index:1}
.portrait .who b{display:block;font-family:var(--serif);font-size:26px;font-weight:500}
.portrait .who span{display:block;margin-top:4px;font-size:13px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.stats{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:34px 24px 34px 0;border-bottom:1px solid var(--line)}
.stat+.stat{border-left:1px solid var(--line);padding-left:24px}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.7vw,56px);white-space:nowrap;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:14px;font-size:14px;color:var(--ivory-dim);max-width:18ch}

/* CTA FINAL */
.final{position:relative;margin-top:var(--gap);background:radial-gradient(120% 90% at 50% 0%,#12213A 0%,#0A1220 50%,#060B15 100%);overflow:hidden;border-radius:36px 36px 0 0;border-top:1px solid rgba(228,207,163,.18);min-height:96svh;display:grid;align-items:center;padding-block:120px}
.final .contour{top:auto;bottom:-10%;height:80%}
.final-in{position:relative;z-index:3;display:grid;justify-items:center;text-align:center}
.final .t-label{display:block;margin-bottom:26px}
.final h2{max-width:16ch}
.final .t-sub{margin-top:26px;max-width:44ch}
.final .hero-cta{margin-top:36px;justify-content:center}
.final .links{margin-top:26px;display:flex;gap:26px;font-size:14px;color:var(--ivory-dim)}
.final .links a{text-decoration:none}
.final .links a:hover{color:var(--gold)}

footer{background:var(--deep);color:var(--ivory-faint);padding:44px 0 36px;font-size:13px}
.foot-in{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;border-top:1px solid var(--line);padding-top:30px;align-items:start}
.foot-in p{max-width:60ch;line-height:1.55}
.foot-right{display:grid;gap:8px;justify-items:end;text-align:right}
.foot-right a{text-decoration:none}
.foot-right a:hover{color:var(--gold)}

/* responsivo */
@media (min-width:901px){.hero h1 .line{white-space:nowrap}}
@media (max-width:1100px){.lens-in{grid-template-columns:.36fr .64fr}}
@media (max-width:900px){
  .nav-links{display:none}.nav-in{grid-template-columns:1fr auto}.brand small{display:none}
  .hero{min-height:680px}.hero-in{grid-template-columns:1fr;gap:22px}.hero-top{display:none}
  .hero-photo{right:-14%;height:62%;bottom:auto;top:8%;opacity:.85}
  .hero-side{max-width:none}
  .sheet{border-radius:24px 24px 0 0}
  .lens-stage{height:auto;min-height:0;padding-block:var(--gap) 40px}
  .lens-in{grid-template-columns:1fr;gap:16px}
  .lens-num{display:none}
  .lens-copy{min-height:0;display:grid;gap:56px}
  .lens{position:relative;inset:auto;padding-top:54px}
  .lens{--ns:.7}
  .lens::before{transform:scale(var(--ns));content:attr(data-n);position:absolute;left:-6px;top:-30px;font-family:var(--serif);font-size:150px;line-height:1;letter-spacing:-.06em;color:transparent;background:linear-gradient(100deg,#E9D7B0,#C9A96E 40%,#F2E4C4);-webkit-background-clip:text;background-clip:text;opacity:.14;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;pointer-events:none;transform-origin:left top}
  .lens>*{position:relative}
  .lens-rail{display:none}
  .lens-ring{width:120vw;right:-60vw;top:20%}
  .act-map{border-radius:24px;margin-inline:8px}
  .map-stage{height:auto;min-height:0;padding-block:56px}
  .map-in{height:auto;gap:22px}
  .map-copy{grid-template-columns:1fr;min-height:0}
  .map-txt{display:none}
  .map-mobile{display:block}
  .map-mobile h2{color:var(--cream-ink)}
  .map-field{aspect-ratio:4/5}
  .chip{font-size:11.5px;padding:7px 11px}
  .goal b{font-size:14px}.goal span{font-size:9px;letter-spacing:.04em}
  .goal.g2,.goal.g4{display:none}
  .goal.g1{left:16%!important}.goal.g5{left:84%!important}
  .timeline{left:14%;right:14%}
  .chip[data-gx='12'],.chip[data-gx='21'],.chip[data-gx='57'],.chip[data-gx='84']{display:none}
  .map-note{display:none}
  .process-head{grid-template-columns:1fr}
  .process-stage{height:auto;min-height:0;overflow:visible;display:block}
  .track{flex-direction:row;gap:12px;padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}
  .track::-webkit-scrollbar{display:none}
  .step{flex:0 0 82vw;min-height:420px;padding-top:64px;scroll-snap-align:center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .step:active{transform:scale(.985)}
  .snap-dots{display:flex;gap:8px;justify-content:center;margin-top:18px}
  .snap-dots i{width:6px;height:6px;border-radius:50%;background:var(--line-strong);transition:transform .3s,background .3s}
  .snap-dots i.on{background:var(--gold);transform:scale(1.4)}
  .swipe-hint{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-faint);text-align:center;margin-top:10px}
  .step .big{font-size:120px;top:-8px}
  .about-grid{grid-template-columns:1fr}
  .portrait{position:relative;top:auto;aspect-ratio:4/5;order:-1}
  .stats{grid-template-columns:1fr 1fr}
  .stat+.stat{border-left:0;padding-left:0}
  .stat:nth-child(even){border-left:1px solid var(--line);padding-left:20px}
  .final{border-radius:24px 24px 0 0;min-height:0;padding-block:110px}
  .foot-in{grid-template-columns:1fr}.foot-right{justify-items:start;text-align:left}
}
@media (max-width:480px){.pill{width:100%;justify-content:center}.nav-cta .pill{width:auto}.final .links{flex-direction:column;gap:12px;align-items:center}}
@media (prefers-reduced-motion:reduce){.gold-live{animation:none}.timeline{transform:none}.goal,.map-note{opacity:1}}
