:root {
  --ink: #101a25;
  --muted: #65717f;
  --paper: #f4f2eb;
  --paper-2: #ebe8df;
  --panel: #fffdf7;
  --navy: #0c1420;
  --navy-2: #162231;
  --copper: #d77f43;
  --copper-light: #f0b27a;
  --teal: #2d9b8c;
  --line: rgba(16, 26, 37, 0.13);
  --shadow: 0 28px 70px rgba(14, 22, 31, 0.12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 99; padding: 10px 16px; background: white; border-radius: 8px; }
.skip-link:focus { top: 12px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(24px, 5vw, 76px);
  color: #fff;
  background: rgba(12, 20, 32, 0.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.brand { display: flex; align-items: center; gap: 11px; width: max-content; font-weight: 750; letter-spacing: .06em; }
.brand-mark { width: 34px; height: 34px; fill: none; stroke: var(--copper-light); stroke-width: 1.6; }
.brand-mark path:last-child { fill: var(--copper-light); stroke: none; }
.brand-tag { font-size: 9px; line-height: 1; padding: 6px 7px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; color: #b8c2cc; letter-spacing: .13em; }
nav { display: flex; gap: 36px; align-items: center; height: 100%; }
.nav-link { position: relative; display: grid; place-items: center; height: 100%; color: #aeb8c2; font-size: 13px; font-weight: 600; }
.nav-link::after { content:""; position:absolute; bottom:0; width:0; height:2px; background:var(--copper-light); transition:.25s; }
.nav-link:hover, .nav-link.active { color:#fff; }
.nav-link.active::after { width:100%; }
.privacy-pill { justify-self: end; display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 650; color: #9ed9ce; text-transform: uppercase; letter-spacing: .08em; }
.privacy-pill svg { width: 16px; fill:none; stroke:currentColor; stroke-width:1.7; }

.section-shell { padding-inline: clamp(24px, 6vw, 96px); }
.hero {
  position: relative;
  min-height: calc(100vh - 76px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  align-items: center;
  gap: 5vw;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 75% 38%, rgba(215,127,67,.12), transparent 25%),
    linear-gradient(125deg, #0b131e 0%, #111d2a 58%, #0c1622 100%);
}
.hero::before {
  content:""; position:absolute; inset:0; opacity:.07; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(to right, transparent, black 55%, transparent);
}
.hero-copy { position:relative; z-index:2; padding-block: 92px 170px; max-width: 760px; }
.eyebrow { margin:0 0 22px; display:flex; align-items:center; gap:10px; color:var(--copper); font-size:11px; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow > span { width:28px; height:1px; background:currentColor; }
h1, h2, h3, p { margin-top:0; }
h1 { margin-bottom:26px; font-family: Georgia, "Times New Roman", serif; font-weight:400; font-size:clamp(46px, 5.2vw, 78px); line-height:1.02; letter-spacing:-.045em; }
h1 em { color:var(--copper-light); font-weight:400; }
.hero-text { max-width:640px; color:#aeb9c5; font-size:clamp(16px,1.3vw,19px); line-height:1.7; }
.hero-actions { margin-top:38px; display:flex; gap:13px; flex-wrap:wrap; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:0 20px; border-radius:5px; font-size:13px; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#14202a; background:var(--copper-light); }
.button-primary:hover { background:#f6c190; }
.button-secondary { color:#fff; border:1px solid rgba(255,255,255,.2); }
.button-secondary:hover { background:rgba(255,255,255,.06); }

.hero-visual { position:relative; z-index:2; min-height:520px; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid rgba(240,178,122,.2); border-radius:50%; }
.orbit-one { width:330px; height:330px; }
.orbit-two { width:500px; height:500px; border-color:rgba(255,255,255,.08); }
.orbit::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:var(--copper-light); box-shadow:0 0 20px var(--copper); }
.orbit-one::after { left:19px; top:90px; }
.orbit-two::after { right:41px; bottom:93px; background:var(--teal); box-shadow:0 0 20px var(--teal); }
.core-card { position:relative; width:220px; height:240px; padding:36px 28px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025)); box-shadow:0 30px 80px rgba(0,0,0,.35); backdrop-filter:blur(16px); }
.core-card svg { position:absolute; top:37px; width:64px; fill:none; stroke:var(--copper-light); stroke-width:1.4; }
.core-card span { color:#aeb8c2; font-size:12px; }
.core-card strong { margin-top:6px; font-family:Georgia,serif; font-size:22px; font-weight:400; }
.orbit-chip { position:absolute; padding:10px 13px; display:flex; align-items:center; gap:8px; color:#dce2e8; background:rgba(20,32,45,.92); border:1px solid rgba(255,255,255,.12); border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.25); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.orbit-chip span { width:6px; height:6px; border-radius:50%; background:#71cbbb; box-shadow:0 0 10px #71cbbb; }
.chip-a { top:95px; left:3%; }
.chip-b { top:160px; right:0; }
.chip-c { bottom:75px; right:14%; }
.hero-stats { position:absolute; z-index:2; left:clamp(24px,6vw,96px); right:clamp(24px,6vw,96px); bottom:0; min-height:112px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.12); }
.hero-stats article { padding:24px clamp(12px,2vw,34px); display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.1); }
.hero-stats article:first-child { padding-left:0; }
.hero-stats article:last-child { border-right:0; }
.hero-stats strong { font-family:Georgia,serif; font-size:27px; color:var(--copper-light); font-weight:400; }
.hero-stats span { margin-top:4px; color:#8793a0; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }

.architecture { padding-block:110px; background:var(--paper); }
.section-heading { margin-bottom:46px; display:flex; justify-content:space-between; gap:40px; align-items:flex-end; }
.section-heading .eyebrow { margin-bottom:14px; }
h2 { margin-bottom:0; font-family:Georgia,serif; font-size:clamp(36px,4vw,57px); line-height:1.08; font-weight:400; letter-spacing:-.035em; }
.section-heading > p { max-width:460px; margin-bottom:4px; color:var(--muted); line-height:1.65; font-size:14px; }
.architecture-grid { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(430px,1.22fr); gap:20px; }
.module-map { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.module-card { position:relative; min-height:104px; padding:18px; display:flex; align-items:center; gap:13px; text-align:left; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:rgba(255,255,255,.38); cursor:pointer; transition:.2s; }
.module-card:hover { transform:translateY(-2px); background:rgba(255,255,255,.85); box-shadow:0 9px 25px rgba(26,34,42,.08); }
.module-card.active { color:white; background:var(--navy-2); border-color:var(--navy-2); box-shadow:0 14px 35px rgba(12,20,32,.18); }
.module-card > b { position:absolute; top:12px; right:12px; color:#a7afb7; font-size:9px; font-weight:600; }
.module-icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; color:var(--copper); border:1px solid currentColor; border-radius:9px; font-size:10px; font-weight:800; letter-spacing:.06em; }
.module-card.active .module-icon { color:var(--copper-light); background:rgba(240,178,122,.07); }
.module-card strong, .module-card small { display:block; }
.module-card strong { margin-bottom:5px; font-size:13px; }
.module-card small { color:#7f8994; font-size:10px; }
.module-card.active small { color:#9ba7b3; }
.module-card:last-child { grid-column:span 2; }

.module-detail { min-height:446px; padding:36px clamp(28px,4vw,52px); color:white; border-radius:var(--radius); background:var(--navy); box-shadow:var(--shadow); }
.detail-topline { display:flex; justify-content:space-between; align-items:center; color:var(--copper-light); font-size:10px; font-weight:750; letter-spacing:.12em; }
.status-chip { padding:6px 9px; color:#9fd9cf; background:rgba(45,155,140,.12); border:1px solid rgba(45,155,140,.27); border-radius:4px; letter-spacing:.05em; }
.module-detail h3 { margin:20px 0 11px; font-family:Georgia,serif; font-size:38px; font-weight:400; }
#detail-description { max-width:720px; color:#aab5c0; font-size:14px; line-height:1.65; }
.detail-columns { margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.detail-columns h4 { margin:0 0 12px; color:#7f8c99; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.detail-columns ul { list-style:none; margin:0; padding:0; }
.detail-columns li { position:relative; margin:9px 0; padding-left:16px; color:#d8dfe5; font-size:12px; line-height:1.4; }
.detail-columns li::before { content:""; position:absolute; top:.55em; left:0; width:5px; height:5px; border-radius:50%; background:var(--copper); }
.tech-strip { margin-top:28px; padding-top:18px; display:flex; gap:20px; align-items:center; border-top:1px solid rgba(255,255,255,.1); }
.tech-strip > span { color:#7f8c99; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
#detail-tech { display:flex; gap:7px; flex-wrap:wrap; }
#detail-tech span { padding:6px 9px; color:#cbd3da; background:rgba(255,255,255,.06); border-radius:4px; font-size:10px; }

.flow-panel { margin-top:20px; padding:28px 32px 24px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,255,255,.45); }
.flow-title { display:flex; justify-content:space-between; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.flow-title span { color:var(--muted); }
.flow-title strong { color:var(--copper); }
.flow-track { position:relative; margin-top:25px; display:grid; grid-template-columns:repeat(6,1fr); }
.flow-track::before { content:""; position:absolute; left:4%; right:4%; top:16px; height:1px; background:#cbc8bf; }
.flow-step { position:relative; padding:0 6px; display:flex; flex-direction:column; align-items:center; text-align:center; color:var(--muted); background:none; border:0; cursor:pointer; }
.flow-step > span { z-index:1; width:33px; height:33px; display:grid; place-items:center; border:1px solid #cbc8bf; border-radius:50%; color:#87919a; background:var(--paper); font-size:9px; transition:.2s; }
.flow-step strong { margin-top:12px; color:var(--ink); font-size:11px; }
.flow-step small { margin-top:3px; font-size:9px; }
.flow-step.active > span, .flow-step:hover > span { color:white; border-color:var(--copper); background:var(--copper); box-shadow:0 0 0 5px rgba(215,127,67,.12); }
.flow-description { max-width:820px; margin:22px auto 0; text-align:center; color:var(--muted); font-size:12px; line-height:1.6; }

.simulator { padding-block:110px; background:var(--paper-2); }
.preset-row { margin-bottom:13px; display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.preset-row > span { margin-right:8px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.preset { padding:8px 12px; border:1px solid var(--line); border-radius:18px; background:transparent; color:var(--muted); font-size:11px; cursor:pointer; }
.preset:hover, .preset.active { color:white; background:var(--navy-2); border-color:var(--navy-2); }
.simulator-shell { display:grid; grid-template-columns:minmax(330px,.76fr) minmax(500px,1.24fr); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); overflow:hidden; }
.inputs-panel { padding:38px; display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:28px 22px; background:#fbf9f2; border-right:1px solid var(--line); }
.input-group.wide { grid-column:span 2; }
.input-group label, .label-row { color:#48545f; font-size:11px; font-weight:700; }
.label-row { display:flex; align-items:center; justify-content:space-between; }
.label-row output { min-width:48px; padding:4px 7px; text-align:center; color:var(--copper); background:#f5e7da; border-radius:4px; font-size:11px; }
.input-group > small { display:block; margin-top:6px; color:#8c949b; font-size:9px; }
.money-input { margin-top:8px; height:45px; display:flex; align-items:center; border:1px solid #d7d3ca; border-radius:7px; background:white; transition:.2s; }
.money-input:focus-within { border-color:var(--copper); box-shadow:0 0 0 3px rgba(215,127,67,.11); }
.money-input span { padding-left:13px; color:#8a939a; font-size:11px; }
.money-input input { width:100%; height:100%; padding:0 12px 0 7px; color:var(--ink); background:transparent; border:0; outline:0; text-align:right; font-weight:700; }
input[type="range"] { appearance:none; width:100%; height:3px; margin:19px 0 5px; background:linear-gradient(to right,var(--copper) var(--progress,50%),#d7d3ca var(--progress,50%)); border-radius:4px; outline:0; }
input[type="range"]::-webkit-slider-thumb { appearance:none; width:17px; height:17px; border:3px solid white; border-radius:50%; background:var(--copper); box-shadow:0 1px 7px rgba(0,0,0,.25); cursor:pointer; }
input[type="range"]::-moz-range-thumb { width:12px; height:12px; border:3px solid white; border-radius:50%; background:var(--copper); box-shadow:0 1px 7px rgba(0,0,0,.25); cursor:pointer; }
.range-labels { display:flex; justify-content:space-between; color:#92999e; font-size:9px; }
.form-error { grid-column:span 2; padding:10px 12px; color:#9d3e36; background:#fae8e5; border-radius:6px; font-size:11px; }

.results-panel { padding:38px; color:#fff; background:var(--navy); }
.ownership-card { display:flex; justify-content:space-between; align-items:center; padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.1); }
.ownership-card > div:first-child { display:flex; flex-direction:column; }
.ownership-card span { color:#8e9aa6; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.ownership-card strong { margin:5px 0 2px; color:var(--copper-light); font-family:Georgia,serif; font-size:36px; font-weight:400; }
.ownership-card small { color:#b0bbc5; font-size:11px; }
.donut { --share:10%; width:74px; height:74px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--copper-light) var(--share),rgba(255,255,255,.09) 0); position:relative; }
.donut::before { content:""; position:absolute; inset:7px; border-radius:50%; background:var(--navy); }
.donut span { position:relative; z-index:1; color:white; font-size:15px; font-weight:750; }
.result-grid { margin-top:27px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.result-grid article { padding:17px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.025); }
.result-grid article.highlight { border-color:rgba(240,178,122,.35); background:rgba(240,178,122,.07); }
.result-grid span { color:#8e9aa6; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.result-grid strong { margin-top:8px; font-size:17px; font-weight:650; }
.result-grid .highlight strong { color:var(--copper-light); }
.distribution-card { margin-top:24px; }
.distribution-head { display:flex; justify-content:space-between; color:#8e9aa6; font-size:10px; }
.distribution-head strong { color:#dce2e7; font-size:11px; }
.stacked-bar { height:8px; margin-top:11px; display:flex; overflow:hidden; border-radius:8px; background:rgba(255,255,255,.08); }
.stacked-bar span { height:100%; transition:width .25s ease; }
.bar-investor { background:var(--copper-light); }
.bar-other { background:#687786; }
.bar-costs { background:#31404e; }
.legend { margin-top:11px; display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; color:#87939e; font-size:9px; }
.legend span { display:flex; align-items:center; gap:6px; }
.legend b { margin-left:auto; color:#cbd3d9; font-size:9px; font-weight:600; }
.dot { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#687786; }
.dot.investor { background:var(--copper-light); }
.dot.costs { background:#31404e; border:1px solid #778390; }
.formula-card { margin-top:23px; border:1px solid rgba(255,255,255,.1); border-radius:9px; overflow:hidden; }
.formula-card summary { padding:12px 14px; display:flex; justify-content:space-between; color:#c6cfd6; background:rgba(255,255,255,.035); list-style:none; cursor:pointer; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.formula-card summary::-webkit-details-marker { display:none; }
.formula-card summary span { color:var(--teal); }
.formula-body { padding:13px 14px; }
.formula-body > div:not(.check-line) { padding:7px 0; display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid rgba(255,255,255,.06); color:#84909c; font-size:9px; }
.formula-body code { color:#c9d1d8; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; text-align:right; }
.check-line { margin-top:12px; display:flex; align-items:center; gap:9px; color:#72cbbd; }
.check-line > span { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; border-radius:50%; background:rgba(45,155,140,.15); }
.check-line p { margin:0; display:flex; flex-direction:column; }
.check-line strong { font-size:10px; }
.check-line small { margin-top:2px; color:#7e8b97; font-size:8px; }
.disclaimer { margin-top:20px; display:flex; gap:12px; align-items:flex-start; color:#6c757d; font-size:11px; line-height:1.55; }
.disclaimer > span { width:19px; height:19px; flex:0 0 19px; display:grid; place-items:center; border:1px solid #9ba0a3; border-radius:50%; font-family:Georgia,serif; }
.disclaimer p { margin:0; }

footer { min-height:106px; padding:0 clamp(24px,6vw,96px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; color:#7e8a96; background:var(--navy); font-size:10px; }
.footer-brand { color:white; }
footer p { margin:0; text-align:center; }
footer > span { justify-self:end; }

@media (max-width: 980px) {
  .topbar { grid-template-columns:1fr auto; }
  nav { display:none; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:30px; }
  .hero-copy { padding-block:60px 12px; }
  .hero-visual { min-height:430px; transform:scale(.85); }
  .hero-stats { position:relative; left:auto; right:auto; bottom:auto; grid-column:1; grid-template-columns:1fr 1fr; }
  .hero-stats article:nth-child(2) { border-right:0; }
  .architecture-grid, .simulator-shell { grid-template-columns:1fr; }
  .inputs-panel { border-right:0; border-bottom:1px solid var(--line); }
  .architecture-grid { gap:14px; }
}

@media (max-width: 680px) {
  .topbar { height:64px; padding-inline:18px; }
  .brand-mark { width:29px; }
  .privacy-pill { font-size:0; }
  .privacy-pill svg { width:19px; }
  .section-shell { padding-inline:18px; }
  .hero { min-height:auto; }
  h1 { font-size:42px; }
  .hero-copy { padding-block:54px 20px; }
  .hero-visual { min-height:350px; transform:scale(.7); margin-inline:-55px; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .hero-stats article { padding:18px 12px; }
  .architecture, .simulator { padding-block:72px; }
  .section-heading { margin-bottom:30px; display:block; }
  .section-heading > p { margin-top:18px; }
  .module-map { grid-template-columns:1fr; }
  .module-card:last-child { grid-column:auto; }
  .module-card { min-height:78px; }
  .module-detail { min-height:auto; padding:28px 22px; }
  .detail-columns { grid-template-columns:1fr; gap:18px; }
  .tech-strip { display:block; }
  #detail-tech { margin-top:10px; }
  .flow-panel { padding:24px 16px; overflow:hidden; }
  .flow-track { grid-template-columns:repeat(6,92px); overflow-x:auto; padding-bottom:12px; justify-content:start; }
  .flow-track::before { width:460px; left:45px; right:auto; }
  .preset-row { justify-content:flex-start; overflow-x:auto; padding-bottom:4px; }
  .preset-row > span { display:none; }
  .inputs-panel, .results-panel { padding:26px 20px; }
  .inputs-panel { grid-template-columns:1fr; }
  .input-group.wide { grid-column:auto; }
  .form-error { grid-column:auto; }
  .result-grid { grid-template-columns:1fr; }
  .legend { grid-template-columns:1fr; }
  footer { padding-block:28px; grid-template-columns:1fr; justify-items:start; }
  footer p { text-align:left; }
  footer > span { justify-self:start; }
}

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