:root{
  --gold:#AC8A51; --gold-light:#DEA74B; --gold-deep:#664D2C; --gold-bright:#F9CC69;
  --cream:#EAD7A6; --champagne:#C9A85F; --soft:#dccba0;
  --bg:#0e0a06; --bg2:#171008; --panel:#1b140b; --line:rgba(174,138,81,.20);
  --text:#e9dfca; --muted:#a99c83;
  --grad:linear-gradient(118deg,#8C6A3B 0%,#CAA562 34%,#F9CC69 52%,#DEA74B 72%,#AC8A51 100%);
  --maxw:1040px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-weight:300;font-size:18px;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 800px at 82% -10%, rgba(222,167,75,.10), transparent 56%),radial-gradient(1000px 700px at -10% 110%, rgba(140,106,59,.08), transparent 60%),var(--bg)}
.gold-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;line-height:1.1;letter-spacing:.004em;text-wrap:balance}
.wrap{max-width:760px;margin:0 auto;padding:0 30px}
.wrap-wide{max-width:1100px;margin:0 auto;padding:0 30px}
.label{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--champagne)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0 8px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{text-align:center}
.stat .n{font-family:'Playfair Display',serif;font-size:clamp(19px,2.6vw,27px);line-height:1}
.stat .l{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:9px}
@media(max-width:600px){.stats{grid-template-columns:repeat(2,1fr);gap:24px 12px}}
a{color:var(--champagne)}

#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--grad);z-index:60;transition:width .1s linear}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 30px;position:sticky;top:0;backdrop-filter:blur(14px);background:rgba(14,10,6,.7);z-index:40;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.topbar .tb-logo{height:46px;width:auto;object-fit:contain}
.nav{display:flex;gap:2px;flex:1;justify-content:center;flex-wrap:wrap}
.nav a{color:var(--soft);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:6px;transition:.22s;white-space:nowrap}
.nav a:hover{color:#1a1208;background:var(--grad)}
.who{font-size:12px;color:var(--muted)}
.who a{color:var(--champagne);cursor:pointer;text-decoration:none;letter-spacing:.06em}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;position:relative;overflow:hidden;
  background:radial-gradient(circle at 50% 44%, rgba(12,9,5,.6) 0%, rgba(12,9,5,.4) 42%, rgba(12,9,5,.12) 78%, rgba(12,9,5,.22) 100%), var(--art-hero,none);background-size:cover;background-position:center}
.hero .logo-sun{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:1}
.hero .glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:50%;background:radial-gradient(circle, rgba(255,232,155,.34) 0%, rgba(222,167,75,.34) 32%, rgba(222,167,75,.10) 56%, transparent 72%);filter:blur(4px);z-index:0;animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}
.hero-logo{position:relative;z-index:1;width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 18px 56px rgba(0,0,0,.55));animation:rise 1.1s ease both}
.hero .eyebrow{position:relative;z-index:1;letter-spacing:.42em;font-size:11px;color:var(--champagne);text-transform:uppercase;margin-top:34px;animation:rise 1.1s .15s ease both}
.hero h1{position:relative;z-index:1;font-size:clamp(34px,6.4vw,72px);margin:22px auto 0;max-width:14ch;animation:rise 1.1s .3s ease both}
.hero .lead{position:relative;z-index:1;color:var(--cream);margin-top:20px;font-size:clamp(15px,2vw,19px);letter-spacing:.24em;text-transform:uppercase;font-weight:400;animation:rise 1.1s .45s ease both}
.scrollcue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:1;color:var(--champagne);font-size:20px;animation:bob 2s ease-in-out infinite;opacity:.6}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,9px)}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* STATEMENT */
.statement{min-height:86vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 28px;position:relative;
  background:linear-gradient(rgba(14,10,6,.74),rgba(14,10,6,.86)), var(--art,radial-gradient(circle at 50% 40%, rgba(222,167,75,.10), transparent 62%));background-size:cover;background-position:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statement .huge{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(56px,13vw,150px);line-height:.95}
.statement .sub{max-width:640px;margin:26px auto 0;font-size:clamp(19px,2.6vw,26px);color:var(--cream);line-height:1.5}
.statement .src{margin-top:18px;font-size:12px;color:var(--muted);letter-spacing:.06em}
.statement .src a{color:var(--champagne)}

/* SECTIONS */
section.block{padding:130px 0 120px;scroll-margin-top:74px}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:40px}
.sec-head .idx{font-family:'Playfair Display',serif;font-size:18px;color:var(--gold-light);opacity:.7}
section.block h2{font-size:clamp(30px,5vw,56px);margin-bottom:34px;line-height:1.05}
section.block p{margin-bottom:24px;font-size:18px;color:#e0d5bd;max-width:none;text-wrap:pretty}
.big-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(30px,5.6vw,54px);color:var(--cream);line-height:1.3;letter-spacing:.008em;margin:52px 0;max-width:17ch}

