/* MVP: light and bright by day, dark and calm by night. Every colour is a token so both themes stay in step. */

:root{
  --bg:#FFFFFF;
  --bg-2:#F4F6FB;
  --card:#FFFFFF;
  --ink:#0B0D12;
  --ink-2:#3A404D;
  --mute:#6A7182;
  --rule:#E3E6EE;
  --accent:#2447FF;
  --accent-2:#1A35D6;
  --on-accent:#FFFFFF;
  --sun:#FFB020;
  --live:#E5383B;
  --glow:radial-gradient(60% 55% at 78% 30%,rgba(36,71,255,.12),transparent 70%),radial-gradient(45% 45% at 10% 90%,rgba(255,176,32,.12),transparent 70%);
  --shadow:0 1px 2px rgba(11,13,18,.04),0 12px 32px -12px rgba(11,13,18,.12);
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"Geist Mono",ui-monospace,Menlo,monospace;
  --r:20px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0E1116;
    --bg-2:#131720;
    --card:#161B25;
    --ink:#E9ECF2;
    --ink-2:#B3B9C7;
    --mute:#868D9E;
    --rule:#242A37;
    --accent:#93A6FF;
    --accent-2:#B4C2FF;
    --on-accent:#0E1116;
    --sun:#E9C27A;
    --live:#FF6B6B;
    --glow:radial-gradient(60% 55% at 78% 30%,rgba(147,166,255,.10),transparent 70%),radial-gradient(45% 45% at 10% 90%,rgba(233,194,122,.06),transparent 70%);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1116;
  --bg-2:#131720;
  --card:#161B25;
  --ink:#E9ECF2;
  --ink-2:#B3B9C7;
  --mute:#868D9E;
  --rule:#242A37;
  --accent:#93A6FF;
  --accent-2:#B4C2FF;
  --on-accent:#0E1116;
  --sun:#E9C27A;
  --live:#FF6B6B;
  --glow:radial-gradient(60% 55% at 78% 30%,rgba(147,166,255,.10),transparent 70%),radial-gradient(45% 45% at 10% 90%,rgba(233,194,122,.06),transparent 70%);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;transition:background .35s,color .35s;overflow-x:hidden}
h1,h2,h3,h4,h5,p,ol,ul,figure{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit}
img,video,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}

.wrap{width:min(1200px,100% - 48px);margin:0 auto}

