:root {
  --ink: #101738;
  --blue: #204ff1;
  --green: #05df38;
  --muted: #495571;
  --line: #d8e3f3;
  font: 16px/1.55 Manrope, "Segoe UI", sans-serif;
  color: var(--ink);
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
h1, h2 { line-height: 1.02; letter-spacing: -.04em; }
h1 { font-size: clamp(2.85rem, 5.15vw, 5.2rem); }
h2 { font-size: clamp(2.2rem, 4.2vw, 4.15rem); }
h3 { font-size: 1.2rem; line-height: 1.25; }
em { font-style: normal; color: var(--blue); }
p { color: var(--muted); }
::selection { color: #fff; background: #1748c6; }
:focus-visible { outline: 3px solid #173cb7; outline-offset: 4px; }
[id] { scroll-margin-top: 1.5rem; }
.skip { position: absolute; top: -6rem; padding: 1rem; background: #fff; z-index: 5; }
.skip:focus { top: 0; }
header { background: #fff; border-bottom: 1px solid var(--line); }
.bar { display: flex; align-items: center; gap: clamp(1rem, 3vw, 3rem); width: min(92%, 1440px); margin: auto; min-height: 72px; }
.logo { margin-right: auto; }
.logo img { width: 140px; }
header nav { display: flex; gap: 1.6rem; font-weight: 650; font-size: .92rem; }
header nav a:hover, footer a:hover { color: var(--blue); text-decoration: underline; }
.cta { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; background: var(--green); color: #082612; padding: .7rem 1.2rem; border-radius: 8px; font-weight: 750; }
.cta:hover { background: #1aef4c; }
.hero { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(145deg, #fff 14%, #f4f9ff 43%, #d8e9ff 80%, #c2dafb); }
.wave { position: absolute; z-index: -1; bottom: 0; width: 100%; height: 68%; }
.hero-inner { width: min(92%, 1490px); margin: auto; display: grid; grid-template-columns: .86fr 1.34fr; align-items: center; gap: 2%; padding: 2.5rem 0 2rem; }
.opening { align-self: start; padding-top: 1rem; }
.opening h1 { position: relative; margin: 0 0 1.4rem; }
.title-line { white-space: nowrap; }
@media (min-width: 901px) {
  .opening h1 { font-size: clamp(2.7rem, 4.75vw, 4.85rem); }
  .product.section { padding-top: clamp(2rem, 3vw, 3rem); }
}
@media (max-width: 360px) { .opening h1 { font-size: 2.35rem; } }
.opening h1::after { content: ""; display: block; width: 4em; height: .075em; background: var(--green); border-radius: 50%; transform: rotate(-1deg); margin-top: .12em; }
.opening > p { font-size: clamp(1.1rem, 1.75vw, 1.65rem); max-width: 29ch; line-height: 1.36; }
.contents { display: grid; margin-top: 1.7rem; width: min(100%, 335px); padding: .45rem 1.15rem; background: #fff; border-radius: 14px; box-shadow: 0 12px 36px #0a225c1a; }
.contents a { position: relative; display: block; padding: .65rem 1.5rem .65rem 0; border-bottom: 1px solid var(--line); font-weight: 730; }
.contents a:last-child { border: 0; }
.contents a::after { content: "↗"; position: absolute; right: .1rem; top: .7rem; color: var(--blue); }
.contents a span { display: block; color: var(--muted); font-size: .83rem; font-weight: 450; }
.contents a:hover { color: var(--blue); }
.explorer { position: relative; display: grid; align-items: center; grid-template-columns: minmax(0, 1fr) minmax(128px, 25%); min-height: 510px; perspective: 960px; }
.stack { width: 100%; max-height: min(65vh, 620px); height: auto; object-fit: contain; filter: drop-shadow(0 13px 16px #16243a20); transform: rotateY(var(--tilt, 0deg)); transition: transform .4s ease-out; }
.leaders { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.layer-list { position: absolute; right: 0; top: 6%; bottom: 7%; width: 25%; display: grid; grid-template-rows: repeat(4, 1fr); align-items: center; }
.layer-list a { position: relative; padding: .85rem .9rem; border-radius: 9px; background: #fff; color: #183270; font-size: .9rem; font-weight: 690; box-shadow: 0 6px 19px #17377914; }
.faq a { color: var(--blue); text-decoration: underline; text-underline-offset: .18em; }
.layer-list a:is(:focus-visible,:hover) { color: var(--blue); background: #ebf1ff; }
.figure-note { position: absolute; bottom: -.6rem; right: 0; color: white; font-size: .8rem; }
.status { background: #102b7b; color: #fff; display: flex; gap: 1rem; justify-content: center; padding: .8rem 4%; font-size: .88rem; }
.section { width: min(88%, 1250px); margin: auto; padding: clamp(3.4rem, 7vw, 7rem) 0; }
.section p { max-width: 68ch; }
.product h2 { text-align: center; }
.lede { text-align: center; font-size: 1.2rem; margin: 1.4rem auto 3rem; }
.flow { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 3.5rem; }
.flow article { display: flex; gap: 1.1rem; border-top: 1px solid var(--line); padding: 1.1rem 0; }
.flow article > span { color: var(--blue); font-size: 1rem; font-weight: 700; }
.section article p, .section li p { margin-top: .5rem; }
.story-band { background: #eef4ff; }
.story, .split, .founder { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); }
.story h2, .split h2, .founder h2 { margin-bottom: 1.3rem; }
.record { border-top: 2px solid var(--blue); padding-top: 1rem; }
.record strong { display: block; font-size: clamp(2.3rem, 4.5vw, 4.6rem); letter-spacing: -.04em; color: var(--blue); }
.record small { display: block; color: var(--muted); margin-top: .8rem; line-height: 1.55; }
.founder { grid-template-columns: minmax(155px, 25%) 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.founder img { width: 100%; max-width: 265px; height: auto; border-radius: 12px; }
.founder h3 { margin-bottom: .65rem; }
.rows article, .milestones li, details { border-bottom: 1px solid var(--line); padding: 1rem 0; }
.rows article:first-child { padding-top: 0; }
.plan-band { background: #112457; color: #fff; }
.plan-band p { color: #d4e2ff; }
.plan-band em { color: #94b5ff; }
.plan-band p + p { margin-top: 1rem; }
.milestones { margin: 0; padding-left: 1.6rem; }
.milestones li { padding-left: .5rem; border-color: #415581; }
.milestones li::marker { color: #a7ccff; font-weight: 700; }
summary { padding: .3rem 0; cursor: pointer; font-weight: 700; }
details p { margin: .7rem 0 .4rem; }
.follow { background: #eff5ff; }
.follow .section > p { margin: 1.2rem 0; font-size: 1.15rem; }
aside { border-top: 1px solid #b6c8e8; margin-top: 2rem; padding-top: 1.2rem; }
aside p { font-size: .92rem; margin-top: .4rem; }
footer.bar { min-height: 80px; flex-wrap: wrap; padding: 1rem 0; font-size: .93rem; }
@media (prefers-reduced-motion: no-preference) {
  .stack { animation: arrive 1.15s cubic-bezier(.2,.72,.25,1) both; }
  @keyframes arrive { from { opacity: .35; transform: translateY(20px) rotateY(-9deg); } }
}
@media (max-width: 900px) {
  header nav { display: none; }
  .hero-inner { grid-template-columns: .95fr 1.15fr; }
  .explorer { display: flex; flex-direction: column; justify-content: center; min-height: auto; padding-bottom: 1.5rem; }
  .stack { height: 390px; }
  .layer-list { position: static; width: 100%; grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: .5rem; }
  .leaders { display: none; }
}
@media (max-width: 640px) {
  .bar { gap: .65rem; min-height: 64px; }
  .logo img { width: 111px; }
  header .cta { font-size: .84rem; padding: .65rem .75rem; }
  .hero-inner { display: block; padding-top: 1.6rem; }
  .opening { padding: 0; }
  .contents { width: 100%; grid-template-columns: 1fr 1fr; gap: 0 1rem; margin-top: 1rem; }
  .contents a { font-size: .9rem; }
  .contents a:nth-child(3) { border-bottom: 0; }
  .contents a span { display: none; }
  .explorer { margin-top: 1rem; }
  .stack { height: 320px; }
  .layer-list { width: 100%; }
  .layer-list a { text-align: center; }
  .figure-note { bottom: -.4rem; }
  .status { display: block; }
  .status strong { margin-right: .6rem; }
  .flow, .story, .split, .founder { grid-template-columns: 1fr; gap: 1.2rem; }
  .founder img { width: 145px; }
  .section { width: 90%; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .stack { animation: none; transition: none; transform: none; }
}
#model,#faq { align-items:start }
.section-object { display:block;width:min(100%,410px);height:auto;margin:1rem 0 0 }
#model .rows { counter-reset:income }
#model .rows article { position:relative;padding-left:3.1rem;counter-increment:income }
#model .rows article::before { content:"0" counter(income);position:absolute;left:0;top:1.12rem;font:600 .84rem monospace;color:var(--blue) }
#model .rows article:first-child::before { top:.14rem }
@media(prefers-reduced-motion:no-preference) {
 #faq .section-object { transition:transform .45s ease-out }
 #faq:has(details:not(:first-child)[open]) .section-object { transform:translateY(-5px) rotate(-2deg) }
}
@media(max-width:640px) { .section-object { width:min(100%,310px);margin:0 auto } }
.model-band { background-color:#e8f1ff;background-image:linear-gradient(115deg,transparent 46%,#cbdcf755 70%,transparent),repeating-linear-gradient(155deg,transparent 0 47px,#6486b61a 48px,transparent 49px) }
.faq-band { background:radial-gradient(ellipse at 12% 84%,#234fa4,transparent 59%),#101f46;color:#f4f8ff }
#faq h2,#faq summary { color:#fff }
#faq em,#faq .faq a { color:#a8e8fc }
#faq p { color:#dae6fd }
#faq details { border-color:#6886b0 }
.topic-icon { flex:none;color:#224db3 }
#model .rows h3,#faq summary { display:flex;align-items:center;gap:.72rem }
#model .rows article { padding-left:0 }
#model .rows article::before { content:none }
#faq .topic-icon { color:#9ae7ff }
#faq summary::after { content:"+";margin-left:auto;font:400 1.4rem monospace;color:#b9eaff }
#faq details[open] summary::after { content:"−" }
#faq summary::-webkit-details-marker { display:none }
.processing-total { font-variant-numeric:tabular-nums }
.volume-chart { margin:.8rem 0 1.25rem }
.volume-chart svg { display:block;width:100%;height:auto }
.volume-chart figcaption { margin-top:.35rem;font-size:.78rem;color:var(--muted) }
/* Keep each callout opposite its layer, including on narrow screens. */
@media(max-width:900px) {
  .explorer { display:grid;grid-template-columns:74% 26%;min-height:0;padding:0 0 1.4rem }
  .stack { width:100%;height:auto;max-height:420px }
  .leaders { display:block;height:calc(100% - 1.4rem) }
  .layer-list { position:absolute;top:6%;bottom:calc(7% + 1.4rem);width:26%;grid-template:repeat(4,1fr)/1fr;gap:0 }
  .layer-list a { padding:.55rem .3rem;font-size:clamp(.72rem,1.8vw,.9rem);text-align:center;line-height:1.15 }
}
@media(prefers-reduced-motion:no-preference) {
  .explorer :is(.leaders path,.layer-list a) { --step:0 }
  .explorer :is(.leaders path,.layer-list a):nth-child(2) { --step:1 }
  .explorer :is(.leaders path,.layer-list a):nth-child(3) { --step:2 }
  .explorer :is(.leaders path,.layer-list a):nth-child(4) { --step:3 }
  .layer-list a { animation:card-in .44s ease-out backwards;animation-delay:calc(.22s + var(--step)*.26s) }
  .layer-list a:focus-visible { animation:none }
  .leaders path { stroke-dasharray:1;animation:connect-layer .55s ease-out backwards;animation-delay:calc(.32s + var(--step)*.26s) }
  @keyframes card-in { from { opacity:0;transform:translateX(10px) } }
  @keyframes connect-layer { from { stroke-dashoffset:-1 } to { stroke-dashoffset:0 } }
}

.volume-chart { position: relative; }
.money-bursts { position:absolute;inset:0;pointer-events:none;overflow:visible; }
.money-bill { position:absolute;display:grid;place-items:center;width:22px;height:13px;border:1px solid #197755;border-radius:2px;background:#a1efc5;color:#125b40;font:bold 10px/1 Arial,sans-serif;box-shadow:0 3px 5px #102c2520; }
@media(prefers-reduced-motion:reduce) { .money-bursts { display:none; } }

/* Engraved details and perspective give the paper a fluttering silhouette. */
.money-bill { width:29px;height:14px;border:1px solid #6b8e6e;border-radius:1px;background:repeating-linear-gradient(22deg,#e0e7c5 0 1px,#d0dcb6 1px 2px);color:#3c6243;box-shadow:0 2px 3px #102c2526;outline:1px solid #eff0d4;outline-offset:-3px; }
.bill-portrait { display:grid;place-items:center;width:9px;height:11px;border:1px double #638168;border-radius:50%;background:#b3c39f;font:bold 8px Georgia,serif; }
.bill-corner { position:absolute;left:2px;top:0;font:bold 5px Georgia,serif; }
.bill-corner-bottom { left:auto;top:auto;right:2px;bottom:0; }
.money-bursts { perspective:400px; }

/* Historical results and the planned return are separate editorial chapters. */
.story { display:block; }
.story > h2 { max-width:1050px;font-size:clamp(2.2rem,4.1vw,3.65rem);line-height:1.1;text-wrap:balance;margin:0 0 3.5rem; }
.story-history { display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center; }
.story-copy p { font-size:1.02rem;line-height:1.8;max-width:58ch; }
.story-copy p + p { margin-top:1.35rem; }
.story-copy .story-lead { font-size:1.18rem;line-height:1.65;color:var(--ink); }
.story .record { padding:1.5rem 0 0;align-self:start; }
.story .record strong { font-size:clamp(2.8rem,4.6vw,4.5rem); }
.story .record > p { font-size:.9rem; }
.story .volume-chart { margin:2.25rem 0 1.75rem; }
.story-stats { display:flex;gap:2.5rem;border-top:1px solid #bbcde9;padding-top:1.1rem;margin:0; }
.story-stats div { display:flex;flex-direction:column-reverse;gap:.25rem; }
.story-stats dt { font-size:.8rem;color:var(--muted); }
.story-stats dd { margin:0;font-size:1.55rem;font-weight:750;letter-spacing:-.03em; }
.story-next { display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:center;margin-top:4rem;padding-top:3.5rem;border-top:1px solid #bbcde9; }
.story-future h3 { font-size:clamp(1.9rem,3.2vw,2.75rem);letter-spacing:-.035em;line-height:1.12;margin-bottom:1.5rem;text-wrap:balance; }
.wallet-motion { display:grid;place-items:center;min-height:340px;perspective:850px; }
.wallet-stage { width:290px;height:280px;position:relative;transform:rotateY(-18deg) rotateX(10deg) rotateZ(-8deg);transform-style:preserve-3d; }
.wallet-shadow { position:absolute;inset:220px -10px -15px;background:#294e9e26;filter:blur(20px);border-radius:50%;transform:translateZ(-40px); }
.wallet-sheet { position:absolute;width:168px;height:205px;left:55px;top:0;border-radius:12px;box-shadow:6px 12px 22px #19377824; }
.sheet-back { background:#a8c7fa;transform:translate3d(-22px,-15px,-20px) rotate(-14deg);padding:25px; }
.sheet-back span { display:block;height:5px;background:#5a86cb;margin-bottom:12px;border-radius:3px; }
.sheet-front { background:#fff;transform:translate3d(20px,-35px,0) rotate(12deg);padding:22px;color:#2851ba; }
.sheet-front svg { width:48px;height:48px; }
.sheet-front i { display:block;width:90%;height:5px;background:#c4d5ef;margin-top:13px;border-radius:3px; }
.sheet-front i:last-child { width:62%; }
.wallet-body { position:absolute;left:10px;top:103px;width:270px;height:165px;border-radius:19px;background:linear-gradient(135deg,#3e71ff,#234bd0 65%,#17399e);box-shadow:4px 7px 0 #12358c,12px 22px 28px #183d9033;transform:translateZ(25px); }
.wallet-brand { display:block;margin:24px;color:#fff;font-size:1.2rem;font-weight:750;letter-spacing:-.03em; }
.wallet-seam { position:absolute;inset:10px;border:1px dashed #8caeff88;border-radius:12px; }
.wallet-clasp { position:absolute;right:-5px;top:67px;width:66px;height:46px;background:#123793;border-radius:9px 0 0 9px;box-shadow:1px 4px 5px #0e2c7040; }
.wallet-clasp span { display:block;width:12px;height:12px;border-radius:50%;background:#a4bffa;margin:17px; }
.wallet-check { position:absolute;right:-17px;top:16px;width:63px;height:63px;border-radius:50%;background:#79efa6;color:#114b34;box-shadow:3px 5px 0 #38b970,8px 13px 20px #23674e25;transform:translateZ(48px); }
.wallet-check svg { width:100%;height:100%; }
@media(prefers-reduced-motion:no-preference) {
 .wallet-stage { animation:wallet-float 6s ease-in-out infinite; }
 .sheet-front { animation:paper-lift 6s ease-in-out infinite; }
 @keyframes wallet-float { 0%,100% { transform:rotateY(-18deg) rotateX(10deg) rotateZ(-8deg) translateY(0); } 50% { transform:rotateY(-8deg) rotateX(6deg) rotateZ(-5deg) translateY(-12px); } }
 @keyframes paper-lift { 0%,100% { transform:translate3d(20px,-35px,0) rotate(12deg); } 50% { transform:translate3d(16px,-53px,6px) rotate(7deg); } }
}
@media(max-width:760px) {
 .story > h2 { margin-bottom:2rem; }
 .story-history,.story-next { grid-template-columns:minmax(0,1fr);gap:2rem; }
 .story-next { margin-top:2.5rem;padding-top:1.75rem; }
 .story .record { padding-top:1.25rem; }
 .wallet-motion { min-height:310px; }
 .wallet-stage { scale:.9; }
 .story-copy p { font-size:1rem; }
 .story-copy .story-lead { font-size:1.1rem; }
}

/* Founder: portrait and identity, personal commitment, then business context. */
.founder { grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:3.5rem 5rem;align-items:center; }
.founder-profile { display:grid;gap:1.5rem; }
.founder-profile img { width:100%;max-width:300px;border-radius:14px; }
.founder h2 { font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;max-width:12ch;margin:0 0 .75rem;text-wrap:balance; }
.founder-role { font-weight:750;color:var(--ink);margin-bottom:.3rem; }
.founder-location { font-size:.9rem; }
.founder-commitment { background:#eef4ff;border-radius:16px;padding:clamp(1.5rem,3.5vw,3.25rem); }
.founder-commitment h3 { font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.035em;margin:0; }
.founder-commitment blockquote { margin:2rem 0 1.25rem;font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.5;font-weight:600;letter-spacing:-.02em;color:#152c61; }
.founder-commitment p,.founder-bio p { line-height:1.8;font-size:1rem; }
.founder-experience { grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:5rem;border-top:1px solid var(--line);padding-top:2.75rem; }
.founder-experience h3 { font-size:clamp(1.65rem,2.4vw,2.1rem);line-height:1.15;letter-spacing:-.03em;margin:0; }
.founder-bio p + p { margin-top:1.35rem; }
.founder .founder-disclosure { grid-column:1/-1;max-width:none;border-top:1px solid var(--line);padding-top:1.5rem; }
.founder-disclosure small { display:block;max-width:110ch;font-size:.8rem;line-height:1.7;color:#58647c; }
@media(max-width:760px) {
 .founder { grid-template-columns:minmax(0,1fr);gap:2rem; }
 .founder-profile { grid-template-columns:120px minmax(0,1fr);align-items:center;gap:1.25rem; }
 .founder-profile img { width:120px; }
 .founder h2 { font-size:1.7rem; }
 .founder-location { font-size:.8rem; }
 .founder-experience { grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-top:2rem; }
 .founder-commitment blockquote { margin-top:1.5rem; }
}
@media(max-width:360px) {
 .founder-profile { grid-template-columns:96px minmax(0,1fr);gap:1rem; }
 .founder-profile img { width:96px; }
 .founder h2 { font-size:1.45rem; }
}

.wallet-motion { overflow:clip; }

