@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap');
/* Redrock Ventures — shared design system  ·  cardinal / gold / black / white */
:root{
  --bg:#0A0708; --bg2:#120A0B; --panel:#180D0E; --panel2:#20100F;
  --ink:#F4F1EC; --muted:#B4A79C; --faint:#80756B;
  --red:#A01528; --red-bright:#B91D33; --red-deep:#5E0F1B;
  --gold:#C9A24B; --gold-soft:#E6C77A;
  --line:rgba(201,162,75,.20); --line-red:rgba(160,21,40,.34); --hair:rgba(255,255,255,.07);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,.serif{font-family:var(--serif);font-weight:500;letter-spacing:.4px}
a{color:var(--gold-soft);text-decoration:none}
img,svg{display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.pad{padding:104px 0}.pad-sm{padding:72px 0}
.alt{background:var(--bg2)}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.rule{width:54px;height:1px;background:var(--red);margin:20px 0}
.sec-head{max-width:70ch;margin:0 auto 54px;text-align:center}
.sec-head h2{font-size:clamp(30px,4.4vw,52px);line-height:1.05}
.sec-head p{color:var(--muted);font-size:17px;margin-top:18px}
.gold{color:var(--gold-soft)}.red{color:var(--red-bright)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(10,7,8,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:13px}
.brand .mark{width:38px;height:38px;flex:none}
.brand .word{font-family:'Space Grotesk',var(--sans);font-weight:600;font-size:19px;letter-spacing:3px;text-transform:uppercase;line-height:1}
.brand .word b{color:var(--red-bright);font-weight:600}
.brand .word span{color:var(--gold);font-weight:500}
.menu{display:flex;align-items:center;gap:30px}
.menu a{font-family:var(--sans);font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink);font-weight:400;opacity:.82;transition:.2s}
.menu a:hover,.menu a.active{opacity:1;color:var(--gold-soft)}
.menu .btn{padding:11px 22px}
.navtoggle{display:none;background:none;border:0;color:var(--ink);font-size:24px;cursor:pointer}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:15px 30px;border:1px solid var(--gold);color:var(--gold-soft);transition:.25s;cursor:pointer;background:none}
.btn:hover{background:var(--gold);color:#0A0708}
.btn.solid{background:var(--gold);color:#0A0708}
.btn.solid:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.btn.red{border-color:var(--red);color:#fff;background:var(--red)}
.btn.red:hover{background:var(--red-bright);border-color:var(--red-bright)}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.77vh;transform:translate(-50%,-50%);border:0}
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,7,8,.74),rgba(10,7,8,.5) 45%,rgba(10,7,8,.94))}
.hero .wrap{position:relative;z-index:2;padding:70px 28px}
.hero h1{font-size:clamp(40px,6.2vw,80px);line-height:1.02;max-width:15ch}
.hero h1 em{font-style:italic;color:var(--gold-soft)}
.hero .lede{max-width:56ch;color:#d8d2ca;font-size:18px;margin-top:24px}
.quote{border-left:1px solid var(--red);padding-left:22px;max-width:50ch;margin-top:36px}
.quote p{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink);line-height:1.35}
.quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:12px}
.cta-row{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}

/* stat bar */
.statbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(0,0,0,.35)}
.statbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 18px;text-align:center;border-right:1px solid var(--hair)}
.stat:last-child{border-right:0}
.stat .num{font-family:var(--serif);font-size:42px;color:var(--gold-soft);line-height:1}
.stat .lbl{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:12px}

/* generic grids/cards */
.grid{display:grid;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}
.cell{background:var(--bg);padding:34px 30px}
.cell .k{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold)}
.cell h3{font-size:25px;margin:8px 0 12px}
.cell p{font-size:14px;color:var(--muted)}
.cell .n{font-family:var(--serif);font-size:30px;color:var(--red-bright);opacity:.85}