/* The mark is the traced logo, used as a mask so it takes the theme's ink. */
.mark{display:inline-block;height:26px;aspect-ratio:2.651;background:currentColor;-webkit-mask:url(/assets/mvp-mark.svg) center/contain no-repeat;mask:url(/assets/mvp-mark.svg) center/contain no-repeat;font-size:0;color:var(--ink);text-decoration:none}
.mark-lg{height:56px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--ink);color:var(--bg);font:500 15px/1 var(--sans);text-decoration:none;border:1px solid var(--ink);transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-1px);background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn svg{width:16px;height:16px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{background:var(--bg-2);color:var(--ink);border-color:var(--ink-2)}
.btn-sm{padding:10px 16px;font-size:14px}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-color:var(--rule)}
.nav .wrap{display:flex;align-items:center;gap:32px;height:72px}
.nav ul{display:flex;gap:28px;margin-left:auto}
.nav ul a{text-decoration:none;font-size:15px;color:var(--ink-2);transition:color .2s}
.nav ul a:hover{color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:12px}
.theme{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--rule);color:var(--ink-2);transition:color .2s,border-color .2s}
.theme:hover{color:var(--ink);border-color:var(--ink-2)}
.theme svg{width:18px;height:18px}
.theme .i-moon{display:none}
:root[data-theme="dark"] .theme .i-sun{display:none}
:root[data-theme="dark"] .theme .i-moon{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme .i-sun{display:none}
  :root:not([data-theme="light"]) .theme .i-moon{display:block}
}
.nav-toggle{display:none;width:40px;height:40px;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:1.6px;background:var(--ink);transition:transform .25s}
.nav-toggle span:first-child{top:15px}
.nav-toggle span:last-child{top:23px}
.menu-open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Hero */
.hero{position:relative;padding:150px 0 90px;background:var(--glow)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:9px 14px;border:1px solid var(--rule);border-radius:999px;background:var(--card)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.hero h1{margin-top:28px;font:600 clamp(44px,6.4vw,88px)/.98 var(--sans);letter-spacing:-.045em;text-wrap:balance}
.hero h1 em{display:block;color:var(--accent);font-size:1.08em;letter-spacing:-.02em;line-height:1}
.lede{margin-top:28px;max-width:54ch;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink-2)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

.hero-nest{position:relative}
.hero-nest svg{width:100%;height:auto;overflow:visible}
.hero-nest figcaption{margin-top:12px;text-align:center;font:400 13px/1.4 var(--mono);color:var(--mute)}
.ring{fill:none;stroke:var(--rule);stroke-width:1.2}
.ring-b{stroke-dasharray:2 8;animation:spin 90s linear infinite;transform-origin:260px 260px}
.ring-c{stroke-dasharray:1 6;animation:spin 60s linear infinite reverse;transform-origin:260px 260px}
.spokes path{stroke:color-mix(in srgb,var(--accent) 35%,var(--rule));stroke-width:1.2;fill:none}
.pulses circle{fill:var(--accent)}
.node circle{fill:var(--card);stroke:var(--rule);stroke-width:1.2;filter:drop-shadow(0 6px 14px rgba(0,0,0,.06))}
.node text{font:500 14px var(--sans);fill:var(--ink);text-anchor:middle}
.core circle{fill:var(--accent)}
.core text{font:italic 400 24px var(--serif);fill:var(--on-accent);text-anchor:middle}
.core text.sub{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
@keyframes spin{to{transform:rotate(360deg)}}

/* Sections */
.section{padding:120px 0}
.band{padding:120px 0;background:var(--bg-2);border-block:1px solid var(--rule)}
.kicker{font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.h2{margin-top:18px;max-width:20ch;font:600 clamp(34px,4.6vw,60px)/1.04 var(--sans);letter-spacing:-.04em;text-wrap:balance}
.h2 em{color:var(--ink-2)}
.intro{margin-top:24px;max-width:62ch;font-size:clamp(17px,1.4vw,19px);color:var(--ink-2)}

/* Thesis */
.shift{margin-top:56px;display:grid;gap:14px}
.shift-row{display:grid;grid-template-columns:1fr 56px 1fr;align-items:stretch;gap:0}
.shift-row>div:not(.arrow){padding:26px 28px;border-radius:var(--r);border:1px solid var(--rule)}
.was{background:transparent;color:var(--mute)}
.now{background:var(--card);box-shadow:var(--shadow)}
.shift .lbl{display:block;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.was .lbl{color:var(--mute)}
.now .lbl{color:var(--accent)}
.shift p{font-size:clamp(17px,1.6vw,21px);line-height:1.4;letter-spacing:-.01em}
.was p{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--mute) 45%,transparent);text-decoration-thickness:1px}
.now p{color:var(--ink)}
.arrow{display:grid;place-items:center;color:var(--accent)}
.arrow svg{width:24px;height:24px}

/* Nest chambers */
.chambers{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.chamber{position:relative;padding:30px 28px 28px;border:1px solid var(--rule);border-radius:var(--r);background:var(--card);transition:transform .3s,box-shadow .3s,border-color .3s}
.chamber:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 40%,var(--rule))}
.chamber .num{font:500 13px var(--mono);color:var(--mute)}
.chamber h3{margin-top:22px;font:400 38px/1 var(--serif);letter-spacing:-.01em}
.chamber p{margin-top:14px;color:var(--ink-2);font-size:16px}
.owner{position:absolute;top:26px;right:26px;font:500 11px/1 var(--mono);letter-spacing:.1em;padding:7px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--rule)}
.eco{margin-top:16px;padding:34px 36px;border-radius:var(--r);background:var(--ink);color:var(--bg);display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center}
.eco h3{font:600 clamp(24px,2.4vw,32px)/1.1 var(--sans);letter-spacing:-.03em}
.eco p{opacity:.78}

/* Disposable ventures */
.cycle{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:c;position:relative}
.cycle::before{content:"";position:absolute;top:21px;left:22px;right:22px;height:1px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent))}
.cycle li{position:relative;padding:62px 24px 0 0;counter-increment:c}
.cycle li::before{content:counter(c);position:absolute;top:0;left:0;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--accent);color:var(--accent);font:500 14px var(--mono)}
.cycle li:last-child::before{background:var(--accent);color:var(--on-accent)}
.step{display:block;font:400 32px/1 var(--serif)}
.cycle p{margin-top:10px;color:var(--ink-2);max-width:24ch}

