:root {
  --bg: #03080c;
  --bg-soft: #071016;
  --panel: rgba(7, 18, 25, .78);
  --panel-strong: rgba(4, 13, 19, .94);
  --text: #f5f8fa;
  --muted: #9aa8b3;
  --muted-2: #687783;
  --line: rgba(145, 218, 231, .18);
  --line-strong: rgba(149, 227, 239, .34);
  --teal: #11e3c4;
  --cyan: #4bd9ff;
  --blue: #5d78ff;
  --violet: #984dff;
  --danger: #ff6577;
  --shell: min(1320px, calc(100% - 72px));
  --radius: 16px;
  --shadow: 0 24px 80px rgba(0,0,0,.45);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; }
::selection { background: rgba(17,227,196,.24); color: #fff; }

.site-noise {
  position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: .055; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.shell { width: var(--shell); margin: 0 auto; position: relative; z-index: 2; }
main section[id] { scroll-margin-top: 72px; }
.section-grid { position: relative; overflow: hidden; border-top: 1px solid rgba(149, 227, 239, .12); }
.section-grid::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(45deg, transparent 49.65%, rgba(68,208,225,.18) 49.85%, rgba(68,208,225,.18) 50.15%, transparent 50.35%), linear-gradient(-45deg, transparent 49.65%, rgba(68,208,225,.08) 49.85%, rgba(68,208,225,.08) 50.15%, transparent 50.35%);
  background-size: 380px 380px; background-position: center;
  mask-image: linear-gradient(to right, #000, transparent 28%, transparent 70%, #000);
}
.eyebrow { margin: 0 0 18px; font-size: 11px; font-weight: 700; letter-spacing: .32em; text-transform: uppercase; color: #a9c1cd; }
.section-copy, .lead { color: #c6d0d6; line-height: 1.6; }
h1,h2,h3,p { text-wrap: pretty; }
h1,h2,h3 { margin-top: 0; letter-spacing: -.035em; }
h2 { margin-bottom: 20px; font-size: clamp(38px, 4vw, 64px); line-height: .99; font-weight: 650; }
h2 em { color: var(--teal); font-style: normal; font-weight: 560; }

.site-header {
  position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: 72px;
  border-bottom: 1px solid rgba(133, 222, 239, .15);
  background: linear-gradient(to bottom, rgba(1,6,9,.92), rgba(1,6,9,.66));
  backdrop-filter: blur(18px) saturate(140%);
  transition: background .25s ease, height .25s ease;
}
.site-header.scrolled { background: rgba(2,8,12,.95); border-bottom-color:rgba(133,222,239,.2); box-shadow:0 10px 34px rgba(0,0,0,.18); }
.nav-shell { height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; font-size: 13px; font-weight: 690; letter-spacing: .31em; }
.brand img { width: 34px; height: 34px; object-fit:contain; filter: drop-shadow(0 0 9px rgba(126,204,236,.17)); }
.desktop-nav { display: flex; align-items: center; gap: 38px; font-size: 14px; color: #d8e1e6; }
.desktop-nav a, .nav-support-button { position: relative; padding: 26px 0; }
.desktop-nav>a::after, .nav-support-button::after { content:""; position:absolute; height:1px; left:50%; right:50%; bottom:15px; background:var(--teal); transition:.2s ease; }
.desktop-nav>a:hover::after, .nav-support-button:hover::after, .nav-support-button[aria-expanded="true"]::after { left:0; right:0; }
.nav-support { position:relative; display:flex; align-items:center; }
.nav-support-button { border:0; background:transparent; cursor:pointer; color:#d8e1e6; font-size:14px; }
.support-menu { position:absolute; top:58px; left:50%; width:330px; padding:9px; border:1px solid rgba(132,207,220,.23); border-radius:12px; background:rgba(3,12,17,.985); box-shadow:0 24px 65px rgba(0,0,0,.5), inset 0 0 28px rgba(33,177,193,.035); backdrop-filter:blur(18px); opacity:0; transform:translate(-50%,-8px); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
.support-menu.open { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.support-menu::before { content:""; position:absolute; top:-6px; left:50%; width:10px; height:10px; border-left:1px solid rgba(132,207,220,.23); border-top:1px solid rgba(132,207,220,.23); background:#030c11; transform:translateX(-50%) rotate(45deg); }
.support-menu-item { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; min-height:64px; padding:11px 12px; border:1px solid transparent; border-radius:8px; transition:.16s ease; }
.support-menu-item::after { display:none; }
.support-menu-item:hover { border-color:rgba(17,227,196,.28); background:rgba(17,227,196,.045); }
.support-menu-item.discord:hover { border-color:rgba(105,112,255,.35); background:rgba(105,112,255,.045); }
.support-menu-item.is-disabled { opacity:.42; cursor:not-allowed; }
.support-menu-item.is-disabled:hover { border-color:transparent; background:transparent; }
.support-menu-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(17,227,196,.25); border-radius:8px; color:var(--teal); background:rgba(17,227,196,.06); }
.support-menu-item.discord .support-menu-icon { color:#8b91ff; border-color:rgba(105,112,255,.28); background:rgba(105,112,255,.06); }
.support-menu-item>span:nth-child(2) { display:grid; gap:3px; }
.support-menu-item b { font-size:12px; }
.support-menu-item small { color:#7f929b; font-size:9px; line-height:1.35; }
.support-menu-item>i { font-style:normal; color:#9db0b8; font-size:15px; }
.status-pill { justify-self: end; display: inline-flex; gap: 10px; align-items: center; padding: 9px 14px; border: 1px solid rgba(17,227,196,.55); border-radius: 999px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; background: rgba(2,14,16,.54); }
.status-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 12px var(--teal); }
.menu-button, .mobile-nav { display:none; }

.hero { min-height: 680px; padding-top: 72px; display: flex; align-items: stretch; background: #02070a; }
.hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 78% 35%, rgba(15,214,217,.18), transparent 25%), radial-gradient(circle at 85% 80%, rgba(104,58,255,.11), transparent 29%), linear-gradient(90deg, rgba(2,7,10,.99) 0%, rgba(2,7,10,.94) 34%, rgba(2,7,10,.24) 65%, rgba(2,7,10,.08) 100%); z-index:1; }
.hero-art { position:absolute; z-index:0; top:72px; right:0; bottom:0; width:70%; background-image: linear-gradient(to left, rgba(0,0,0,.05), rgba(0,0,0,0) 70%), url('assets/hero-swanatronics.webp'); background-size:auto 100%; background-repeat:no-repeat; background-position:center center; filter:saturate(.92) contrast(1.02); }
.hero-art::after { content:""; position:absolute; inset:0; background: linear-gradient(to right, #02070a 0%, rgba(2,7,10,.82) 18%, transparent 48%), linear-gradient(to top, rgba(2,7,10,.5), transparent 44%); }
.hero-lines { position:absolute; z-index:1; inset:0; background-image: linear-gradient(45deg, transparent 49.7%, rgba(29, 218, 231, .34) 49.9%, transparent 50.15%), linear-gradient(-45deg, transparent 49.75%, rgba(85, 103, 255, .18) 49.95%, transparent 50.15%); background-size: 270px 270px; mask-image: linear-gradient(90deg, #000 0 14%, transparent 48% 58%, #000 100%); opacity:.54; }
.hero-shell { padding-top: 112px; padding-bottom: 96px; display: grid; grid-template-columns: minmax(0, 720px) 1fr; min-height: 608px; align-items: center; }
.hero-copy { position: relative; z-index: 3; max-width: 660px; }
.hero h1 { font-size: clamp(58px, 6.15vw, 90px); line-height: .89; margin-bottom: 28px; }
.hero h1 span { display:block; font-weight: 760; color: #fbfcfd; }
.hero h1 strong { display:block; font-weight: 420; color: #c6c7ca; }
.hero .lead { font-size: 16px; max-width: 580px; margin: 0 0 30px; }
.button-row { display:flex; gap:16px; flex-wrap:wrap; }
.button { min-height: 48px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding: 0 20px; border-radius: 7px; font-size: 14px; font-weight: 600; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.button span { font-size:18px; font-weight:400; transition:transform .18s ease; }
.button:hover span { transform:translateX(3px); }
.button:hover { transform: translateY(-2px); }
.button-primary { min-width: 160px; border:1px solid #43ffdf; background: linear-gradient(180deg, rgba(17,227,196,.77), rgba(2,148,135,.62)); box-shadow: 0 0 25px rgba(17,227,196,.22), inset 0 0 20px rgba(160,255,244,.16); }
.button-primary:hover { box-shadow: 0 0 36px rgba(17,227,196,.34), inset 0 0 20px rgba(160,255,244,.2); }
.button-secondary, .button-outline { border:1px solid rgba(192,225,235,.44); background:rgba(4,14,20,.6); }
.button-secondary:hover, .button-outline:hover { border-color: rgba(17,227,196,.74); }
.hero-manifesto { justify-self:end; align-self:start; margin-top: 96px; padding-left: 18px; border-left: 2px solid rgba(225,249,255,.38); display:flex; flex-direction:column; gap:5px; color:#9aabb5; font-size:10px; letter-spacing:.29em; text-transform:uppercase; line-height:1.3; }

.clubs { background: radial-gradient(circle at 82% 42%, rgba(13,88,102,.22), transparent 35%), linear-gradient(180deg, #061017 0%, #030b10 100%); padding: 52px 0 28px; }
.clubs::before { content:""; position:absolute; inset:auto -6% -18% 38%; height:65%; background: radial-gradient(ellipse at center bottom, rgba(30,139,154,.18), transparent 62%); transform:skewY(-7deg); }
.clubs-layout { display:grid; grid-template-columns: .88fr 1.12fr; gap: 34px 46px; align-items:start; }
.clubs-copy { padding-top: 18px; }
.clubs-copy h2 { max-width: 590px; font-size: clamp(38px, 3.72vw, 57px); line-height:.98; }
.clubs-copy .section-copy { max-width: 555px; font-size: 15px; }
.product-frame { position:relative; border:1px solid rgba(170,229,239,.44); border-radius:17px; padding:11px; min-height:425px; background:linear-gradient(145deg,rgba(9,24,31,.96),rgba(2,9,13,.98)); box-shadow:0 24px 72px rgba(0,0,0,.4),inset 0 0 40px rgba(45,178,204,.045); transform:perspective(1200px) rotateY(-.65deg); overflow:hidden; transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.product-frame::before { content:""; position:absolute; left:1.5%; right:1.5%; top:-5px; height:6px; border:1px solid rgba(180,236,246,.6); border-bottom:0; border-radius:17px 17px 0 0; opacity:.68; }
.product-frame-glow { position:absolute; inset:-14px; border-radius:28px; box-shadow:0 0 55px rgba(56,187,221,.12); pointer-events:none; }
.preview-browserbar { height:33px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:0 8px 8px; color:#6f828d; font-size:8px; }
.browser-dots { display:flex; gap:4px; }.browser-dots i { width:5px; height:5px; border-radius:50%; background:#36505b; }.browser-dots i:first-child{background:#31dbc1}.browser-dots i:nth-child(2){background:#4f79ff}.browser-dots i:nth-child(3){background:#8255ff}
.preview-address { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding:5px 10px; border:1px solid rgba(112,184,200,.14); border-radius:999px; background:rgba(3,12,17,.72); }
.preview-live { color:#8ff8e6; text-transform:uppercase; letter-spacing:.13em; }
.hub-site { min-height:367px; overflow:hidden; border:1px solid rgba(126,196,210,.2); border-radius:10px; background:linear-gradient(155deg,#07141a,#03090d 68%); }
.hub-header { min-height:54px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; padding:8px 13px; border-bottom:1px solid rgba(124,190,204,.15); background:rgba(5,15,20,.9); }
.hub-brand { display:flex; align-items:center; gap:8px; }.hub-brand .club-badge{width:31px;height:36px;font-size:14px;border-width:1px}.hub-brand>div:last-child{display:grid;gap:1px}.hub-brand b{font-size:11px}.hub-brand small{font-size:7px;color:#728690}
.hub-nav { justify-self:center; display:flex; gap:16px; color:#748891; font-size:8px; }.hub-nav span{position:relative;padding:18px 0}.hub-nav .active{color:#effefd}.hub-nav .active::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:var(--teal);box-shadow:0 0 8px rgba(17,227,196,.55)}
.hub-season { padding:6px 8px; border:1px solid rgba(120,185,198,.2); border-radius:6px; font-size:8px; color:#b7c6cc; }
.hub-hero { min-height:132px; display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:20px; padding:20px 18px 15px; position:relative; overflow:hidden; background:radial-gradient(circle at 78% 32%,rgba(28,172,180,.17),transparent 34%),linear-gradient(100deg,rgba(8,28,34,.94),rgba(4,12,17,.75)); }
.hub-hero::after{content:"";position:absolute;right:-40px;top:-92px;width:250px;height:250px;border:1px solid rgba(47,205,212,.11);transform:rotate(45deg);box-shadow:0 0 0 44px rgba(48,78,255,.025),0 0 0 88px rgba(113,57,255,.025)}
.hub-kicker { display:block; margin-bottom:5px; color:#8aa0aa; font-size:7px; letter-spacing:.18em; text-transform:uppercase; }.hub-hero h3{margin:0;font-size:27px;line-height:.92;letter-spacing:-.04em}.hub-hero h3 em{color:var(--teal);font-style:normal}.hub-hero p{max-width:340px;margin:9px 0 0;color:#8ca0aa;font-size:8px;line-height:1.45}
.hub-summary { align-self:end; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; position:relative; z-index:1; }.hub-summary span{padding:8px;border:1px solid rgba(120,190,202,.14);border-radius:7px;background:rgba(3,12,16,.72)}.hub-summary small{display:block;color:#738690;font-size:6px}.hub-summary b{font-size:14px}
.hub-content { display:grid; grid-template-columns:1.25fr 1fr .78fr; gap:7px; padding:8px; }.hub-card{min-width:0;min-height:132px;padding:10px;border:1px solid rgba(125,190,203,.14);border-radius:8px;background:rgba(4,14,19,.82)}.hub-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:8px}.hub-card-head small{color:#607681;font-size:6px}.result-score{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center;margin:14px 0 8px}.result-score span{font-size:9px;color:#7f929b}.result-score strong{font-size:21px}.result-score i{font-style:normal;color:#536871;font-weight:400}.hub-result>p,.hub-award>p{margin:0;text-align:center;color:#70848e;font-size:7px}.hub-result>p em{font-style:normal;color:#536872}
.player-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#102a33,#0e5660);border:1px solid rgba(43,224,205,.25);font-size:12px;font-weight:700}.player-row>div{display:grid}.player-row strong{font-size:10px}.player-row small{font-size:6px;color:#71858e}.player-row>b{color:var(--teal);font-size:13px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:15px}.mini-stats span{padding:6px;border-top:1px solid rgba(112,185,198,.12)}.mini-stats small{display:block;font-size:6px;color:#6f828c}.mini-stats b{font-size:11px}
.hub-award{text-align:center}.hub-award .hub-card-head{text-align:left}.award-mark{width:34px;height:34px;margin:8px auto 7px;display:grid;place-items:center;color:#d5b4ff;font-size:18px;background:radial-gradient(circle,rgba(143,70,255,.18),transparent 68%);border:1px solid rgba(159,98,255,.22);transform:rotate(45deg);border-radius:5px}.award-mark::first-letter{transform:rotate(-45deg)}.hub-award>strong{font-size:9px}
.feature-strip { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:-14px; position:relative; z-index:4; }
.feature-strip article { min-height:146px; padding:17px 13px 14px; border:1px solid rgba(112,186,204,.13); border-radius:9px; background:linear-gradient(180deg, rgba(7,19,25,.96), rgba(3,11,16,.9)); box-shadow:0 14px 32px rgba(0,0,0,.14); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.feature-icon { width:30px; height:30px; display:grid; place-items:center; color:var(--teal); border:1px solid rgba(17,227,196,.26); border-radius:7px; margin-bottom:12px; font-size:20px; }
.discord-icon { color:#7993ff; border-color:rgba(121,147,255,.28); }
.feature-strip h3 { margin:0 0 6px; font-size:13px; line-height:1.1; letter-spacing:-.01em; }
.feature-strip p { margin:0; color:#7e909a; font-size:9px; line-height:1.35; }

.coming { min-height:400px; padding:62px 0 38px; background:#02070a; overflow:hidden; }
.coming::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#02070a 0%,rgba(2,7,10,.96) 35%,rgba(2,7,10,.38) 62%,rgba(2,7,10,.32)); }
.coming-art { position:absolute; right:-2%; top:0; bottom:0; width:60%; background:url('assets/coming-art.webp') center top/122% auto no-repeat; filter:saturate(.88); }
.coming-art::after { content:""; position:absolute; inset:0; background:linear-gradient(to left,rgba(0,0,0,.08),transparent 50%),linear-gradient(to top,#02070a 0%,rgba(2,7,10,.92) 23%,rgba(2,7,10,.18) 48%,transparent 67%); }
.coming-layout { min-height:286px; display:grid; grid-template-columns:.78fr 1.22fr; gap:48px; align-items:end; }
.coming-copy { z-index:2; align-self:start; }.coming-copy h2 { font-size:clamp(38px,4.4vw,62px); }.coming-copy .section-copy { max-width:540px; font-size:14px; margin-bottom:22px; }.button-outline { border-color:rgba(17,227,196,.72); }
.roadmap { --roadmap-node-size:18px; --roadmap-top:15px; z-index:2; position:relative; display:grid; grid-template-columns:repeat(4,1fr); align-items:start; padding-top:var(--roadmap-top); margin:0 0 10px; }
.roadmap-line { position:absolute; top:calc(var(--roadmap-top) + (var(--roadmap-node-size) / 2)); left:12.5%; right:12.5%; height:1px; transform:translateY(-50%); background:linear-gradient(90deg,rgba(197,232,238,.38),rgba(197,232,238,.72) 18%,rgba(197,232,238,.72) 82%,rgba(197,232,238,.38)); }.roadmap-line .fill { display:block; width:var(--roadmap-progress,66.666%); height:100%; background:var(--teal); box-shadow:0 0 10px rgba(17,227,196,.55); transition:width .35s ease; }
.roadmap-step { position:relative; display:grid; justify-items:center; gap:10px; color:#8b9da6; font-size:10px; line-height:1.2; }.roadmap-step i { width:var(--roadmap-node-size); height:var(--roadmap-node-size); border-radius:50%; border:2px solid #c0cbd0; background:#061016; position:relative; z-index:2; display:grid; place-items:center; font-size:9px; font-style:normal; box-shadow:0 0 0 4px rgba(2,7,10,.52); }.roadmap-step span { text-align:center; }.roadmap-step.done { color:#afc1c7; }.roadmap-step.done i { border-color:var(--teal); color:#02110e; background:var(--teal); box-shadow:0 0 10px rgba(17,227,196,.28),0 0 0 4px rgba(2,7,10,.52); }.roadmap-step.done i::after{content:'✓';font-size:9px;font-weight:800;}.roadmap-step.current { color:#eefafa; }.roadmap-step.current i { border-color:#d5fffa; box-shadow:0 0 18px rgba(17,227,196,.68),0 0 0 4px rgba(2,7,10,.62); }.roadmap-step.current i::before { content:""; position:absolute; inset:-7px; border:1px solid rgba(17,227,196,.2); border-radius:50%; animation:roadmapPulse 2.4s ease-out infinite; }.roadmap-step.current i::after { content:""; width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px rgba(17,227,196,.7); }


.labs { padding: 52px 0 62px; background:linear-gradient(180deg,#070813 0%,#05060b 100%); }
.labs::before { content:""; position:absolute; inset:0; background:linear-gradient(125deg, rgba(94,51,255,.12), transparent 31%), radial-gradient(circle at 4% 85%, rgba(89,42,255,.24), transparent 26%), radial-gradient(circle at 93% 20%, rgba(166,55,255,.12), transparent 30%); }
.labs-aurora { position:absolute; left:-12%; right:-12%; bottom:-58%; height:82%; background:conic-gradient(from 230deg at 50% 50%, rgba(59,52,255,.3), rgba(146,50,255,.15), rgba(20,3,34,.1), rgba(59,52,255,.3)); filter:blur(70px); opacity:.65; }
.labs-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:54px; align-items:center; }.labs-copy h2 { font-size:clamp(36px,3.6vw,54px); }.labs-copy h2 em { color:#a560ff; }.labs-copy .section-copy { max-width:520px; font-size:14px; }.button-labs { margin-top:8px; border:1px solid rgba(155,92,255,.8); background:linear-gradient(180deg,rgba(100,54,230,.52),rgba(54,28,142,.5)); box-shadow:0 0 22px rgba(131,70,255,.18); }.button-labs:hover { box-shadow:0 0 34px rgba(131,70,255,.3); }
.lab-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.lab-card { min-height:270px; position:relative; padding:22px 20px 18px; border:1px solid rgba(133,174,211,.25); border-radius:10px; background:linear-gradient(145deg,rgba(8,23,31,.94),rgba(8,10,22,.92)); box-shadow:0 16px 40px rgba(0,0,0,.18); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.project-state { position:absolute; top:13px; right:12px; padding:4px 7px; border-radius:4px; font-size:7px; letter-spacing:.08em; text-transform:uppercase; }.project-state.live { color:#69ffe1; background:rgba(17,227,196,.13); border:1px solid rgba(17,227,196,.27); }.project-state.community { color:#87a8ff; background:rgba(79,103,255,.14); border:1px solid rgba(79,103,255,.27); }.project-state.experiments { color:#c995ff; background:rgba(157,74,255,.14); border:1px solid rgba(157,74,255,.27); }.project-mark { width:52px; height:52px; position:relative; margin:3px 0 14px; }.nest-mark i { position:absolute; left:8px; width:36px; height:14px; transform:skewY(-25deg) rotate(-3deg); border-radius:3px; background:linear-gradient(90deg,#23caf3,#664dff); box-shadow:0 5px 16px rgba(84,79,255,.2); }.nest-mark i:nth-child(1){top:4px}.nest-mark i:nth-child(2){top:16px;left:11px;background:linear-gradient(90deg,#3d7fff,#7a4dff)}.nest-mark i:nth-child(3){top:28px;left:14px;background:linear-gradient(90deg,#5a4aff,#ba4bff)}
.remote-mark { display:grid; place-items:center; }.remote-mark i { position:absolute; width:44px; height:44px; border:5px solid #318cff; border-left-color:transparent; border-right-color:transparent; border-bottom-color:transparent; border-radius:50%; transform:translateY(8px); }.remote-mark i:nth-child(2){width:30px;height:30px;top:10px}.remote-mark i:nth-child(3){width:12px;height:12px;top:24px;background:#318cff;border:0}.future-mark{display:flex;align-items:center;gap:5px;padding-left:5px}.future-mark i{width:9px;height:28px;border:1px solid rgba(184,123,255,.42);border-radius:3px;background:linear-gradient(180deg,rgba(158,82,255,.36),rgba(67,47,132,.18));box-shadow:0 0 16px rgba(146,76,255,.08)}.future-mark i:nth-child(2){height:38px}.future-mark i:nth-child(3){height:22px}.lab-card h3 { margin:0 0 2px; font-size:20px; }.lab-card>small { color:#8898a2; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }.lab-card p { color:#a8b6bd; font-size:12px; line-height:1.45; min-height:70px; margin:15px 0 16px; }.lab-card>a { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(137,190,215,.3); border-radius:7px; color:#dce9ee; transition:.18s ease; }.lab-card>a:hover { border-color:#9d64ff; transform:translateX(2px); }

.site-footer { border-top:1px solid rgba(137,208,222,.14); background:#020609; padding:27px 0; }.footer-shell { display:grid; grid-template-columns:auto 1fr auto auto; gap:28px; align-items:center; }.footer-brand span { font-size:11px; }.footer-brand img { width:28px; height:28px; object-fit:contain; }.site-footer p { color:#6f818b; font-size:12px; margin:0; }.site-footer nav { display:flex; gap:22px; color:#a5b4bc; font-size:12px; flex-wrap:wrap; }.site-footer nav a.is-disabled { opacity:.4; pointer-events:none; }.site-footer small { color:#5b6b73; font-size:10px; }

.reveal { opacity:0; transform:translateY(16px); transition:opacity .68s cubic-bezier(.2,.7,.2,1), transform .68s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity:1; transform:none; }.delay-1 { transition-delay:.08s; }.delay-2 { transition-delay:.16s; }.delay-3 { transition-delay:.24s; }

@media (max-width: 1080px) {
  :root { --shell: min(100% - 44px, 980px); }
  .hero { min-height:640px; }.hero-art{width:68%;opacity:.8}.hero::before{background:linear-gradient(90deg,rgba(2,7,10,.99),rgba(2,7,10,.91) 45%,rgba(2,7,10,.25))}.hero-shell{grid-template-columns:1fr .28fr}.hero-manifesto{display:none}.hero h1{font-size:clamp(52px,7.2vw,76px)}
  .clubs-layout,.labs-layout { grid-template-columns:1fr; }.clubs-copy,.labs-copy { max-width:720px; }.product-frame{transform:none}.feature-strip{grid-template-columns:repeat(3,1fr);margin-top:0}.feature-strip article{min-height:130px}.coming-layout{grid-template-columns:.9fr 1.1fr}.lab-cards{max-width:900px}.footer-shell{grid-template-columns:auto 1fr auto}.site-footer small{grid-column:3}
}

@media (max-width: 760px) {
  :root { --shell: calc(100% - 32px); }
  main section[id]{scroll-margin-top:64px}
  .site-header{height:64px}.nav-shell{grid-template-columns:1fr auto}.brand{font-size:11px;letter-spacing:.25em}.brand img{width:29px;height:29px}.desktop-nav,.status-pill{display:none}.menu-button{display:grid;gap:6px;width:40px;height:40px;place-content:center;background:transparent;border:0}.menu-button span{display:block;width:20px;height:1px;background:#d7e6eb;transition:.2s ease}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:grid;position:absolute;top:64px;left:0;right:0;padding:10px 16px 18px;background:rgba(2,8,12,.98);border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.2s ease}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav>a{padding:12px;border-bottom:1px solid rgba(129,195,208,.1);color:#c8d5da}.mobile-support-links{display:grid;gap:0;padding-top:9px}.mobile-support-links>span{padding:9px 12px 6px;color:#6f838d;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.mobile-support-links a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:#c8d5da;border:0}.mobile-support-links a.is-disabled{opacity:.42}.mobile-support-links i{font-style:normal;color:#82949d}
  .hero{padding-top:64px;min-height:680px}.hero-art{top:64px;width:100%;height:48%;bottom:auto;background-size:auto 100%;background-position:center center;opacity:.92}.hero-art::after{background:linear-gradient(to top,#02070a 0%,rgba(2,7,10,.82) 32%,transparent 70%),linear-gradient(to right,rgba(2,7,10,.6),transparent)}.hero::before{background:linear-gradient(to top,#02070a 0%,#02070a 43%,rgba(2,7,10,.22) 70%)}.hero-shell{padding-top:285px;padding-bottom:52px;display:block;min-height:616px}.hero h1{font-size:clamp(46px,14vw,64px)}.hero h1 strong{color:#b7bcc1}.hero .lead{font-size:14px}.button{flex:1;min-width:145px}.hero-lines{opacity:.35}
  .clubs{padding-top:42px}.clubs-layout{gap:28px}.clubs-copy h2{font-size:clamp(36px,11vw,50px)}.product-frame{padding:8px;min-height:auto;overflow:hidden}.preview-live{display:none}.hub-header{grid-template-columns:1fr auto}.hub-nav{grid-column:1/-1;grid-row:2;justify-self:start;overflow:hidden;width:100%;gap:13px}.hub-nav span{padding:5px 0}.hub-nav .active::after{bottom:0}.hub-hero{grid-template-columns:1fr;min-height:145px}.hub-summary{grid-template-columns:repeat(3,1fr)}.hub-content{grid-template-columns:1fr 1fr}.hub-award{display:none}.feature-strip{grid-template-columns:repeat(2,1fr);gap:7px}.feature-strip article{min-height:126px;padding:14px 12px}.feature-strip article:last-child{grid-column:1/-1}.feature-strip h3{font-size:12px}
  .ecosystem{padding:52px 0}.ecosystem-pipeline{grid-template-columns:1fr;gap:12px;min-height:0}.pipeline-routes{display:none}.pipeline-source,.pipeline-stage,.pipeline-core,.pipeline-outputs{width:100%;max-width:560px;justify-self:center}.pipeline-core{min-height:220px}.pipeline-outputs .output-list{grid-template-columns:1fr}
  .coming{padding:52px 0 36px}.coming-art{width:110%;right:-10%;opacity:.58;background-size:155% auto}.coming::before{background:linear-gradient(to right,rgba(2,7,10,.98),rgba(2,7,10,.78))}.coming-layout{display:block}.coming-copy{max-width:600px}.roadmap{margin-top:42px}.roadmap-step span{font-size:8px}
  .labs{padding:48px 0}.labs-layout{gap:30px}.lab-cards{grid-template-columns:1fr}.lab-card{min-height:230px}.lab-card p{min-height:0}.footer-shell{grid-template-columns:1fr auto}.site-footer p{grid-column:1/-1}.site-footer nav{grid-column:1}.site-footer small{grid-column:2}.footer-brand{grid-column:1/-1}
}

@media (max-width: 430px) {
  .brand span { letter-spacing:.2em; }.hero-shell{padding-top:270px}.button-row{display:grid;grid-template-columns:1fr 1fr}.button{padding:0 13px;gap:12px}.feature-strip{grid-template-columns:1fr 1fr}.roadmap-step span{max-width:58px}.site-footer nav{gap:15px}
}


@keyframes roadmapPulse {
  0% { transform:scale(.82); opacity:.55; }
  65%,100% { transform:scale(1.22); opacity:0; }
}

:where(a,button):focus-visible {
  outline:2px solid rgba(94,238,220,.92);
  outline-offset:4px;
}

@media (hover:hover) and (pointer:fine) {
  .product-frame:hover { border-color:rgba(170,229,239,.62); box-shadow:0 28px 78px rgba(0,0,0,.43),0 0 42px rgba(47,183,211,.075),inset 0 0 40px rgba(45,178,204,.055); transform:perspective(1200px) rotateY(-.35deg) translateY(-2px); }
  .feature-strip article:hover { transform:translateY(-3px); border-color:rgba(17,227,196,.3); background:linear-gradient(180deg,rgba(8,23,29,.98),rgba(3,12,17,.94)); }
  .lab-card:hover { transform:translateY(-4px); border-color:rgba(157,100,255,.38); box-shadow:0 22px 46px rgba(0,0,0,.24); }
  .site-footer nav a:hover { color:#d9e7ec; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}


/* v8 fidelity pass — approved mockup is source of truth */
.hero {
  min-height: 650px;
  background: #02070a;
}
.hero::before {
  background:
    radial-gradient(circle at 76% 32%, rgba(15,214,217,.07), transparent 24%),
    radial-gradient(circle at 91% 76%, rgba(104,58,255,.07), transparent 30%),
    linear-gradient(90deg, rgba(2,7,10,.995) 0%, rgba(2,7,10,.985) 42%, rgba(2,7,10,.78) 54%, rgba(2,7,10,.18) 76%, rgba(2,7,10,.06) 100%);
}
.hero-art {
  top: 142px;
  right: 2.6%;
  bottom: 56px;
  width: 57%;
  background-image: url('assets/hero-approved.webp');
  background-size: cover;
  background-position: center center;
  border: 1px solid rgba(93,177,195,.08);
  filter: saturate(.94) contrast(1.02);
}
.hero-art::after {
  background:
    linear-gradient(90deg, rgba(2,7,10,.62) 0%, rgba(2,7,10,.17) 15%, transparent 36%),
    linear-gradient(180deg, rgba(2,7,10,.04), rgba(2,7,10,.16));
}
.hero-shell {
  min-height: 578px;
  padding-top: 106px;
  padding-bottom: 72px;
  grid-template-columns: minmax(0, 565px) 1fr;
}
.hero-copy { max-width: 555px; }
.hero h1 { font-size: clamp(54px, 5vw, 78px); line-height: .94; margin-bottom: 24px; }
.hero .lead { max-width: 525px; font-size: 14px; line-height: 1.55; margin-bottom: 24px; }
.hero-manifesto { display:none; }

.ecosystem {
  padding: 52px 0 58px;
  background:
    radial-gradient(circle at 48% 68%, rgba(28,112,128,.12), transparent 30%),
    radial-gradient(circle at 88% 35%, rgba(89,63,255,.055), transparent 31%),
    #030b10;
}
.ecosystem-layout { display:block; }
.ecosystem-copy { max-width: 700px; }
.ecosystem-copy h2 { font-size: clamp(42px, 4vw, 58px); margin-bottom: 16px; }
.ecosystem-copy .section-copy { max-width: 650px; margin:0; font-size: 13px; line-height:1.55; }
.ecosystem-pipeline {
  position: relative;
  min-height: 292px;
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(145px,.95fr) minmax(125px,.78fr) minmax(190px,1.12fr) minmax(130px,.8fr) minmax(270px,1.48fr);
  gap: 18px;
  align-items: center;
  isolation: isolate;
}
.pipeline-routes { position:absolute; inset:0; width:100%; height:100%; z-index:0; overflow:visible; pointer-events:none; }
.pipeline-routes .route { fill:none; vector-effect:non-scaling-stroke; stroke-width:1.25; filter:url(#routeGlow); }
.route-in { stroke:url(#routeIn); }
.route-out { stroke:url(#routeOut); }
.route.soft { opacity:.28; }
.route-node.in { fill:#11e3c4; filter:url(#routeGlow); }
.route-node.out { fill:#8f69ff; filter:url(#routeGlow); }
.pipeline-source,.pipeline-stage,.pipeline-core,.pipeline-outputs { position:relative; z-index:2; min-width:0; }
.pipeline-kicker { display:block; margin-bottom:9px; color:#88a4af; font-size:8px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.pipeline-source { min-height:230px; padding:14px 14px 12px; border:1px solid rgba(102,196,213,.34); border-radius:10px; background:rgba(5,17,23,.86); box-shadow:inset 0 0 25px rgba(33,150,169,.04); }
.source-heading { display:grid; grid-template-columns:39px 1fr; gap:10px; align-items:center; margin-bottom:14px; }
.source-ea { width:39px; height:39px; display:grid; place-items:center; border:1px solid rgba(139,211,226,.28); border-radius:8px; font-size:13px; }
.source-heading b { display:block; font-size:13px; }.source-heading small { display:block; margin-top:2px; color:#79909a; font-size:8px; line-height:1.35; text-transform:uppercase; }
.pipeline-source ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; color:#c8dae0; font-size:10px; }
.pipeline-source li { position:relative; padding-left:13px; }.pipeline-source li::before { content:""; position:absolute; left:0; top:.45em; width:4px; height:4px; border-radius:50%; background:#49e9ff; box-shadow:0 0 7px rgba(73,233,255,.55); }
.pipeline-stage { min-height:100px; display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:center; padding:12px 13px; border:1px solid rgba(17,227,196,.5); border-radius:9px; background:linear-gradient(180deg,rgba(5,24,27,.92),rgba(5,14,20,.94)); box-shadow:0 0 24px rgba(17,227,196,.055); }
.pipeline-stage .stage-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:8px; border:1px solid rgba(17,227,196,.3); color:var(--teal); background:rgba(17,227,196,.045); }
.pipeline-stage small { display:block; color:#78909a; font-size:7px; letter-spacing:.16em; text-transform:uppercase; }
.pipeline-stage b { display:block; margin-top:3px; font-size:15px; letter-spacing:.02em; text-transform:uppercase; }
.pipeline-stage p { margin:5px 0 0; color:#7d9099; font-size:8px; line-height:1.35; }
.stage-processed { border-color:rgba(144,83,255,.58); }.stage-processed .stage-icon { color:#a069ff; border-color:rgba(144,83,255,.34); background:rgba(144,83,255,.06); }
.pipeline-core { min-height:250px; padding:15px 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(60,209,255,.77); border-radius:10px; background:linear-gradient(180deg,rgba(7,28,37,.94),rgba(5,17,26,.98)); box-shadow:0 0 0 1px rgba(92,120,255,.24) inset, inset 0 0 30px rgba(50,190,220,.08), 0 0 28px rgba(51,174,211,.08); }
.pipeline-core::before,.pipeline-core::after { content:""; position:absolute; inset:7px; border:1px solid rgba(86,104,255,.25); clip-path:polygon(0 0,32% 0,0 32%,0 100%,100% 100%,100% 0); pointer-events:none; }.pipeline-core::after{transform:rotate(180deg)}
.core-kicker { font-size:7px; letter-spacing:.28em; text-transform:uppercase; color:#9cb5bf; }
.core-mark { width:105px; height:105px; display:grid; place-items:center; margin:12px 0 10px; }
.core-mark img { width:98px; height:98px; object-fit:contain; filter:drop-shadow(0 0 12px rgba(94,218,255,.12)); }
.pipeline-core strong { font-size:13px; text-transform:uppercase; letter-spacing:.14em; }.pipeline-core>small { margin-top:7px; color:#728992; font-size:6.5px; letter-spacing:.18em; text-transform:uppercase; }
.pipeline-outputs { align-self:center; }.pipeline-outputs .pipeline-kicker { margin-left:7px; }
.output-list { display:grid; gap:5px; }
.output-list article { min-height:43px; display:grid; grid-template-columns:30px 1fr; gap:9px; align-items:center; padding:5px 9px; border:1px solid rgba(101,190,207,.25); border-radius:7px; background:rgba(7,20,26,.84); }
.output-list article>span { width:28px; height:28px; display:grid; place-items:center; border-radius:6px; color:#bff9ff; background:rgba(55,179,205,.07); font-size:13px; }
.output-list b { display:block; font-size:10px; }.output-list small { display:block; margin-top:1px; color:#82939c; font-size:7px; }

@media (max-width: 1080px) and (min-width: 761px) {
  .hero-art { width:58%; right:0; top:130px; bottom:52px; }
  .hero-shell { grid-template-columns:minmax(0,500px) 1fr; }
  .hero h1 { font-size:clamp(54px,6vw,70px); }
  .ecosystem-pipeline { grid-template-columns:minmax(130px,.95fr) minmax(110px,.78fr) minmax(170px,1.1fr) minmax(116px,.8fr) minmax(230px,1.4fr); gap:12px; }
}

/* v9 polish pass — same approved composition, tighter balance */
.hero-art {
  top: 150px;
  right: 1.2%;
  bottom: 62px;
  width: 54%;
  background-position: 56% center;
  filter: saturate(.92) contrast(1.025) brightness(.98);
}
.hero-art::after {
  background:
    linear-gradient(90deg, rgba(2,7,10,.68) 0%, rgba(2,7,10,.18) 17%, transparent 38%),
    linear-gradient(180deg, rgba(2,7,10,.03), rgba(2,7,10,.18));
}
.hero::before {
  background:
    radial-gradient(circle at 76% 32%, rgba(15,214,217,.065), transparent 23%),
    radial-gradient(circle at 91% 76%, rgba(104,58,255,.06), transparent 28%),
    linear-gradient(90deg, rgba(2,7,10,.995) 0%, rgba(2,7,10,.985) 43%, rgba(2,7,10,.79) 54%, rgba(2,7,10,.2) 76%, rgba(2,7,10,.07) 100%);
}

.ecosystem-pipeline {
  min-height: 276px;
  margin-top: 22px;
  grid-template-columns:
    minmax(145px,.92fr)
    minmax(122px,.74fr)
    minmax(178px,1fr)
    minmax(124px,.75fr)
    minmax(235px,1.28fr);
  gap: 13px;
}
.pipeline-source {
  min-height: 218px;
  align-self: center;
}
.pipeline-stage {
  min-height: 92px;
  padding: 11px 12px;
  align-self: center;
}
.pipeline-core {
  min-height: 222px;
  width: 100%;
  max-width: 205px;
  justify-self: center;
  padding: 14px 14px;
  overflow: hidden;
}
.core-mark {
  position: relative;
  z-index: 2;
  width: 90px;
  height: 90px;
  margin: 10px 0 8px;
}
.core-mark img {
  width: 84px;
  height: 84px;
}
.core-kicker,
.pipeline-core strong,
.pipeline-core > small {
  position: relative;
  z-index: 2;
}
.pipeline-core strong { font-size: 12px; }
.pipeline-core > small { margin-top: 6px; }

/* The signal now visibly enters the lower arm and leaves the upper arm of the S. */
.core-route {
  position: absolute;
  z-index: 1;
  height: 1.5px;
  pointer-events: none;
  opacity: .96;
}
.core-route::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: translateY(-50%);
}
.core-route-in {
  left: 0;
  top: 61%;
  width: 52%;
  background: linear-gradient(90deg, rgba(17,227,196,.14), rgba(17,227,196,.98));
  box-shadow: 0 0 10px rgba(17,227,196,.38);
}
.core-route-in::after {
  right: -2px;
  background: #72fff1;
  box-shadow: 0 0 11px rgba(17,227,196,.82);
}
.core-route-out {
  right: 0;
  top: 39%;
  width: 49%;
  background: linear-gradient(90deg, rgba(111,230,255,.98), rgba(119,100,255,.22));
  box-shadow: 0 0 10px rgba(100,119,255,.34);
}
.core-route-out::after {
  left: -2px;
  background: #9eb0ff;
  box-shadow: 0 0 11px rgba(115,105,255,.72);
}

.pipeline-outputs {
  align-self: center;
  width: 100%;
  max-width: 330px;
  justify-self: start;
  transform: translateX(-4px);
}
.pipeline-outputs .pipeline-kicker { margin-left: 5px; }
.output-list { gap: 4px; }
.output-list article {
  min-height: 40px;
  grid-template-columns: 28px 1fr;
  gap: 8px;
  padding: 4px 8px;
}
.output-list article > span { width: 26px; height: 26px; }

@media (max-width: 1080px) and (min-width: 761px) {
  .hero-art { width: 55%; right: 0; top: 138px; bottom: 58px; background-position: 56% center; }
  .ecosystem-pipeline {
    grid-template-columns: minmax(128px,.9fr) minmax(108px,.72fr) minmax(160px,1fr) minmax(110px,.73fr) minmax(215px,1.25fr);
    gap: 10px;
  }
  .pipeline-core { max-width: 185px; min-height: 210px; }
  .pipeline-outputs { max-width: 285px; transform: translateX(-2px); }
}

@media (max-width: 760px) {
  .hero-art {
    top: 64px;
    right: 0;
    width: 100%;
    height: 46%;
    bottom: auto;
    background-size: auto 100%;
    background-position: 58% center;
  }
  .pipeline-core { max-width: 560px; min-height: 210px; }
  .pipeline-outputs { max-width: 560px; transform: none; }
  .core-route { display: none; }
}

/* ================================
   V10 — multi-page foundation
   Home composition remains v9.
   ================================ */
.desktop-nav > a.current,
.mobile-nav > a.current { color:#fff; }
.desktop-nav > a.current { position:relative; }
.desktop-nav > a.current::after { content:""; position:absolute; left:50%; bottom:-13px; width:4px; height:4px; transform:translateX(-50%) rotate(45deg); background:var(--teal); box-shadow:0 0 10px rgba(17,227,196,.7); }

.subpage main { overflow:hidden; }
.subpage .site-header { background:rgba(2,7,10,.91); }
.page-hero { min-height:620px; display:flex; align-items:center; background:#02070a; overflow:hidden; }
.page-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:76px; align-items:center; padding-top:74px; padding-bottom:70px; }
.page-kicker-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.page-kicker-row .eyebrow { margin-bottom:0; }
.page-chip { display:inline-flex; align-items:center; min-height:25px; padding:0 10px; border-radius:999px; font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.page-chip.teal { color:#9ffff0; border:1px solid rgba(17,227,196,.35); background:rgba(17,227,196,.07); }
.page-chip.violet { color:#dccbff; border:1px solid rgba(150,91,255,.38); background:rgba(150,91,255,.08); }
.page-hero-copy h1 { margin:24px 0 24px; font-size:clamp(58px,5.5vw,92px); line-height:.92; letter-spacing:-.058em; }
.page-hero-copy h1 em { color:var(--teal); font-style:normal; }
.page-lead { max-width:640px; margin:0; color:#c8d8de; font-size:17px; line-height:1.68; }
.section-heading { max-width:760px; }
.section-heading h2,.capability-copy h2,.customise-copy h2,.beyond-copy h2,.principles-copy h2,.direction-copy h2,.principles-board-copy h2 { margin:0; font-size:clamp(42px,4vw,62px); line-height:.96; letter-spacing:-.045em; }
.section-heading h2 em,.capability-copy h2 em,.customise-copy h2 em,.beyond-copy h2 em,.principles-copy h2 em,.direction-copy h2 em,.principles-board-copy h2 em { color:var(--teal); font-style:normal; }
.section-heading > p:last-child,.capability-copy>p:last-child,.customise-copy>p,.beyond-copy>p,.principles-copy>p,.direction-copy>p,.principles-board-copy>p { color:#aabec6; line-height:1.65; font-size:14px; max-width:680px; }

/* Clubs detail */
.clubs-page-hero { background:radial-gradient(circle at 78% 38%,rgba(19,174,194,.15),transparent 25%),radial-gradient(circle at 86% 73%,rgba(77,72,255,.08),transparent 25%),#02070a; }
.page-hero-orbit { position:absolute; right:-8%; top:4%; width:63%; height:100%; background:linear-gradient(135deg,transparent 0 42%,rgba(33,126,143,.11) 42% 42.2%,transparent 42.2% 53%,rgba(83,69,255,.07) 53% 53.2%,transparent 53.2%),radial-gradient(circle at 50% 50%,rgba(17,227,196,.06),transparent 48%); }
.clubs-hero-preview { position:relative; border:1px solid rgba(104,194,211,.4); border-radius:16px; padding:10px; background:linear-gradient(180deg,rgba(6,20,27,.95),rgba(3,10,14,.98)); box-shadow:0 34px 80px rgba(0,0,0,.35),inset 0 0 32px rgba(34,150,169,.055); transform:perspective(1200px) rotateY(-2deg); }
.preview-window-header { height:34px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; color:#73909b; font-size:8px; padding:0 7px 7px; }
.preview-window-header>span { display:flex; gap:4px; }.preview-window-header i { width:5px; height:5px; border-radius:50%; background:#28e8d0; }.preview-window-header i:nth-child(2){background:#46a5ff}.preview-window-header i:nth-child(3){background:#895dff}.preview-window-header b { justify-self:end; color:#5ee9dd; font-size:8px; letter-spacing:.14em; }.preview-window-header small { grid-column:2; grid-row:1; }
.clubs-hero-preview-body { border:1px solid rgba(101,166,180,.24); border-radius:12px; overflow:hidden; }
.clubs-preview-mast { min-height:180px; padding:26px; display:flex; align-items:flex-end; gap:18px; background:radial-gradient(circle at 78% 30%,rgba(31,222,197,.08),transparent 28%),linear-gradient(135deg,rgba(7,23,30,.98),rgba(3,14,20,.98)); }
.clubs-preview-mast>span { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(125,185,200,.22); border-radius:12px; font-size:20px; }
.clubs-preview-mast small { display:block; color:#7f99a3; letter-spacing:.16em; font-size:8px; }.clubs-preview-mast strong { display:block; margin-top:7px; font-size:35px; line-height:.94; }.clubs-preview-mast em { color:var(--teal); font-style:normal; }
.clubs-preview-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:10px; }.clubs-preview-tiles article,.clubs-preview-bottom article { border:1px solid rgba(101,166,180,.21); background:rgba(3,12,17,.8); border-radius:9px; padding:12px; }.clubs-preview-tiles small,.clubs-preview-bottom small { display:block; color:#718b95; font-size:7px; letter-spacing:.14em; }.clubs-preview-tiles b { display:block; margin-top:3px; font-size:22px; }.clubs-preview-bottom { display:grid; grid-template-columns:1.2fr 1fr; gap:9px; padding:0 10px 10px; }.clubs-preview-bottom b { display:flex; justify-content:space-between; margin-top:9px; font-size:13px; }.clubs-preview-bottom em { color:var(--teal); font-style:normal; }
.product-surfaces { padding:72px 0; background:#030b10; }.surface-triad { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }.surface-triad::before { content:""; position:absolute; left:14%; right:14%; top:50%; height:1px; background:linear-gradient(90deg,rgba(17,227,196,.12),rgba(17,227,196,.72),rgba(86,102,255,.52)); z-index:0; }.surface-card { position:relative; z-index:1; min-height:250px; padding:24px; border-radius:14px; border:1px solid rgba(92,151,166,.25); background:linear-gradient(180deg,rgba(7,20,27,.98),rgba(4,12,17,.96)); }.surface-no { position:absolute; right:18px; top:17px; color:#49646f; font-size:10px; letter-spacing:.18em; }.surface-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:11px; border:1px solid rgba(17,227,196,.28); color:var(--teal); }.surface-icon.discord { color:#8ea0ff; border-color:rgba(94,114,255,.3); }.surface-card h3 { margin:30px 0 10px; font-size:27px; }.surface-card p { color:#9bb0b8; font-size:13px; line-height:1.6; max-width:330px; }.surface-card small { position:absolute; left:24px; bottom:21px; color:#657d87; text-transform:uppercase; letter-spacing:.18em; font-size:8px; }
.clubs-capabilities { padding:78px 0; }.capability-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:74px; align-items:start; }.capability-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.capability-grid article { min-height:175px; padding:19px; border:1px solid rgba(92,151,166,.2); border-radius:12px; background:rgba(5,15,21,.74); }.capability-grid span { color:#52e6d4; font-size:8px; font-weight:800; letter-spacing:.2em; }.capability-grid h3 { margin:18px 0 7px; font-size:19px; }.capability-grid p { margin:0; color:#8fa5ae; font-size:12px; line-height:1.55; }
.club-customise { padding:70px 0; background:linear-gradient(180deg,rgba(4,11,16,.98),rgba(4,9,14,.98)); }.customise-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }.theme-console { border:1px solid rgba(87,185,203,.28); border-radius:15px; background:rgba(4,15,21,.92); overflow:hidden; }.theme-console-top { min-height:45px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(87,140,154,.17); color:#8aa3ad; font-size:8px; letter-spacing:.16em; }.theme-console-top b { color:#4de5d5; }.theme-console-body { display:grid; grid-template-columns:180px 1fr; min-height:300px; }.theme-controls { display:grid; align-content:start; gap:1px; padding:12px; border-right:1px solid rgba(87,140,154,.17); }.theme-controls label { min-height:49px; display:grid; grid-template-columns:1fr auto; align-items:center; padding:0 10px; border-radius:8px; color:#9db1ba; font-size:10px; }.theme-controls label:hover { background:rgba(17,227,196,.04); }.theme-controls b { color:#dbe8ec; }.swatch { width:17px; height:17px; border-radius:50%; }.swatch.emerald{background:#11e3c4}.swatch.gold{background:#bd9662}.theme-preview { padding:34px; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 75% 20%,rgba(17,227,196,.11),transparent 27%),linear-gradient(135deg,#071820,#040d13); }.theme-preview>small { color:#78939e; letter-spacing:.2em; }.theme-preview h3 { margin:13px 0 25px; font-size:43px; line-height:.95; }.theme-preview em { color:var(--teal); font-style:normal; }.theme-modules { display:flex; gap:8px; flex-wrap:wrap; }.theme-modules span { padding:6px 9px; border:1px solid rgba(91,158,173,.24); border-radius:999px; color:#91aab4; font-size:9px; }.clean-list { list-style:none; padding:0; margin:27px 0 0; display:grid; gap:12px; color:#c8d8de; font-size:13px; }.clean-list li { position:relative; padding-left:18px; }.clean-list li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; transform:rotate(45deg); background:var(--teal); }
.real-world { padding:64px 0; }.real-world-card { display:grid; grid-template-columns:1fr 390px; gap:50px; align-items:center; padding:35px 38px; border:1px solid rgba(94,155,169,.23); border-radius:16px; background:linear-gradient(100deg,rgba(6,18,25,.96),rgba(6,15,23,.88)); }.real-world-card h2 { margin:0; font-size:40px; letter-spacing:-.04em; }.real-world-card p:not(.eyebrow) { max-width:690px; color:#9fb4bd; line-height:1.65; }.proof-panel { padding:20px; border-left:1px solid rgba(91,151,165,.18); }.proof-label { color:#6e8893; font-size:8px; letter-spacing:.2em; }.proof-panel>strong { display:block; margin:8px 0 20px; font-size:48px; letter-spacing:-.05em; }.proof-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.proof-stats span { display:grid; padding:10px; border-radius:9px; border:1px solid rgba(88,150,165,.19); }.proof-stats b { font-size:11px; color:var(--teal); }.proof-stats small { margin-top:3px; font-size:8px; color:#748c96; }
.clubs-beyond { padding:72px 0; background:radial-gradient(circle at 79% 48%,rgba(65,71,255,.07),transparent 28%),#030a0f; }.beyond-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }.beyond-rail { position:relative; display:grid; gap:10px; }.beyond-rail span { position:relative; z-index:1; min-height:62px; display:flex; gap:18px; align-items:center; padding:0 18px; border-radius:10px; border:1px solid rgba(91,151,165,.2); background:rgba(6,18,24,.78); color:#97adb6; }.beyond-rail span.active { border-color:rgba(17,227,196,.42); color:#eefbfa; }.beyond-rail b { color:#57707a; font-size:10px; letter-spacing:.15em; }.beyond-rail span.active b { color:var(--teal); }.beyond-rail i { position:absolute; left:31px; top:31px; bottom:31px; width:1px; background:linear-gradient(var(--teal),rgba(85,94,255,.25)); }
.page-coming { padding:62px 0 74px; }.page-coming-card { display:grid; grid-template-columns:1fr auto; gap:45px; align-items:center; padding:34px; border:1px solid rgba(99,169,183,.24); border-radius:16px; background:linear-gradient(120deg,rgba(7,23,29,.96),rgba(4,10,17,.96)); }.page-coming-card h2 { margin:0; font-size:42px; line-height:1; }.page-coming-card h2 em { color:var(--teal); font-style:normal; }.page-coming-card p:not(.eyebrow){color:#96abb4;max-width:670px;line-height:1.55}.page-coming-actions{display:grid;gap:16px;justify-items:end}.large-status{display:inline-flex;align-items:center;gap:10px;color:#b6cacd;font-size:9px;letter-spacing:.17em}.large-status i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px rgba(17,227,196,.7)}

/* Labs detail */
.labs-page-hero { background:radial-gradient(circle at 74% 45%,rgba(139,79,255,.17),transparent 27%),radial-gradient(circle at 78% 48%,rgba(36,145,255,.08),transparent 42%),#050610; }.labs-page-hero .page-hero-copy h1 em { color:#9859ff; }.labs-aurora { position:absolute; inset:0; background:linear-gradient(135deg,transparent 0 48%,rgba(131,74,255,.07) 48% 48.2%,transparent 48.2%),radial-gradient(circle at 79% 72%,rgba(93,40,255,.08),transparent 24%); }.labs-orbit { position:relative; justify-self:center; width:min(480px,100%); aspect-ratio:1; display:grid; place-items:center; }.labs-orbit::before,.labs-orbit::after{content:"";position:absolute;border:1px solid rgba(138,102,255,.18);border-radius:50%;inset:10%;}.labs-orbit::after{inset:25%;border-color:rgba(48,165,255,.16)}.labs-orbit-core{width:150px;height:150px;display:grid;place-items:center;border-radius:34px;border:1px solid rgba(124,100,255,.27);background:radial-gradient(circle at center,rgba(101,66,255,.11),rgba(6,11,22,.9));box-shadow:0 0 70px rgba(101,66,255,.12)}.labs-orbit-core img{width:110px;height:110px;object-fit:contain}.orbit-item{position:absolute;padding:7px 10px;border:1px solid rgba(126,112,255,.23);border-radius:8px;background:rgba(7,10,23,.86);font-size:8px;letter-spacing:.18em;color:#b4a8e5}.orbit-item.one{top:6%;left:43%}.orbit-item.two{right:5%;top:40%}.orbit-item.three{bottom:8%;left:44%}.orbit-item.four{left:2%;top:40%}
.labs-projects { padding:72px 0; background:#05070f; }.featured-project { display:grid; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:center; padding:32px 0 58px; border-bottom:1px solid rgba(105,92,155,.17); }.featured-project.remote-project{grid-template-columns:.8fr 1.2fr}.project-copy h2{margin:15px 0 12px;font-size:54px;line-height:.95}.project-copy>p{color:#a8b2c1;line-height:1.7;font-size:15px;max-width:610px}.project-meta{display:flex;gap:9px;align-items:center;color:#778096;text-transform:uppercase;font-size:8px;letter-spacing:.16em}.project-status{padding:6px 9px;border-radius:999px;border:1px solid rgba(17,227,196,.28);color:#8cf9e9}.project-status.blue{border-color:rgba(65,136,255,.34);color:#a9c8ff}.project-points{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.project-points span{padding:7px 10px;border:1px solid rgba(120,104,192,.23);border-radius:8px;color:#aeb5c7;font-size:10px}.nest-console{border:1px solid rgba(87,126,168,.32);border-radius:15px;overflow:hidden;background:linear-gradient(180deg,#09101d,#050912);box-shadow:0 30px 70px rgba(0,0,0,.28)}.console-top{min-height:47px;padding:0 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(99,115,161,.19);font-size:10px}.console-top>b{letter-spacing:.2em}.console-top>span{color:#758196}.console-top>i{margin-left:auto;color:#55e8cf;font-style:normal;font-size:8px}.console-grid{display:grid;grid-template-columns:135px 1fr;min-height:305px}.console-grid aside{padding:12px;border-right:1px solid rgba(99,115,161,.16);display:grid;align-content:start;gap:5px}.console-grid aside span{padding:9px 10px;border-radius:7px;color:#7f899d;font-size:10px}.console-grid aside .selected{background:rgba(89,79,255,.1);color:#d7ddff}.console-grid main{padding:20px}.node-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid rgba(100,117,160,.16)}.node-row small{display:block;color:#6e7c91;font-size:8px}.node-row b{display:block;margin-top:4px;font-size:19px}.node-state{color:#5ce9d1;font-size:8px;letter-spacing:.14em}.gauge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0}.gauge-row article{padding:13px;border:1px solid rgba(95,112,154,.17);border-radius:9px}.gauge-row small{display:block;color:#6e7c91;font-size:8px}.gauge-row b{display:block;margin-top:6px;font-size:23px}.service-list{display:grid;gap:6px}.service-list span{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(95,112,154,.14);border-radius:7px;font-size:9px;color:#aeb8c9}.service-list i{width:6px;height:6px;border-radius:50%;background:#50dec7}.service-list b{color:#69dac9;font-size:7px}.remote-phone{width:270px;justify-self:center;padding:11px;border:1px solid rgba(77,123,190,.34);border-radius:31px;background:#050814;box-shadow:0 35px 80px rgba(0,0,0,.34),0 0 40px rgba(45,118,255,.08)}.phone-speaker{width:62px;height:4px;border-radius:4px;background:#283247;margin:3px auto 9px}.phone-screen{min-height:455px;padding:24px 17px;border-radius:22px;background:radial-gradient(circle at 70% 15%,rgba(44,142,255,.14),transparent 30%),linear-gradient(180deg,#081321,#060b15)}.phone-screen>small{color:#6e87a3;letter-spacing:.17em}.phone-screen h3{margin:25px 0 5px;font-size:31px}.phone-online{color:#58e1ca;font-size:8px}.phone-gauges{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:32px 0}.phone-gauges article{height:95px;display:grid;place-items:center;border-radius:50%;border:8px solid rgba(63,142,255,.24);background:#06101c}.phone-gauges b{font-size:18px}.phone-gauges small{font-size:7px;color:#7890a8}.phone-services{display:grid;gap:7px}.phone-services span{display:flex;justify-content:space-between;padding:11px;border:1px solid rgba(70,108,160,.2);border-radius:8px;font-size:9px}.phone-services i{font-style:normal;color:#54dfc9;font-size:7px}.project-copy blockquote{margin:28px 0 0;padding:18px 20px;border-left:2px solid #4e93ff;background:rgba(48,92,175,.06);color:#d9e3ff;font-size:17px;letter-spacing:.02em}.experiment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:50px}.experiment-grid article{min-height:190px;padding:22px;border:1px solid rgba(113,92,176,.23);border-radius:12px;background:rgba(10,9,25,.72)}.experiment-grid span{color:#9f76ff;font-size:8px;letter-spacing:.18em}.experiment-grid h3{margin:20px 0 8px;font-size:21px}.experiment-grid p{margin:0;color:#8e91a7;font-size:12px;line-height:1.6}.labs-principles{padding:78px 0;background:radial-gradient(circle at 20% 50%,rgba(136,74,255,.11),transparent 30%),#080617}.principles-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.principles-copy h2 em{color:#995dff}.principle-list{display:grid;gap:8px}.principle-list article{min-height:100px;display:grid;grid-template-columns:45px 1fr;gap:16px;padding:18px;border:1px solid rgba(128,98,201,.2);border-radius:11px;background:rgba(8,8,22,.65)}.principle-list>b{}.principle-list article>b{color:#7854c6;font-size:10px}.principle-list h3{margin:0 0 5px;font-size:18px}.principle-list p{margin:0;color:#8d91a5;font-size:12px;line-height:1.5}.labs-next{padding:64px 0;background:#06050f}.labs-next-card{display:grid;grid-template-columns:110px 1fr auto;gap:32px;align-items:center;padding:30px;border:1px solid rgba(129,92,211,.24);border-radius:14px;background:linear-gradient(110deg,rgba(18,11,45,.86),rgba(7,7,18,.93))}.labs-next-card img{width:92px;height:92px;object-fit:contain}.labs-next-card h2{margin:0;font-size:38px}.labs-next-card h2 em{color:#995dff;font-style:normal}.labs-next-card p:not(.eyebrow){color:#8f91a4}

/* About detail */
.about-page-hero{background:radial-gradient(circle at 76% 45%,rgba(39,173,188,.1),transparent 25%),radial-gradient(circle at 86% 68%,rgba(102,67,255,.08),transparent 24%),#02070a}.about-s-mark{position:absolute;right:7%;top:9%;width:47%;height:84%;display:grid;place-items:center;opacity:.12;filter:blur(.1px)}.about-s-mark img{width:72%;max-height:100%;object-fit:contain}.brand-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lane{min-height:255px;padding:23px;border:1px solid rgba(91,151,165,.23);border-radius:14px;background:linear-gradient(180deg,rgba(7,19,27,.9),rgba(4,11,17,.9));display:flex;flex-direction:column}.lane.labs-lane{border-color:rgba(128,88,210,.25);background:linear-gradient(180deg,rgba(17,10,36,.9),rgba(8,7,21,.92))}.lane>span{font-size:8px;letter-spacing:.18em;color:#6c8792}.lane h2{margin:28px 0 8px;font-size:44px}.lane p{color:#92a8b1;font-size:13px;line-height:1.55}.lane a{margin-top:auto;font-size:12px;color:#d8e7ec}.labs-lane a{color:#d9c9ff}.about-two-lanes{padding:74px 0}.lane-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.lane-comparison article{min-height:255px;padding:27px;border:1px solid rgba(92,151,166,.22);border-radius:14px;background:rgba(6,17,23,.8)}.lane-number{color:#54717b;font-size:10px;letter-spacing:.18em}.lane-comparison h3{margin:28px 0 8px;font-size:34px}.lane-comparison strong{display:block;color:#e4eef1;font-size:16px}.lane-comparison p{color:#8fa5ae;max-width:520px;line-height:1.6;font-size:13px}.about-principles{padding:76px 0;background:#030a0f}.principles-board{display:grid;grid-template-columns:.76fr 1.24fr;gap:70px}.principles-board-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.principles-board-grid article{min-height:180px;padding:20px;border:1px solid rgba(91,151,165,.18);border-radius:11px;background:rgba(5,15,21,.67)}.principles-board-grid b{color:#4b7b84;font-size:9px}.principles-board-grid h3{margin:28px 0 8px;font-size:19px}.principles-board-grid p{margin:0;color:#8ba0aa;font-size:12px;line-height:1.55}.about-direction{padding:76px 0;background:radial-gradient(circle at 75% 45%,rgba(75,68,255,.06),transparent 25%),#04090e}.direction-layout{display:grid;grid-template-columns:1fr .95fr;gap:75px;align-items:center}.direction-map{position:relative;display:grid;gap:8px}.direction-map span{min-height:64px;display:grid;grid-template-columns:75px 1fr;align-items:center;padding:0 18px;border:1px solid rgba(91,151,165,.19);border-radius:10px;background:rgba(5,16,22,.76);color:#a9bbc3}.direction-map b{color:#5f7b86;font-size:8px;letter-spacing:.16em}.direction-map i{height:16px;width:1px;background:linear-gradient(var(--teal),rgba(90,75,255,.24));margin-left:56px}.about-contact{padding:66px 0}.contact-card{display:grid;grid-template-columns:1fr 500px;gap:50px;align-items:center;padding:32px;border:1px solid rgba(91,151,165,.24);border-radius:15px;background:linear-gradient(100deg,rgba(6,19,25,.95),rgba(8,10,22,.94))}.contact-card h2{margin:0;font-size:37px;line-height:1}.contact-card h2 em{color:var(--teal);font-style:normal}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-link{min-height:95px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:6px 10px;align-content:center;padding:17px;border:1px solid rgba(17,227,196,.24);border-radius:10px}.contact-link.discord{border-color:rgba(112,91,255,.28)}.contact-link span{font-size:7px;letter-spacing:.18em;color:#66c7bd}.contact-link.discord span{color:#9787e4}.contact-link b{font-size:14px}.contact-link i{grid-row:1/3;grid-column:2;font-style:normal;align-self:center}

.error-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(23,128,145,.08),transparent 30%),#02070a}.error-shell{max-width:650px;padding:50px;text-align:center}.error-shell img{width:100px;height:100px;object-fit:contain;margin:0 auto 26px}.error-shell h1{font-size:58px;margin:0 0 14px;letter-spacing:-.05em}.error-shell>p:not(.eyebrow){color:#9ab0b9;line-height:1.6}.error-shell .button{margin-top:18px}

@media (max-width: 980px){
  .page-hero-grid,.capability-layout,.customise-layout,.real-world-card,.beyond-layout,.principles-layout,.principles-board,.direction-layout,.contact-card{grid-template-columns:1fr;gap:38px}.page-hero{min-height:0}.page-hero-grid{padding-top:70px}.clubs-hero-preview{transform:none}.surface-triad,.experiment-grid{grid-template-columns:1fr}.surface-triad::before{display:none}.capability-grid,.brand-lanes,.lane-comparison,.principles-board-grid{grid-template-columns:1fr 1fr}.theme-console-body{grid-template-columns:150px 1fr}.real-world-card{padding:28px}.proof-panel{border-left:0;border-top:1px solid rgba(91,151,165,.18)}.page-coming-card,.labs-next-card{grid-template-columns:1fr}.page-coming-actions{justify-items:start}.featured-project,.featured-project.remote-project{grid-template-columns:1fr}.remote-phone{grid-row:2}.principles-layout{gap:38px}.contact-actions{max-width:520px}.about-s-mark{width:80%;right:-20%;opacity:.08}
}
@media (max-width: 620px){
  .page-hero-copy h1{font-size:clamp(46px,14vw,66px)}.page-lead{font-size:15px}.clubs-preview-tiles,.clubs-preview-bottom{grid-template-columns:1fr}.capability-grid,.brand-lanes,.lane-comparison,.principles-board-grid,.contact-actions{grid-template-columns:1fr}.theme-console-body{grid-template-columns:1fr}.theme-controls{border-right:0;border-bottom:1px solid rgba(87,140,154,.17);grid-template-columns:1fr 1fr}.theme-preview{padding:26px}.proof-stats{grid-template-columns:1fr}.project-copy h2{font-size:44px}.console-grid{grid-template-columns:1fr}.console-grid aside{display:none}.labs-next-card{padding:22px}.labs-next-card img{width:70px;height:70px}.direction-map span{grid-template-columns:55px 1fr}.contact-card{padding:22px}.error-shell{padding:30px 18px}.error-shell h1{font-size:44px}
}


/* =====================================================
   V11 — Mobile-first Home composition
   Desktop/tablet composition remains V10/V9.
   This block deliberately re-composes Home at <=760px
   rather than shrinking the desktop layout.
   ===================================================== */
@media (max-width: 760px) {
  body:not(.subpage) .shell { width:min(100% - 28px, 620px); }

  /* Hero: copy owns the viewport; artwork becomes atmosphere. */
  body:not(.subpage) .hero {
    min-height:0;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    background:#02070a;
  }
  body:not(.subpage) .hero::before {
    z-index:1;
    background:
      linear-gradient(180deg,rgba(2,7,10,.42) 0%,rgba(2,7,10,.78) 35%,rgba(2,7,10,.985) 64%,#02070a 100%),
      linear-gradient(90deg,rgba(2,7,10,.78),rgba(2,7,10,.08) 68%,rgba(2,7,10,.22));
  }
  body:not(.subpage) .hero-art {
    z-index:0;
    top:0;
    right:-22%;
    bottom:auto;
    width:132%;
    height:410px;
    opacity:.76;
    border:0;
    background-size:cover;
    background-position:61% 46%;
    filter:saturate(.88) contrast(1.04) brightness(.8);
  }
  body:not(.subpage) .hero-art::after {
    background:
      linear-gradient(180deg,rgba(2,7,10,.03) 0%,rgba(2,7,10,.2) 52%,rgba(2,7,10,.93) 92%,#02070a 100%),
      linear-gradient(90deg,rgba(2,7,10,.55),transparent 58%);
  }
  body:not(.subpage) .hero-lines { opacity:.2; z-index:1; }
  body:not(.subpage) .hero-shell {
    position:relative;
    z-index:2;
    display:block;
    min-height:0;
    padding-top:252px;
    padding-bottom:48px;
  }
  body:not(.subpage) .hero-copy { max-width:none; }
  body:not(.subpage) .hero .eyebrow { margin-bottom:13px; }
  body:not(.subpage) .hero h1 {
    max-width:440px;
    margin-bottom:18px;
    font-size:clamp(46px,13.2vw,62px);
    line-height:.91;
    letter-spacing:-.055em;
  }
  body:not(.subpage) .hero h1 strong { color:#d8dde0; }
  body:not(.subpage) .hero .lead {
    max-width:500px;
    margin-bottom:22px;
    color:#b7c7ce;
    font-size:14px;
    line-height:1.58;
  }
  body:not(.subpage) .hero .button-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  body:not(.subpage) .hero .button {
    min-width:0;
    width:100%;
    justify-content:space-between;
    padding-inline:15px;
    font-size:12px;
  }

  /* Clubs: sell the idea, don't miniaturise a desktop browser. */
  body:not(.subpage) .clubs { padding:42px 0 46px; }
  body:not(.subpage) .clubs-layout { gap:22px; }
  body:not(.subpage) .clubs-copy h2 {
    max-width:530px;
    font-size:clamp(38px,10.6vw,50px);
    line-height:.96;
  }
  body:not(.subpage) .clubs-copy .section-copy { margin-top:18px; font-size:13.5px; line-height:1.58; }
  body:not(.subpage) .product-frame {
    border-radius:13px;
    padding:7px;
    box-shadow:0 20px 46px rgba(0,0,0,.25),inset 0 0 26px rgba(45,178,204,.04);
  }
  body:not(.subpage) .preview-browserbar { display:none; }
  body:not(.subpage) .hub-site { border-radius:9px; }
  body:not(.subpage) .hub-header {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    padding:11px 11px 9px;
  }
  body:not(.subpage) .hub-brand { min-width:0; }
  body:not(.subpage) .club-badge { width:30px; height:30px; font-size:11px; }
  body:not(.subpage) .hub-brand b { font-size:10px; }
  body:not(.subpage) .hub-brand small { font-size:7px; }
  body:not(.subpage) .hub-season { height:27px; padding:0 9px; font-size:7px; }
  body:not(.subpage) .hub-nav { display:none; }
  body:not(.subpage) .hub-hero {
    display:grid;
    grid-template-columns:1fr;
    gap:13px;
    min-height:0;
    padding:14px 12px 12px;
  }
  body:not(.subpage) .hub-kicker { font-size:7px; }
  body:not(.subpage) .hub-hero h3 { margin:5px 0 6px; font-size:30px; line-height:.93; }
  body:not(.subpage) .hub-hero p { max-width:340px; font-size:8px; line-height:1.45; }
  body:not(.subpage) .hub-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }
  body:not(.subpage) .hub-summary span { min-height:48px; padding:8px 9px; border-radius:8px; }
  body:not(.subpage) .hub-summary small { font-size:7px; }
  body:not(.subpage) .hub-summary b { font-size:16px; }
  body:not(.subpage) .hub-content {
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    padding:0 9px 9px;
  }
  body:not(.subpage) .hub-card { min-height:0; padding:10px; border-radius:8px; }
  body:not(.subpage) .hub-result { display:block; }
  body:not(.subpage) .hub-player { display:block; }
  body:not(.subpage) .hub-award { display:none; }
  body:not(.subpage) .hub-card-head { margin-bottom:8px; }
  body:not(.subpage) .hub-card-head b { font-size:8px; }
  body:not(.subpage) .hub-card-head small { font-size:6.5px; }
  body:not(.subpage) .result-score { margin:4px 0 2px; }
  body:not(.subpage) .result-score strong { font-size:22px; }
  body:not(.subpage) .result-score span { font-size:8px; }
  body:not(.subpage) .hub-result p { margin:4px 0 0; font-size:6.5px; }
  body:not(.subpage) .player-row { margin-bottom:8px; }
  body:not(.subpage) .avatar { width:28px; height:28px; font-size:9px; }
  body:not(.subpage) .player-row strong { font-size:9px; }
  body:not(.subpage) .player-row small { font-size:6.5px; }
  body:not(.subpage) .player-row>b { font-size:16px; }
  body:not(.subpage) .mini-stats small { font-size:6px; }
  body:not(.subpage) .mini-stats b { font-size:11px; }

  body:not(.subpage) .feature-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:0;
  }
  body:not(.subpage) .feature-strip article,
  body:not(.subpage) .feature-strip article:last-child {
    grid-column:auto;
    min-height:106px;
    padding:12px 11px 11px;
    border-radius:9px;
  }
  body:not(.subpage) .feature-icon { width:28px; height:28px; margin-bottom:8px; font-size:12px; }
  body:not(.subpage) .feature-strip h3 { font-size:11px; line-height:1.08; }
  body:not(.subpage) .feature-strip p { margin-top:5px; font-size:8px; line-height:1.35; }

  /* Ecosystem: a portrait narrative, not a squeezed topology diagram. */
  body:not(.subpage) .ecosystem { padding:46px 0 50px; }
  body:not(.subpage) .ecosystem-copy h2 { font-size:clamp(38px,10.2vw,48px); line-height:.96; }
  body:not(.subpage) .ecosystem-copy .section-copy { font-size:13px; line-height:1.55; }
  body:not(.subpage) .ecosystem-pipeline {
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
    margin-top:28px;
    padding:0 4px;
  }
  body:not(.subpage) .pipeline-routes { display:none; }
  body:not(.subpage) .pipeline-source,
  body:not(.subpage) .pipeline-stage,
  body:not(.subpage) .pipeline-core,
  body:not(.subpage) .pipeline-outputs {
    position:relative;
    width:100%;
    max-width:430px;
    justify-self:center;
    transform:none;
  }
  body:not(.subpage) .pipeline-source,
  body:not(.subpage) .pipeline-stage,
  body:not(.subpage) .pipeline-core {
    margin-bottom:8px;
  }
  body:not(.subpage) .pipeline-source::after,
  body:not(.subpage) .pipeline-stage::after,
  body:not(.subpage) .pipeline-core::after {
    content:"";
    position:absolute;
    z-index:4;
    left:50%;
    bottom:-33px;
    width:1.5px;
    height:25px;
    transform:translateX(-50%);
    background:linear-gradient(180deg,rgba(17,227,196,.96),rgba(77,130,255,.55));
    box-shadow:0 0 10px rgba(17,227,196,.28);
    clip-path:none;
    border:0;
  }
  body:not(.subpage) .pipeline-stage.stage-processed::after {
    background:linear-gradient(180deg,rgba(105,112,255,.85),rgba(159,89,255,.74));
    box-shadow:0 0 10px rgba(130,87,255,.3);
  }
  body:not(.subpage) .pipeline-source::before,
  body:not(.subpage) .pipeline-stage::before,
  body:not(.subpage) .pipeline-core .core-route-out::after {
    content:"";
    position:absolute;
    z-index:5;
    left:50%;
    bottom:-36px;
    width:7px;
    height:7px;
    transform:translateX(-50%);
    border-radius:50%;
    background:#67fff0;
    box-shadow:0 0 12px rgba(17,227,196,.7);
  }
  body:not(.subpage) .stage-processed::before { background:#9f78ff; box-shadow:0 0 12px rgba(143,90,255,.65); }
  body:not(.subpage) .pipeline-source { min-height:0; padding:15px; border-radius:11px; }
  body:not(.subpage) .pipeline-source ul { grid-template-columns:1fr 1fr; gap:8px 12px; }
  body:not(.subpage) .pipeline-stage { min-height:84px; padding:12px 14px; border-radius:10px; }
  body:not(.subpage) .pipeline-core {
    min-height:190px;
    max-width:300px;
    overflow:visible;
    border-radius:11px;
  }
  body:not(.subpage) .core-mark { width:86px; height:86px; }
  body:not(.subpage) .core-mark img { width:80px; height:80px; }
  body:not(.subpage) .core-route { display:block; }
  body:not(.subpage) .core-route-in {
    left:0;
    top:61%;
    width:52%;
  }
  body:not(.subpage) .core-route-out {
    right:0;
    top:39%;
    width:49%;
  }
  body:not(.subpage) .pipeline-outputs { max-width:430px; }
  body:not(.subpage) .pipeline-outputs .pipeline-kicker { margin-left:0; margin-bottom:10px; }
  body:not(.subpage) .output-list { grid-template-columns:1fr 1fr; gap:7px; }
  body:not(.subpage) .output-list article { min-height:52px; padding:7px 9px; border-radius:8px; }
  body:not(.subpage) .output-list article:last-child { grid-column:1/-1; }
  body:not(.subpage) .output-list b { font-size:10px; }
  body:not(.subpage) .output-list small { font-size:7px; }

  /* These sections already translate well — only mobile rhythm changes. */
  body:not(.subpage) .coming { padding-top:46px; }
  body:not(.subpage) .labs { padding-top:44px; }
  body:not(.subpage) .footer-shell { gap:13px; }
  body:not(.subpage) .site-footer p { font-size:11px; }
  body:not(.subpage) .site-footer nav { gap:12px 16px; font-size:11px; }
  body:not(.subpage) .site-footer small { font-size:9px; }
}

@media (max-width: 430px) {
  body:not(.subpage) .hero-shell { padding-top:236px; }
  body:not(.subpage) .hero-art { height:385px; right:-26%; width:140%; }
  body:not(.subpage) .hero h1 { font-size:clamp(44px,13.7vw,58px); }
  body:not(.subpage) .clubs-copy h2,
  body:not(.subpage) .ecosystem-copy h2 { font-size:clamp(36px,10.9vw,46px); }
  body:not(.subpage) .pipeline-source,
  body:not(.subpage) .pipeline-stage,
  body:not(.subpage) .pipeline-outputs { max-width:100%; }
  body:not(.subpage) .pipeline-core { max-width:270px; }
}

/* =====================================================
   V12 — site-wide polish and ecosystem rebuild
   No redesign: tighter rhythm, clearer navigation,
   stronger hierarchy and a robust routed ecosystem.
   ===================================================== */

/* Header/nav */
.desktop-nav { gap:32px; }
.desktop-nav > a.current::after { width:6px; height:2px; border-radius:99px; transform:translateX(-50%); bottom:14px; }

/* ---------- Home: ecosystem rebuilt ---------- */
.ecosystem { padding:54px 0 62px; }
.ecosystem-copy { max-width:720px; }
.ecosystem-copy h2 { max-width:700px; }
.eco-flow {
  --eco-gap:12px;
  position:relative;
  display:grid;
  grid-template-columns:
    minmax(154px,.9fr) 44px
    minmax(136px,.78fr) 50px
    minmax(180px,1fr) 50px
    minmax(140px,.8fr) 58px
    minmax(250px,1.34fr);
  gap:var(--eco-gap);
  align-items:center;
  margin-top:34px;
  min-height:270px;
}
.eco-node { position:relative; min-width:0; z-index:2; }
.eco-kicker { display:block; margin-bottom:10px; color:#8eabb6; font-size:8px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.eco-source {
  min-height:214px;
  padding:15px 15px 13px;
  border:1px solid rgba(96,190,209,.34);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(6,20,27,.91),rgba(4,13,18,.94));
  box-shadow:inset 0 0 26px rgba(29,147,168,.045);
}
.eco-source-head { display:grid; grid-template-columns:40px 1fr; gap:10px; align-items:center; margin-bottom:15px; }
.eco-ea { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(133,204,218,.28); border-radius:8px; font-size:13px; }
.eco-source-head b { display:block; font-size:13px; }
.eco-source-head small { display:block; margin-top:3px; color:#78919b; font-size:8px; line-height:1.35; text-transform:uppercase; }
.eco-source ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; color:#cbdde2; font-size:10px; }
.eco-source li { position:relative; padding-left:13px; }
.eco-source li::before { content:""; position:absolute; left:0; top:.45em; width:4px; height:4px; border-radius:50%; background:#49e9ff; box-shadow:0 0 8px rgba(73,233,255,.55); }

.eco-hop {
  min-height:94px;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:11px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(17,227,196,.48);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(5,23,27,.94),rgba(4,13,19,.96));
  box-shadow:0 0 22px rgba(17,227,196,.05);
}
.eco-hop-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:8px; border:1px solid rgba(17,227,196,.3); color:var(--teal); background:rgba(17,227,196,.045); }
.eco-hop small { display:block; color:#78909a; font-size:7px; letter-spacing:.16em; text-transform:uppercase; }
.eco-hop b { display:block; margin-top:3px; font-size:15px; letter-spacing:.02em; text-transform:uppercase; }
.eco-hop p { margin:5px 0 0; color:#7d929b; font-size:8px; line-height:1.35; }
.eco-processed { border-color:rgba(145,84,255,.58); }
.eco-processed .eco-hop-icon { color:#a56cff; border-color:rgba(145,84,255,.36); background:rgba(145,84,255,.055); }

.eco-core {
  min-height:226px;
  width:100%;
  max-width:206px;
  justify-self:center;
  padding:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:visible;
  border:1px solid rgba(66,210,255,.74);
  border-radius:11px;
  background:
    radial-gradient(circle at 50% 50%,rgba(36,156,184,.08),transparent 50%),
    linear-gradient(180deg,rgba(7,28,37,.94),rgba(5,17,26,.98));
  box-shadow:0 0 0 1px rgba(92,120,255,.22) inset,inset 0 0 28px rgba(50,190,220,.07),0 0 28px rgba(51,174,211,.07);
}
.eco-core::before,.eco-core::after { content:""; position:absolute; inset:7px; border:1px solid rgba(86,104,255,.23); clip-path:polygon(0 0,32% 0,0 32%,0 100%,100% 100%,100% 0); pointer-events:none; }
.eco-core::after { transform:rotate(180deg); }
.eco-core-mark { width:96px; height:96px; display:grid; place-items:center; margin:10px 0 8px; }
.eco-core-mark img { width:90px; height:90px; object-fit:contain; filter:drop-shadow(0 0 12px rgba(94,218,255,.12)); }
.eco-core strong { position:relative; z-index:3; font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.eco-core > small { position:relative; z-index:3; margin-top:6px; color:#738b95; font-size:6.5px; letter-spacing:.18em; text-transform:uppercase; }
.eco-core > .eco-kicker { position:relative; z-index:3; font-size:7px; letter-spacing:.28em; }
.eco-core-port { position:absolute; z-index:4; width:8px; height:8px; border-radius:50%; }
.eco-core-port::before { content:""; position:absolute; top:50%; width:64px; height:1.5px; transform:translateY(-50%); }
.eco-core-port-in { left:-4px; top:64%; background:#71fff0; box-shadow:0 0 13px rgba(17,227,196,.8); }
.eco-core-port-in::before { left:4px; background:linear-gradient(90deg,#71fff0,rgba(17,227,196,.14)); }
.eco-core-port-out { right:-4px; top:36%; background:#a9b4ff; box-shadow:0 0 13px rgba(111,105,255,.72); }
.eco-core-port-out::before { right:4px; background:linear-gradient(90deg,rgba(111,105,255,.16),#8fa5ff); }

.eco-link { position:relative; height:100%; min-height:92px; z-index:1; pointer-events:none; }
.eco-link span { position:absolute; left:0; right:0; top:50%; height:1.5px; transform:translateY(-50%); background:linear-gradient(90deg,rgba(17,227,196,.28),rgba(17,227,196,.96)); box-shadow:0 0 9px rgba(17,227,196,.23); }
.eco-link svg { width:100%; height:100%; overflow:visible; }
.eco-link path { fill:none; vector-effect:non-scaling-stroke; stroke-width:1.5; filter:drop-shadow(0 0 4px rgba(76,220,255,.28)); }
.eco-link-in path { stroke:#42e9d8; }
.eco-link-out path { stroke:#7588ff; }
.eco-link-branch path { stroke:url(#ecoBranchFallback); stroke:#766eff; opacity:.82; }

.eco-outputs { align-self:center; width:100%; max-width:330px; justify-self:start; }
.eco-output-list { display:grid; gap:4px; }
.eco-output-list article { min-height:40px; display:grid; grid-template-columns:28px 1fr; gap:8px; align-items:center; padding:4px 8px; border:1px solid rgba(101,190,207,.25); border-radius:7px; background:rgba(7,20,26,.84); }
.eco-output-list article > span { width:26px; height:26px; display:grid; place-items:center; border-radius:6px; color:#c4f9ff; background:rgba(55,179,205,.07); font-size:12px; }
.eco-output-list b { display:block; font-size:10px; }
.eco-output-list small { display:block; margin-top:1px; color:#82959e; font-size:7px; }

/* ---------- Subpages: tighten without redesigning ---------- */
.subpage .page-hero { min-height:560px; }
.subpage .page-hero-grid { gap:58px; padding-top:58px; padding-bottom:56px; }
.subpage .page-hero-copy h1 { margin:18px 0 18px; font-size:clamp(54px,5vw,82px); line-height:.93; }
.subpage .page-lead { font-size:16px; line-height:1.58; }
.subpage .button-row { margin-top:22px; }

.product-surfaces { padding:62px 0; }
.surface-triad { margin-top:30px; gap:13px; }
.surface-card { min-height:224px; padding:21px; }
.surface-card h3 { margin:25px 0 8px; font-size:25px; }
.surface-card small { left:21px; bottom:18px; }
.clubs-capabilities { padding:66px 0; }
.capability-layout { gap:58px; }
.capability-grid { gap:10px; }
.capability-grid article { min-height:158px; padding:17px 18px; }
.capability-grid h3 { margin:15px 0 6px; }
.club-customise { padding:62px 0; }
.customise-layout { gap:54px; }
.theme-console-body { min-height:274px; }
.theme-preview { padding:30px; }
.theme-preview h3 { font-size:39px; margin:12px 0 22px; }
.real-world { padding:54px 0; }
.real-world-card { padding:30px 34px; gap:42px; }
.clubs-beyond { padding:62px 0; }
.beyond-layout { gap:62px; }
.page-coming { padding:54px 0 64px; }
.page-coming-card { padding:30px; }

.labs-projects { padding:62px 0; }
.featured-project { gap:46px; padding:25px 0 50px; }
.project-copy h2 { font-size:50px; }
.project-copy > p { font-size:14px; line-height:1.62; }
.nest-console { box-shadow:0 24px 58px rgba(0,0,0,.25); }
.console-grid { min-height:286px; }
.phone-screen { min-height:430px; }
.experiment-grid { padding-top:40px; gap:10px; }
.experiment-grid article { min-height:170px; padding:20px; }
.labs-principles { padding:66px 0; }
.principles-layout { gap:62px; }
.principle-list article { min-height:92px; padding:16px 17px; }
.labs-next { padding:54px 0; }
.labs-next-card { padding:26px 28px; }

.about-two-lanes { padding:62px 0; }
.brand-lanes { gap:10px; }
.lane { min-height:228px; padding:21px; }
.lane h2 { margin:23px 0 7px; font-size:40px; }
.lane-comparison { margin-top:28px; gap:12px; }
.lane-comparison article { min-height:222px; padding:24px; }
.lane-comparison h3 { margin:23px 0 7px; font-size:31px; }
.about-principles { padding:64px 0; }
.principles-board { gap:58px; }
.principles-board-grid article { min-height:158px; padding:18px; }
.principles-board-grid h3 { margin:22px 0 7px; }
.about-direction { padding:64px 0; }
.direction-layout { gap:60px; }
.direction-map span { min-height:58px; }
.about-contact { padding:54px 0; }
.contact-card { padding:28px; gap:38px; }
.contact-link { min-height:86px; }

/* Tablet ecosystem stays horizontal until it genuinely cannot fit. */
@media (max-width:1180px) and (min-width:761px) {
  .eco-flow { grid-template-columns:minmax(132px,.86fr) 30px minmax(118px,.72fr) 34px minmax(165px,.95fr) 34px minmax(122px,.74fr) 40px minmax(215px,1.2fr); gap:8px; }
  .eco-core { max-width:190px; min-height:214px; }
  .eco-outputs { max-width:290px; }
  .eco-source { min-height:205px; }
}

/* Phone Home: a deliberate vertical narrative. */
@media (max-width:760px) {
  body:not(.subpage) .eco-flow {
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    margin-top:26px;
    padding:0 2px;
  }
  body:not(.subpage) .eco-link { display:none; }
  body:not(.subpage) .eco-source,
  body:not(.subpage) .eco-hop,
  body:not(.subpage) .eco-core,
  body:not(.subpage) .eco-outputs { width:100%; max-width:430px; justify-self:center; }
  body:not(.subpage) .eco-source,
  body:not(.subpage) .eco-hop,
  body:not(.subpage) .eco-core { margin-bottom:4px; }
  body:not(.subpage) .eco-source::after,
  body:not(.subpage) .eco-hop::after,
  body:not(.subpage) .eco-core::after {
    content:"";
    position:absolute;
    z-index:6;
    left:50%;
    bottom:-25px;
    width:1.5px;
    height:20px;
    transform:translateX(-50%);
    background:linear-gradient(180deg,rgba(17,227,196,.95),rgba(102,114,255,.62));
    box-shadow:0 0 9px rgba(17,227,196,.25);
    border:0;
    clip-path:none;
  }
  body:not(.subpage) .eco-processed::after { background:linear-gradient(180deg,rgba(102,114,255,.88),rgba(157,85,255,.75)); }
  body:not(.subpage) .eco-source::before,
  body:not(.subpage) .eco-hop::before,
  body:not(.subpage) .eco-core-port-out::after {
    content:"";
    position:absolute;
    z-index:7;
    left:50%;
    bottom:-28px;
    width:7px;
    height:7px;
    transform:translateX(-50%);
    border-radius:50%;
    background:#68fff0;
    box-shadow:0 0 11px rgba(17,227,196,.65);
  }
  body:not(.subpage) .eco-processed::before { background:#9d78ff; box-shadow:0 0 11px rgba(143,90,255,.6); }
  body:not(.subpage) .eco-core { max-width:290px; min-height:190px; overflow:visible; }
  body:not(.subpage) .eco-core-mark { width:84px; height:84px; }
  body:not(.subpage) .eco-core-mark img { width:78px; height:78px; }
  body:not(.subpage) .eco-core-port { display:none; }
  body:not(.subpage) .eco-source { min-height:0; padding:15px; }
  body:not(.subpage) .eco-source ul { grid-template-columns:1fr 1fr; gap:8px 12px; }
  body:not(.subpage) .eco-hop { min-height:82px; }
  body:not(.subpage) .eco-output-list { grid-template-columns:1fr 1fr; gap:7px; }
  body:not(.subpage) .eco-output-list article:last-child { grid-column:1/-1; }

  /* Subpages on phones: retain identity, lose unnecessary acreage. */
  .subpage .page-hero-grid { padding-top:52px; padding-bottom:48px; gap:30px; }
  .subpage .page-hero-copy h1 { margin:16px 0; font-size:clamp(44px,13vw,60px); }
  .subpage .page-lead { font-size:14px; line-height:1.55; }
  .product-surfaces,.clubs-capabilities,.club-customise,.real-world,.clubs-beyond,.page-coming,
  .labs-projects,.labs-principles,.labs-next,.about-two-lanes,.about-principles,.about-direction,.about-contact { padding-top:48px; padding-bottom:48px; }
  .surface-card,.capability-grid article,.lane,.lane-comparison article,.principles-board-grid article,.experiment-grid article { min-height:0; }
}
.eco-link-branch path:nth-child(1),.eco-link-branch path:nth-child(2){stroke:#5f91ff}.eco-link-branch path:nth-child(3){stroke:#7079ff}.eco-link-branch path:nth-child(4),.eco-link-branch path:nth-child(5){stroke:#965cff}

/* =========================================================
   V14 HOME ECOSYSTEM — dedicated implementation
   ========================================================= */
.vision-flow {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1.05fr .94fr 1.08fr 1fr 1.22fr;
  gap: 26px;
  align-items: center;
  min-height: 300px;
  margin-top: 26px;
  padding: 18px 0 12px;
}
.vision-node { position: relative; z-index: 2; min-width: 0; }
.vision-routes {
  position: absolute;
  z-index: 0;
  inset: 8px -8px 0;
  width: calc(100% + 16px);
  height: calc(100% - 8px);
  overflow: visible;
  pointer-events: none;
}
.vision-routes path { fill: none; vector-effect: non-scaling-stroke; stroke-width: 2.1; stroke-linecap: round; }
.vision-routes-in path { stroke: url(#visionIn); }
.vision-routes-in circle { fill: #21edd2; }
.vision-routes-out path { stroke: url(#visionOut); }
.vision-routes-out circle { fill: #876fff; }

.vision-source {
  min-height: 230px;
  padding: 17px 16px 15px;
  border: 1px solid rgba(89, 199, 219, .42);
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(6,19,27,.96), rgba(5,15,22,.94));
  box-shadow: inset 0 0 30px rgba(32,153,178,.05), 0 16px 42px rgba(0,0,0,.22);
}
.vision-source h3 {
  margin: 0 0 14px;
  color: #f5fbff;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.vision-source ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vision-source li { display: grid; grid-template-columns: 29px 1fr; gap: 10px; align-items: center; min-height: 29px; }
.vision-source li > span {
  width: 29px; height: 29px; display: grid; place-items: center;
  color: #d8fbff; font-size: 11px; border-radius: 8px;
  border: 1px solid rgba(78,192,221,.27); background: rgba(14,41,52,.56);
}
.vision-source li b { font-size: 11px; color: #bcd1d8; font-weight: 600; }

.vision-stage {
  min-height: 92px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 13px;
  align-items: center;
  padding: 13px 15px;
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(6,20,28,.96), rgba(5,15,23,.94));
  box-shadow: 0 14px 38px rgba(0,0,0,.24);
}
.vision-collected {
  border: 1px solid rgba(28,235,207,.55);
  box-shadow: 0 0 26px rgba(24,229,208,.12), 0 14px 38px rgba(0,0,0,.24);
}
.vision-processed {
  border: 1px solid rgba(150,96,255,.58);
  box-shadow: 0 0 26px rgba(137,85,255,.12), 0 14px 38px rgba(0,0,0,.24);
}
.vision-stage-icon {
  width: 38px; height: 38px; display: grid; place-items: center;
  border-radius: 9px; font-size: 15px; color: #9dfcf0;
  border: 1px solid rgba(31,232,206,.32); background: rgba(17,227,196,.07);
}
.vision-processed .vision-stage-icon { color: #cab9ff; border-color: rgba(150,96,255,.32); background: rgba(150,96,255,.07); }
.vision-stage h3 { margin: 0; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.vision-stage p { margin: 4px 0 0; color: #8198a1; font-size: 9px; line-height: 1.35; }

.vision-core {
  min-height: 250px;
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(49,197,230,.12), transparent 30%),
    linear-gradient(315deg, rgba(91,79,255,.12), transparent 30%),
    rgba(5,15,22,.94);
  border: 1px solid rgba(86,199,225,.38);
  box-shadow: inset 0 0 42px rgba(34,172,202,.08), 0 0 44px rgba(46,183,219,.12), 0 22px 54px rgba(0,0,0,.3);
}
.vision-core-frame {
  position: relative;
  width: 100%; min-height: 226px;
  display: grid; place-items: center;
  border-radius: 16px;
  border: 1px solid rgba(90,112,255,.25);
  background:
    linear-gradient(135deg, transparent 0 18px, rgba(78,206,228,.09) 18px 19px, transparent 19px) top left/48% 48% no-repeat,
    linear-gradient(315deg, transparent 0 18px, rgba(95,102,255,.09) 18px 19px, transparent 19px) bottom right/48% 48% no-repeat,
    radial-gradient(circle at 50% 43%, rgba(37,110,150,.25), rgba(7,20,29,.2) 46%, rgba(4,13,19,.6) 76%);
}
.vision-core-frame::before,
.vision-core-frame::after {
  content: ""; position: absolute; inset: 10px; pointer-events: none;
  border-top: 1px solid rgba(84,224,237,.17); border-bottom: 1px solid rgba(84,224,237,.08);
}
.vision-core-frame::after { inset: 18px; border-color: rgba(104,95,255,.12); }
.vision-core img { width: 128px; height: 128px; object-fit: contain; filter: drop-shadow(0 0 17px rgba(85,227,255,.15)); }
.vision-core strong {
  position: absolute; bottom: 22px; left: 0; right: 0;
  text-align: center; font-size: 12px; text-transform: uppercase; letter-spacing: .18em;
}

.vision-outputs { display: grid; gap: 6px; }
.vision-outputs article {
  min-height: 43px;
  display: grid; grid-template-columns: 31px 1fr; gap: 10px; align-items: center;
  padding: 6px 10px;
  border: 1px solid rgba(92,190,211,.31); border-radius: 9px;
  background: linear-gradient(180deg, rgba(7,21,28,.94), rgba(6,17,24,.91));
  box-shadow: inset 0 0 16px rgba(44,148,172,.035);
}
.vision-outputs article > span {
  width: 28px; height: 28px; display: grid; place-items: center;
  border-radius: 7px; font-size: 12px; color: #cffaff;
  background: rgba(21,54,70,.54); border: 1px solid rgba(88,163,220,.2);
}
.vision-outputs b { display: block; font-size: 11px; }
.vision-outputs small { display: block; margin-top: 2px; color: #80959e; font-size: 8px; }

@media (max-width: 1180px) and (min-width: 761px) {
  .vision-flow { grid-template-columns: 1fr .88fr 1fr .92fr 1.12fr; gap: 14px; }
  .vision-core { min-height: 224px; }
  .vision-core-frame { min-height: 202px; }
  .vision-core img { width: 106px; height: 106px; }
  .vision-source { min-height: 214px; }
}

@media (max-width: 760px) {
  .vision-flow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    padding: 6px 0 0;
  }
  .vision-routes { display: none; }
  .vision-source,
  .vision-stage,
  .vision-core,
  .vision-outputs { width: 100%; max-width: 430px; justify-self: center; }
  .vision-source,
  .vision-stage,
  .vision-core { position: relative; }
  .vision-source::after,
  .vision-stage::after,
  .vision-core::after {
    content: "";
    position: absolute;
    left: 50%; bottom: -24px;
    width: 2px; height: 24px; transform: translateX(-50%);
    background: linear-gradient(180deg, #23ead1, rgba(101,117,255,.32));
    box-shadow: 0 0 12px rgba(39,232,211,.24);
  }
  .vision-processed::after { background: linear-gradient(180deg, #757eff, #a25cff); }
  .vision-source { min-height: 0; }
  .vision-source ul { grid-template-columns: 1fr 1fr; }
  .vision-core { min-height: 200px; max-width: 300px; }
  .vision-core-frame { min-height: 178px; }
  .vision-core img { width: 96px; height: 96px; }
  .vision-outputs { grid-template-columns: 1fr 1fr; }
  .vision-outputs article:last-child { grid-column: 1 / -1; }
}

/* =========================================================
   V15 HOME ECOSYSTEM — reference-spec implementation
   Target composition: compact horizontal machine, 974:222
   ========================================================= */
.eco15-machine {
  position: relative;
  width: 100%;
  max-width: 1220px;
  aspect-ratio: 974 / 222;
  min-height: 260px;
  margin: 30px auto 0;
  isolation: isolate;
}
.eco15-routes {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.eco15-routes path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-width: 2.05;
  stroke-linecap: round;
}
.eco15-fanin path { stroke: url(#eco15In); }
.eco15-fanin circle { fill: #37dfff; }
.eco15-to-core path { stroke: url(#eco15CoreIn); }
.eco15-from-core path { stroke: url(#eco15Out); }
.eco15-fanout path { stroke: url(#eco15Out); }
.eco15-fanout circle { fill: #8a6eff; }

.eco15-source,
.eco15-stage,
.eco15-core,
.eco15-outputs {
  position: absolute;
  z-index: 3;
  min-width: 0;
}
.eco15-source {
  left: 1.5%;
  top: 7%;
  width: 14.0%;
  height: 86%;
  padding: 14px 13px 12px;
  border-radius: 13px;
  border: 1px solid rgba(83, 180, 203, .48);
  background: linear-gradient(180deg, rgba(4,17,24,.96), rgba(5,16,23,.93));
  box-shadow: inset 0 0 24px rgba(28,129,157,.05), 0 16px 42px rgba(0,0,0,.25);
}
.eco15-source h3 {
  margin: 0 0 10px;
  color: #f5fbff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.eco15-source ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 5px;
}
.eco15-source li {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 8px;
  align-items: center;
  min-height: 26px;
}
.eco15-source li > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: #d8fbff;
  font-size: 9px;
  border: 1px solid rgba(83, 183, 210, .28);
  background: rgba(13, 40, 52, .58);
}
.eco15-source li b {
  color: #aebfc6;
  font-size: 9px;
  font-weight: 600;
  white-space: nowrap;
}

.eco15-stage {
  top: 39.0%;
  height: 26.2%;
  min-height: 62px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  padding: 9px 12px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(5,19,27,.98), rgba(4,14,21,.96));
  box-shadow: 0 0 27px rgba(0,0,0,.22);
}
.eco15-collected {
  left: 24.0%;
  width: 13.3%;
  border: 1px solid rgba(38, 238, 217, .68);
  box-shadow: 0 0 26px rgba(23,225,205,.14), inset 0 0 20px rgba(18,191,177,.06);
}
.eco15-processed {
  left: 62.8%;
  width: 11.8%;
  border: 1px solid rgba(154, 92, 255, .72);
  box-shadow: 0 0 26px rgba(137,85,255,.14), inset 0 0 20px rgba(119,82,208,.05);
}
.eco15-stage-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #5dfff0;
  font-size: 14px;
  border: 1px solid rgba(35, 229, 206, .35);
  background: rgba(12, 64, 67, .42);
}
.eco15-processed .eco15-stage-icon {
  color: #92f8ff;
  border-color: rgba(104, 119, 255, .36);
  background: rgba(48, 34, 93, .42);
}
.eco15-stage h3 {
  margin: 0;
  color: #f7fbff;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.eco15-stage p {
  margin: 5px 0 0;
  color: #829aa3;
  font-size: 8px;
  line-height: 1.28;
}

.eco15-core {
  left: 38.6%;
  top: 0;
  width: 20.8%;
  height: 100%;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.34));
}
.eco15-core::before {
  content: "";
  position: absolute;
  inset: 3% 2%;
  clip-path: polygon(14% 0, 86% 0, 100% 14%, 100% 86%, 86% 100%, 14% 100%, 0 86%, 0 14%);
  background:
    linear-gradient(135deg, rgba(61, 215, 240, .22), transparent 26%),
    linear-gradient(315deg, rgba(84, 81, 255, .16), transparent 28%),
    rgba(5,16,23,.96);
  border: 1px solid rgba(80, 184, 211, .28);
  box-shadow: inset 0 0 36px rgba(42,166,195,.08), 0 0 30px rgba(36,206,223,.08);
}
.eco15-core-shell {
  position: relative;
  z-index: 2;
  width: 78%;
  height: 82%;
  display: grid;
  place-items: center;
  clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
  background:
    radial-gradient(circle at 50% 44%, rgba(35,94,124,.22), transparent 47%),
    linear-gradient(180deg, rgba(9,25,34,.96), rgba(4,12,18,.98));
  border: 1px solid rgba(79, 176, 203, .4);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), inset 0 0 28px rgba(54,190,212,.07);
}
.eco15-core-shell::before,
.eco15-core-shell::after {
  content: "";
  position: absolute;
  left: 8%; right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(84,231,241,.36), transparent);
}
.eco15-core-shell::before { top: 12%; }
.eco15-core-shell::after { bottom: 14%; }
.eco15-corner {
  position: absolute;
  width: 22%;
  height: 22%;
  border-color: rgba(97, 221, 235, .16);
  pointer-events: none;
}
.eco15-corner.c1 { left: 5%; top: 5%; border-left:1px solid; border-top:1px solid; }
.eco15-corner.c2 { right: 5%; top: 5%; border-right:1px solid; border-top:1px solid; }
.eco15-corner.c3 { left: 5%; bottom: 5%; border-left:1px solid; border-bottom:1px solid; }
.eco15-corner.c4 { right: 5%; bottom: 5%; border-right:1px solid; border-bottom:1px solid; }
.eco15-core img {
  width: 62%;
  max-width: 125px;
  aspect-ratio: 1;
  object-fit: contain;
  transform: translateY(-4%);
  filter: drop-shadow(0 0 16px rgba(99,225,245,.18));
}
.eco15-core strong {
  position: absolute;
  left: 0; right: 0;
  bottom: 9%;
  color: #f7fbff;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.eco15-outputs {
  left: 82.0%;
  top: 2.0%;
  width: 16.5%;
  height: 100%;
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  gap: 4px;
  align-content: stretch;
}
.eco15-outputs article {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 8px;
  align-items: center;
  min-height: 0;
  padding: 5px 9px;
  border-radius: 9px;
  border: 1px solid rgba(82, 187, 207, .38);
  background: linear-gradient(180deg, rgba(6,19,27,.96), rgba(5,15,23,.94));
  box-shadow: inset 0 0 16px rgba(40,146,171,.04), 0 10px 24px rgba(0,0,0,.18);
}
.eco15-outputs article > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: #d6fbff;
  font-size: 11px;
  border: 1px solid rgba(82, 181, 211, .24);
  background: rgba(15, 43, 57, .6);
}
.eco15-outputs b {
  display: block;
  color: #eef7fa;
  font-size: 10px;
  line-height: 1.1;
}
.eco15-outputs small {
  display: block;
  margin-top: 2px;
  color: #7f959e;
  font-size: 7px;
  line-height: 1.1;
}

@media (max-width: 1180px) and (min-width: 761px) {
  .eco15-machine { min-height: 230px; }
  .eco15-source { padding: 11px 10px; }
  .eco15-source li { grid-template-columns: 21px 1fr; gap: 6px; min-height: 23px; }
  .eco15-source li > span { width: 21px; height: 21px; font-size: 8px; }
  .eco15-source li b { font-size: 8px; }
  .eco15-stage { grid-template-columns: 30px 1fr; gap: 8px; padding: 8px 9px; }
  .eco15-stage-icon { width: 29px; height: 29px; }
  .eco15-stage h3 { font-size: 10px; }
  .eco15-stage p { font-size: 7px; }
  .eco15-outputs article { grid-template-columns: 24px 1fr; gap: 6px; padding: 4px 6px; }
  .eco15-outputs article > span { width: 23px; height: 23px; font-size: 9px; }
  .eco15-outputs b { font-size: 8px; }
  .eco15-outputs small { font-size: 6.5px; }
}

@media (max-width: 760px) {
  .eco15-machine {
    aspect-ratio: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 430px;
    margin-top: 22px;
  }
  .eco15-routes { display: none; }
  .eco15-source,
  .eco15-stage,
  .eco15-core,
  .eco15-outputs {
    position: relative;
    left: auto; top: auto;
    width: 100%; height: auto;
  }
  .eco15-source { min-height: 0; }
  .eco15-source ul { grid-template-columns: 1fr 1fr; gap: 7px 12px; }
  .eco15-stage { min-height: 78px; }
  .eco15-core { min-height: 205px; }
  .eco15-core::before { inset: 0; }
  .eco15-core-shell { width: 74%; height: 88%; min-height: 180px; }
  .eco15-core img { width: 88px; }
  .eco15-core strong { font-size: 9px; }
  .eco15-outputs { grid-template-rows: none; gap: 7px; }
  .eco15-outputs article { min-height: 50px; }
  .eco15-source::after,
  .eco15-stage::after,
  .eco15-core::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -17px;
    width: 2px;
    height: 17px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: linear-gradient(180deg, #2fe9d1, rgba(93,113,255,.7));
    box-shadow: 0 0 10px rgba(44,228,209,.35);
    z-index: 5;
  }
  .eco15-processed::after { background: linear-gradient(180deg, #7285ff, #a45fff); }
}

/* =========================================================
   V16 HOME LOCK PASS
   Fine polish only: ecosystem treatment, Clubs feature copy,
   footer alignment. No structural redesign.
   ========================================================= */

/* Clubs feature strip: keep the same composition, improve small-copy readability. */
body:not(.subpage) .feature-strip { gap: 9px; }
body:not(.subpage) .feature-strip article {
  padding: 18px 14px 16px;
  border-color: rgba(112,186,204,.15);
}
body:not(.subpage) .feature-strip h3 {
  font-size: 13.5px;
  line-height: 1.12;
}
body:not(.subpage) .feature-strip p {
  font-size: 10px;
  line-height: 1.42;
  color: #899ca5;
}

/* Ecosystem: same V15 machine, now less server-rack and more powered hub. */
.eco15-machine {
  max-width: 1200px;
  margin-top: 28px;
}
.eco15-source {
  top: 9%;
  height: 82%;
}
.eco15-stage {
  top: 40.2%;
  height: 23.6%;
  min-height: 56px;
  padding: 8px 11px;
}
.eco15-collected {
  left: 24.35%;
  width: 12.75%;
}
.eco15-processed {
  left: 61.9%;
  width: 11.35%;
}
.eco15-stage-icon {
  width: 32px;
  height: 32px;
}
.eco15-stage h3 { font-size: 11.5px; }
.eco15-stage p { margin-top: 4px; font-size: 7.7px; line-height: 1.24; }

.eco15-core {
  left: 38.15%;
  top: 5%;
  width: 21.7%;
  height: 90%;
}
.eco15-core::before {
  inset: 1% 1.5%;
  background:
    linear-gradient(135deg, rgba(61,215,240,.16), transparent 27%),
    linear-gradient(315deg, rgba(84,81,255,.13), transparent 29%),
    rgba(5,16,23,.97);
  border-color: rgba(80,184,211,.22);
  box-shadow: inset 0 0 34px rgba(42,166,195,.065), 0 0 34px rgba(36,206,223,.075);
}
.eco15-core-shell {
  width: 84%;
  height: 80%;
  background:
    radial-gradient(circle at 50% 44%, rgba(35,94,124,.25), transparent 46%),
    linear-gradient(180deg, rgba(9,25,34,.97), rgba(4,12,18,.985));
  border-color: rgba(79,176,203,.3);
}
/* Shorthand borders in V15 inherited white; lock them to the intended dark-cyan rail. */
.eco15-corner { color: rgba(79,160,178,.24); border-color: rgba(79,160,178,.24); }
.eco15-corner.c1 { border-left:1px solid rgba(79,160,178,.24); border-top:1px solid rgba(79,160,178,.24); }
.eco15-corner.c2 { border-right:1px solid rgba(79,160,178,.24); border-top:1px solid rgba(79,160,178,.24); }
.eco15-corner.c3 { border-left:1px solid rgba(79,160,178,.24); border-bottom:1px solid rgba(79,160,178,.24); }
.eco15-corner.c4 { border-right:1px solid rgba(79,160,178,.24); border-bottom:1px solid rgba(79,160,178,.24); }
.eco15-core img {
  width: 69%;
  max-width: 142px;
  transform: translateY(-3%);
  filter: drop-shadow(0 0 19px rgba(99,225,245,.2));
}
.eco15-core strong {
  bottom: 8.5%;
  font-size: 9.5px;
  letter-spacing: .18em;
}

/* Intensify only the centimetres around the core; the outer routes remain restrained. */
.eco15-to-core path,
.eco15-from-core path {
  stroke-width: 2.35;
  filter: drop-shadow(0 0 5px rgba(58,235,226,.42));
}
.eco15-from-core path { filter: drop-shadow(0 0 5px rgba(105,121,255,.42)); }
.eco15-fanin path,
.eco15-fanout path { stroke-width: 1.9; }
.eco15-outputs {
  left: 81.35%;
  width: 16.2%;
  top: 3.2%;
  height: 96.4%;
  gap: 3px;
}
.eco15-outputs article {
  padding: 4px 8px;
  border-color: rgba(82,187,207,.34);
}

/* Footer pixel pass: centre the brand/tagline/navigation as one baseline. */
body:not(.subpage) .site-footer { padding: 25px 0; }
body:not(.subpage) .footer-shell { gap: 24px; align-items: center; }
body:not(.subpage) .footer-brand { align-self: center; }
body:not(.subpage) .footer-brand img { width: 30px; height: 30px; }
body:not(.subpage) .footer-brand span { line-height: 1; }
body:not(.subpage) .site-footer p,
body:not(.subpage) .site-footer nav,
body:not(.subpage) .site-footer small { align-self: center; }

@media (max-width: 760px) {
  body:not(.subpage) .feature-strip article { padding: 15px 13px; }
  body:not(.subpage) .feature-strip h3 { font-size: 12.5px; }
  body:not(.subpage) .feature-strip p { font-size: 9.5px; }

  /* Preserve the deliberate V15 mobile vertical ecosystem, only polish the core. */
  .eco15-stage { min-height: 74px; }
  .eco15-core { min-height: 196px; }
  .eco15-core-shell { width: 78%; height: 86%; min-height: 172px; }
  .eco15-core img { width: 94px; max-width: 94px; }
}
