:root{
  --bg:#f5f5f7; --black:#000000; --white:#ffffff; --ink:#1d1d1f;
  --g1:rgba(29,29,31,0.82); --g2:rgba(29,29,31,0.55); --g3:rgba(0,0,0,0.1);
  --ink1:rgba(255,255,255,0.82); --ink2:rgba(255,255,255,0.55); --ink3:rgba(255,255,255,0.16);
  --blue:#0071e3; --blue-dark:#0058b0; --accent:#0071e3; --panel:#f5f5f7; --panel2:#ffffff;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit; text-decoration:none;}
.slide{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; padding:120px 24px; text-align:center; overflow:hidden;}
.slide.compact{min-height:auto; padding:150px 24px 100px;}
.slide-content{position:relative; z-index:2; max-width:980px; width:100%;}
.eyebrow{font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--g2); margin-bottom:18px;}
.dark .eyebrow{color:var(--ink2);}
h1,h2,h3{font-weight:700; letter-spacing:-0.025em; line-height:1.05;}
.headline{font-size:clamp(32px,6vw,76px); margin-bottom:18px; font-weight:700;}
.headline.md{font-size:clamp(26px,4.4vw,48px); font-weight:700;}
.sub{font-size:clamp(15px,1.7vw,19px); color:var(--g2); font-weight:400; max-width:580px; margin:0 auto; line-height:1.55;}
.dark .sub{color:var(--ink2);}
.pill{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:100px; font-size:15px; font-weight:400; background:var(--blue); color:#fff; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background .2s; cursor:pointer; border:none; font-family:inherit;}
.pill:hover{background:var(--blue-dark); transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,113,227,0.28);}
.pill.ghost{background:transparent; color:var(--ink); border:1px solid var(--g3);}
.pill.ghost:hover{background:rgba(0,0,0,0.04); box-shadow:none; transform:none;}
.dark .pill{background:#fff; color:#000;}
.dark .pill:hover{background:#e8e8ed; box-shadow:0 10px 24px rgba(255,255,255,0.14);}
.dark .pill.ghost{color:#fff; border-color:rgba(255,255,255,0.35);}
.dark .pill.ghost:hover{background:rgba(255,255,255,0.08);}
.pill.small{padding:9px 18px; font-size:13px;}
.more-link{display:inline-block; margin-top:24px; font-size:13.5px; color:var(--g2); border-bottom:1px solid var(--g3); padding-bottom:3px; transition:color .25s,border-color .25s; cursor:pointer; background:none; border-top:none;border-left:none;border-right:none; font-family:inherit;}
.more-link:hover{color:var(--ink); border-color:var(--ink);}
.dark .more-link{color:var(--ink2); border-color:var(--ink3);}
.dark .more-link:hover{color:#fff; border-color:#fff;}
.fade{opacity:0; transform:translateY(20px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
.fade.in{opacity:1; transform:translateY(0);}
.d1{transition-delay:.1s;} .d2{transition-delay:.2s;} .d3{transition-delay:.3s;}

/* SITE GATE */
#siteGate{position:fixed; inset:0; z-index:9999; background:#fff; display:flex; align-items:center; justify-content:center; padding:24px;}
.gate-box{text-align:center; max-width:340px; width:100%;}
.gate-box img{height:22px; margin:0 auto 42px; display:block;}
.gate-box .sub{margin-bottom:26px; color:var(--g2);}
.gate-form{display:flex; flex-direction:column; gap:12px;}
.gate-form input{padding:15px 20px; border-radius:100px; border:1px solid var(--g3); background:#f5f5f7; color:var(--ink); font-size:14.5px; font-family:inherit; text-align:center;}
.gate-error{color:#c0392b; font-size:12.5px; margin-top:14px; display:none;}

/* NAV */
header{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(255,255,255,0.94); backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%); border-bottom:1px solid transparent; transition:border-color .3s;}
header.scrolled{border-color:rgba(0,0,0,0.08);}
.compliance-ribbon{text-align:center; padding:6px 20px; font-size:10.5px; color:var(--g2); border-bottom:1px solid rgba(0,0,0,0.06);}
nav{display:flex; align-items:center; height:44px; max-width:1180px; margin:0 auto; padding:0 22px; gap:24px;}
.logo-mark{height:14px; width:auto; display:block; opacity:0.92;}
.footer-logo-mark{height:18px; width:auto; display:block; margin:0 auto 24px; opacity:0.7;}
.navlinks{display:flex; align-items:center; justify-content:center; flex:1; gap:clamp(14px,2.4vw,30px); font-size:12px; color:var(--g2); font-weight:400; letter-spacing:0;}
.navlinks a{cursor:pointer; white-space:nowrap; transition:color .2s;}
.navlinks a:hover, .navlinks a.active{color:var(--ink);}
.nav-right{display:flex; align-items:center; gap:20px; font-size:12px;}
.lang-toggle{display:flex; align-items:center; gap:7px; font-size:12px;}
.lang-toggle button{padding:0; background:transparent; color:var(--g2); border:none; cursor:pointer; font-family:inherit; font-size:12px; transition:color .2s;}
.lang-toggle button.active{color:var(--ink); font-weight:600;}
.navcta{color:var(--g2); font-weight:400; white-space:nowrap; font-size:12px; cursor:pointer; transition:color .2s;}
.navcta:hover{color:var(--ink);}
@media(max-width:980px){ .navlinks{display:none;} }

/* HERO */
.hero{padding:0; overflow:hidden;}
.hero-watermark{position:absolute; top:52%; left:50%; transform:translate(-50%,-46%); font-size:min(50vw,680px); font-weight:800; letter-spacing:-0.05em; color:transparent; -webkit-text-stroke:1px rgba(0,0,0,0.04); z-index:1; pointer-events:none; white-space:nowrap; line-height:1;}
.dark .hero-watermark{-webkit-text-stroke:1px rgba(255,255,255,0.07);}
.scroll-cue{position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px;}
.scroll-cue .line{width:1px; height:32px; background:linear-gradient(var(--g3),transparent); animation:pulse 2.2s infinite;}
.dark .scroll-cue .line{background:linear-gradient(var(--ink3),transparent);}
@keyframes pulse{0%,100%{opacity:.3;} 50%{opacity:1;}}

/* HERO CAROUSEL */
.hero-carousel{position:relative; width:100%; height:100vh;}
.hero-slide{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:120px 24px; text-align:center; opacity:0; visibility:hidden; transition:opacity 1.1s cubic-bezier(.2,.8,.2,1);}
.hero-slide.active{opacity:1; visibility:visible; z-index:2;}
.hero-slide .slide-content{position:relative; z-index:2; max-width:980px; width:100%;}
.hero-slide.dark{background:#000; color:#fff; --g1:var(--ink1); --g2:var(--ink2); --g3:var(--ink3);}
.hero-firm-row{display:flex; flex-direction:column; align-items:flex-start; max-width:840px; text-align:left;}
.hero-firm-motto{font-size:clamp(38px,7vw,84px); font-weight:700; line-height:1.15; letter-spacing:-0.02em; margin:0; color:var(--ink);}
.dark .hero-firm-motto{color:#fff;}
.hero-firm-sub{font-size:25px; font-weight:400; color:var(--g2); max-width:640px; margin:40px 0 0; line-height:1.5; text-align:left;}
@media(max-width:600px){ .hero-firm-sub{font-size:18px; margin-top:28px;} }
.hero-dots{position:absolute; bottom:78px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:9px;}
.hero-dot{width:7px; height:7px; border-radius:50%; background:#8e8e93; opacity:0.4; border:none; cursor:pointer; padding:0; transition:opacity .25s, transform .25s, background .25s;}
.hero-dot:hover{opacity:0.7;}
.hero-dot.active{background:var(--blue); opacity:1; transform:scale(1.35);}
@media(prefers-reduced-motion: reduce){ .hero-slide{transition:none;} }

/* SELECTOR (B2C/B2B) */
.selector-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; width:100%; max-width:1100px; text-align:left;}
@media(max-width:860px){ .selector-grid{grid-template-columns:1fr;} }
.selector-card{position:relative; border-radius:22px; padding:38px 34px 34px; min-height:440px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid var(--g3); background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.selector-card.retail{background:#ffffff;}
.selector-card.inst{background:linear-gradient(160deg,#f3f7fb,#eef3f8);}
.selector-tag{position:absolute; top:28px; left:34px; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--g2); padding:6px 14px; border:1px solid var(--g3); border-radius:100px;}
.selector-card h3{font-size:clamp(22px,3vw,28px); margin-bottom:10px; font-weight:700;}
.selector-card p.desc{font-size:14px; color:var(--g2); margin-bottom:18px; max-width:340px;}
.selector-bullets{list-style:none; margin-bottom:24px; display:flex; flex-direction:column; gap:8px;}
.selector-bullets li{font-size:13px; color:var(--g1); display:flex; align-items:center; gap:8px;}
.selector-bullets li::before{content:"✓"; color:var(--blue); font-weight:700;}
.selector-ctas{display:flex; gap:12px; flex-wrap:wrap;}

/* PROOF / BIG NUMBER */
.big-number{font-size:clamp(60px,12vw,150px); font-weight:700; letter-spacing:-0.03em; line-height:1;}
.big-number.sm{font-size:clamp(42px,7vw,90px);}
.big-number .unit{font-size:0.4em; font-weight:700; color:var(--g2);}
.stat-pair{display:flex; gap:clamp(28px,6vw,72px); justify-content:center; flex-wrap:wrap;}
.stat-pair.left{justify-content:flex-start;}
.stat-block{text-align:center;}
.stat-pair.left .stat-block{text-align:left;}
.stat-block .big-number{font-size:clamp(38px,7vw,84px);}
.stat-block .stat-label{font-size:13px; color:var(--g2); margin-top:10px; max-width:180px;}
.stat-pair.left .stat-block .stat-label{margin-left:0; margin-right:0;}
.dark .stat-block .stat-label{color:var(--ink2);}
.proof-left{text-align:left;}
.proof-title{font-size:clamp(32px,5vw,64px); font-weight:700; margin:0 0 10px; color:var(--ink);}
.dark .proof-title{color:#fff;}
.proof-period{font-size:13px; font-weight:500; letter-spacing:0.04em; color:var(--ink2); margin-bottom:34px;}
.irr-stat{display:inline-flex; align-items:baseline; gap:8px; margin-top:18px; padding:10px 20px; border:1px solid var(--g3); border-radius:100px;}
.irr-stat .v{font-size:18px; font-weight:700;}
.irr-stat .l{font-size:12.5px; color:var(--g2);}
.dark .irr-stat{border-color:var(--ink3);}
.dark .irr-stat .l{color:var(--ink2);}
.chart-wrap{max-width:560px; margin:36px auto 6px;}
.chart-caption{display:flex; justify-content:center; gap:24px; font-size:12.5px; color:var(--g2); margin-top:10px;}
.chart-caption.left{justify-content:flex-start;}
.dark .chart-caption{color:var(--ink2);}
.chart-caption span{display:inline-flex; align-items:center; gap:7px;}
.chart-caption i{width:8px; height:8px; border-radius:50%; display:inline-block;}
.compliance-note{font-size:11.5px; color:var(--g2); opacity:0.75; margin-top:18px; font-style:normal; max-width:460px; margin-left:auto; margin-right:auto;}
.dark .compliance-note{color:var(--ink2);}
.chart-wrap.big{position:relative; max-width:100%;}
.chart-tooltip{position:absolute; top:6px; transform:translateX(-50%); background:#0a0a0a; border:1px solid rgba(255,255,255,0.14); border-radius:10px; padding:11px 15px; font-size:12.5px; color:#fff; pointer-events:none; opacity:0; transition:opacity .12s; white-space:nowrap; z-index:5; min-width:170px;}
.chart-tooltip.show{opacity:1;}
.chart-tooltip .tt-date{color:rgba(255,255,255,0.5); font-size:11px; margin-bottom:6px; letter-spacing:0.02em;}
.chart-tooltip .tt-row{display:flex; align-items:center; gap:7px; margin-top:4px; font-size:12.5px;}
.chart-tooltip .tt-dot{width:7px; height:7px; border-radius:50%; display:inline-block; flex-shrink:0;}
.chart-tooltip .tt-val{margin-left:auto; font-weight:600; padding-left:14px;}

/* STRATEGY GRID (2x2, Apple-tile style) */
.strategy-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:48px; text-align:left;}
.strategy-card{position:relative; border-radius:24px; padding:44px 38px; min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:#ffffff; border:1px solid var(--g3);}
.strategy-card.gray-light{background:#e5e5ea; border-color:rgba(0,0,0,0.05);}
.strategy-card.gray-dark{background:#3a3a3c; color:#fff; border-color:rgba(255,255,255,0.06);}
.strategy-card.dark{background:#000000; color:#fff; border-color:rgba(255,255,255,0.08);}
.strategy-card .stitle{position:relative; z-index:1; font-size:clamp(21px,2.3vw,27px); font-weight:700; margin-bottom:10px; letter-spacing:-0.01em;}
.strategy-card .sdesc{position:relative; z-index:1; font-size:14.5px; color:var(--g2); line-height:1.55; max-width:340px;}
.strategy-card.gray-dark .sdesc, .strategy-card.dark .sdesc{color:rgba(255,255,255,0.62);}
@media(max-width:760px){ .strategy-grid{grid-template-columns:1fr;} .strategy-card{min-height:220px; padding:36px 30px;} }

/* WHITE / DARK PANEL SCOPES */
.white{background:#f5f5f7; color:var(--ink);}
.dark{background:#000000; color:#fff; --g1:var(--ink1); --g2:var(--ink2); --g3:var(--ink3);}
.dark .headline, .dark h1, .dark h2, .dark h3{color:#fff;}

.words-row{display:flex; justify-content:center; gap:0; margin-top:48px; flex-wrap:wrap;}
.word{padding:0 26px; font-size:clamp(13px,1.7vw,16px); font-weight:600; border-right:1px solid var(--g3);}
.word:last-child{border-right:none;}
@media(max-width:700px){ .word{border-right:none; padding:8px 16px;} }

/* HORIZONTAL SCROLL */
.hscroll-wrap{position:relative; width:100%; margin-top:44px;}
.hscroll{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x proximity; padding:6px 4px 18px; scrollbar-width:none;}
.hscroll::-webkit-scrollbar{display:none;}
.hscroll-arrows{display:flex; justify-content:center; gap:10px; margin-top:6px;}
.harrow{width:38px; height:38px; border-radius:50%; border:1px solid var(--g3); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; transition:background .2s,border-color .2s; background:#fff;}
.harrow:hover{background:#f5f5f7; border-color:rgba(0,0,0,0.2);}
.dark .harrow{border-color:var(--ink3); background:transparent; color:#fff;}
.dark .harrow:hover{background:rgba(255,255,255,0.08);}

/* STATIC CARD GRID (no scroll) */
.card-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:44px;}
.card-grid.cols3{grid-template-columns:repeat(3,1fr);}
.card-grid .holding-card, .card-grid .case-card{flex:none; width:auto;}
@media(max-width:980px){ .card-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:700px){ .card-grid{grid-template-columns:repeat(2,1fr);} .card-grid.cols3{grid-template-columns:1fr;} }
@media(max-width:480px){ .card-grid{grid-template-columns:1fr;} }

/* INVESTMENTS PORTICO */
.inv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px 22px; margin-top:48px; text-align:left;}
.inv-card{display:flex; flex-direction:column;}
.inv-fill{position:relative; aspect-ratio:1/1; border-radius:22px; overflow:hidden; background:#0a0a0a; border:1px solid rgba(255,255,255,0.06);}
.inv-fill::before{content:''; position:absolute; inset:0; box-shadow:inset 0 0 60px rgba(0,0,0,0.5); pointer-events:none; z-index:1;}
.inv-fill.inv-meta{background:radial-gradient(90% 90% at 75% 15%, rgba(140,150,190,0.30) 0%, transparent 60%), linear-gradient(165deg, #1c1d22 0%, #0a0a0c 100%);}
.inv-fill.inv-amazon{background:radial-gradient(90% 90% at 75% 15%, rgba(190,150,100,0.26) 0%, transparent 60%), linear-gradient(165deg, #1c1a16 0%, #0a0908 100%);}
.inv-fill.inv-alphabet{background:radial-gradient(90% 90% at 75% 15%, rgba(150,170,200,0.28) 0%, transparent 60%), linear-gradient(165deg, #1a1c1e 0%, #09090a 100%);}
.inv-fill.inv-visa{background:radial-gradient(90% 90% at 75% 15%, rgba(200,175,120,0.30) 0%, transparent 60%), linear-gradient(165deg, #14161f 0%, #08090c 100%);}
.inv-fill.inv-apollo{background:radial-gradient(90% 90% at 75% 15%, rgba(196,148,74,0.30) 0%, transparent 60%), linear-gradient(165deg, #1d1d1d 0%, #080808 100%);}
.inv-fill.inv-microsoft{background:radial-gradient(90% 90% at 75% 15%, rgba(140,180,200,0.26) 0%, transparent 60%), linear-gradient(165deg, #191c1c 0%, #090a0a 100%);}
.inv-mark{position:absolute; top:-0.12em; right:-0.05em; font-family:'Fraunces',Georgia,serif; font-size:clamp(90px,18vw,190px); font-weight:400; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.09); z-index:1; line-height:1; pointer-events:none; user-select:none;}
.inv-overlay{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:26px 24px 24px; background:linear-gradient(to top, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.22) 65%, rgba(0,0,0,0) 100%);}
.inv-name{font-family:'Fraunces',Georgia,serif; font-size:clamp(24px,2.6vw,32px); font-weight:400; color:#fff; letter-spacing:-0.01em; line-height:1.05;}
.inv-desc{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13.5px; font-weight:400; color:rgba(255,255,255,0.68); margin-top:9px; line-height:1.45; max-width:88%;}
@media(max-width:860px){ .inv-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .inv-grid{grid-template-columns:1fr; max-width:320px; margin-left:auto; margin-right:auto;} }

/* HOLDINGS */
.holding-card{scroll-snap-align:start; flex:0 0 240px; border:1px solid var(--g3); border-radius:16px; padding:22px 20px; background:#ffffff; text-align:left; transition:border-color .25s, transform .25s, box-shadow .25s;}
.holding-card:hover{border-color:rgba(0,0,0,0.16); transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,0.06);}
.holding-card .name{font-size:16px; font-weight:700; margin-bottom:4px;}
.holding-card .sector{font-size:11.5px; color:var(--g2); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:14px;}
.holding-card .weight{font-size:26px; font-weight:700; margin-bottom:10px;}
.holding-card .thesis{font-size:12.5px; color:var(--g2); line-height:1.5;}
.holdings-more{margin-top:22px; font-size:13.5px; color:var(--g2);}
.dark .holding-card{background:#111214; border-color:rgba(255,255,255,0.1);}
.dark .holding-card .sector, .dark .holding-card .thesis{color:var(--ink2);}
.dark .holdings-more{color:var(--ink2);}

/* FULL PORTFOLIO (gated) */
#fullPortfolio{display:none; margin-top:40px; text-align:left; max-width:640px; margin-left:auto; margin-right:auto;}
.fp-table{width:100%; border-collapse:collapse;}
.fp-table td{padding:11px 6px; border-bottom:1px solid var(--g3); font-size:14px;}
.dark .fp-table td{border-color:var(--ink3);}
.fp-table td.fp-name{font-weight:700;}
.fp-table td.fp-sector{color:var(--g2); font-size:12.5px;}
.dark .fp-table td.fp-sector{color:var(--ink2);}
.fp-table td.fp-weight{text-align:right; font-weight:700; font-variant-numeric:tabular-nums;}
#investorLocked{margin-top:36px;}
#investorUnlockedNote{display:none; margin-top:16px; font-size:13px; color:var(--blue);}
.dark #investorUnlockedNote{color:#7fb8f5;}

/* CASE CARDS */
.case-card{scroll-snap-align:start; flex:0 0 300px; border:1px solid var(--g3); border-radius:18px; padding:28px 26px; background:#ffffff; text-align:left;}
.case-card h3{font-size:20px; margin-bottom:6px; font-weight:700;}
.case-card .ret{font-size:32px; font-weight:700; margin-bottom:2px;}
.case-card .ret-sub{font-size:11.5px; color:var(--g2); margin-bottom:16px;}
.case-card p{font-size:13px; color:var(--g2); line-height:1.55;}

/* FOUNDER */
.avatar-wrap{width:150px; height:150px; border-radius:50%; margin:0 auto 28px; overflow:hidden; border:1px solid var(--g3); background:#ffffff; display:flex; align-items:center; justify-content:center;}
.avatar-wrap img{width:100%; height:100%; object-fit:cover; display:block;}
.quote{font-size:clamp(19px,2.8vw,29px); font-weight:600; letter-spacing:-0.01em; line-height:1.35; max-width:760px; margin:0 auto;}
.founder-meta{margin-top:24px; font-size:14px; color:var(--g2);}
.founder-meta b{color:var(--ink); font-weight:700;}

/* FAMILY CALLOUT */
.family-card{margin-top:32px; border:1px solid rgba(0,113,227,0.25); border-radius:16px; padding:22px 28px; max-width:520px; margin-left:auto; margin-right:auto; background:rgba(0,113,227,0.045);}
.family-card .ft{font-size:13px; font-weight:700; color:var(--blue); margin-bottom:8px;}
.family-card p{font-size:13px; color:var(--g2); line-height:1.5;}

/* DOCS */
.doc-grid{display:flex; gap:14px; justify-content:center; margin-top:44px; flex-wrap:wrap;}
.doc-card{width:220px; border:1px solid var(--g3); border-radius:14px; padding:20px; text-align:left; background:#ffffff; transition:border-color .25s, box-shadow .25s;}
.doc-card:hover{border-color:rgba(0,0,0,0.16); box-shadow:0 10px 24px rgba(0,0,0,0.05);}
.doc-card .doc-icon{font-size:20px; margin-bottom:14px; opacity:.6;}
.doc-card .doc-name{font-size:14px; font-weight:700; margin-bottom:4px;}
.doc-card .doc-date{font-size:11.5px; color:var(--g2); margin-bottom:14px;}
.doc-card.pending{opacity:0.55;}
.doc-card a.dl{font-size:12.5px; color:var(--blue); border-bottom:1px solid rgba(0,113,227,0.3);}

/* CTA */
.waitlist-form{display:flex; gap:10px; max-width:420px; margin:32px auto 0; flex-wrap:wrap; justify-content:center;}
.waitlist-form input{flex:1; min-width:220px; padding:15px 20px; border-radius:100px; border:1px solid var(--g3); background:#f5f5f7; color:var(--ink); font-size:14.5px; font-family:inherit;}
.waitlist-form input::placeholder{color:var(--g2);}
.form-note{font-size:12px; color:var(--g2); margin-top:16px;}
.badge-row{display:flex; justify-content:center; gap:10px; margin-top:24px; flex-wrap:wrap;}
.badge{font-size:12px; padding:8px 16px; border:1px solid var(--g3); border-radius:100px; color:var(--g2);}
.inst-cta{margin-top:28px; font-size:13.5px; color:var(--g2);}
.inst-cta a{color:var(--ink); border-bottom:1px solid var(--g3);}

/* TRUST BAR */
.trust-bar{display:flex; justify-content:center; gap:34px; flex-wrap:wrap; margin-bottom:24px; font-size:13px; color:var(--g2);}
.trust-bar b{color:var(--ink); font-weight:700;}
.trust-bar .ph{color:var(--g2); border-bottom:1px dotted var(--g3);}

/* GENERIC CONTENT (subpages) */
.content-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; text-align:left; max-width:980px; margin:0 auto;}
@media(max-width:760px){ .content-grid{grid-template-columns:1fr;} }
.content-grid.cols3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){ .content-grid.cols3{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .content-grid.cols3{grid-template-columns:1fr;} }
.info-card{border:1px solid var(--g3); border-radius:16px; padding:26px 24px; background:#ffffff;}
.info-card h3{font-size:16px; margin-bottom:10px; font-weight:700;}
.info-card p{font-size:13.5px; color:var(--g2); line-height:1.55;}
.info-card .tag{font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--g2); margin-bottom:10px;}

.term-table{width:100%; border-collapse:collapse; text-align:left; max-width:720px; margin:0 auto;}
.term-table tr{border-bottom:1px solid var(--g3);}
.term-table td{padding:16px 8px; font-size:14.5px; vertical-align:top;}
.term-table td:first-child{color:var(--g2); width:40%;}
.term-table td:last-child{font-weight:600;}

.fee-table{width:100%; border-collapse:collapse; text-align:center; max-width:720px; margin:0 auto;}
.fee-table th{font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--g2); padding:12px 8px; border-bottom:1px solid var(--g3); font-weight:600;}
.fee-table td{padding:16px 8px; border-bottom:1px solid var(--g3); font-size:14px;}
.fee-table td:first-child, .fee-table th:first-child{text-align:left; font-weight:700;}

.faq-item{border-bottom:1px solid var(--g3); padding:20px 0; text-align:left; max-width:720px; margin:0 auto;}
.faq-item .q{font-size:15.5px; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center;}
.faq-item .a{font-size:13.5px; color:var(--g2); margin-top:12px; line-height:1.6; display:none;}
.faq-item.open .a{display:block;}
.faq-item .plus{transition:transform .25s; color:var(--g2);}
.faq-item.open .plus{transform:rotate(45deg);}

.step-row{display:flex; gap:22px; text-align:left; max-width:720px; margin:0 auto 28px; align-items:flex-start;}
.step-num{flex-shrink:0; width:38px; height:38px; border-radius:50%; border:1px solid var(--g3); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700;}
.step-row h3{font-size:16px; margin-bottom:6px; font-weight:700;}
.step-row p{font-size:13.5px; color:var(--g2); line-height:1.55;}

.office-row{display:flex; justify-content:center; gap:40px; flex-wrap:wrap; font-size:13.5px; color:var(--g2); margin-top:38px;}
.office-row b{color:var(--ink); display:block; margin-bottom:4px;}

/* DONUTS */
.donut-grid{display:flex; justify-content:center; gap:60px; flex-wrap:wrap; margin-top:20px;}
.donut-block{text-align:left;}
.donut-title{font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--g2); font-weight:600; margin-bottom:16px; text-align:center;}
.donut-row{display:flex; align-items:center; gap:20px;}
.donut{width:110px; height:110px; border-radius:50%; flex-shrink:0;}
.donut-legend{font-size:12.5px; color:var(--g2); display:flex; flex-direction:column; gap:6px;}
.donut-legend span{display:flex; align-items:center; gap:8px;}
.donut-legend b{color:var(--ink); font-weight:700; margin-left:14px;}
.dot{width:8px; height:8px; border-radius:50%; display:inline-block; flex-shrink:0;}

/* UNDERWRITING STATS */
.underwrite-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:720px; margin:0 auto;}
@media(max-width:700px){ .underwrite-grid{grid-template-columns:repeat(2,1fr);} }
.underwrite-grid .u{text-align:center; padding:20px 10px; border:1px solid var(--g3); border-radius:14px;}
.underwrite-grid .u .num{font-size:22px; font-weight:700;}
.underwrite-grid .u .lbl{font-size:11.5px; color:var(--g2); margin-top:6px;}

/* FOOTER */
footer{padding:48px 24px 30px; border-top:1px solid var(--g3); text-align:center; background:#f5f5f7;}
.footer-links{display:flex; justify-content:center; gap:20px; flex-wrap:wrap; font-size:12.5px; color:var(--g2); margin-bottom:24px;}
.footer-links a{cursor:pointer;}
.footer-links a:hover{color:var(--ink);}
.footer-legal{font-size:11px; color:rgba(29,29,31,0.42); max-width:760px; margin:0 auto 14px; line-height:1.7;}
.footer-legal .ph{color:var(--g2); border-bottom:1px dotted var(--g3);}
.footer-bottom{font-size:11px; color:rgba(29,29,31,0.34);}

/* MODAL (investor portal) */
.modal-overlay{position:fixed; inset:0; background:rgba(0,0,0,0.4); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:500; display:none; align-items:center; justify-content:center; padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#ffffff; border:1px solid var(--g3); border-radius:20px; max-width:420px; width:100%; padding:36px 32px; text-align:left; position:relative; box-shadow:0 30px 80px rgba(0,0,0,0.25);}
.modal-close{position:absolute; top:18px; right:20px; cursor:pointer; color:var(--g2); font-size:18px;}
.modal-close:hover{color:var(--ink);}
.modal-box h3{font-size:21px; margin-bottom:8px; font-weight:700; letter-spacing:-0.02em;}
.modal-box p.sub{font-size:13.5px; color:var(--g2); margin-bottom:22px;}
.modal-field{margin-bottom:14px;}
.modal-field label{display:block; font-size:12px; color:var(--g2); margin-bottom:6px;}
.modal-field input, .modal-field select{width:100%; padding:12px 16px; border-radius:10px; border:1px solid var(--g3); background:#f5f5f7; color:var(--ink); font-size:14px; font-family:inherit;}
.modal-check{display:flex; gap:10px; align-items:flex-start; margin:18px 0; font-size:12.5px; color:var(--g2); line-height:1.5;}
.modal-check input{margin-top:3px;}
.modal-box .pill{width:100%; justify-content:center; margin-top:4px;}

/* CONTACT FORM */
.contact-form{max-width:480px; margin:40px auto 0; text-align:left; display:flex; flex-direction:column; gap:14px;}
.contact-form label{font-size:12px; color:var(--g2);}
.contact-form input, .contact-form select, .contact-form textarea{padding:13px 18px; border-radius:12px; border:1px solid var(--g3); background:#f5f5f7; color:var(--ink); font-size:14px; font-family:inherit;}
.contact-form textarea{resize:vertical; min-height:100px;}

/* STICKY CTA BAR */
.sticky-cta{
  position:fixed; left:50%; bottom:22px; transform:translate(-50%,140%); z-index:90;
  display:flex; align-items:center; gap:16px; background:rgba(255,255,255,0.9); backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%);
  border:1px solid var(--g3); border-radius:100px; padding:10px 12px 10px 24px;
  transition:transform .4s cubic-bezier(.2,.8,.2,1); box-shadow:0 18px 44px rgba(0,0,0,0.14); max-width:calc(100vw - 32px);
}
.sticky-cta.show{transform:translate(-50%,0);}
.sticky-cta span{font-size:13px; color:var(--g1); white-space:nowrap;}
.sticky-cta .pill{white-space:nowrap;}
@media(max-width:640px){ .sticky-cta{flex-direction:column; gap:8px; padding:14px 18px; border-radius:20px;} .sticky-cta span{white-space:normal; text-align:center; font-size:12.5px;} }

/* COUNTDOWN */
.countdown-block{max-width:420px; margin:38px auto 0; text-align:center;}
.countdown-num{font-size:48px; font-weight:700; letter-spacing:-0.03em;}
.countdown-lbl{font-size:12.5px; color:var(--g2); margin-top:2px; margin-bottom:16px;}
.countdown-track{height:6px; background:var(--g3); border-radius:6px; overflow:hidden;}
.countdown-fill{height:100%; background:linear-gradient(90deg,var(--blue),#59a7f0); border-radius:6px;}
.countdown-note{font-size:12px; color:var(--g2); margin-top:16px; line-height:1.6;}

/* PENDING TAG */
.pending-tag{display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--g2); border:1px solid var(--g3); border-radius:100px; padding:4px 10px;}

/* WAITLIST SOCIAL PROOF */
.waitlist-count-slot{font-size:12.5px; color:var(--blue); margin-top:14px; display:none;}

/* MODAL INSTITUTIONAL BYPASS */
.modal-bypass{font-size:12px; color:var(--g2); margin-top:16px; line-height:1.5; text-align:center;}
.modal-bypass a{color:var(--ink); border-bottom:1px solid var(--g3);}

/* DON'T LIST (estrategia.html) */
.info-card.dont{border-color:rgba(192,57,43,0.28); background:rgba(192,57,43,0.045);}
.info-card.dont .tag{color:#c0392b;}

::selection{background:var(--ink); color:#fff;}