/* Ventures */
.venture-lead{margin-top:56px;display:grid;grid-template-columns:1.35fr .65fr;gap:44px;align-items:center}
.film{position:relative;border-radius:calc(var(--r) + 4px);overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:var(--shadow)}
.film video{width:100%;height:100%;object-fit:cover}
.film-play{position:absolute;inset:0;display:grid;grid-template-columns:auto 1fr;align-content:end;align-items:center;gap:14px;padding:26px;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%);color:#fff;transition:opacity .3s}
.film-play .disc{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0B0D12;transition:transform .25s}
.film-play:hover .disc{transform:scale(1.06)}
.film-play .disc svg{width:24px;height:24px;margin-left:3px}
.film-lbl{font:500 16px/1.2 var(--sans);text-align:left;align-self:center;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.film-lbl small{display:block;font:400 13px var(--mono);opacity:.75;margin-top:4px}
.film.playing .film-play{opacity:0;pointer-events:none}
.tagrow{display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;border:1px solid var(--rule);font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--card)}
.tag.live{color:var(--live);border-color:color-mix(in srgb,var(--live) 35%,var(--rule))}
.tag.live .dot{width:7px;height:7px;border-radius:50%;background:var(--live);animation:blink 1.6s ease-in-out infinite}
.tag.soft{background:var(--bg-2)}
@keyframes blink{50%{opacity:.25}}
.venture-copy h3{margin-top:22px;font:600 clamp(40px,4vw,56px)/1 var(--sans);letter-spacing:-.045em}
.venture-copy .big{margin-top:6px;font:italic 400 clamp(26px,2.4vw,34px)/1.15 var(--serif);color:var(--accent)}
.venture-copy p:not(.big){margin-top:18px;color:var(--ink-2)}
.venture-copy .btn{margin-top:28px}
.pipeline{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.venture-next{padding:30px 30px 28px;border-radius:var(--r);border:1px dashed color-mix(in srgb,var(--ink-2) 35%,var(--rule));background:var(--bg-2)}
.venture-next h3{margin-top:22px;font:400 36px/1 var(--serif)}
.venture-next p{margin-top:12px;color:var(--ink-2)}
.meter{margin-top:24px;height:4px;border-radius:4px;background:var(--rule);overflow:hidden}
.meter span{display:block;height:100%;width:var(--w);background:var(--accent);border-radius:4px}

/* Partners: each one a 16:9 shot of the person in their element, alternating sides */
.partners{margin-top:56px;display:grid;gap:28px}
.partner{display:grid;grid-template-columns:1.65fr 1fr;gap:44px;align-items:center}
.partner:nth-child(even){grid-template-columns:1fr 1.65fr}
.partner:nth-child(even) .shot{order:2}
.shot{aspect-ratio:16/9;border-radius:calc(var(--r) + 4px);overflow:hidden;background:var(--rule);box-shadow:var(--shadow)}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.partner:hover .shot img{transform:scale(1.025)}
.role{display:inline-block;font:500 12px/1 var(--mono);letter-spacing:.1em;padding:7px 10px;border-radius:999px;border:1px solid var(--rule);background:var(--card);color:var(--accent)}
.partner h3{margin-top:20px;font:600 clamp(30px,3vw,40px)/1.05 var(--sans);letter-spacing:-.035em}
.partner .title{margin-top:6px;color:var(--mute);font-size:15px}
.partner .does{margin-top:18px;font:italic 400 30px/1.1 var(--serif);color:var(--accent)}
.partner-copy p:last-child{margin-top:14px;color:var(--ink-2);font-size:16px;max-width:42ch}

/* Close */
.close{padding:130px 0;text-align:center;background:var(--glow)}
.close-in{display:flex;flex-direction:column;align-items:center}
.close .h2{margin-top:0;max-width:18ch}
.close p{margin-top:18px;color:var(--ink-2);font-size:19px}
.close .cta-row{justify-content:center}

/* Footer */
.foot{padding:64px 0 40px;border-top:1px solid var(--rule)}
.foot-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.foot-line{margin-top:14px;color:var(--mute);font-size:15px}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(140px,auto));gap:48px}
.foot-cols h5{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}
.foot-cols a{display:block;margin-top:10px;text-decoration:none;color:var(--ink-2);font-size:15px}
.foot-cols a:hover{color:var(--ink)}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--mute)}

/* Reveal on scroll, only when motion is welcome */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .js .reveal.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ring-b,.ring-c,.tag.live .dot{animation:none}
  .pulses{display:none}
  html{scroll-behavior:auto}
}

