:root {
  --bg: #07080a;
  --bg-2: #0b0d10;
  --panel: #101216;
  --text: #f2f2f0;
  --muted: #9a9da4;
  --line: rgba(255,255,255,.11);
  --red: #b91f35;
  --red-bright: #e1374c;
  --red-deep: #4d101a;
  --max: 1380px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .035;
  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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

.site-header {
  position: fixed; top: 0; left: 0; right: 0; height: 78px; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 42px;
  background: linear-gradient(to bottom, rgba(5,6,8,.76), transparent);
}
.brand { display: flex; align-items: center; gap: 10px; letter-spacing: .16em; font-size: 13px; font-weight: 800; }
.brand-mark {
  width: 24px; height: 24px; border: 1px solid rgba(255,255,255,.3);
  display: grid; place-items: center; font-size: 11px; color: #fff;
}
.desktop-nav { display: flex; gap: 31px; align-items: center; }
.desktop-nav a, .mobile-menu a {
  font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: #bfc1c6;
  transition: color .25s ease;
}
.desktop-nav a:hover, .mobile-menu a:hover { color: #fff; }
.nav-ai { color: #fff !important; }
.nav-ai span { color: var(--red-bright); }

.menu-toggle { display: none; border: 0; background: transparent; width: 40px; height: 40px; padding: 8px; }
.menu-toggle span { display:block; height:1px; background:#fff; margin:6px 0; }
.mobile-menu { display:none; }

.hero {
  position: relative; min-height: 100svh; height: 900px; max-height: 1100px;
  display: grid; place-items: center; overflow: hidden;
  background:
    radial-gradient(circle at 50% 75%, rgba(129, 17, 34, .22), transparent 31%),
    radial-gradient(circle at 50% 50%, rgba(34, 8, 13, .48), transparent 58%),
    #08090b;
}
#network { position:absolute; inset:0; width:100%; height:100%; }
.hero-vignette {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%, transparent 20%, rgba(3,4,5,.16) 58%, rgba(3,4,5,.9) 100%),
    linear-gradient(to bottom, rgba(4,5,6,.55), transparent 30%, transparent 70%, #07080a);
}
.hero-content { position:relative; z-index:3; width:min(920px, 90%); text-align:center; margin-top:-25px; }
.eyebrow, .section-label, .section-index, .hero-status, .scroll-cue {
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#9da0a6;
}
.eyebrow { margin-bottom:22px; }
.hero-logo {
  width:86px; height:86px; object-fit:cover; border-radius:50%;
  display:block; margin:0 auto 26px; mix-blend-mode:screen;
  box-shadow: 0 0 50px rgba(196,29,52,.2);
}
.hero-title {
  margin:0; font-size:clamp(46px, 7vw, 100px); line-height:.94; letter-spacing:-.055em;
  font-weight:500;
}
.hero-title span { color:#bfc0c3; }
.hero-copy {
  max-width:580px; margin:28px auto 0; color:#a8abb1; font-size:15px; line-height:1.7;
}
.hero-actions { margin-top:32px; display:flex; justify-content:center; gap:10px; }
.button {
  display:inline-flex; align-items:center; gap:20px; height:46px; padding:0 19px;
  border:1px solid var(--line); text-transform:uppercase; letter-spacing:.13em; font-size:10px;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.button:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.3); }
.button-primary { background:#f1f1ee; color:#090a0c; border-color:#f1f1ee; }
.button-primary:hover { background:#fff; }
.button-ghost { background:rgba(255,255,255,.025); backdrop-filter:blur(8px); }
.scroll-cue { position:absolute; bottom:38px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:11px; z-index:4; }
.scroll-cue i { width:1px; height:34px; background:linear-gradient(#fff, transparent); }
.hero-status { position:absolute; bottom:38px; right:42px; z-index:4; }
.status-dot, .footer-status i { display:inline-block; width:5px; height:5px; border-radius:50%; background:#c93247; margin-right:7px; box-shadow:0 0 12px #c93247; }

.section-dark, .research-section, .ecosystem-section { background:var(--bg); }
.statement, .research-section, .ecosystem-section { padding:150px 42px; }
.section-grid { max-width:var(--max); margin:auto; display:grid; grid-template-columns:70px 180px 1fr; gap:30px; }
.statement-content { max-width:900px; }
.giant-copy { margin:0; font-size:clamp(38px, 5vw, 70px); line-height:1.05; letter-spacing:-.045em; color:#ddd; font-weight:450; }
.giant-copy span { color:#fff; }
.line-reveal { width:100%; height:1px; background:var(--line); margin:60px 0 24px; }
.small-copy { color:var(--muted); font-size:14px; line-height:1.8; max-width:500px; }

.network-section {
  position:relative; min-height:820px; display:grid; grid-template-columns:1fr 1fr; align-items:center;
  overflow:hidden; background:#0b090a; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.network-background {
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 75% 52%, rgba(173,28,49,.27), transparent 23%),
    radial-gradient(circle at 75% 52%, rgba(93,10,25,.2), transparent 45%);
}
.network-copy { position:relative; z-index:3; width:min(520px, 80%); margin-left:max(42px, calc((100vw - var(--max))/2 + 280px)); }
.network-copy h2 { font-size:clamp(52px,6vw,88px); line-height:.9; letter-spacing:-.055em; font-weight:450; margin:25px 0; }
.network-copy p { color:var(--muted); max-width:420px; line-height:1.8; font-size:14px; }
.network-visual { position:absolute; width:650px; height:650px; right:2%; top:50%; transform:translateY(-50%); }
.node-map {
  position:absolute; inset:70px; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(3,1fr);
  gap:90px; transform:rotate(-12deg);
}
.node-map::before {
  content:""; position:absolute; inset:25px; background:
    linear-gradient(30deg, transparent 49.7%, rgba(205,36,59,.4) 50%, transparent 50.3%),
    linear-gradient(150deg, transparent 49.7%, rgba(205,36,59,.4) 50%, transparent 50.3%);
  background-size:110px 110px; opacity:.65;
}
.node-map span {
  position:relative; z-index:2; width:20px; height:20px; align-self:center; justify-self:center;
  border:1px solid rgba(226,65,87,.7); border-radius:50%;
  box-shadow:0 0 25px rgba(204,35,57,.4), inset 0 0 10px rgba(220,50,72,.35);
  background:#230d12;
}
.pulse { position:absolute; border:1px solid rgba(225,45,67,.22); border-radius:50%; animation:expand 4s infinite; }
.pulse-1 { width:120px; height:120px; top:44%; left:47%; }
.pulse-2 { width:120px; height:120px; top:44%; left:47%; animation-delay:2s; }
@keyframes expand { 0%{transform:scale(.2);opacity:.7} 75%,100%{transform:scale(4.5);opacity:0} }

.ai-section {
  position:relative; min-height:900px; display:flex; align-items:center; overflow:hidden;
  background:linear-gradient(135deg,#08090b,#0e0a0d 55%,#08090b);
}
.ai-grid { position:relative; z-index:2; width:100%; }
.ai-copy { max-width:650px; }
.ai-copy h2 { font-size:clamp(55px,7vw,100px); line-height:.9; letter-spacing:-.06em; font-weight:450; margin:0 0 35px; }
.ai-copy h2 em { color:#d13249; font-style:normal; }
.ai-copy p { color:var(--muted); max-width:520px; line-height:1.8; font-size:14px; }
.capabilities { margin-top:40px; display:flex; flex-wrap:wrap; gap:8px; }
.capabilities span { border:1px solid var(--line); padding:10px 12px; font-size:9px; letter-spacing:.15em; color:#b8bbc0; }
.ai-orbit { position:absolute; width:800px; height:800px; right:-100px; top:50%; transform:translateY(-50%); opacity:.7; }
.orbit { position:absolute; border:1px solid rgba(208,43,65,.22); border-radius:50%; inset:20%; animation:spin 22s linear infinite; }
.orbit-b { inset:5%; transform:rotate(60deg); border-color:rgba(255,255,255,.06); animation-direction:reverse; animation-duration:30s; }
.orbit-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:130px; height:130px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(225,47,70,.5); background:radial-gradient(circle,#45111b,#0d090b 68%); box-shadow:0 0 80px rgba(197,28,52,.25); font-size:12px; letter-spacing:.25em; }
@keyframes spin { to{transform:rotate(360deg)} }

.research-content { max-width:900px; }
.research-content h2, .build-content h2, .ecosystem-content h2 {
  font-size:clamp(48px,6vw,82px); line-height:.94; letter-spacing:-.055em; font-weight:450; margin:0 0 65px;
}
.research-list { border-top:1px solid var(--line); }
.research-list div { display:grid; grid-template-columns:70px 1fr 30px; align-items:center; padding:21px 0; border-bottom:1px solid var(--line); color:#c4c6ca; }
.research-list b { font-size:9px; color:#777b82; font-weight:500; letter-spacing:.1em; }
.research-list span { font-size:14px; }
.research-list i { font-style:normal; color:#777; }

.build-section { position:relative; padding:150px 42px; overflow:hidden; background:#0b090a; }
.build-glow { position:absolute; width:600px; height:600px; border-radius:50%; background:rgba(174,23,48,.12); filter:blur(100px); right:-200px; top:10%; }
.build-content { max-width:850px; position:relative; }
.build-content h2 span { color:#9d9fa4; }
.build-content > p { color:var(--muted); max-width:480px; line-height:1.8; font-size:14px; margin-bottom:45px; }
.project-card { border:1px solid var(--line); background:rgba(255,255,255,.025); padding:30px; display:flex; align-items:end; justify-content:space-between; max-width:700px; transition:transform .3s ease,border-color .3s ease; }
.project-card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.24); }
.project-card small { color:#9b9da3; letter-spacing:.18em; font-size:9px; }
.project-card h3 { font-size:30px; margin:10px 0 4px; font-weight:500; }
.project-card p { color:#8d9096; margin:0; font-size:12px; }
.project-card > a { font-size:24px; }

.ecosystem-content { position:relative; }
.ecosystem-map { height:500px; position:relative; max-width:900px; margin-top:-15px; }
.eco-center {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:100px; height:100px; border:1px solid rgba(224,49,72,.55); border-radius:50%;
  display:grid; place-items:center; background:#12090c; box-shadow:0 0 60px rgba(192,28,51,.16);
  font-size:11px; letter-spacing:.2em;
}
.eco-line { position:absolute; height:1px; background:linear-gradient(90deg,transparent,rgba(211,42,63,.65),transparent); transform-origin:left; }
.line-top { width:230px; left:50%; top:50%; transform:rotate(-90deg); }
.line-left { width:250px; left:50%; top:50%; transform:rotate(180deg); }
.line-right { width:250px; left:50%; top:50%; }
.eco-node {
  position:absolute; width:150px; height:80px; border:1px solid var(--line); background:#0c0e11;
  display:flex; flex-direction:column; justify-content:center; padding:0 18px; transition:.3s;
}
.eco-node:hover { border-color:rgba(222,48,71,.6); transform:translateY(-3px); }
.eco-node b { font-size:13px; letter-spacing:.16em; font-weight:600; }
.eco-node span { color:#777b82; font-size:9px; margin-top:7px; }
.node-ai { left:calc(50% - 75px); top:15px; }
.node-app { left:15px; top:calc(50% - 40px); }
.node-api { right:15px; top:calc(50% - 40px); }

.cta-section { min-height:800px; display:grid; place-items:center; text-align:center; padding:100px 30px; background:radial-gradient(circle at 50% 45%,rgba(148,20,40,.17),transparent 38%),#08090b; }
.cta-inner { width:min(850px,100%); }
.cta-inner .section-index { margin-bottom:18px; }
.cta-inner .section-label { display:block; margin-bottom:30px; }
.cta-inner h2 { font-size:clamp(65px,10vw,130px); line-height:.82; letter-spacing:-.07em; font-weight:450; margin:0; }
.cta-inner h2 span { color:#b52a40; }
.cta-inner p { color:var(--muted); font-size:14px; line-height:1.8; max-width:470px; margin:32px auto; }
.button.large { height:54px; padding:0 23px; }

footer { padding:45px 42px 28px; border-top:1px solid var(--line); background:#07080a; }
.footer-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:55px; }
.footer-brand { font-size:20px; letter-spacing:.22em; font-weight:800; }
.footer-tag { font-size:9px; letter-spacing:.18em; color:#777a80; }
.footer-bottom { border-top:1px solid var(--line); padding-top:20px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:#676a71; font-size:9px; letter-spacing:.1em; }
.footer-bottom div { display:flex; gap:20px; }
.footer-bottom a:hover { color:#fff; }
.footer-status { text-align:right; }
.footer-status i { width:4px; height:4px; margin-right:5px; }

.reveal { opacity:0; transform:translateY(18px); animation:reveal .9s cubic-bezier(.2,.7,.2,1) forwards; }
.reveal-delay-1{animation-delay:.08s}.reveal-delay-2{animation-delay:.18s}.reveal-delay-3{animation-delay:.32s}.reveal-delay-4{animation-delay:.46s}
@keyframes reveal { to{opacity:1;transform:none} }

@media (max-width: 900px) {
  .site-header { padding:0 24px; }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .mobile-menu {
    position:fixed; z-index:45; inset:0; padding:110px 24px 40px; background:rgba(6,7,9,.97);
    opacity:0; visibility:hidden; transition:.3s;
  }
  .mobile-menu.open { opacity:1; visibility:visible; }
  .mobile-menu nav { display:flex; flex-direction:column; gap:24px; }
  .mobile-menu a { font-size:28px; letter-spacing:-.03em; text-transform:none; color:#ddd; }
  .hero { height:100svh; }
  .hero-logo { width:72px; height:72px; }
  .hero-copy { font-size:13px; max-width:430px; }
  .hero-status { right:24px; bottom:30px; }
  .scroll-cue { left:24px; transform:none; align-items:flex-start; bottom:30px; }
  .section-grid { grid-template-columns:50px 1fr; gap:20px; }
  .section-grid .section-label { grid-column:2; }
  .section-grid > .statement-content,
  .section-grid > .ai-copy,
  .section-grid > .research-content,
  .section-grid > .build-content,
  .section-grid > .ecosystem-content { grid-column:2; }
  .statement, .research-section, .ecosystem-section, .build-section { padding:110px 24px; }
  .network-section { min-height:780px; display:block; padding:120px 24px; }
  .network-copy { width:min(520px,100%); margin:0; }
  .network-visual { width:580px; height:580px; right:-240px; top:62%; }
  .ai-section { min-height:850px; padding:120px 24px; }
  .ai-orbit { width:600px; height:600px; right:-300px; top:65%; opacity:.45; }
  .ecosystem-map { height:430px; }
  .footer-bottom { grid-template-columns:1fr; gap:15px; }
  .footer-status { text-align:left; }
}

@media (max-width: 520px) {
  .site-header { height:64px; padding:0 17px; }
  .brand-word { font-size:11px; }
  .brand-mark { width:22px; height:22px; }
  .hero { min-height:680px; height:100svh; max-height:none; }
  .hero-content { width:calc(100% - 34px); margin-top:-10px; }
  .eyebrow { font-size:8px; letter-spacing:.14em; margin-bottom:18px; }
  .hero-logo { width:60px; height:60px; margin-bottom:22px; }
  .hero-title { font-size:clamp(43px, 14vw, 64px); line-height:.92; }
  .hero-copy { font-size:12px; line-height:1.65; margin-top:22px; }
  .hero-actions { flex-direction:column; align-items:stretch; margin-top:25px; }
  .button { justify-content:space-between; height:48px; }
  .scroll-cue { display:none; }
  .hero-status { left:17px; right:auto; bottom:18px; font-size:8px; }
  .statement, .research-section, .ecosystem-section, .build-section { padding:88px 17px; }
  .section-grid { grid-template-columns:32px 1fr; gap:12px; }
  .section-index, .section-label { font-size:8px; letter-spacing:.14em; }
  .giant-copy { font-size:35px; line-height:1.02; }
  .line-reveal { margin:40px 0 20px; }
  .small-copy { font-size:12px; }
  .network-section { min-height:740px; padding:90px 17px; }
  .network-copy h2 { font-size:53px; }
  .network-copy p { font-size:12px; max-width:300px; }
  .network-visual { width:460px; height:460px; right:-220px; top:66%; }
  .node-map { inset:55px; gap:52px; }
  .node-map span { width:13px; height:13px; }
  .ai-section { min-height:790px; padding:90px 17px; }
  .ai-copy h2 { font-size:54px; }
  .ai-copy p { font-size:12px; }
  .ai-orbit { width:470px; height:470px; right:-250px; top:68%; }
  .orbit-core { width:85px; height:85px; font-size:9px; }
  .capabilities { gap:5px; margin-top:30px; }
  .capabilities span { font-size:7px; padding:8px 9px; }
  .research-content h2, .build-content h2, .ecosystem-content h2 { font-size:50px; margin-bottom:45px; }
  .research-list div { grid-template-columns:34px 1fr 20px; padding:17px 0; }
  .research-list span { font-size:12px; }
  .build-content > p { font-size:12px; }
  .project-card { padding:20px; }
  .project-card h3 { font-size:25px; }
  .ecosystem-map { height:410px; }
  .eco-center { width:78px; height:78px; font-size:9px; }
  .eco-node { width:118px; height:65px; padding:0 12px; }
  .eco-node b { font-size:10px; }
  .eco-node span { font-size:7px; }
  .node-ai { left:calc(50% - 59px); top:15px; }
  .node-app { left:0; top:calc(50% - 32px); }
  .node-api { right:0; top:calc(50% - 32px); }
  .line-top { width:170px; }
  .line-left, .line-right { width:180px; }
  .cta-section { min-height:680px; padding:80px 17px; }
  .cta-inner h2 { font-size:65px; }
  .cta-inner p { font-size:12px; }
  footer { padding:35px 17px 22px; }
  .footer-top { padding-bottom:35px; flex-direction:column; align-items:flex-start; gap:12px; }
  .footer-bottom div { flex-wrap:wrap; gap:13px; }
}

@media (max-width: 360px) {
  .hero-title { font-size:41px; }
  .hero-logo { width:54px; height:54px; }
  .hero-copy { font-size:11px; }
  .giant-copy { font-size:31px; }
  .network-copy h2 { font-size:48px; }
  .ai-copy h2 { font-size:48px; }
  .research-content h2, .build-content h2, .ecosystem-content h2 { font-size:45px; }
  .cta-inner h2 { font-size:58px; }
}


/* ===== v0.2 visual pass ===== */
.site-header{justify-content:flex-end}
.header-brand{order:2;display:flex;align-items:center;gap:10px;margin-left:24px;padding:6px 9px 6px 7px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(5,6,8,.28);backdrop-filter:blur(10px)}
.header-brand img{width:31px;height:31px;object-fit:cover;border-radius:9px}
.header-brand span{font-size:9px;letter-spacing:.17em;color:#aeb0b6;white-space:nowrap}
.desktop-nav{order:1}
.nav-ai{color:#fff!important;background:linear-gradient(135deg,#c72b42,#8e1428);border:1px solid rgba(255,104,124,.35);border-radius:11px;padding:10px 13px;box-shadow:0 8px 30px rgba(155,20,40,.2)}
.nav-ai span{color:#fff}
.button-chat{background:linear-gradient(135deg,#c62b42,#8f1529);color:#fff;border-color:rgba(239,78,101,.45);border-radius:13px;box-shadow:0 10px 35px rgba(151,21,41,.2)}
.hero-importance{max-width:600px;margin:12px auto 0;color:#74777e;font-size:12px;line-height:1.7}

/* Technical typing/cursor treatment */
.tech-type{position:relative}
.tech-type::after{content:"█";display:inline-block;margin-left:4px;color:#d8344e;animation:czapCursor .8s steps(1) infinite}
@keyframes czapCursor{50%{opacity:0}}

/* Rounded technical surfaces */
.project-card,.eco-node,.capabilities span,.research-list div,.header-brand,.nav-ai,.button,.menu-toggle{border-radius:13px}

/* Distinct reveal motion as each section enters the viewport */
.statement-content,.network-copy,.ai-copy,.research-content,.build-content,.ecosystem-content,.cta-inner{opacity:0;filter:blur(7px);transition:opacity .9s ease,transform .95s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.statement-content{transform:translateY(45px)}
.network-copy{transform:translateX(-55px)}
.ai-copy{transform:translateX(55px)}
.research-content{transform:translateY(55px) scale(.97)}
.build-content{transform:translateY(55px) rotateX(7deg);transform-origin:top}
.ecosystem-content{transform:translateY(55px) scale(.95)}
.cta-inner{transform:translateY(65px)}
.in-view{opacity:1;filter:none;transform:none}

/* Styled scrollbar */
html{scrollbar-width:thin;scrollbar-color:#8d1a2f #090a0c}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#090a0c}
::-webkit-scrollbar-thumb{background:linear-gradient(#c42a43,#6d1021);border-radius:999px;border:2px solid #090a0c}
::-webkit-scrollbar-thumb:hover{background:#df3852}

@media(max-width:600px){
  .header-brand{margin-left:10px;padding:5px}
  .header-brand img{width:28px;height:28px}
  .header-brand span{display:none}
  .desktop-nav{gap:8px}
  .desktop-nav>a:not(.nav-ai){display:none}
  .nav-ai{padding:9px 11px}
  .hero-importance{font-size:11px;max-width:360px}
}
@media(max-width:380px){
  .site-header{padding:0 13px}
  .header-brand img{width:27px;height:27px}
  .nav-ai{font-size:11px;padding:8px 10px}
  .hero-importance{font-size:10px;line-height:1.55}
}

/* ===== v0.4 desktop composition pass ===== */
@media (min-width: 901px) {
  .site-header {
    justify-content: space-between;
    padding: 0 42px;
  }

  .header-brand {
    order: 1;
    margin-left: 0;
  }

  .desktop-nav {
    order: 2;
    margin-left: auto;
  }

  /* Hero: identity on the left, explanation on the right. */
  .hero-content {
    width: min(1180px, calc(100% - 100px));
    margin-top: 0;
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(480px, 1.18fr);
    gap: clamp(60px, 8vw, 150px);
    align-items: center;
    text-align: left;
  }

  .hero-left {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .hero-left .eyebrow {
    margin-bottom: 22px;
  }

  .hero-logo {
    margin: 0;
    width: 112px;
    height: 112px;
    border-radius: 24px;
  }

  .hero-right {
    max-width: 720px;
  }

  .hero-copy,
  .hero-importance {
    margin-left: 0;
    margin-right: 0;
  }

  .hero-actions {
    justify-content: flex-start;
  }

  /* What is Czap: centered instead of pushed into the third grid column. */
  .statement .section-grid {
    display: block;
    max-width: 980px;
    text-align: center;
  }

  .statement .section-label {
    margin-bottom: 34px;
  }

  .statement-content {
    max-width: 920px;
    margin: 0 auto;
  }

  .small-copy {
    margin-left: auto;
    margin-right: auto;
  }

  /* Research: centered, wide, balanced composition. */
  .research-section .section-grid {
    display: block;
    max-width: 960px;
    text-align: center;
  }

  .research-section .section-label {
    margin-bottom: 34px;
  }

  .research-content {
    max-width: 900px;
    margin: 0 auto;
  }

  .research-content h2 {
    max-width: 760px;
    margin: 0 auto 58px;
  }

  .research-list {
    text-align: left;
    width: 100%;
  }

  /* Ecosystem: title stays left, visual system moves to the right. */
  .ecosystem-section .section-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 65px;
    align-items: center;
    max-width: 1180px;
  }

  .ecosystem-content {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr);
    align-items: center;
    gap: 55px;
    min-width: 0;
  }

  .ecosystem-content h2 {
    margin: 0;
  }

  .ecosystem-map {
    width: 100%;
    max-width: 720px;
    height: 500px;
    margin: 0;
  }

  /* FAQ is a centered technical panel. */
  .faq-section {
    min-height: 700px;
    padding: 150px 42px;
    display: grid;
    place-items: center;
    background:
      radial-gradient(circle at 50% 40%, rgba(145,20,40,.12), transparent 38%),
      var(--bg);
  }

  .faq-inner {
    width: min(900px, 100%);
    text-align: center;
  }

  .faq-inner h2 {
    font-size: clamp(52px, 6vw, 82px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 450;
    margin: 28px 0 55px;
  }

  .faq-inner h2 span {
    color: #a8aaaf;
  }

  .faq-list {
    text-align: left;
    border-top: 1px solid var(--line);
  }

  .faq-list details {
    border-bottom: 1px solid var(--line);
    padding: 0;
  }

  .faq-list summary {
    cursor: pointer;
    list-style: none;
    padding: 22px 6px;
    font-size: 14px;
    color: #d5d6d9;
  }

  .faq-list summary::-webkit-details-marker {
    display: none;
  }

  .faq-list summary::after {
    content: "+";
    float: right;
    color: #8b8e94;
    transition: transform .25s ease;
  }

  .faq-list details[open] summary::after {
    transform: rotate(45deg);
    color: #df3852;
  }

  .faq-list p {
    margin: -3px 35px 22px 6px;
    max-width: 700px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
  }
}

/* Mobile/header corrections without changing the mobile layout proportions. */
@media (max-width: 900px) {
  .site-header {
    justify-content: space-between;
  }

  .header-brand {
    order: 1;
    margin-left: 0;
  }

  .menu-toggle {
    order: 2;
  }

  .desktop-nav {
    display: none;
  }

  .hero-content {
    display: block;
    text-align: center;
  }

  .hero-left {
    display: block;
  }

  .hero-right {
    display: block;
  }

  .faq-section {
    min-height: 650px;
    padding: 95px 17px;
    display: grid;
    place-items: center;
    background: var(--bg);
  }

  .faq-inner {
    width: 100%;
    text-align: center;
  }

  .faq-inner h2 {
    font-size: 50px;
    line-height: .94;
    letter-spacing: -.055em;
    font-weight: 450;
    margin: 25px 0 40px;
  }

  .faq-inner h2 span {
    color: #a8aaaf;
  }

  .faq-list {
    text-align: left;
    border-top: 1px solid var(--line);
  }

  .faq-list details {
    border-bottom: 1px solid var(--line);
  }

  .faq-list summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 4px;
    font-size: 12px;
  }

  .faq-list summary::-webkit-details-marker {
    display: none;
  }

  .faq-list summary::after {
    content: "+";
    float: right;
    color: #8b8e94;
  }

  .faq-list details[open] summary::after {
    content: "×";
    color: #df3852;
  }

  .faq-list p {
    margin: -2px 24px 18px 4px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.7;
  }
}