/* OUTCOMES numerados */
.outcome{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start;border-top:1px solid var(--line);padding:30px 0}
.outcome:last-of-type{border-bottom:1px solid var(--line)}
.outcome .onum{font-family:'Playfair Display',serif;font-size:clamp(30px,4.6vw,48px);line-height:.9;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.outcome b{font-family:'Playfair Display',serif;color:var(--cream);font-weight:600;font-size:clamp(20px,2.6vw,26px);display:block;margin-bottom:8px}
.outcome span{color:var(--muted);font-size:16px;max-width:60ch}

/* GRAFICO */
.chart-wrap{width:100%;max-width:780px;margin:48px auto 0}
.chart{display:flex;align-items:flex-end;gap:clamp(8px,2vw,18px)}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center}
.chart .pct{font-family:'Playfair Display',serif;color:var(--cream);font-size:clamp(12px,1.6vw,16px);margin-bottom:8px}
.chart .track{width:100%;height:240px;display:flex;align-items:flex-end}
.chart .bar{width:100%;height:0;border-radius:5px 5px 0 0;background:var(--grad);opacity:.42;transition:height 1.5s cubic-bezier(.2,.85,.2,1)}
.chart .col:last-child .bar{opacity:1;box-shadow:0 0 34px rgba(222,167,75,.45)}
.chart-wrap.in .bar{height:calc(var(--h)*1%)}
.chart .yr{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:.1em}
.chart-cap{text-align:center;color:var(--muted);font-size:13px;margin-top:20px;letter-spacing:.03em}
.chart-cap a{color:var(--champagne)}

/* DIAGRAMA */
.arch{width:100%;max-width:680px;margin:8px auto 10px;text-align:center}
.arch .master{display:inline-block;border:1px solid var(--gold-light);border-radius:10px;padding:14px 34px;font-family:'Playfair Display',serif;color:var(--cream);font-size:20px;background:rgba(174,138,81,.08)}
.arch .master small{display:block;font-family:'Inter';font-weight:300;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);margin-top:4px}
.arch .stem{width:1px;height:30px;background:var(--line);margin:0 auto}
.arch .row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;padding-top:18px}
.arch .row::before{content:"";position:absolute;top:0;left:16.6%;right:16.6%;height:1px;background:var(--line)}
.arch .node{position:relative;border:1px solid var(--line);border-radius:10px;padding:18px 12px;background:rgba(14,10,6,.4)}
.arch .node::before{content:"";position:absolute;top:-18px;left:50%;width:1px;height:18px;background:var(--line)}
.arch .node b{display:block;font-family:'Playfair Display',serif;color:var(--cream);font-size:16px;margin-bottom:5px}
.arch .node span{font-size:11.5px;color:var(--muted);line-height:1.45}
.arch-cap{text-align:center;color:var(--muted);font-size:13.5px;margin-top:20px;font-family:'Inter',sans-serif;letter-spacing:.02em}