/* Legal and contact pages */
.page-hero{padding:150px 0 56px;background:var(--glow);border-bottom:1px solid var(--rule)}
.page-hero h1{margin-top:22px;max-width:18ch;font:600 clamp(40px,5.6vw,72px)/1 var(--sans);letter-spacing:-.045em;text-wrap:balance}
.page-hero .vp{margin-top:20px;max-width:58ch;color:var(--ink-2);font-size:clamp(17px,1.4vw,19px)}
.page-body{padding:72px 0 110px}
.doc{max-width:820px;margin:0 auto}
.doc h2{margin-top:48px;font:600 25px/1.25 var(--sans);letter-spacing:-.02em;text-wrap:balance}
.doc h2:first-child{margin-top:0}
.doc h3{margin-top:30px;font:600 18px/1.35 var(--sans);color:var(--ink-2)}
.doc p{margin-top:16px;line-height:1.7;color:var(--ink-2)}
.doc p strong{color:var(--ink)}
.doc ul,.doc ol{margin-top:16px;padding-left:24px;display:grid;gap:10px;line-height:1.7;color:var(--ink-2)}
.doc ul{list-style:disc}
.doc ol{list-style:decimal}
.doc li::marker{color:var(--accent)}
.doc a{color:var(--accent)}
.doc table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
.doc th,.doc td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
.doc-aside{max-width:820px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--rule);font-size:15px;color:var(--mute)}
.doc-aside a{color:var(--accent)}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:980px;margin:0 auto}
.contact-card{padding:28px;border-radius:var(--r);border:1px solid var(--rule);background:var(--card)}
.contact-card h2{font:400 32px/1 var(--serif)}
.contact-card p{margin-top:12px;color:var(--ink-2)}
.contact-card a{color:var(--accent);word-break:break-word}