/* band quote */
.band{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.band .wrap{padding:90px 28px}
.band p{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.6vw,42px);line-height:1.3;max-width:26ch;margin:0 auto;color:#f3f0e9}
.band cite{display:block;font-style:normal;font-family:var(--sans);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-top:26px}

/* video shell */
.vid-feature{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.vid-shell{position:relative;border:1px solid var(--line);background:#000;aspect-ratio:16/9;overflow:hidden}
.vid-shell video,.vid-shell iframe{width:100%;height:100%;object-fit:cover;border:0}
.vid-cap{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:14px}

/* CTA */
.cta{text-align:center}
.cta h2{font-size:clamp(32px,5vw,58px);max-width:20ch;margin:0 auto 20px}
.cta p{color:var(--muted);max-width:54ch;margin:0 auto 32px;font-size:17px}

/* footer */
.foot{background:#050304;border-top:1px solid var(--hair)}
.foot .wrap{padding:60px 28px}
.foot .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:34px;border-bottom:1px solid var(--hair)}
.foot .brand .word{font-size:20px}
.foot .fmenu{display:flex;gap:26px;flex-wrap:wrap}
.foot .fmenu a{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.foot .fmenu a:hover{color:var(--gold-soft)}
.foot h5{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:24px 0 8px}
.foot p.legal{font-size:11.5px;line-height:1.7;color:#6b6058;max-width:98ch}
.foot .bottom{margin-top:30px;padding-top:20px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;color:#5e544c;letter-spacing:.4px}
.foot .bottom a{color:#8a7f74}

/* thesis components */
.num-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.num-item{background:var(--bg);padding:40px 36px}
.num-item .n{font-family:var(--serif);font-size:30px;color:var(--red-bright);opacity:.8}
.num-item h3{font-size:23px;margin:10px 0 12px}.num-item p{color:var(--muted);font-size:15px}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.pillar{background:var(--bg);padding:30px 22px}
.pillar .k{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);line-height:1.5;min-height:46px}
.pillar h3{font-size:17px;font-family:var(--sans);font-weight:600;margin:6px 0 12px}
.pillar p{font-size:13px;color:var(--muted)}
.mkt{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.mkt .m{background:var(--bg);padding:34px 28px}
.mkt .cat{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.mkt .big{font-family:var(--serif);font-size:50px;color:var(--gold-soft);line-height:1;margin:12px 0 4px}
.mkt .sub{font-size:13px;color:var(--muted)}.mkt .who{font-size:12px;color:var(--red-bright);margin-top:10px}
.ftable{width:100%;border-collapse:collapse;border:1px solid var(--hair)}
.ftable th,.ftable td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--hair);font-size:14px;vertical-align:top}
.ftable th{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);background:rgba(0,0,0,.3)}
.ftable td.sec{color:var(--ink);font-weight:500}
.ftable td.tam{color:var(--gold-soft);font-family:var(--serif);font-size:19px;white-space:nowrap}
.ftable td.drv{color:var(--muted)}.ftable tr:hover td{background:rgba(200,16,46,.05)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.tier{background:var(--bg);padding:32px 28px}
.tier .th{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.tier .sub{font-size:12px;color:var(--faint);margin-bottom:18px}.tier ul{list-style:none}
.tier li{font-size:14.5px;color:var(--ink);padding:9px 0;border-top:1px solid var(--hair)}
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.tri{background:var(--bg);padding:36px 30px}
.tri .role{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--red-bright)}
.tri h3{font-size:31px;margin:10px 0 14px}.tri p{font-size:14px;color:var(--muted)}
.loop{margin:34px 0;border-left:1px solid var(--red);padding:6px 0 6px 26px;font-family:var(--serif);font-style:italic;font-size:21px;color:#dfd9d1;max-width:90ch;line-height:1.5}
.callout-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.cs{background:var(--bg);padding:30px 20px;text-align:center}
.cs .num{font-family:var(--serif);font-size:38px;color:var(--gold-soft);line-height:1}
.cs .lbl{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:10px}
.risk{border:1px solid var(--line-red);background:rgba(200,16,46,.05);padding:36px 38px}
.risk h3{font-size:25px;margin-bottom:8px}.risk .lead{font-size:13px;color:var(--muted);margin-bottom:22px}
.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 44px}
.risk-grid .ri{font-size:13.5px;color:var(--muted);border-top:1px solid var(--hair);padding-top:14px}
.risk-grid strong{display:block;color:var(--ink);font-weight:500;margin-bottom:4px;font-size:14px}
.chart-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:center}
.chart{display:flex;align-items:flex-end;gap:9px;height:290px;border-bottom:1px solid var(--line);padding-top:10px}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bar .col{width:100%;background:var(--red);border-radius:2px 2px 0 0;transition:.3s}
.bar:hover .col{background:var(--red-bright)}
.bar .val{font-size:11px;color:var(--gold-soft);margin-bottom:7px;white-space:nowrap}
.bar .yr{font-size:11px;color:var(--muted);margin-top:9px}
.quote-block{border-left:1px solid var(--red);padding-left:26px}
.quote-block p{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.34;color:var(--ink)}
.quote-block cite{display:block;font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:16px}
.stack{border:1px solid var(--hair)}
.layer{display:grid;grid-template-columns:240px 1fr;gap:26px;padding:26px 30px;border-bottom:1px solid var(--hair);align-items:baseline}
.layer:last-child{border-bottom:0}.layer:hover{background:rgba(200,16,46,.04)}
.layer .lname{font-family:var(--serif);font-size:25px;color:var(--gold-soft)}
.layer .lname small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);margin-top:5px}
.layer .lsec{color:var(--ink);font-size:15px;font-weight:300}
.layer .lsec b{color:var(--red-bright);font-weight:500}
.research{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.paper{background:var(--bg);padding:26px 28px}
.paper .src{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.paper h4{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink);margin:8px 0}
.paper p{font-size:13px;color:var(--muted)}
@media(max-width:980px){
  .pillars,.callout-stats{grid-template-columns:repeat(2,1fr)}
  .tiers,.triad,.research,.num-grid,.mkt{grid-template-columns:1fr}
  .risk-grid,.chart-wrap{grid-template-columns:1fr}
  .grid.c4,.grid.c3{grid-template-columns:repeat(2,1fr)}
  .statbar .wrap{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--hair)}
  .vid-feature{grid-template-columns:1fr;gap:34px}
  .menu{position:fixed;inset:74px 0 auto 0;flex-direction:column;background:var(--panel);padding:24px 28px;gap:20px;border-bottom:1px solid var(--line);display:none}
  .menu.open{display:flex}
  .navtoggle{display:block}
}
@media(max-width:600px){
  .grid.c4,.grid.c3,.grid.c2{grid-template-columns:1fr}
  .pad{padding:70px 0}
}
.tower{display:flex;flex-direction:column;max-width:720px;margin:0 auto}
.rung{border:1px solid var(--line);background:var(--panel);padding:22px 28px;text-align:center}
.rung .rname{font-family:var(--serif);font-size:25px;color:var(--gold-soft)}
.rung .ritems{font-size:13px;color:var(--muted);margin-top:6px}
.rung.base{border-color:var(--line-red);background:#190b0c}
.rung.base .rname{color:var(--red-bright)}
.up{text-align:center;color:var(--gold);font-size:15px;line-height:1;padding:7px 0}
.chainflow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:0 auto;max-width:920px}
.chainflow span{border:1px solid var(--line);padding:9px 16px;font-size:13px;color:var(--ink);white-space:nowrap}
.chainflow b{color:var(--red-bright);font-weight:500;padding:0 2px}