/* PROCESSO */
.phase{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:46px 0;border-top:1px solid var(--line);align-items:start}
.phase .num{font-family:'Playfair Display',serif;font-size:clamp(64px,11vw,128px);line-height:.8;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.phase h3{font-size:clamp(22px,3vw,30px);color:var(--cream);margin-bottom:14px}
.phase ul{margin:0 0 14px 18px;color:var(--muted);font-size:16px;line-height:2}
.phase .end{display:inline-block;font-family:'Inter',sans-serif;font-style:normal;font-weight:500;font-size:14px;letter-spacing:.01em;color:#241606;background:var(--grad);padding:11px 20px;border-radius:9px;margin-top:10px;line-height:1.5}

/* BAND */
.band{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(1.05)}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,10,6,.6),rgba(14,10,6,.3),rgba(14,10,6,.8))}
.band .cap{position:relative;z-index:1;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(26px,5vw,46px);color:var(--cream);letter-spacing:.01em;text-align:center;padding:0 24px}

/* TIERS com respiro */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tier{padding:38px 28px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;transition:.3s;background:linear-gradient(160deg,rgba(27,20,11,.6),rgba(14,10,6,.3))}
.tier:hover{transform:translateY(-6px);border-color:rgba(222,167,75,.5)}
.tier .timg{height:130px;border-radius:12px;margin-bottom:24px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(174,138,81,.22),rgba(14,10,6,.4)), var(--ti, radial-gradient(circle at 60% 40%, rgba(222,167,75,.28), transparent 70%));background-size:cover;background-position:center}
.tier.feature{border-color:var(--gold-light);box-shadow:0 0 0 1px rgba(222,167,75,.25),0 26px 60px rgba(0,0,0,.4);background:linear-gradient(160deg,rgba(174,138,81,.10),rgba(14,10,6,.3))}
.tier .lvl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne)}
.tier h3{font-size:24px;margin:12px 0 18px;color:var(--cream);min-height:2.2em}
.tier .price{display:flex;flex-direction:column;gap:3px;margin-bottom:20px}
.tier .price .from{font-family:'Inter';font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}
.tier .price .amt{font-family:'Playfair Display',serif;font-size:30px;white-space:nowrap}
.tier p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.7}
.note{font-size:16px;color:var(--muted);border-left:2px solid var(--gold-deep);padding-left:22px;margin:26px 0;max-width:64ch}