/* Phones and tablets */
@media (max-width:960px){
  .hero{padding:120px 0 70px}
  .hero-in{grid-template-columns:1fr;gap:40px}
  .hero-nest{max-width:440px;margin:0 auto;width:100%}
  .chambers{grid-template-columns:1fr 1fr}
  .partner,.partner:nth-child(even){grid-template-columns:1fr;gap:22px}
  .partner:nth-child(even) .shot{order:0}
  .venture-lead{grid-template-columns:1fr;gap:30px}
  .eco{grid-template-columns:1fr;gap:12px}
  .cycle{grid-template-columns:1fr 1fr;row-gap:40px}
  .cycle::before{display:none}
}
/* Back to top, desktop only: the phone has its dock */
.to-top{position:fixed;right:28px;bottom:28px;z-index:55;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s,color .2s,border-color .2s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.to-top svg{width:20px;height:20px}
.dock,.dots{display:none}

/* The phone: its own design, not a squeezed desktop. A thumb dock, swipeable decks, a full-bleed film, portrait partners. */
@media (max-width:760px){
  html{scroll-padding-top:68px}
  body{font-size:16px}
  .wrap{width:calc(100% - 40px)}
  .to-top{display:none}

  .nav .wrap{height:60px}
  .nav ul,.nav .btn-sm,.nav-toggle{display:none}
  .nav-actions{margin-left:auto}
  .mark{height:22px}
  .mark-lg{height:44px}
  .theme{width:38px;height:38px}

  .dock{position:fixed;z-index:60;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:66px;display:grid;grid-template-columns:repeat(4,1fr) 58px;align-items:center;padding:0 6px 0 2px;border-radius:24px;background:color-mix(in srgb,var(--card) 80%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--rule);box-shadow:0 14px 34px -12px rgba(0,0,0,.28)}
  .dock a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 0;font:500 10.5px/1 var(--sans);color:var(--mute);text-decoration:none;transition:color .2s;-webkit-tap-highlight-color:transparent}
  .dock a svg{width:22px;height:22px}
  .dock a.on{color:var(--accent)}
  .dock .talk{width:52px;height:52px;justify-content:center;border-radius:18px;background:var(--accent);color:var(--on-accent)}
  .dock .talk svg{width:22px;height:22px}

  .hero{min-height:100svh;padding:68px 0 calc(104px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
  .hero-in{display:flex;flex-direction:column;gap:0}
  .hero-nest{order:-1;width:min(230px,62vw);max-width:none;margin:0 auto 10px}
  .hero-nest figcaption{display:none}
  .hero h1{margin-top:18px;font-size:clamp(42px,12.2vw,54px);line-height:.95}
  .hero h1 em{margin-top:2px}
  .lede{margin-top:16px;font-size:16px;line-height:1.48}
  .hero .btn-ghost{display:none}
  .cta-row{flex-direction:column;gap:10px;margin-top:26px}
  .cta-row .btn{justify-content:center;padding:17px 22px;font-size:16px}

  .section,.band{padding:72px 0}
  .kicker{font-size:12px}
  .h2{margin-top:14px;max-width:none;font-size:clamp(32px,9.2vw,40px);line-height:1.04}
  .h2 em{display:block}
  .intro{margin-top:16px;font-size:16.5px}

  .shift,.pipeline,.partners{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:32px -20px 0;padding:4px 20px 10px;scroll-padding:0 20px;scrollbar-width:none;overscroll-behavior-x:contain}
  .shift::-webkit-scrollbar,.pipeline::-webkit-scrollbar,.partners::-webkit-scrollbar{display:none}
  .dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .dots i{width:6px;height:6px;border-radius:3px;background:var(--rule);transition:width .3s,background .3s}
  .dots i.on{width:22px;background:var(--accent)}
  .js .shift .reveal,.js .pipeline .reveal,.js .partners .reveal{opacity:1;transform:none}

  .shift-row{flex:0 0 86%;scroll-snap-align:start;display:flex;flex-direction:column}
  .shift-row>div:not(.arrow){padding:22px 22px 24px}
  .shift-row .was{border-radius:var(--r) var(--r) 0 0;border-bottom:0}
  .shift-row .now{flex:1;border-radius:0 0 var(--r) var(--r)}
  .shift .arrow{height:0;position:relative;z-index:1;transform:none}
  .shift .arrow svg{position:absolute;top:-17px;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--accent);color:var(--on-accent);transform:rotate(90deg)}
  .shift p{font-size:19px}

  .chambers{display:block;margin-top:30px;border-top:1px solid var(--rule)}
  .chamber{display:grid;grid-template-columns:34px 1fr auto;column-gap:8px;align-items:baseline;padding:20px 0 22px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none}
  .chamber:hover{transform:none;box-shadow:none;border-color:var(--rule)}
  .chamber .num{grid-area:1/1}
  .chamber h3{grid-area:1/2;margin:0;font-size:32px}
  .owner{grid-area:1/3;position:static;align-self:center}
  .chamber p{grid-column:2/4;margin-top:8px;font-size:15.5px}
  .eco{margin:28px -20px 0;border-radius:0;padding:34px 20px 36px;grid-template-columns:1fr}
  .eco h3{font-size:26px}

  .cycle{display:block;margin-top:34px}
  .cycle::before{display:none}
  .cycle li:not(:last-child)::after{content:"";position:absolute;left:21px;top:43px;bottom:0;width:1px;background:color-mix(in srgb,var(--accent) 45%,transparent)}
  .cycle li{padding:0 0 30px 64px;min-height:43px}
  .cycle li:last-child{padding-bottom:0}
  .step{padding-top:5px;font-size:30px}
  .cycle p{margin-top:6px;max-width:none}

  .venture-lead{display:block;margin-top:30px}
  .film{margin:0 -20px;border-radius:0;box-shadow:none}
  .film-play{padding:16px 20px;gap:12px}
  .film-play .disc{width:54px;height:54px}
  .venture-copy{margin-top:26px}
  .venture-copy h3{margin-top:16px;font-size:46px}
  .venture-copy .btn{width:100%;justify-content:center;padding:17px}
  .pipeline{margin-top:26px}
  .venture-next{flex:0 0 82%;scroll-snap-align:start;padding:26px 24px 24px}
  .venture-next h3{font-size:32px}

  .partners{margin-top:30px}
  .partner,.partner:nth-child(even){flex:0 0 84%;scroll-snap-align:start;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto auto auto auto;gap:0;align-items:end}
  .partner-copy{display:contents}
  .partner .shot,.partner:nth-child(even) .shot{grid-area:1/1/4/2;order:0;position:relative;aspect-ratio:4/5;box-shadow:none}
  .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,0) 46%)}
  .shot img{object-position:var(--pos,center)}
  .partner:hover .shot img{transform:none}
  .role{grid-area:1/1;align-self:start;justify-self:start;z-index:1;margin:14px;color:#fff;background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .partner h3{grid-area:2/1;z-index:1;margin:0 20px;color:#fff;font-size:30px}
  .partner .title{grid-area:3/1;z-index:1;margin:4px 20px 18px;color:rgba(255,255,255,.82);font-size:14px}
  .partner .does{grid-row:4;margin-top:18px;font-size:26px}
  .partner-copy p:last-child{grid-row:5;margin-top:8px;font-size:15.5px}

  .close{padding:84px 0 76px}
  .close .h2 em{display:block}
  .close p{font-size:17px}
  .close .cta-row{width:100%}

  .foot{padding:48px 0 calc(112px + env(safe-area-inset-bottom))}
  .foot-top{flex-direction:column;gap:32px}
  .foot-cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .foot-cols div:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 20px}
  .foot-cols div:last-child h5{flex-basis:100%;margin-bottom:6px}
  .foot-bottom{flex-direction:column;gap:6px;margin-top:36px}

  .page-hero{padding:100px 0 40px}
  .page-hero h1{font-size:clamp(36px,10vw,46px)}
  .page-body{padding:44px 0 72px}
  .doc h2{margin-top:40px;font-size:22px}
  .contact-grid{grid-template-columns:1fr}
  .contact-card h2{font-size:30px}
}

/* The phone deck: one card per concept, swiped up to reveal the next, which waits underneath. Hidden on desktop. */
.deck,.m-top,.m-toast{display:none}
@media (max-width:760px){
  html:has(body.has-feed),body.has-feed{height:100%;overflow:hidden;overscroll-behavior:none}
  body.has-feed>.nav,body.has-feed>main:not(.deck),body.has-feed>.foot,body.has-feed>.dock,body.has-feed>.to-top{display:none}
  body.has-feed{--top:calc(58px + env(safe-area-inset-top));--peek:26px;--bot:calc(12px + env(safe-area-inset-bottom));background:var(--bg-2)}

  .m-top{display:flex;align-items:center;gap:14px;position:fixed;z-index:200;top:0;left:0;right:0;height:var(--top);padding:env(safe-area-inset-top) 16px 0}
  .m-top .m-mark{flex:none;height:20px;aspect-ratio:2.651;background:var(--ink);-webkit-mask:url(/assets/mvp-mark.svg) center/contain no-repeat;mask:url(/assets/mvp-mark.svg) center/contain no-repeat}
  .m-progress{flex:1;display:flex;gap:4px}
  .m-progress button{flex:1;height:22px;padding:0;position:relative}
  .m-progress button::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background .3s}
  .m-progress button.done::before{background:color-mix(in srgb,var(--ink) 45%,transparent)}
  .m-progress button.on::before{background:var(--accent)}
  .m-theme{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rule);color:var(--ink-2)}
  .m-theme svg{width:17px;height:17px}
  .m-theme .i-moon{display:none}
  :root[data-theme="dark"] .m-theme .i-sun{display:none}
  :root[data-theme="dark"] .m-theme .i-moon{display:block}

  .deck{display:block;position:fixed;inset:0;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}
  .card{position:absolute;left:12px;right:12px;top:var(--top);bottom:calc(var(--bot) + var(--peek));display:flex;flex-direction:column;justify-content:flex-end;padding:22px 22px 24px;border-radius:28px;background:var(--card);border:1px solid var(--rule);box-shadow:0 1px 2px rgba(11,13,18,.05),0 18px 40px -18px rgba(11,13,18,.28);overflow:hidden;transform-origin:50% 100%;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease;will-change:transform;isolation:isolate}
  .deck.dragging .card{transition:none}
  .card.behind>*{opacity:.0;transition:opacity .3s}
  .card-body{position:relative;z-index:2}
  .card img{-webkit-user-drag:none;pointer-events:none}

  .c-k{display:flex;align-items:center;gap:10px;font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .card h1{margin-top:14px;font:600 clamp(34px,5.6svh,46px)/.96 var(--sans);letter-spacing:-.045em}
  .card h2{margin-top:12px;font:600 clamp(26px,4.2svh,34px)/1.04 var(--sans);letter-spacing:-.04em;text-wrap:balance}
  .card h1 em,.card h2 em{display:block;margin-top:3px;color:var(--accent);font-size:1.06em;line-height:1.02}
  .c-p{margin-top:12px;font-size:15.5px;line-height:1.45;color:var(--ink-2)}
  .c-serif{margin-top:4px;font:italic 400 26px/1.1 var(--serif);color:var(--accent)}
  .c-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:15px 18px;border-radius:14px;border:1px solid var(--rule);background:var(--bg-2);color:var(--ink);font:600 15.5px/1 var(--sans);text-decoration:none}
  .c-cta svg{width:16px;height:16px}
  .c-cta-solid{margin-top:22px;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

  /* 1. Hero */
  .card-hero{background:var(--glow),var(--card)}
  .card-nest{position:absolute;z-index:1;top:6%;left:50%;width:min(290px,78%,40svh);transform:translateX(-50%)}
  .card-nest svg{width:100%;height:auto;overflow:visible}
  .c-hint{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-top:20px;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);animation:nudge 1.8s ease-in-out infinite}
  .c-hint svg{width:18px;height:18px}
  @keyframes nudge{50%{transform:translateY(-5px)}}

  /* 2. Thesis */
  .c-shift{margin-top:18px}
  .c-shift li{padding:12px 0;border-top:1px solid var(--rule)}
  .c-shift s{display:block;font-size:13.5px;color:var(--mute);text-decoration-thickness:1px}
  .c-shift b{display:block;margin-top:4px;font:600 17px/1.25 var(--sans);letter-spacing:-.015em}
  .c-shift b::before{content:"→ ";color:var(--accent)}

  /* 3. Nests */
  .c-chambers{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .c-chambers li{position:relative;padding:12px 12px 13px;border-radius:14px;background:var(--bg-2);border:1px solid var(--rule);font-size:12.5px;line-height:1.35;color:var(--ink-2)}
  .c-chambers b{display:block;margin-bottom:4px;font:400 clamp(21px,3.2svh,26px)/1 var(--serif);color:var(--ink)}
  .c-chambers .owner{top:10px;right:10px;padding:4px 6px;font-size:9.5px}

  /* 4. Ecosystem */
  .card-ink{background:#0B0D12;border-color:#0B0D12;color:#fff}
  .card-ink .c-k,.card-ink h2 em{color:#9AABFF}
  .card-ink .c-p{color:rgba(255,255,255,.72)}
  .c-launch{margin-top:22px;display:grid;gap:8px}
  .c-rockets{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;padding:0 2px;height:clamp(120px,19svh,170px)}
  .rk{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
  .rk svg{width:clamp(26px,8.4vw,36px);height:auto;overflow:visible}
  .rk small{font:500 10px/1 var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.4)}
  .rk .bd,.rk .fin{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.3;stroke-linejoin:round}
  .rk .win{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.3}
  .rk .fl{fill:none}
  .rk.blink .bd,.rk.blink .fin,.rk.blink .win{stroke:#9AABFF}
  .rk.blink svg{animation:arm 1.6s ease-in-out infinite}
  .rk.blink:nth-child(3) svg{animation-delay:.8s}
  .rk.blink small{color:#C9D2FF}
  .rk.lit svg{transform:translateY(-44px);animation:fly 2.6s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(154,171,255,.55))}
  .rk.lit::before{content:"";position:absolute;left:50%;bottom:20px;width:2px;height:40px;margin-left:-1px;border-radius:2px;background:linear-gradient(to top,rgba(255,176,32,0),rgba(255,176,32,.7))}
  .rk.lit .bd,.rk.lit .fin{fill:#9AABFF;stroke:#9AABFF}
  .rk.lit .win{fill:#0B0D12;stroke:#0B0D12}
  .rk.lit .fl{fill:#FFB020;transform-origin:12px 31px;animation:burn .18s ease-in-out infinite alternate}
  .rk.lit small{color:#FFB020}
  .c-layer{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;font:500 13px/1.2 var(--mono);letter-spacing:.02em}
  .c-nests{padding:14px 12px;background:rgba(154,171,255,.12);border:1px dashed rgba(154,171,255,.4);color:#C9D2FF}
  .c-nests span{margin-right:4px}
  .c-nests i{width:12px;height:12px;border-radius:50%;border:1.5px solid #9AABFF;animation:nest 2.4s ease-in-out infinite}
  .c-nests i:nth-of-type(2){animation-delay:.3s}.c-nests i:nth-of-type(3){animation-delay:.6s}.c-nests i:nth-of-type(4){animation-delay:.9s}
  .c-nests i:nth-of-type(5){animation-delay:1.2s}.c-nests i:nth-of-type(6){animation-delay:1.5s}.c-nests i:nth-of-type(7){animation-delay:1.8s}
  .c-platform{padding:clamp(16px,2.6svh,22px) 12px;background:#9AABFF;color:#0B0D12;font-weight:600}
  @keyframes arm{0%,100%{opacity:.35}50%{opacity:1}}
  @keyframes fly{0%,100%{transform:translateY(-44px)}50%{transform:translateY(-50px)}}
  @keyframes burn{from{transform:scaleY(.75)}to{transform:scaleY(1.15)}}
  @keyframes nest{0%,100%{transform:scale(.7);opacity:.45}50%{transform:scale(1);opacity:1;background:rgba(154,171,255,.35)}}

  /* 5. Disposable ventures */
  .c-cycle{margin-top:18px;display:grid;gap:12px;counter-reset:c}
  .c-cycle li{counter-increment:c;display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:center;font-size:14.5px;color:var(--ink-2)}
  .c-cycle li::before{content:counter(c);grid-row:span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font:500 13px var(--mono)}
  .c-cycle li:last-child::before{background:var(--accent);color:var(--on-accent)}
  .c-cycle b{font:400 23px/1 var(--serif);color:var(--ink)}

  /* 6. Livecast: the wide film sits in the card like a television, the title above it and the way in below */
  .card-film{background:radial-gradient(90% 50% at 50% 50%,#2a1410 0,#07080b 70%);border-color:#07080b;color:#fff;justify-content:space-between}
  .card-film .c-k,.card-film h2{color:#fff}
  .card-film .c-serif{color:#f2b84b}
  .card-film .c-p{color:rgba(255,255,255,.75)}
  .card-film .tag.live{background:rgba(229,56,59,.92);border-color:transparent;color:#fff}
  .card-film .tag.live .dot{background:#fff}
  .card-film .c-cta{background:#fff;border-color:#fff;color:#0B0D12}
  .c-screen{position:relative;z-index:2;margin:0 -10px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 60px -12px rgba(232,64,42,.45)}
  .c-screen video{width:100%;height:100%;object-fit:cover;pointer-events:none}
  .c-tv{position:relative;z-index:2}
  .c-screen-row{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:8px;margin:10px -10px 0}
  .c-sound,.c-full-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.22);color:#fff}
  .c-sound svg,.c-full-btn svg{width:18px;height:18px}
  .c-sound .i-on,body.sound-on .c-sound .i-off{display:none}
  body.sound-on .c-sound .i-on{display:block}

  /* 7. Up next */
  .card-next{background:radial-gradient(70% 45% at 80% 12%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%),var(--card)}
  .card[data-ghost]::before{content:attr(data-ghost);position:absolute;z-index:0;left:16px;top:10px;font:italic 400 clamp(150px,26svh,220px)/.9 var(--serif);letter-spacing:-.04em;color:color-mix(in srgb,var(--accent) 16%,transparent)}
  .c-next{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;margin-top:12px;padding:16px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--ink-2) 35%,var(--rule));background:var(--bg-2)}
  .c-next:first-of-type{margin-top:20px}
  .c-next b{justify-self:end;font:400 26px/1 var(--serif)}
  .c-next i{grid-column:1/-1;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--w),var(--rule) var(--w))}

  /* 8. Partners */
  .c-people{margin-top:16px;display:grid;gap:8px}
  .c-people figure{position:relative;height:clamp(86px,14.5svh,136px);border-radius:16px;overflow:hidden;background:#000}
  .c-people img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
  .c-people figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,0) 72%)}
  .c-people figcaption{position:absolute;z-index:1;left:14px;top:50%;transform:translateY(-50%);display:grid;justify-items:start;gap:3px;color:#fff}
  .c-people .role{padding:4px 7px;font-size:9.5px;background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.3);color:#fff}
  .c-people b{margin-top:3px;font:600 17px/1.1 var(--sans);letter-spacing:-.02em}
  .c-people i{font:italic 400 16px/1.1 var(--serif);color:#C9D2FF}

  /* 9. Close */
  .card-close{background:var(--glow),var(--card)}
  .c-mark{display:block;height:34px;aspect-ratio:2.651;margin-bottom:18px;background:var(--ink);-webkit-mask:url(/assets/mvp-mark.svg) center/contain no-repeat;mask:url(/assets/mvp-mark.svg) center/contain no-repeat}
  .c-legal{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:20px;font-size:13px;color:var(--mute)}
  .c-legal a{color:var(--ink-2);text-decoration:none}

  .m-toast{display:block;position:fixed;z-index:300;left:50%;top:calc(var(--top) + 10px);transform:translate(-50%,-10px);padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 14px/1 var(--sans);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
  .m-toast.show{opacity:1;transform:translate(-50%,0)}
}
@media (max-width:760px) and (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .m-theme .i-sun{display:none}
  :root:not([data-theme="light"]) .m-theme .i-moon{display:block}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .rk svg,.rk .fl,.c-nests i{animation:none}
  .card{transition-duration:.2s}
  .c-hint{animation:none}
}