/* REFERENCIA DE MERCADO em destaque */
.market-ref{border:1px solid var(--gold-light);border-radius:18px;padding:38px 34px;margin:40px 0 10px;background:linear-gradient(150deg,rgba(174,138,81,.12),rgba(14,10,6,.3));box-shadow:0 24px 60px rgba(0,0,0,.35)}
.market-ref .label{margin-bottom:22px}
.market-ref .figs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.market-ref .fig{border:1px solid var(--line);border-radius:12px;padding:24px;background:rgba(174,138,81,.04)}
.market-ref .fig .v{font-family:'Playfair Display',serif;font-size:clamp(24px,3.2vw,34px);line-height:1.1;white-space:nowrap;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.market-ref .fig .k{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.market-ref p{font-size:16px;color:#e0d5bd;margin:0 0 10px;max-width:none}
.market-ref .src{font-size:12px;color:var(--muted);margin-top:8px}
.market-ref .src a{color:var(--champagne)}
@media(max-width:600px){.market-ref .figs{grid-template-columns:1fr}}

/* CALCULADORA alinhada + explicacoes */
.calc{border:1px solid var(--line);border-radius:18px;padding:38px 32px;background:linear-gradient(150deg,rgba(27,20,11,.9),rgba(14,10,6,.5))}
.calc-intro{color:var(--muted);font-size:15px;margin-bottom:26px;max-width:none}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:34px}
.ctrl{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:rgba(174,138,81,.04)}
.crow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px}
.crow .clabel{font-size:13px;letter-spacing:.04em;color:var(--champagne)}
.crow .cval{font-family:'Playfair Display',serif;font-size:20px;color:var(--cream);white-space:nowrap}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:3px;border-radius:3px;background:rgba(174,138,81,.3);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#F9CC69,#AC8A51);cursor:pointer;box-shadow:0 0 12px rgba(222,167,75,.7)}
.chint{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.results{border-top:1px solid var(--line);padding-top:34px}
.res-main{text-align:center;padding:8px 0 14px}
.res-main .lbl{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne)}
.res-main .val{font-family:'Playfair Display',serif;font-size:clamp(40px,9vw,84px);margin:10px 0;line-height:1}
.res-explain{text-align:center;color:var(--muted);font-size:14px;max-width:60ch;margin:0 auto 30px}
.res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.res{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:rgba(174,138,81,.03)}
.res .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.res .val{font-family:'Playfair Display',serif;font-size:22px;color:var(--cream);margin-top:6px}
.disc{font-size:13px;color:var(--muted);margin-top:24px;line-height:1.7}
.disc a{color:var(--champagne)}

footer{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px;border-top:1px solid var(--line);background:linear-gradient(rgba(12,9,5,.74),rgba(12,9,5,.5) 48%,rgba(12,9,5,.8)), var(--art-foot,none);background-size:cover;background-position:center bottom}
footer .logo-sun{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 30px}
footer .glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:240px;height:240px;border-radius:50%;background:radial-gradient(circle, rgba(255,232,155,.34) 0%, rgba(222,167,75,.32) 32%, rgba(222,167,75,.10) 56%, transparent 72%);filter:blur(4px);animation:breathe 7s ease-in-out infinite;pointer-events:none}
footer .foot-logo{position:relative;z-index:1;width:150px;height:150px;object-fit:contain;display:block}
footer .q{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(28px,5.4vw,50px);color:var(--cream);margin-bottom:30px;letter-spacing:.01em;max-width:16ch}
footer .c{font-size:13px;color:var(--muted);letter-spacing:.08em}
footer .c a{color:var(--champagne);text-decoration:none}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* PORTAO DE ACESSO (Supabase) */
#gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0b0805;padding:24px}
#gate.hidden{display:none}
.gate-card{width:100%;max-width:430px;text-align:center;background:linear-gradient(145deg,rgba(27,20,11,.96),rgba(11,8,5,.97));border:1px solid var(--line);border-radius:18px;padding:40px 34px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.gate-logo-wrap{position:relative;width:120px;height:120px;margin:0 auto 16px}
.gate-logo-wrap .halo{position:absolute;inset:-36%;border-radius:50%;background:radial-gradient(circle,rgba(255,232,155,.34),rgba(222,167,75,.18) 50%,transparent 70%);filter:blur(5px);animation:haloPulse 7s ease-in-out infinite}
@keyframes haloPulse{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.gate-logo{position:relative;width:120px;height:120px;object-fit:contain}
.gate-sub{color:var(--soft);font-size:14px;letter-spacing:.06em;margin:0 0 24px;font-family:'Playfair Display',serif;font-style:italic}
.gate-tabs{display:flex;gap:8px;margin-bottom:22px;border:1px solid var(--line);border-radius:10px;padding:5px}
.gate-tabs button{flex:1;background:transparent;border:0;color:var(--muted);font-family:'Inter';font-size:13.5px;padding:9px;border-radius:7px;cursor:pointer;letter-spacing:.04em}
.gate-tabs button.active{background:var(--grad);color:#211505;font-weight:600}
.gfield{text-align:left;margin-bottom:13px}
.gfield label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--champagne);margin-bottom:6px}
.gfield input{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:9px;padding:12px 14px;color:var(--text);font-family:'Inter';font-size:14.5px;outline:none}
.gfield input:focus{border-color:var(--gold-light)}
.gbtn{width:100%;margin-top:6px;background:var(--grad);color:#211505;border:0;border-radius:10px;padding:14px;font-family:'Playfair Display',serif;font-weight:600;font-size:15px;cursor:pointer}
.gerr{color:#e0a64c;font-size:12.5px;min-height:16px;margin-top:8px}
.gnote{margin-top:16px;font-size:11.5px;color:var(--muted);line-height:1.6}

@media(max-width:760px){
  body{font-size:16.5px}
  .tiers{grid-template-columns:1fr}
  .controls{grid-template-columns:1fr}
  .res-grid{grid-template-columns:1fr}
  .phase{grid-template-columns:1fr;gap:8px;padding:34px 0}.phase .num{font-size:64px}
  section.block{padding:84px 0 76px}
  .nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto}
  .arch .row{grid-template-columns:1fr;gap:22px}.arch .row::before{display:none}.arch .node::before{display:none}
}
