/* Cequire — built on the live cequire.com palette and type: light grey and mint days, deep green and navy ink, Poppins headlines, Inter text, a green italic serif accent.
   One 3D object (the C, its core and the star) carries the brand. Everything else stays calm: slow reveals, generous space, few effects. */
:root {
  --bg: #F9F9F9;
  --white: #FFFFFF;
  --mint: #C2F0D2;
  --mint-2: #E0F8E8;
  --mint-3: #F1FCF5;
  --green: #33AD60;
  --green-ink: #217440;
  --deep: #0A2917;
  --deep-2: #0F3820;
  --navy: #102437;
  --ink: #102437;
  --ink-soft: #46596A;
  --line: rgba(16, 36, 55, 0.1);
  --line-d: rgba(194, 240, 210, 0.14);
  --display: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --gl: max(clamp(16px, 4vw, 56px), env(safe-area-inset-left, 0px));
  --gr: max(clamp(16px, 4vw, 56px), env(safe-area-inset-right, 0px));
  --max: 1320px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: clip; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 90; background: var(--bg); }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: -0.02em; color: var(--ink); text-wrap: balance; }
p { text-wrap: pretty; }
a { color: inherit; }
img, svg { display: block; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; border-radius: 6px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
em.acc { font-family: var(--serif); font-style: italic; font-weight: 700; color: var(--green); letter-spacing: 0; }
.dark em.acc, .deep em.acc { color: var(--mint); }
.wrap { width: 100%; max-width: calc(var(--max) + 112px); margin: 0 auto; padding: 0 var(--gr) 0 var(--gl); }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 500 13px/1 var(--body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-ink); }
.eyebrow::before { content: ""; width: 8px; height: 8px; background: currentColor; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }
.deep .eyebrow { color: var(--mint); }
.h2 { font-size: clamp(34px, 4.2vw, 64px); line-height: 1.1; }
.lead { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; color: var(--ink-soft); max-width: 56ch; }
.deep .lead, .deep p { color: rgba(224, 248, 232, 0.72); }
.deep h2, .deep h3 { color: var(--white); }
.sec { padding: clamp(88px, 11vw, 160px) 0; position: relative; }
.sec-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 32px 64px; align-items: end; margin-bottom: clamp(40px, 5vw, 72px); }
.sec-head .eyebrow { margin-bottom: 20px; }
@media (max-width: 860px) { .sec-head { grid-template-columns: 1fr; } }
.mint { background: var(--mint-3); }
.white { background: var(--white); }
.deep { background: var(--deep); color: var(--mint-2); }

/* buttons */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 999px; border: 0; background: var(--green); color: var(--white); font: 600 14px/1 var(--display); letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none; cursor: pointer; overflow: hidden; transition: transform 160ms ease-out, background-color 300ms ease; -webkit-tap-highlight-color: transparent; }
.btn:active { transform: scale(0.97); }
.btn .ar { width: 16px; height: 16px; transition: transform 400ms var(--ease); }
@media (hover: hover) { .btn:hover { background: var(--green-ink); } .btn:hover .ar { transform: translateX(4px); } }
.btn.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px rgba(16, 36, 55, 0.25); }
@media (hover: hover) { .btn.ghost:hover { background: var(--ink); color: var(--white); } }
.deep .btn.ghost { color: var(--white); box-shadow: inset 0 0 0 1px rgba(224, 248, 232, 0.3); }
@media (hover: hover) { .deep .btn.ghost:hover { background: var(--white); color: var(--deep); } }
.btn.light { background: var(--mint); color: var(--deep); }
@media (hover: hover) { .btn.light:hover { background: var(--white); } }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* nav */
.bar { position: fixed; z-index: 60; top: env(safe-area-inset-top, 0px); left: 0; right: 0; transition: background-color 400ms ease, box-shadow 400ms ease, transform 500ms var(--ease); }
.bar.solid { background: rgba(249, 249, 249, 0.86); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); box-shadow: 0 1px 0 var(--line); }
.bar.hide { transform: translateY(-110%); }
.bar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 76px; }
.logo { display: block; color: var(--navy); text-decoration: none; }
.logo svg { height: 28px; width: auto; }
.logo .core { fill: var(--navy); }
.links { display: flex; align-items: center; gap: 6px; }
.links a.l { position: relative; padding: 10px 14px; font: 500 15px/1 var(--body); text-decoration: none; color: var(--ink); border-radius: 999px; transition: background-color 250ms ease; }
@media (hover: hover) { .links a.l:hover { background: rgba(16, 36, 55, 0.06); } }
.links a.l[aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 4px; height: 4px; border-radius: 50%; background: var(--green); transform: translateX(-50%); }
.links .btn { margin-left: 10px; min-height: 44px; }
.menu-btn { display: none; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--navy); color: var(--white); cursor: pointer; align-items: center; justify-content: center; }
.menu-btn span { position: relative; width: 16px; height: 2px; background: currentColor; transition: background-color 200ms ease; }
.menu-btn span::before, .menu-btn span::after { content: ""; position: absolute; left: 0; width: 16px; height: 2px; background: currentColor; transition: transform 300ms var(--ease); }
.menu-btn span::before { top: -5px; } .menu-btn span::after { top: 5px; }
.menu-open .menu-btn span { background: transparent; }
.menu-open .menu-btn span::before { transform: translateY(5px) rotate(45deg); }
.menu-open .menu-btn span::after { transform: translateY(-5px) rotate(-45deg); }
.sheet { position: fixed; z-index: 55; inset: 0; background: var(--deep); color: var(--white); padding: calc(110px + env(safe-area-inset-top, 0px)) var(--gr) calc(32px + env(safe-area-inset-bottom, 0px)) var(--gl); display: flex; flex-direction: column; justify-content: space-between; clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path 700ms var(--ease), visibility 0s linear 700ms; }
.menu-open .sheet { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path 700ms var(--ease), visibility 0s; }
.menu-open .bar { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.menu-open .bar .logo { color: var(--white); }
.menu-open .bar .logo .core { fill: var(--white); }
.menu-open .menu-btn { background: var(--mint); color: var(--deep); }
.sheet nav a { display: block; padding: 6px 0; font: 400 clamp(40px, 11vw, 64px)/1.15 var(--display); text-decoration: none; letter-spacing: -0.02em; }
.sheet nav a[aria-current="page"] { color: var(--mint); }
.sheet .mail { font-size: 15px; color: rgba(224, 248, 232, 0.7); }
.sheet .mail a { color: var(--mint); }
@media (max-width: 900px) { .links { display: none; } .menu-btn { display: inline-flex; } }

/* hero — home */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; background: radial-gradient(60% 70% at 72% 45%, var(--mint-3), var(--bg) 70%); }
.hero .gl { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-in { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(56px, 10vh, 110px); padding-top: 140px; pointer-events: none; }
.hero h1 { font-size: clamp(42px, 5.2vw, 88px); line-height: 1.12; }
.hero h1 .ln { display: block; overflow: hidden; padding-bottom: 0.08em; white-space: nowrap; }
.hero h1 .ln > span { display: inline-block; transform: translateY(105%); transition: transform 1500ms var(--ease); }
.ready .hero h1 .ln > span { transform: none; }
.ready .hero h1 .ln:nth-child(2) > span { transition-delay: 140ms; }
.ready .hero h1 .ln:nth-child(3) > span { transition-delay: 280ms; }
.hero .lead { margin-top: 24px; max-width: 46ch; }
.hero .btns { margin-top: 34px; pointer-events: auto; }
.hero .fade { opacity: 0; transform: translateY(16px); transition: opacity 1200ms ease 600ms, transform 1200ms var(--ease) 600ms; }
.ready .hero .fade { opacity: 1; transform: none; }
.scroll-cue { position: absolute; z-index: 2; right: var(--gr); bottom: clamp(56px, 10vh, 110px); display: flex; align-items: center; gap: 12px; font: 500 12px/1 var(--body); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); }
.scroll-cue i { position: relative; width: 1px; height: 48px; background: var(--line); overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--green); animation: cue 2.6s var(--ease) infinite; }
@keyframes cue { to { top: 100%; } }
@media (max-width: 760px) { .hero h1 .ln { white-space: normal; } .scroll-cue { display: none; } .hero { align-items: flex-end; } .hero-in { padding-top: 46vh; } }

/* hero — inner pages */
.phero { position: relative; overflow: hidden; padding: calc(150px + env(safe-area-inset-top, 0px)) 0 clamp(72px, 8vw, 120px); background: radial-gradient(55% 80% at 80% 40%, var(--mint-3), var(--bg) 70%); }
.phero .gl { position: absolute; top: 0; right: 0; width: 56%; height: 100%; }
.phero-in { position: relative; z-index: 2; max-width: 760px; }
.crumb { display: flex; gap: 8px; font-size: 14px; color: var(--ink-soft); margin-bottom: 28px; }
.crumb a { text-decoration: none; }
@media (hover: hover) { .crumb a:hover { color: var(--green-ink); } }
.phero h1 { font-size: clamp(40px, 5vw, 80px); line-height: 1.1; }
.phero .lead { margin-top: 24px; }
.phero .btns { margin-top: 34px; }
.stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(56px, 7vw, 96px); border-top: 1px solid var(--line); }
.stats div { padding: 24px 24px 0 0; }
.stats div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.stats b { display: block; font: 400 clamp(28px, 3vw, 44px)/1.1 var(--display); letter-spacing: -0.02em; }

@media (max-width: 860px) { .phero .gl { display: none; } }
@media (max-width: 640px) { .stats { grid-template-columns: 1fr; } .stats div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } .stats div { padding: 20px 0; } }

/* portfolio — real logos on dark stages, two by two */
.pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pcard { position: relative; display: flex; flex-direction: column; border-radius: 28px; overflow: hidden; background: var(--deep); color: var(--white); text-decoration: none; isolation: isolate; box-shadow: 0 40px 70px -50px rgba(10, 41, 23, 0.6); transition: transform 900ms var(--ease), box-shadow 900ms var(--ease); }
.pcard .stage { position: relative; display: grid; place-items: center; height: clamp(220px, 22vw, 300px); overflow: hidden; background: radial-gradient(70% 90% at 50% 120%, color-mix(in srgb, var(--glow) 22%, transparent), transparent 70%), linear-gradient(180deg, #0D2E1B, var(--deep)); border-bottom: 1px solid var(--line-d); }
.pcard .stage::after { content: ""; position: absolute; inset: 0; background: radial-gradient(30% 45% at var(--mx, 50%) var(--my, 60%), color-mix(in srgb, var(--glow) 30%, transparent), transparent 70%); opacity: 0; transition: opacity 700ms ease; }
.plogo { position: relative; z-index: 1; display: block; color: var(--white); transition: transform 1000ms var(--ease), filter 700ms ease; }
.plogo svg { width: 100%; height: auto; }
.plogo-zeru { width: clamp(150px, 15vw, 210px); }
.plogo-celar { width: clamp(170px, 17vw, 240px); }
.plogo-world { width: clamp(150px, 15vw, 210px); }
.plogo-beldex { width: clamp(180px, 18vw, 250px); }
.pcard .pnum { position: absolute; z-index: 1; top: 22px; left: 24px; font: 500 13px/1 var(--body); letter-spacing: 0.12em; color: rgba(224, 248, 232, 0.5); }
.pcard .tag { position: absolute; z-index: 1; top: 16px; right: 16px; padding: 7px 12px; border-radius: 999px; background: rgba(194, 240, 210, 0.1); box-shadow: inset 0 0 0 1px var(--line-d); font-size: 12px; color: var(--mint); }
.pcard .meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: end; padding: 24px 24px 26px; }
.pcard .mt { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.pcard .mt b { font: 500 24px/1.2 var(--display); letter-spacing: -0.01em; }
.pcard .mt em { font-style: normal; font-size: 14px; color: var(--mint); }
.pcard .meta p { font-size: 15px; line-height: 1.55; color: rgba(224, 248, 232, 0.66); max-width: 44ch; }
.pcard .go { display: flex; align-items: center; gap: 12px; font-size: 13px; color: rgba(224, 248, 232, 0.7); }
.pcard .go i { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(194, 240, 210, 0.1); color: var(--mint); transition: background-color 400ms ease, color 400ms ease, transform 700ms var(--ease); }
.pcard .go svg { width: 16px; height: 16px; }
@media (hover: hover) {
  .pcard:hover { transform: translateY(-6px); box-shadow: 0 50px 80px -50px rgba(10, 41, 23, 0.8); }
  .pcard:hover .stage::after { opacity: 1; }
  .pcard:hover .plogo { transform: scale(1.06); }
  .pcard:hover .go i { background: var(--green); color: var(--white); transform: rotate(45deg); }
}
.pfoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink-soft); }
@media (max-width: 760px) { .pgrid { grid-template-columns: 1fr; } .pcard .meta { grid-template-columns: 1fr; } .pcard .go span { display: none; } }

/* partners — sticky object left, cards right */
.partners { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px 72px; }
.p-l { position: relative; }
.p-sticky { position: sticky; top: 120px; }
.p-sticky .lead { margin-top: 20px; }
.p-obj { position: relative; margin-top: 40px; aspect-ratio: 1 / 1; max-width: 420px; border-radius: 28px; background: radial-gradient(70% 70% at 50% 45%, var(--white), var(--mint-3)); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.p-obj canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.p-r { display: grid; gap: 20px; }
.person { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); border-radius: 24px; overflow: hidden; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.person .ph { position: relative; min-height: 300px; display: grid; place-items: center; background: linear-gradient(160deg, var(--mint-2), var(--mint) 60%, #9FE0B6); }
.person .ph span { font: 500 72px/1 var(--display); color: var(--deep); letter-spacing: -0.04em; }
.person .ph small { position: absolute; bottom: 14px; left: 14px; font-size: 12px; color: var(--green-ink); }
.person .info { padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.person h3 { font-size: 26px; line-height: 1.2; }
.person .role { margin-top: 6px; font-size: 15px; color: var(--green-ink); }
.person p { font-size: 15px; color: var(--ink-soft); }
.person .soc { display: flex; gap: 8px; }
.icon-btn { width: 44px; height: 44px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--mint-3); color: var(--deep); text-decoration: none; transition: background-color 250ms ease, color 250ms ease; }
.icon-btn svg { width: 18px; height: 18px; }
@media (hover: hover) { .icon-btn:hover { background: var(--deep); color: var(--white); } }
.partners-note { padding: 28px; border-radius: 24px; background: var(--deep); color: var(--mint-2); display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.partners-note p { color: rgba(224, 248, 232, 0.75); max-width: 36ch; }
@media (max-width: 900px) { .partners { grid-template-columns: 1fr; } .p-sticky { position: static; } .p-obj { max-width: 100%; aspect-ratio: 16 / 10; } }
@media (max-width: 560px) { .person { grid-template-columns: 1fr; } .person .ph { min-height: 220px; } }

/* offer — 2×2 dark cards */
.ogrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ocard { position: relative; min-height: 300px; padding: clamp(28px, 3vw, 40px); border-radius: 24px; background: var(--deep-2); box-shadow: inset 0 0 0 1px var(--line-d); display: flex; flex-direction: column; justify-content: space-between; gap: 40px; overflow: hidden; isolation: isolate; }
.ocard::before { content: ""; position: absolute; z-index: -1; width: 380px; height: 380px; right: -140px; top: -160px; border-radius: 50%; background: radial-gradient(closest-side, rgba(51, 173, 96, 0.28), transparent); transition: transform 1200ms var(--ease); }
.ocard .n { display: flex; align-items: center; justify-content: space-between; font: 500 14px/1 var(--body); color: var(--mint); letter-spacing: 0.1em; }
.ocard .ico { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: rgba(194, 240, 210, 0.1); color: var(--mint); transition: transform 900ms var(--ease), background-color 400ms ease; }
.ocard .ico svg { width: 26px; height: 26px; }
.ocard h3 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.2; color: var(--white); }
.ocard p { margin-top: 12px; font-size: 16px; color: rgba(224, 248, 232, 0.7); max-width: 44ch; }
@media (hover: hover) { .ocard:hover::before { transform: translate(-60px, 60px) scale(1.2); } .ocard:hover .ico { transform: rotate(-8deg) scale(1.06); background: var(--green); color: var(--white); } }
@media (max-width: 760px) { .ogrid { grid-template-columns: 1fr; } .ocard { min-height: 0; } }

/* thesis — five rows */
.thesis { border-top: 1px solid var(--line); }
.trow { border-bottom: 1px solid var(--line); }
.trow button { width: 100%; display: grid; grid-template-columns: 80px minmax(0, 1fr) 44px; align-items: center; gap: 16px; padding: 28px 0; background: none; border: 0; text-align: left; cursor: pointer; }
.trow .num { font: 500 14px/1 var(--body); color: var(--green-ink); letter-spacing: 0.1em; }
.trow h3 { font-size: clamp(22px, 2.6vw, 40px); line-height: 1.15; transition: transform 700ms var(--ease), color 300ms ease; }
.trow .pm { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--line); transition: background-color 300ms ease, transform 600ms var(--ease); }
.trow .pm svg { width: 18px; height: 18px; transition: transform 600ms var(--ease); }
.trow[data-open] .pm { background: var(--green); color: var(--white); box-shadow: none; }
.trow[data-open] .pm svg { transform: rotate(45deg); }
@media (hover: hover) { .trow button:hover h3 { transform: translateX(10px); color: var(--green-ink); } }
.trow .body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 700ms var(--ease); }
.trow[data-open] .body { grid-template-rows: 1fr; }
.trow .body > div { overflow: hidden; }
.trow .body .in { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding-bottom: 32px; }
.trow .body p { color: var(--ink-soft); max-width: 60ch; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.chips span { padding: 8px 14px; border-radius: 999px; background: var(--mint-2); font-size: 13px; color: var(--deep); }
@media (max-width: 600px) { .trow button, .trow .body .in { grid-template-columns: 44px minmax(0, 1fr) 44px; } .trow .body .in { grid-template-columns: 1fr; } }

/* allocation venn */
.alloc { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 48px 72px; align-items: center; }
.venn { position: relative; width: 100%; max-width: 560px; margin: 0 auto; aspect-ratio: 1 / 0.94; }
.venn svg { width: 100%; height: 100%; overflow: visible; }
.venn .c { cursor: pointer; transition: opacity 600ms ease; }
.venn .c circle.f { transition: fill-opacity 600ms ease, transform 900ms var(--ease); transform-box: fill-box; transform-origin: center; }
.venn .c circle.s { fill: none; stroke-width: 1.5; transition: stroke-opacity 400ms ease; }
.venn .c text { font-family: var(--display); pointer-events: none; transition: opacity 400ms ease; }
.venn .c .pc { font-size: 40px; font-weight: 400; letter-spacing: -0.02em; }
.venn .c .lb { font-family: var(--body); font-size: 14px; font-weight: 500; letter-spacing: 0.02em; }
.venn[data-on] .c { opacity: 0.45; }
.venn[data-on] .c.on { opacity: 1; }
.venn .c.on circle.f { fill-opacity: 0.92 !important; transform: scale(1.04); }
.venn .c.on text { fill: var(--white); }
.venn .core { transform-box: fill-box; transform-origin: center; animation: spin 18s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.vtabs { display: grid; gap: 10px; }
.vtab { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: start; padding: 22px 24px; border-radius: 20px; border: 0; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-align: left; cursor: pointer; transition: background-color 500ms ease, box-shadow 500ms ease, transform 160ms ease-out; }
.vtab:active { transform: scale(0.99); }
.vtab b { font: 400 40px/1 var(--display); letter-spacing: -0.03em; color: var(--green-ink); transition: color 400ms ease; }
.vtab h3 { font-size: 20px; line-height: 1.3; }
.vtab p { margin-top: 6px; font-size: 15px; color: var(--ink-soft); }
.vtab[aria-pressed="true"] { background: var(--deep); box-shadow: none; }
.vtab[aria-pressed="true"] b, .vtab[aria-pressed="true"] h3 { color: var(--white); }
.vtab[aria-pressed="true"] b { color: var(--mint); }
.vtab[aria-pressed="true"] p { color: rgba(224, 248, 232, 0.72); }
.vbar { margin-top: 10px; height: 4px; border-radius: 4px; background: rgba(16, 36, 55, 0.08); overflow: hidden; }
.vbar i { display: block; height: 100%; width: 0; background: var(--green); transition: width 1400ms var(--ease); }
.vtab[aria-pressed="true"] .vbar { background: rgba(224, 248, 232, 0.15); }
.vtab[aria-pressed="true"] .vbar i { background: var(--mint); }
@media (max-width: 900px) { .alloc { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .vtab { grid-template-columns: 1fr; gap: 10px; } }

/* pitch wizard */
.pitch { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 48px 72px; align-items: start; }
.pitch .lead { margin-top: 20px; }
.mailrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 32px; }
.mailrow a.m { font: 400 clamp(20px, 2vw, 26px)/1.2 var(--display); text-decoration: none; color: var(--mint); }
.copy { min-height: 40px; padding: 0 16px; border-radius: 999px; border: 0; background: rgba(194, 240, 210, 0.12); color: var(--mint); font-size: 13px; cursor: pointer; transition: background-color 250ms ease; }
@media (hover: hover) { .copy:hover { background: rgba(194, 240, 210, 0.22); } }
.warn { margin-top: 28px; padding: 16px 18px; border-radius: 16px; background: rgba(194, 240, 210, 0.08); font-size: 14px; line-height: 1.55; color: rgba(224, 248, 232, 0.75); }
.warn b { color: var(--mint); font-weight: 600; }
.wiz { position: relative; border-radius: 28px; background: var(--white); color: var(--ink); padding: clamp(24px, 3.4vw, 44px); box-shadow: 0 40px 80px -50px rgba(0, 0, 0, 0.6); }
.wiz-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.wiz-top .cnt { font: 500 13px/1 var(--body); letter-spacing: 0.1em; color: var(--ink-soft); }
.track { position: relative; flex: 1; height: 4px; border-radius: 4px; background: var(--mint-2); }
.track i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 4px; background: var(--green); transition: width 900ms var(--ease); }
.track svg { position: absolute; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; left: 0; color: var(--green); transition: left 900ms var(--ease), transform 900ms var(--ease); }
.qs { position: relative; margin-top: 36px; min-height: 280px; }
.q { display: none; }
.q.on { display: block; animation: qin 700ms var(--ease) both; }
.q.back { animation-name: qback; }
@keyframes qin { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes qback { from { opacity: 0; transform: translateY(-18px); } to { opacity: 1; transform: none; } }
.q label.big, .q .big { display: block; font: 400 clamp(24px, 2.4vw, 34px)/1.25 var(--display); letter-spacing: -0.02em; color: var(--ink); }
.q .hint { margin-top: 8px; font-size: 14px; color: var(--ink-soft); }
.q input { width: 100%; margin-top: 24px; padding: 14px 0; border: 0; border-bottom: 2px solid var(--line); background: transparent; font: 400 22px/1.3 var(--body); color: var(--ink); border-radius: 0; outline: none; transition: border-color 300ms ease; }
.q input:focus { border-bottom-color: var(--green); }
.q input::placeholder { color: #9AA8B4; }
.q .two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
@media (max-width: 560px) { .q .two { grid-template-columns: 1fr; } }
.opts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.opt { min-height: 46px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); font-size: 15px; color: var(--ink); cursor: pointer; transition: background-color 300ms ease, color 300ms ease, box-shadow 300ms ease, transform 160ms ease-out; }
.opt:active { transform: scale(0.97); }
@media (hover: hover) { .opt:hover { box-shadow: inset 0 0 0 1px var(--green); } }
.opt[aria-pressed="true"] { background: var(--deep); color: var(--white); box-shadow: none; }
.review { margin-top: 20px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.review div { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.review dt { color: var(--ink-soft); font-size: 13px; }
.review dd { margin: 0; overflow-wrap: anywhere; }
.review button { border: 0; background: none; color: var(--green-ink); font-size: 13px; cursor: pointer; min-height: 32px; }
.done { text-align: left; }
.done .star-big { width: 72px; height: 72px; color: var(--green); animation: spin 12s linear infinite; }
.done h3 { margin-top: 20px; font-size: 32px; }
.done p { margin-top: 10px; color: var(--ink-soft); max-width: 46ch; }
.wiz-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; }
.wiz-foot .back { min-height: 44px; padding: 0 16px; border: 0; background: none; color: var(--ink-soft); cursor: pointer; border-radius: 999px; }
.wiz-foot .back[hidden] { display: inline-block; visibility: hidden; }
.err { min-height: 22px; margin-top: 12px; font-size: 14px; color: #B42318; }
.kbd { font-size: 13px; color: var(--ink-soft); }
@media (max-width: 900px) { .pitch { grid-template-columns: 1fr; } }

/* venture / liquidity bits */
.steps { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px 72px; }
.steps .sticky { position: sticky; top: 120px; align-self: start; }
.steps .sticky .lead { margin-top: 20px; }
.step { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 20px; padding: 32px 0; border-top: 1px solid var(--line); }
.step:last-child { border-bottom: 1px solid var(--line); }
.step .no { font: 400 48px/1 var(--display); color: transparent; -webkit-text-stroke: 1px var(--green); letter-spacing: -0.03em; transition: color 800ms ease; }
.step.lit .no { color: var(--green); }
.step h3 { font-size: 26px; line-height: 1.25; }
.step p { margin-top: 8px; color: var(--ink-soft); }
@media (max-width: 900px) { .steps { grid-template-columns: 1fr; } .steps .sticky { position: static; } }
.crit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ccard { padding: 30px; border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); transition: transform 700ms var(--ease), box-shadow 500ms ease; }
.ccard .ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--mint-2); color: var(--deep); }
.ccard .ico svg { width: 22px; height: 22px; }
.ccard h3 { margin-top: 28px; font-size: 22px; line-height: 1.25; }
.ccard p { margin-top: 8px; font-size: 15px; color: var(--ink-soft); }
@media (hover: hover) { .ccard:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.5); } }
@media (max-width: 1000px) { .crit { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .crit { grid-template-columns: 1fr; } }

.tranche { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px 72px; align-items: center; }
.tr-viz { padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: var(--deep); color: var(--mint-2); }
.tr-bars { display: flex; align-items: flex-end; gap: 12px; height: 220px; }
.tr-bars div { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.tr-bars i { display: block; border-radius: 12px 12px 4px 4px; background: rgba(194, 240, 210, 0.12); height: 8%; transition: height 1000ms var(--ease), background-color 600ms ease; }
.tr-bars i.on { background: var(--green); }
.tr-bars span { margin-top: 10px; font-size: 12px; color: rgba(224, 248, 232, 0.6); text-align: center; }
.tr-read { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.tr-read b { font: 400 48px/1 var(--display); color: var(--white); letter-spacing: -0.03em; }
.tr-read > span { font-size: 13px; color: rgba(224, 248, 232, 0.6); }
.tr-range { width: 100%; margin-top: 24px; accent-color: var(--green); height: 32px; }
.tr-steps { display: grid; gap: 10px; }
.tr-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 18px 20px; border-radius: 18px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); transition: background-color 500ms ease, box-shadow 500ms ease; }
.tr-step b { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--mint-2); font: 500 16px/1 var(--display); color: var(--deep); transition: background-color 500ms ease, color 500ms ease; }
.tr-step h3 { font-size: 19px; }
.tr-step p { margin-top: 4px; font-size: 15px; color: var(--ink-soft); }
.tr-step.on { box-shadow: inset 0 0 0 1px var(--green); background: var(--mint-3); }
.tr-step.on b { background: var(--green); color: var(--white); }
@media (max-width: 900px) { .tranche { grid-template-columns: 1fr; } }

.faq { max-width: 900px; border-top: 1px solid var(--line); }
.faq .trow h3 { font-size: clamp(20px, 2vw, 26px); }
.faq .trow button { grid-template-columns: minmax(0, 1fr) 44px; }
.faq .trow .body .in { grid-template-columns: 1fr; }

/* insights */
.filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 40px; }
.fchips { display: flex; flex-wrap: wrap; gap: 8px; }
.fchip { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); font-size: 15px; cursor: pointer; transition: background-color 300ms ease, color 300ms ease; }
.fchip[aria-pressed="true"] { background: var(--deep); color: var(--white); box-shadow: none; }
.search { position: relative; flex: 0 1 320px; }
.search input { width: 100%; min-height: 48px; padding: 0 18px 0 46px; border-radius: 999px; border: 0; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); font: 400 16px/1 var(--body); color: var(--ink); outline: none; }
.search input:focus { box-shadow: inset 0 0 0 2px var(--green); }
.search svg { position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; color: var(--ink-soft); }
.feat { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); border-radius: 28px; overflow: hidden; background: var(--deep); color: var(--white); text-decoration: none; margin-bottom: 16px; }
.feat .art { position: relative; min-height: 340px; background: radial-gradient(60% 70% at 30% 40%, #1E6A3D, var(--deep-2) 60%, var(--deep)); overflow: hidden; }
.feat .art svg { position: absolute; right: -6%; bottom: -12%; width: 70%; opacity: 0.9; transition: transform 1200ms var(--ease); }
.feat .txt { padding: clamp(28px, 3.4vw, 48px); display: flex; flex-direction: column; justify-content: space-between; gap: 28px; }
.feat .k { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mint); }
.feat h3 { margin-top: 16px; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.2; color: var(--white); }
.feat p { margin-top: 12px; color: rgba(224, 248, 232, 0.7); }
@media (hover: hover) { .feat:hover .art svg { transform: rotate(-10deg) scale(1.05); } }
@media (max-width: 860px) { .feat { grid-template-columns: 1fr; } .feat .art { min-height: 220px; } }
.agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.acard { display: flex; flex-direction: column; justify-content: space-between; gap: 28px; min-height: 260px; padding: 28px; border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; transition: transform 700ms var(--ease), box-shadow 500ms ease; }
.acard .k { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-ink); }
.acard h3 { margin-top: 14px; font-size: 22px; line-height: 1.3; }
.acard .m { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; color: var(--ink-soft); }
.acard .m svg { width: 18px; height: 18px; color: var(--green); transition: transform 500ms var(--ease); }
.acard[hidden] { display: none; }
@media (hover: hover) { .acard:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.5); } .acard:hover .m svg { transform: translate(3px, -3px); } }
@media (max-width: 1000px) { .agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .agrid { grid-template-columns: 1fr; } }
.empty { padding: 48px 0; text-align: center; color: var(--ink-soft); }

/* newsletter */
.news { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 64px; align-items: center; padding: clamp(32px, 4vw, 64px); border-radius: 32px; background: var(--mint); }
.news h2 { font-size: clamp(30px, 3.2vw, 48px); line-height: 1.12; color: var(--deep); }
.news p { margin-top: 12px; color: var(--deep); opacity: 0.75; }
.nform { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--white); }
.nform input { flex: 1; min-width: 0; min-height: 48px; padding: 0 18px; border: 0; background: transparent; font: 400 16px/1 var(--body); color: var(--ink); outline: none; }
.nform .btn { flex: none; }
.nmsg { min-height: 22px; margin-top: 10px; padding-left: 18px; font-size: 14px; color: var(--deep); }
@media (max-width: 860px) { .news { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .nform { flex-direction: column; border-radius: 24px; } .nform .btn { width: 100%; } }

/* cta band */
.cta { position: relative; overflow: hidden; padding: clamp(80px, 10vw, 140px) 0; background: var(--deep); color: var(--white); text-align: center; }
.cta h2 { color: var(--white); font-size: clamp(36px, 5vw, 76px); line-height: 1.08; max-width: 18ch; margin: 18px auto 0; }
.cta .btns { justify-content: center; margin-top: 40px; }
.cta .orb { position: absolute; left: 50%; top: 50%; width: min(900px, 140vw); aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none; opacity: 0.5; }
.cta .orb circle { fill: none; stroke: rgba(194, 240, 210, 0.16); }
.cta .orb .rot { transform-origin: 50% 50%; animation: spin 60s linear infinite; }
.cta .wrap { position: relative; }

/* footer */
.foot { background: var(--deep); color: var(--mint-2); padding-top: clamp(72px, 8vw, 120px); border-top: 1px solid var(--line-d); overflow: hidden; }
.foot-top { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.5fr)); gap: 40px; }
.foot-top h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.15; color: var(--white); max-width: 18ch; }
.foot h4 { margin: 0 0 16px; font: 500 13px/1 var(--body); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(224, 248, 232, 0.5); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.foot ul a { display: inline-block; padding: 6px 0; text-decoration: none; color: var(--mint-2); transition: color 250ms ease; }
@media (hover: hover) { .foot ul a:hover { color: var(--green); } }
.foot .soc { display: flex; gap: 8px; margin-top: 28px; }
.foot .icon-btn { background: rgba(194, 240, 210, 0.08); color: var(--mint); }
@media (hover: hover) { .foot .icon-btn:hover { background: var(--green); color: var(--white); } }
.giant { display: block; margin: clamp(64px, 8vw, 120px) 0 clamp(32px, 4vw, 56px); color: var(--mint); }
.giant svg { width: 100%; height: auto; overflow: visible; }
.giant path { stroke: rgba(194, 240, 210, 0.5); stroke-width: 0.35; fill: currentColor; fill-opacity: 0; transition: fill-opacity 2400ms var(--ease); }
.giant .g-arc, .giant .g-star { fill: var(--green); stroke: none; }
.giant .g-star { transform-box: fill-box; transform-origin: center; animation: spin 14s linear infinite; }
.giant.in path { fill-opacity: 1; }
.giant .g-arc { fill-opacity: 1; }
.giant .g-star { fill-opacity: 1; }
.foot-legal { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 24px 0; border-top: 1px solid var(--line-d); font-size: 13px; }
.foot-legal a { text-decoration: none; color: rgba(224, 248, 232, 0.7); padding: 4px 0; }
@media (hover: hover) { .foot-legal a:hover { color: var(--white); } }
.foot-base { padding: 20px 0 calc(32px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 12px; font-size: 12px; line-height: 1.6; color: rgba(224, 248, 232, 0.5); }
@media (max-width: 760px) { .foot-top { grid-template-columns: 1fr 1fr; } .foot-top > div:first-child { grid-column: 1 / -1; } }

/* reveal */
.rv { opacity: 0; transform: translateY(28px); transition: opacity 1100ms ease, transform 1300ms var(--ease); transition-delay: var(--d, 0ms); }
.rv.in { opacity: 1; transform: none; }
.mask { display: block; overflow: hidden; padding-bottom: 0.08em; }
.mask > span { display: inline-block; transform: translateY(105%); transition: transform 1400ms var(--ease); transition-delay: var(--d, 0ms); }
.in .mask > span, .mask.in > span { transform: none; }

/* page transition */
.pt { position: fixed; z-index: 100; inset: 0; background: var(--deep); pointer-events: none; opacity: 0; transition: opacity 500ms ease; }
.pt.on { opacity: 1; pointer-events: auto; }
.pt.boot { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; transition-delay: 0ms !important; }
  .rv, .mask > span, .hero h1 .ln > span, .hero .fade { opacity: 1; transform: none; }
}
@media (prefers-contrast: more) { :root { --ink-soft: #24384A; --line: rgba(16, 36, 55, 0.3); } }
.pt.boot { animation: ptboot 600ms ease 1500ms forwards; } @keyframes ptboot { to { opacity: 0; } }
em.acc { font-variant-numeric: lining-nums; }
.qs { min-height: 220px; }
.stats div > span { display: block; margin-top: 8px; font-size: 14px; color: var(--ink-soft); }
.stats b span { display: inline; margin: 0; font: inherit; color: inherit; }
.stats b { font-size: clamp(24px, 2.4vw, 36px); }
.tr-read b span { font: inherit; color: inherit; }
.feat .art svg { right: auto; bottom: auto; left: 22%; top: 12%; width: 46%; height: 76%; }
.cta .orb { width: min(640px, 120vw); }
.phero .gl { height: calc(100% - 140px); }
.deep .wiz p { color: var(--ink-soft); }
.deep .wiz .err { color: #B42318; }
.deep .wiz .big { color: var(--ink); }
.deep .wiz h3 { color: var(--ink); }
.done .star-big { display: block; }
.done .star-big svg { width: 100%; height: 100%; }
.wiz-top .track { margin-right: 14px; }
.deep .wiz .btn.ghost { color: var(--ink); box-shadow: inset 0 0 0 1px rgba(16, 36, 55, 0.25); }
@media (hover: hover) { .deep .wiz .btn.ghost:hover { background: var(--ink); color: var(--white); } }
.person .ph.has-img { background: var(--deep); overflow: hidden; }
.person .ph.has-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; transition: transform 1400ms var(--ease); }
@media (hover: hover) { .person:hover .ph.has-img img { transform: scale(1.04); } }
@media (max-width: 560px) { .person .ph.has-img { min-height: 380px; } }

/* ===== concept: the dive — scroll moves the C to centre stage, then the camera flies through its core ===== */
.dive { position: relative; height: 330vh; background: var(--bg); }
.dive-pin { position: sticky; top: 0; height: 100vh; height: 100svh; min-height: 0; }
.dive .d1 { will-change: opacity, transform; }
.d2 { position: absolute; z-index: 2; left: 0; right: 0; bottom: clamp(48px, 9vh, 96px); margin: 0; text-align: center; font: 400 clamp(28px, 3.4vw, 52px)/1.15 var(--display); letter-spacing: -0.02em; color: var(--ink); opacity: 0; transform: translateY(24px); pointer-events: none; will-change: opacity, transform; }
.d3 { position: absolute; z-index: 3; inset: 0; background: var(--deep); opacity: 0; pointer-events: none; }
.dive .scroll-cue { transition: opacity 600ms ease; }
@media (prefers-reduced-motion: reduce) { .dive { height: auto; } .dive-pin { position: relative; height: auto; min-height: 100svh; } .d2, .d3 { display: none; } }

/* ===== concept: thesis orbit — five stars circle the C; scrolling brings each to the front ===== */
.orbit { position: relative; height: 420vh; padding: 0; margin-top: -1px; }
.orbit-pin { position: sticky; top: 0; height: 100vh; height: 100svh; display: flex; align-items: center; overflow: hidden; }
.orbit-in { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 32px 48px; align-items: center; }
.o-l .h2 { margin-top: 20px; }
.o-items { position: relative; margin-top: clamp(28px, 4vh, 48px); min-height: 230px; }
.o-item { position: absolute; inset: 0 0 auto 0; opacity: 0; transform: translateY(18px); transition: opacity 700ms ease, transform 900ms var(--ease); pointer-events: none; }
.o-item.on { opacity: 1; transform: none; pointer-events: auto; }
.o-num { font: 500 14px/1 var(--body); letter-spacing: 0.12em; color: var(--green); }
.o-num i { font-style: normal; color: rgba(224, 248, 232, 0.4); }
.o-item h3 { margin-top: 14px; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.2; color: var(--white); }
.o-item p { margin-top: 12px; max-width: 46ch; color: rgba(224, 248, 232, 0.72); }
.orbit .chips span { background: rgba(194, 240, 210, 0.1); color: var(--mint); }
.o-dots { display: flex; gap: 8px; margin-top: 28px; }
.o-dot { width: 44px; height: 44px; border: 0; background: none; padding: 0; cursor: pointer; display: grid; place-items: center; }
.o-dot i { display: block; width: 28px; height: 3px; border-radius: 3px; background: rgba(194, 240, 210, 0.2); transition: background-color 400ms ease, width 600ms var(--ease); }
.o-dot[aria-pressed="true"] i { width: 40px; background: var(--green); }
.o-svg { width: 100%; height: auto; max-height: 78vh; overflow: visible; }
.o-ring { fill: none; stroke: rgba(194, 240, 210, 0.22); stroke-width: 1.2; }
.o-dash { stroke-dasharray: 2 8; stroke: rgba(194, 240, 210, 0.18); }
.o-faint { stroke: rgba(194, 240, 210, 0.08); }
.o-halo { fill: rgba(51, 173, 96, 0.08); stroke: rgba(194, 240, 210, 0.12); }
.o-node { cursor: pointer; }
.o-star { fill: var(--mint); transition: fill 500ms ease; }
.o-glow { fill: rgba(51, 173, 96, 0.22); opacity: 0; transition: opacity 600ms ease; }
.o-lbl { font: 500 13px var(--body); fill: var(--mint); opacity: 0; transition: opacity 500ms ease; }
.o-node.on .o-star { fill: var(--green); }
.o-node.on .o-glow { opacity: 1; }
.o-node.on .o-lbl { opacity: 1; }
@media (max-width: 900px) {
  .orbit { height: 380vh; }
  .orbit-in { grid-template-columns: 1fr; gap: 8px; }
  .o-r { order: -1; margin: 0 -8%; }
  .o-svg { max-height: 40vh; }
  .o-items { min-height: 210px; margin-top: 18px; }
  .o-l .h2 { font-size: 30px; margin-top: 12px; }
  .o-lbl { display: none; }
}

/* orbit core: a glowing thesis core instead of the C */
.o-pulse { fill: none; stroke: rgba(194, 240, 210, 0.5); stroke-width: 1; transform-box: fill-box; transform-origin: center; animation: opulse 3.6s var(--ease) infinite; }
.o-p2 { animation-delay: 1.8s; }
@keyframes opulse { from { transform: scale(1); opacity: 0.8; } to { transform: scale(2.6); opacity: 0; } }
.o-bloom { animation: obloom 6s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
@keyframes obloom { to { transform: scale(1.15); opacity: 0.7; } }
.o-ctext { font: 600 11px var(--body); letter-spacing: 0.22em; fill: var(--deep); }

/* cta: a quiet field of twinkling stars */
.cta .field { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.cta .field .tw { fill: var(--mint); opacity: 0.15; animation: twinkle var(--tl, 4s) ease-in-out var(--td, 0s) infinite alternate; }
.cta .field .big { fill: var(--green); opacity: 0.07; }
@keyframes twinkle { to { opacity: 0.85; } }
.cta .orb { display: none; }

/* partners globe panel */
.p-obj { background: radial-gradient(70% 70% at 50% 45%, var(--white), var(--mint-3)); }
.globe-tag { position: absolute; left: 18px; bottom: 16px; z-index: 1; padding: 8px 14px; border-radius: 999px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); font: 600 13px/1 var(--display); color: var(--deep); }
.globe-tag i { font: 400 13px/1 var(--body); font-style: normal; color: var(--ink-soft); margin-left: 4px; }

/* insights featured art */
.feat .art svg { left: 0; top: 0; width: 100%; height: 100%; right: auto; bottom: auto; opacity: 1; }
.feat .art .ln1 { stroke-dasharray: 900; stroke-dashoffset: 900; transition: stroke-dashoffset 2400ms var(--ease); }
.feat.in .art .ln1, .feat:hover .art .ln1 { stroke-dashoffset: 0; }
@media (hover: hover) { .feat:hover .art svg { transform: none; } }
@media (prefers-reduced-motion: reduce) { .feat .art .ln1 { stroke-dashoffset: 0; } }
.agrid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .agrid.two { grid-template-columns: 1fr; } }
.acard .ex { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--ink-soft); }
.feat .fm { margin-top: 14px; font-size: 13px; color: rgba(224, 248, 232, 0.55); }
.feat[hidden] { display: none; }
.o-pulse { animation-name: opulse2; } @keyframes opulse2 { from { transform: scale(1); opacity: 0.6; } to { transform: scale(1.8); opacity: 0; } }

/* portfolio: three companies */
.pgrid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pgrid.three .pcard .meta { grid-template-columns: 1fr; }
.pgrid.three .pcard .go { justify-content: space-between; }
@media (max-width: 1000px) { .pgrid.three { grid-template-columns: 1fr; } .pgrid.three .pcard .meta { grid-template-columns: minmax(0, 1fr) auto; } }

/* home offer: cards that stack as you scroll */
.os-head { text-align: center; max-width: 820px; margin: 0 auto clamp(48px, 6vw, 80px); }
.os-head .h2 { margin-top: 18px; }
.os-head .lead { margin: 20px auto 0; }
.stack { display: grid; gap: 28px; padding-bottom: 8vh; }
.scard { position: sticky; top: calc(108px + var(--i) * 26px); height: min(420px, 60vh); border-radius: 32px; transform-origin: 50% 0; will-change: transform; }
.sc-in { height: 100%; padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; justify-content: space-between; border-radius: inherit; overflow: hidden; position: relative; isolation: isolate; }
.sc-in::after { content: ""; position: absolute; z-index: -1; right: -10%; bottom: -40%; width: 60%; aspect-ratio: 1; border-radius: 50%; border: 1px solid currentColor; opacity: 0.12; box-shadow: 0 0 0 60px rgba(255,255,255,0.03), 0 0 0 120px rgba(255,255,255,0.02); }
.sc-top { display: flex; align-items: center; justify-content: space-between; }
.sc-n { font: 500 14px/1 var(--body); letter-spacing: 0.12em; }
.sc-n i { font-style: normal; opacity: 0.5; }
.sc-ico { width: 72px; height: 72px; border-radius: 22px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.14); }
.sc-ico svg { width: 32px; height: 32px; }
.sc-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 20px 48px; align-items: end; }
.scard h3 { font-size: clamp(32px, 4.2vw, 64px); line-height: 1.05; color: inherit; }
.scard p { font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; opacity: 0.8; color: inherit !important; }
.scard.t1 .sc-in { background: var(--green); color: var(--white); }
.scard.t2 .sc-in { background: var(--mint); color: var(--deep); }
.scard.t2 .sc-ico { background: rgba(10, 41, 23, 0.08); }
.scard.t3 .sc-in { background: var(--navy); color: var(--white); }
.scard.t4 .sc-in { background: var(--white); color: var(--deep); }
.scard.t4 .sc-ico { background: var(--mint-2); }
.deep .scard h3 { color: inherit; }
@media (max-width: 760px) { .scard { height: auto; min-height: 360px; top: calc(90px + var(--i) * 14px); } .sc-body { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .scard { position: relative; top: auto; } }

/* venture: big hover rows */
.vrows { border-top: 1px solid var(--line-d); }
.vrow { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 64px; gap: 24px; align-items: center; padding: 36px 8px; border-bottom: 1px solid var(--line-d); isolation: isolate; cursor: default; }
.vrow::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--green); transform: scaleY(0); transform-origin: 50% 100%; transition: transform 700ms var(--ease); border-radius: 4px; }
.vr-n { font: 500 14px/1 var(--body); letter-spacing: 0.12em; color: var(--mint); }
.vrow h3 { font-size: clamp(24px, 2.8vw, 42px); line-height: 1.15; color: var(--white); transition: transform 700ms var(--ease); }
.vrow p { color: rgba(224, 248, 232, 0.7); transition: color 400ms ease; }
.vr-ico { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--line-d); color: var(--mint); transition: transform 800ms var(--ease), background-color 400ms ease, color 400ms ease; }
.vr-ico svg { width: 26px; height: 26px; }
@media (hover: hover) {
  .vrow:hover::before { transform: scaleY(1); }
  .vrow:hover h3 { transform: translateX(12px); }
  .vrow:hover p { color: rgba(255, 255, 255, 0.9); }
  .vrow:hover .vr-n { color: var(--white); }
  .vrow:hover .vr-ico { background: var(--white); color: var(--deep); transform: rotate(-12deg); }
}
@media (max-width: 760px) { .vrow { grid-template-columns: 1fr; gap: 10px; padding: 28px 0; } .vr-ico { display: none; } }

/* liquidity: bento */
.bento { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 16px; }
.bcell { position: relative; padding: clamp(24px, 2.6vw, 36px); border-radius: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 250px; overflow: hidden; transition: transform 700ms var(--ease); }
.bcell h3 { font-size: clamp(22px, 2vw, 30px); line-height: 1.2; color: inherit; }
.bcell p { margin-top: 10px; font-size: 15px; line-height: 1.6; opacity: 0.78; }
.b-ico { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.5); }
.b-ico svg { width: 26px; height: 26px; }
.b0 { grid-row: span 2; background: var(--deep); color: var(--white); min-height: 520px; }
.b0 .b-ico { background: rgba(194, 240, 210, 0.12); color: var(--mint); }
.b0 h3 { font-size: clamp(30px, 3vw, 46px); }
.b0::after { content: ""; position: absolute; right: -30%; top: -20%; width: 90%; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, rgba(194, 240, 210, 0.16) 0 1.5px, transparent 1.5px 22px); -webkit-mask-image: radial-gradient(circle, #000 35%, transparent 70%); mask-image: radial-gradient(circle, #000 35%, transparent 70%); pointer-events: none; }
.b1 { background: var(--mint); color: var(--deep); }
.b2 { background: var(--mint-3); color: var(--deep); box-shadow: inset 0 0 0 1px var(--line); }
.b3 { grid-column: span 2; background: var(--green); color: var(--white); }
.b3 .b-ico { background: rgba(255, 255, 255, 0.16); }
@media (hover: hover) { .bcell:hover { transform: translateY(-4px); } }
@media (max-width: 900px) { .bento { grid-template-columns: 1fr; } .b0, .b3 { grid-row: auto; grid-column: auto; min-height: 280px; } }

/* insights reader */
.reader { position: fixed; z-index: 95; inset: 0; background: rgba(10, 41, 23, 0.4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity 500ms ease; }
.reader.on { opacity: 1; }
.reader[hidden] { display: none; }
.rd-bar { position: absolute; z-index: 2; top: 0; left: 0; right: 0; display: flex; align-items: center; gap: 16px; padding: calc(14px + env(safe-area-inset-top, 0px)) var(--gr) 14px var(--gl); background: var(--white); box-shadow: 0 1px 0 var(--line); transform: translateY(-100%); transition: transform 600ms var(--ease); }
.reader.on .rd-bar { transform: none; }
.rd-close { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--deep); color: var(--white); display: grid; place-items: center; cursor: pointer; flex: none; }
.rd-close svg { width: 18px; height: 18px; transform: rotate(45deg); }
.rd-prog { flex: 1; height: 3px; border-radius: 3px; background: var(--mint-2); overflow: hidden; }
.rd-prog i { display: block; height: 100%; width: 0; background: var(--green); }
.reader .rd-copy { background: var(--mint-2); color: var(--deep); }
.rd-scroll { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; padding-top: 72px; background: var(--white); transform: translateY(40px); opacity: 0; transition: transform 700ms var(--ease), opacity 500ms ease; }
.reader.on .rd-scroll { transform: none; opacity: 1; }
.rd-wrap { max-width: 720px; margin: 0 auto; padding: clamp(48px, 7vw, 96px) var(--gr) 120px var(--gl); }
.rd-k { font: 500 13px/1 var(--body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-ink); }
.rd-a h2 { margin-top: 18px; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.1; }
.rd-meta { margin-top: 18px; font-size: 14px; color: var(--ink-soft); }
.rd-lead { margin: 32px 0; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font: 400 clamp(19px, 1.6vw, 23px)/1.55 var(--display); color: var(--ink); }
.rd-body p { margin-top: 18px; font-size: 18px; line-height: 1.75; color: #22374A; }
.rd-body h3 { margin-top: 44px; font-size: clamp(22px, 2vw, 28px); }
.rd-body b { color: var(--ink); font-weight: 600; }
.rd-body a { color: var(--green-ink); }
.rd-next { margin-top: 64px; padding: 28px; border-radius: 24px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.rd-next span { display: block; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-ink); }
.rd-next a { display: block; margin-top: 10px; font: 400 clamp(20px, 2vw, 26px)/1.3 var(--display); text-decoration: none; color: var(--ink); }
@media (hover: hover) { .rd-next a:hover { color: var(--green-ink); } }
.agrid .acard { cursor: pointer; }

/* ===== patterns from the previous site ===== */
.chev-band { height: clamp(64px, 7vw, 104px); overflow: hidden; background: var(--mint); }
.cb-track { display: flex; width: max-content; height: 100%; animation: cbmove 40s linear infinite; }
.cb-track svg { height: 100%; width: auto; flex: none; }
@keyframes cbmove { to { transform: translateX(-50%); } }
.scallop-band { position: relative; z-index: 1; margin-top: clamp(48px, 6vw, 80px); height: clamp(70px, 8vw, 120px); overflow: hidden; }
.scallop-band svg { display: block; width: 100%; height: 100%; }
.phero:has(.scallop-band) { padding-bottom: 0; }

/* rotating text badge */
.badge { position: absolute; z-index: 3; right: var(--gr); bottom: clamp(90px, 9vw, 140px); width: clamp(110px, 10vw, 150px); aspect-ratio: 1; display: block; color: var(--deep); text-decoration: none; }
.badge svg { width: 100%; height: 100%; overflow: visible; }
.badge .b-bg { fill: var(--white); stroke: var(--line); transition: fill 500ms ease; }
.badge text { font: 600 11.5px var(--body); letter-spacing: 0.18em; text-transform: uppercase; fill: currentColor; }
.badge .b-rot { transform-origin: 80px 80px; animation: spin 22s linear infinite; }
.badge .b-star { fill: var(--green); transform-origin: 80px 80px; transition: transform 800ms var(--ease), fill 400ms ease; }
@media (hover: hover) { .badge:hover .b-bg { fill: var(--deep); } .badge:hover { color: var(--mint); } .badge:hover .b-rot { animation-duration: 6s; } .badge:hover .b-star { transform: rotate(135deg) scale(1.3); fill: var(--mint); } }
.phero .wrap { position: relative; }
.phero .badge { bottom: auto; top: clamp(20px, 3vw, 40px); }
@media (max-width: 860px) { .phero .badge { display: none; } }
.ft-badge { margin-bottom: 28px; }
.ft-badge .badge { position: relative; right: auto; bottom: auto; width: 120px; color: var(--mint); }
.ft-badge .badge .b-bg { fill: transparent; stroke: var(--line-d); }
@media (hover: hover) { .ft-badge .badge:hover .b-bg { fill: var(--green); } .ft-badge .badge:hover { color: var(--white); } }

/* newsletter with the envelope illustration */
.news { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); padding: 0; overflow: hidden; align-items: stretch; }
.news-art { position: relative; min-height: 340px; background: var(--mint); }
.news-txt { padding: clamp(32px, 4vw, 64px); display: flex; flex-direction: column; justify-content: center; background: var(--mint); }
.news-txt .nform { margin-top: 28px; }
.mail-art { position: absolute; inset: 4% 6%; width: 88%; height: 92%; }
.m-lines path { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 2600ms var(--ease); }
.news.in .m-lines path { stroke-dashoffset: 0; }
.news.in .m-lines path:nth-child(2) { transition-delay: 200ms; } .news.in .m-lines path:nth-child(3) { transition-delay: 400ms; } .news.in .m-lines path:nth-child(4) { transition-delay: 600ms; } .news.in .m-lines path:nth-child(5) { transition-delay: 800ms; } .news.in .m-lines path:nth-child(6) { transition-delay: 1000ms; }
.m-fly { transform-box: fill-box; transform-origin: center; opacity: 0; transform: scale(0.6); transition: opacity 800ms ease, transform 1200ms var(--ease); }
.news.in .m-fly { opacity: 1; transform: none; animation: bob 6s ease-in-out infinite; }
.news.in .f1 { transition-delay: 1.4s; animation-delay: 1.4s; } .news.in .f2 { transition-delay: 1.6s; animation-delay: 2.2s; } .news.in .f3 { transition-delay: 1.8s; animation-delay: 0.6s; } .news.in .f4 { transition-delay: 2s; animation-delay: 3s; } .news.in .f5 { transition-delay: 2.2s; animation-delay: 1.8s; }
@keyframes bob { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 0 -10px; rotate: -3deg; } }
.m-globe { transform-box: fill-box; transform-origin: center; animation: gl 9s ease-in-out infinite; }
@keyframes gl { 50% { transform: scale(1.04) rotate(-3deg); } }
.tw2 { animation: twinkle 3s ease-in-out var(--d, 0s) infinite alternate; }
@media (hover: hover) { .news:hover .f3 { animation-duration: 2s; } }
@media (max-width: 860px) { .news { grid-template-columns: 1fr; } .news-art { min-height: 260px; } }

/* ===== insights cards, previous-site style ===== */
.agrid .acard { padding: 0; min-height: 0; overflow: hidden; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); gap: 0; transform-style: preserve-3d; }
.ac-top { padding: 28px 28px 20px; }
.acard .k { font-size: 13px; letter-spacing: 0.04em; text-transform: none; color: var(--deep); font-weight: 500; }
.acard h3 { margin-top: 14px; font: 500 clamp(22px, 1.9vw, 28px)/1.2 var(--display); letter-spacing: -0.02em; color: var(--deep); transition: color 400ms ease; }
.acard .ex { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ac-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 15px; font-weight: 500; color: var(--deep); }
.ac-link u { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; padding-bottom: 2px; transition: background-size 600ms var(--ease); }
.ac-link .ar { width: 18px; height: 18px; transition: transform 500ms var(--ease); }
.ac-art { position: relative; margin-top: auto; height: 190px; overflow: hidden; }
.ac-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ac-svg .ag { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 1100ms var(--ease); }
.ac-svg .r { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 900ms var(--ease); transition-delay: calc(var(--k, 0) * 60ms); }
.ac-meta { position: absolute; right: 16px; top: 14px; z-index: 1; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.86); font-size: 12px; color: var(--deep); }
@media (hover: hover) {
  .agrid .acard:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.5), 0 30px 60px -40px rgba(10, 41, 23, 0.4); }
  .acard:hover h3 { color: var(--green-ink); }
  .acard:hover .ac-link u { background-size: 0% 1.5px; background-position: 100% 100%; }
  .acard:hover .ac-link .ar { transform: translateX(6px); }
  .pat-arch:hover .r { transform: scale(1.08); }
  .pat-chev:hover .ag { transform: translateX(-30px); }
  .pat-scallop:hover .r { transform: translateY(-14px); }
  .pat-quarter:hover .r { transform: scale(1.12); }
  .pat-pill:hover .r { transform: translateY(-26px); }
  .pat-dots:hover .r { transform: scale(1.35); }
}
.agrid .acard .m { display: none; }

/* ===== micro-interactions ===== */
.links a.l::before { content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 1.5px; background: var(--green); transform: scaleX(0); transform-origin: 100% 50%; transition: transform 500ms var(--ease); }
@media (hover: hover) { .links a.l:hover { background: none; } .links a.l:hover::before { transform: scaleX(1); transform-origin: 0 50%; } }
.btn, .icon-btn, .badge { will-change: transform; }
.mag { transition: transform 500ms var(--ease); }
.foot ul a { position: relative; }
.foot ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: 100% 50%; transition: transform 500ms var(--ease); }
@media (hover: hover) { .foot ul a:hover::after { transform: scaleX(1); transform-origin: 0 50%; } }
.giant path:not(.g-arc):not(.g-star) { transition: fill-opacity 2400ms var(--ease), fill 500ms ease, transform 600ms var(--ease); transform-box: fill-box; }
.pcard { transform-style: preserve-3d; }

/* cursor follower */
.cur { position: fixed; z-index: 120; left: 0; top: 0; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--green); pointer-events: none; opacity: 0; display: grid; place-items: center; transition: width 500ms var(--ease), height 500ms var(--ease), margin 500ms var(--ease), opacity 300ms ease, background-color 400ms ease; }
.cur span { font: 600 12px/1 var(--display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--white); opacity: 0; transition: opacity 300ms ease; }
.cur.on { opacity: 1; }
.cur.big { width: 84px; height: 84px; margin: -42px 0 0 -42px; background: var(--deep); }
.cur.big span { opacity: 1; }
.cur.link { width: 40px; height: 40px; margin: -20px 0 0 -20px; background: rgba(51, 173, 96, 0.18); }
@media (hover: none), (pointer: coarse) { .cur { display: none; } }
@media (prefers-reduced-motion: reduce) { .cb-track, .badge .b-rot { animation: none; } .cur { display: none; } }
.badge text { letter-spacing: 0.1em; font-size: 11px; }
.phero .badge { top: auto; bottom: 96px; }

/* taste pass: calmer details */
.sec-head .h2, .os-head .h2 { margin-top: 0; }
.sc-top { justify-content: flex-end; }
.venn .c .pc.sm { font-size: 26px; } .venn .c .lb.sm { font-size: 12px; }
.chev-band .cb-track { animation-duration: 60s; }
.feat .art { cursor: pointer; }
::selection { background: var(--mint); color: var(--deep); }

/* ===== article detail page ===== */
.rd-scroll { background: var(--bg); }
.rd-wrap { max-width: none; padding: 0; }
.rd-hero { background: var(--mint-3); border-bottom: 1px solid var(--line); }
.rd-hero-in { max-width: 900px; margin: 0 auto; padding: clamp(56px, 8vw, 104px) var(--gr) clamp(40px, 5vw, 64px) var(--gl); text-align: center; }
.rd-crumb { display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-soft); }
.rd-back { border: 0; background: none; padding: 6px 2px; font: inherit; color: var(--green-ink); cursor: pointer; }
@media (hover: hover) { .rd-back:hover { text-decoration: underline; text-underline-offset: 4px; } }
.rd-a h2 { margin: 22px auto 0; max-width: 20ch; font-size: clamp(34px, 4.6vw, 64px); line-height: 1.08; letter-spacing: -0.025em; }
.rd-dek { margin: 22px auto 0; max-width: 54ch; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.6; color: var(--ink-soft); }
.rd-by { display: inline-flex; align-items: center; gap: 12px; margin-top: 32px; text-align: left; }
.rd-av svg { width: 40px; height: 40px; display: block; }
.rd-by b { display: block; font: 500 15px/1.3 var(--display); color: var(--ink); }
.rd-by i { display: block; font-style: normal; font-size: 13px; color: var(--ink-soft); }
.rd-cover { position: relative; height: clamp(120px, 16vw, 220px); overflow: hidden; }
.rd-cover { display: flex; }
.rd-cover .ac-svg { position: relative; flex: none; width: max(25%, 320px); height: 100%; }
.rd-cover .r { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0.2); opacity: 0; transition: transform 1200ms var(--ease), opacity 600ms ease; transition-delay: calc(200ms + var(--k, 0) * 70ms); }
.reader.on .rd-cover .r { transform: none; opacity: 1; }
.rd-grid { display: grid; grid-template-columns: 220px minmax(0, 680px); justify-content: center; gap: clamp(32px, 6vw, 96px); padding: clamp(48px, 6vw, 88px) var(--gr) 0 var(--gl); }
.rd-side { position: relative; }
.rd-toc, .rd-share { position: sticky; top: 24px; }
.rd-share { top: auto; margin-top: 36px; }
.rd-side b { display: block; margin-bottom: 14px; font: 500 13px/1 var(--body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); }
.rd-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line); }
.rd-toc a { display: block; margin-left: -1px; padding: 8px 0 8px 16px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--ink-soft); text-decoration: none; transition: color 300ms ease, border-color 300ms ease; }
.rd-toc a.on { color: var(--ink); border-left-color: var(--green); }
@media (hover: hover) { .rd-toc a:hover { color: var(--ink); } }
.rd-share div { display: flex; gap: 8px; }
.rd-copy2 { border: 0; cursor: pointer; }
.rd-copy2 svg { width: 18px; height: 18px; }
.rd-copy2.done { background: var(--green); color: var(--white); }
.rd-take { padding: 26px 28px; border-radius: 20px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.rd-take b { font: 500 13px/1 var(--body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--green-ink); }
.rd-take ul { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.rd-take li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.55; color: var(--ink); }
.rd-take li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.rd-body { margin-top: 12px; }
.rd-body > p:first-child { margin-top: 32px; font-size: 20px; line-height: 1.65; color: var(--ink); }
.rd-body p { font-size: 18px; line-height: 1.75; color: #22374A; max-width: 68ch; }
.rd-body h3 { margin-top: 52px; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.25; scroll-margin-top: 100px; }
.rd-end { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 56px; padding: 28px; border-radius: 20px; background: var(--deep); color: var(--white); }
.rd-end b { font: 500 22px/1.25 var(--display); }
.rd-end p { margin-top: 4px; font-size: 15px; color: rgba(224, 248, 232, 0.7); }
.rd-more { max-width: 1000px; margin: 0 auto; padding: clamp(64px, 8vw, 104px) var(--gr) clamp(80px, 10vw, 120px) var(--gl); }
.rd-more > h3 { font-size: clamp(26px, 2.4vw, 34px); }
.rd-rels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.rd-rel { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; transition: transform 600ms var(--ease), box-shadow 400ms ease; }
.rr-art { position: relative; height: 120px; overflow: hidden; }
.rr-art .ac-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.rr-art .ag { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 900ms var(--ease); }
.rr-t { padding: 20px 22px 24px; }
.rr-t span { font-size: 13px; color: var(--green-ink); }
.rr-t b { display: block; margin-top: 8px; font: 500 20px/1.3 var(--display); color: var(--ink); }
@media (hover: hover) { .rd-rel:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.5); } .rd-rel:hover .ag { transform: scale(1.06); } }
@media (max-width: 900px) { .rd-grid { grid-template-columns: 1fr; } .rd-side { order: 2; } .rd-toc { display: none; } .rd-share { position: static; margin-top: 0; } .rd-rels { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .rd-cover .r { transform: none; opacity: 1; } }

/* ===== page loading intro (first visit per session) ===== */
.loader { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; align-content: center; gap: 22px; background: var(--deep); clip-path: inset(0 0 0 0); transition: clip-path 900ms cubic-bezier(0.76, 0, 0.24, 1); }
.loader svg { width: 96px; height: 96px; overflow: visible; }
.ld-arc { stroke-dasharray: 150; stroke-dashoffset: 150; animation: ldarc 900ms cubic-bezier(0.65, 0, 0.35, 1) 150ms forwards; }
.ld-core { transform-box: fill-box; transform-origin: 100% 50%; transform: scale(0.6); opacity: 0; animation: ldcore 600ms var(--ease) 700ms forwards; }
.ld-star { transform-box: fill-box; transform-origin: center; transform: scale(0.5) rotate(-90deg); opacity: 0; animation: ldstar 800ms var(--ease) 900ms forwards; }
.ld-word { font: 500 15px/1 var(--display); letter-spacing: 0.6em; padding-left: 0.6em; color: var(--mint); opacity: 0; animation: ldword 900ms var(--ease) 900ms forwards; }
@keyframes ldarc { to { stroke-dashoffset: 0; } }
@keyframes ldcore { to { transform: scale(1); opacity: 1; } }
@keyframes ldstar { to { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes ldword { from { opacity: 0; letter-spacing: 1em; } to { opacity: 1; letter-spacing: 0.4em; } }
.loader.done { clip-path: inset(0 0 100% 0); }
@media (prefers-reduced-motion: reduce) { .loader { display: none; } }

/* ===== seamless chevron band ===== */
.chev-band { height: 72px; background: var(--mint); }
.cb-strip { height: 100%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='72' viewBox='0 0 120 72'%3E%3Cpath d='M18 14l22 22-22 22' fill='none' stroke='%2362C27F' stroke-width='13' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M78 14l22 22-22 22' fill='none' stroke='%2344A15E' stroke-width='13' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-size: 120px 72px; animation: cbslide 4s linear infinite; }
@keyframes cbslide { from { background-position: 0 0; } to { background-position: 120px 0; } }
@media (prefers-reduced-motion: reduce) { .cb-strip { animation: none; } }

/* ===== insights cards: the previous site's hover, arches rise behind the title ===== */
.agrid .acard { position: relative; display: flex; flex-direction: column; min-height: 440px; padding: 0; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; isolation: isolate; }
.agrid .acard .ac-art { position: absolute; inset: auto 0 0 0; height: 64%; margin: 0; z-index: -1; overflow: visible; }
.agrid .acard .ac-svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: translateY(58%); transition: transform 900ms var(--ease); }
.agrid .acard .ac-svg .ag, .agrid .acard .ac-svg .r { transition: none; transform: none !important; }
.agrid .acard .ac-top { padding: 30px 30px 0; }
.agrid .acard h3 { font: 500 clamp(24px, 2vw, 30px)/1.18 var(--display); letter-spacing: -0.02em; }
.agrid .acard .ex { margin-top: 12px; font-size: 15px; }
.ac-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 30px 30px; }
.agrid .acard .ac-meta { position: static; padding: 0; background: none; font-size: 13px; color: var(--ink-soft); transition: opacity 400ms ease; }
.agrid .acard .ac-link { margin: 0; }
@media (hover: hover) {
  .agrid .acard:hover { transform: none; box-shadow: inset 0 0 0 1px var(--line); }
  .agrid .acard:hover .ac-svg { transform: translateY(6%); }
  .agrid .acard:hover h3 { color: var(--deep); }
  .agrid .acard:hover .ac-meta { opacity: 0; }
  .agrid .acard:hover .ac-link u { background-size: 100% 1.5px; }
}
.agrid .acard .ac-link u { background-size: 100% 1.5px; }
.agrid .acard:focus-visible .ac-svg { transform: translateY(6%); }
@media (hover: none) { .agrid .acard .ac-svg { transform: translateY(40%); } }

/* ===== article page: aligned to one column grid ===== */
.rd-hero-in { max-width: none; display: grid; grid-template-columns: 220px minmax(0, 680px); justify-content: center; column-gap: clamp(32px, 6vw, 96px); text-align: left; }
.rd-hero-in > * { grid-column: 2; }
.rd-crumb { justify-content: flex-start; }
.rd-a h2 { margin-left: 0; max-width: 18ch; }
.rd-dek { margin-left: 0; }
@media (max-width: 900px) { .rd-hero-in { grid-template-columns: 1fr; } .rd-hero-in > * { grid-column: 1; } }
.rd-scroll { scroll-behavior: auto; -webkit-overflow-scrolling: touch; outline: none; }
.rd-body > p, .rd-body > h3, .rd-body > .ig, .rd-take, .rd-end { opacity: 0; transform: translateY(18px); transition: opacity 700ms ease, transform 900ms var(--ease); }
.rd-body > .in, .rd-take.in, .rd-end.in { opacity: 1; transform: none; }
.rd-body p { font-size: 18.5px; line-height: 1.8; }
.rd-body p + p { margin-top: 20px; }

/* ===== infographics ===== */
.ig { margin: 44px 0 8px; padding: clamp(22px, 3vw, 32px); border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line), 0 24px 48px -36px rgba(10, 41, 23, 0.25); }
.rd-body .ig-t { margin: 0 0 22px; font: 500 13px/1.2 var(--body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--green-ink); }
.ig figcaption { margin-top: 18px; font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
.ig b { font-weight: 600; color: var(--ink); }
.ig [style*="--i"] { opacity: 0; transform: translateY(10px); transition: opacity 600ms ease, transform 800ms var(--ease); transition-delay: calc(var(--i) * 110ms + 150ms); }
.ig.in [style*="--i"] { opacity: 1; transform: none; }
/* compare */
.igc { display: grid; font-size: 15px; }
.igc-h, .igc-r { display: grid; grid-template-columns: 0.8fr 1fr 1fr; gap: 16px; align-items: center; padding: 14px 0; }
.igc-h { padding-top: 0; }
.igc-h span { font-size: 13px; font-weight: 600; color: var(--ink-soft); }
.igc-h .win { color: var(--white); background: var(--green); justify-self: start; padding: 6px 12px; border-radius: 999px; }
.igc-h span:nth-child(2) { justify-self: start; padding: 6px 12px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.igc-r { border-top: 1px solid var(--line); }
.igc-r span:first-child { font-weight: 600; color: var(--ink); }
.igc-r span:nth-child(2) { color: var(--ink-soft); }
.igc-r .win { position: relative; padding-left: 22px; color: var(--deep); font-weight: 500; }
.igc-r .win::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px var(--mint-2); }
/* stack */
.igs { display: grid; gap: 8px; justify-items: center; }
.igs-l { width: var(--w); display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 14px; font-size: 14px; }
.igs-l b { font: 500 15px/1.3 var(--display); }
.igs-l span { text-align: right; opacity: 0.8; }
.igs-l:nth-child(1) { background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.igs-l:nth-child(2) { background: var(--mint-2); }
.igs-l:nth-child(3) { background: var(--mint); }
.igs-l:nth-child(4) { background: #8FDDAA; }
.igs-l:nth-child(5) { background: var(--deep); color: var(--white); }
.igs-l:nth-child(5) b { color: var(--white); }
.igs-l:last-child:nth-child(4) { background: var(--deep); color: var(--white); } .igs-l:last-child:nth-child(4) b { color: var(--white); }
.ig .igs-l[style*="--i"] { transform: scaleX(0.92); }
.ig.in .igs-l[style*="--i"] { transform: none; }
/* steps */
.igp { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; position: relative; }
.igp::before { content: ""; position: absolute; left: 18px; right: 18px; top: 18px; height: 2px; background: var(--mint); transform: scaleX(0); transform-origin: 0 50%; transition: transform 1400ms var(--ease) 200ms; }
.ig.in .igp::before { transform: scaleX(1); }
.igp li { position: relative; display: grid; gap: 6px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.igp .dot { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: var(--white); font: 600 15px/1 var(--display); box-shadow: 0 0 0 6px var(--white); margin-bottom: 8px; }
.igp b { font: 500 16px/1.3 var(--display); }
/* timeline */
.igt { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 26px; }
.igt-line { position: absolute; left: 0; right: 0; top: 6px; height: 4px; border-radius: 4px; background: var(--mint-2); overflow: hidden; }
.igt-line i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--green), var(--deep)); transform: scaleX(0); transform-origin: 0 50%; transition: transform 1600ms var(--ease) 200ms; }
.ig.in .igt-line i { transform: scaleX(1); }
.igt-p { position: relative; display: grid; gap: 6px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.igt-p::before { content: ""; position: absolute; top: -26px; left: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--white); box-shadow: inset 0 0 0 4px var(--green); }
.igt-p .k { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--green-ink); }
.igt-p b { font: 500 17px/1.3 var(--display); }
/* grid */
.igg { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.igg-c { display: grid; align-content: start; gap: 6px; padding: 18px; border-radius: 16px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; line-height: 1.5; color: var(--ink-soft); transition: background-color 400ms ease, box-shadow 400ms ease; }
.igg-c .n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: var(--white); font: 600 13px/1 var(--display); margin-bottom: 6px; }
.igg-c b { font: 500 16px/1.3 var(--display); }
@media (hover: hover) { .igg-c:hover { background: var(--mint-2); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.4); } }
/* flow */
.igf { display: flex; align-items: stretch; gap: 8px; }
.igf-n { flex: 1; display: grid; align-content: start; gap: 6px; padding: 16px; border-radius: 16px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.igf-n:last-child { background: var(--deep); color: rgba(224, 248, 232, 0.75); box-shadow: none; }
.igf-n:last-child b { color: var(--white); }
.igf-n b { font: 500 15px/1.3 var(--display); }
.igf-a { flex: none; align-self: center; width: 22px; color: var(--green); }
.igf-a svg { width: 22px; height: 22px; }
/* checklist */
.igk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.igk-g { padding: 18px; border-radius: 16px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.igk-h { display: block; font: 500 16px/1.3 var(--display); color: var(--deep); padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.igk ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.igk li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.igk .ck { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: var(--white); }
.igk .ck svg { width: 13px; height: 13px; }
/* allocation */
.iga-bar { display: flex; height: 56px; border-radius: 14px; overflow: hidden; background: var(--mint-3); }
.iga-s { width: 0; display: flex; align-items: center; padding-left: 14px; transition: width 1400ms var(--ease); transition-delay: calc(var(--i) * 160ms + 200ms); opacity: 1 !important; transform: none !important; }
.ig.in .iga-s { width: var(--w); }
.iga-s b { font: 500 16px/1 var(--display); color: var(--white); white-space: nowrap; }
.iga-s.s0 { background: var(--green); } .iga-s.s1 { background: var(--navy); } .iga-s.s2 { background: #8FDDAA; } .iga-s.s2 b { color: var(--deep); }
.iga-k { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--ink-soft); }
.iga-k i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; }
.iga-k i.s0 { background: var(--green); } .iga-k i.s1 { background: var(--navy); } .iga-k i.s2 { background: #8FDDAA; }
@media (max-width: 700px) {
  .igc-h, .igc-r { grid-template-columns: 1fr 1fr; } .igc-h span:first-child { display: none; } .igc-r span:first-child { grid-column: 1 / -1; }
  .igs-l { width: 100% !important; flex-direction: column; align-items: flex-start; } .igs-l span { text-align: left; }
  .igp, .igt, .igk { grid-template-columns: 1fr; } .igp::before { display: none; }
  .igf { flex-direction: column; } .igf-a { transform: rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) { .ig [style*="--i"], .rd-body > * { opacity: 1 !important; transform: none !important; } .iga-s { width: var(--w); } }

.agrid .acard .ac-foot { padding-top: 20px; padding-bottom: 0; margin-bottom: auto; justify-content: flex-start; gap: 18px; }
.agrid .acard { padding-bottom: 150px; min-height: 0; }
.agrid .acard .ac-art { height: 70%; }
.agrid .acard .ac-svg { transform: translateY(72%); }
@media (hover: hover) { .agrid .acard:hover .ac-svg { transform: translateY(18%); } }
.agrid .acard:focus-visible .ac-svg { transform: translateY(18%); }
@media (hover: none) { .agrid .acard .ac-svg { transform: translateY(55%); } }
.igg:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .igg:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; } }

/* article banner: one wide seamless pattern that rises in */
.rd-cover { display: block; height: clamp(110px, 13vw, 200px); }
.rd-cover .cv-svg { display: block; width: 100%; height: 100%; transform: translateY(40%); opacity: 0; transition: transform 1200ms var(--ease) 150ms, opacity 700ms ease 150ms; }
.reader.on .rd-cover .cv-svg { transform: none; opacity: 1; }

/* ===== footer, rebuilt ===== */
.ft-badge { display: none; }
.foot { padding-top: clamp(72px, 9vw, 128px); }
.ft-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px 64px; flex-wrap: wrap; padding-bottom: clamp(48px, 6vw, 80px); border-bottom: 1px solid var(--line-d); }
.ft-hero h2 { max-width: 16ch; font-size: clamp(34px, 4.4vw, 64px); line-height: 1.08; color: var(--white); }
.ft-cta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ft-mail { position: relative; font: 400 clamp(18px, 1.6vw, 22px)/1.2 var(--display); color: var(--mint); text-decoration: none; padding: 6px 0; }
.ft-mail::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; opacity: 0.4; transform-origin: 0 50%; transition: transform 600ms var(--ease), opacity 300ms ease; }
@media (hover: hover) { .ft-mail:hover::after { opacity: 1; transform: scaleX(1.0); } .ft-mail:hover { color: var(--white); } }
.ft-cols { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding: clamp(48px, 6vw, 72px) 0 0; }
.ft-brand p { max-width: 34ch; font-size: 15px; line-height: 1.6; color: rgba(224, 248, 232, 0.7); }
.ft-brand .soc { margin-top: 24px; }
.ft-legal a { font-size: 14px; color: rgba(224, 248, 232, 0.72) !important; }
.foot ul a:hover { color: var(--white); }
.ft-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; padding: 22px 0; border-top: 1px solid var(--line-d); font-size: 13px; color: rgba(224, 248, 232, 0.6); }
.ft-top { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: rgba(194, 240, 210, 0.1); color: var(--mint); font: 500 13px/1 var(--body); cursor: pointer; transition: background-color 300ms ease, color 300ms ease; }
.ft-top svg { width: 14px; height: 14px; transition: transform 500ms var(--ease); }
@media (hover: hover) { .ft-top:hover { background: var(--mint); color: var(--deep); } .ft-top:hover svg { transform: translateY(-3px); } }
.ft-disc { padding: 0 0 calc(32px + env(safe-area-inset-bottom, 0px)); font-size: 12px; line-height: 1.65; color: rgba(224, 248, 232, 0.45); max-width: 120ch; }
.foot .giant { margin: clamp(56px, 7vw, 96px) 0 clamp(24px, 3vw, 40px); }
.foot-top, .foot-legal, .foot-base { display: none; }
@media (max-width: 900px) { .ft-cols { grid-template-columns: 1fr 1fr; } .ft-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .ft-cols { grid-template-columns: 1fr; } }

/* ===== insights: featured card in the same family as the cards ===== */
.feat { display: none; }
.feat2 { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); min-height: 380px; margin-bottom: 16px; border-radius: 28px; overflow: hidden; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); isolation: isolate; transition: box-shadow 700ms var(--ease); }
.f2-txt { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 56px); }
.f2-k { font-size: 13px; font-weight: 500; color: var(--green-ink); }
.feat2 h3 { margin-top: 16px; font: 500 clamp(28px, 3vw, 44px)/1.12 var(--display); letter-spacing: -0.025em; color: var(--deep); }
.feat2 p { margin-top: 16px; max-width: 46ch; color: var(--ink-soft); }
.f2-foot { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 28px; }
.f2-m { font-size: 13px; color: var(--ink-soft); }
.f2-art { position: relative; overflow: hidden; background: var(--mint-3); }
.f2-art .ac-svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: translateY(26%); transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1); }
@media (hover: hover) { .feat2:hover { box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.45), 0 40px 70px -50px rgba(10, 41, 23, 0.35); } .feat2:hover .f2-art .ac-svg { transform: translateY(8%) scale(1.04); } .feat2:hover .ac-link .ar { transform: translateX(6px); } }
.feat2[hidden] { display: none; }
@media (max-width: 860px) { .feat2 { grid-template-columns: 1fr; } .f2-art { order: -1; min-height: 200px; } }

/* ===== insights cards: smoother hover, pattern blends into the card ===== */
.agrid .acard { background: var(--mint-3); transition: background-color 900ms var(--ease), box-shadow 900ms var(--ease); }
.agrid .acard .ac-art { height: 62%; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 38%); mask-image: linear-gradient(to bottom, transparent 0%, #000 38%); }
.agrid .acard .ac-svg { transform: translateY(70%); transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1); }
.agrid .acard h3, .agrid .acard .ex, .agrid .acard .ac-foot { transition: transform 1000ms cubic-bezier(0.16, 1, 0.3, 1), color 500ms ease; }
@media (hover: hover) {
  .agrid .acard:hover { background: var(--white); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.4), 0 30px 60px -44px rgba(10, 41, 23, 0.35); }
  .agrid .acard:hover .ac-svg { transform: translateY(34%); }
  .agrid .acard:hover h3 { transform: translateY(-4px); }
  .agrid .acard:hover .ac-meta { opacity: 1; }
}
.agrid .acard:focus-visible .ac-svg { transform: translateY(34%); }

/* ===== featured card (dark, chart) restored and refined ===== */
.feat { display: grid !important; position: relative; isolation: isolate; transition: box-shadow 800ms var(--ease); }
.feat[hidden] { display: none !important; }
.feat .art { min-height: 360px; background: radial-gradient(70% 90% at 30% 30%, #1B5C36, var(--deep-2) 62%, var(--deep)); }
.feat .art svg.fc-svg { position: absolute; inset: 0; left: 0; top: 0; width: 100%; height: 100%; opacity: 1; transform: none; }
.fc-a, .fc-b { stroke-dasharray: 520; stroke-dashoffset: 520; transition: stroke-dashoffset 1800ms var(--ease) 200ms; }
.fc-c { stroke-dasharray: 260; stroke-dashoffset: 260; transition: stroke-dashoffset 1200ms var(--ease) 1500ms; }
.feat.in .fc-a, .feat.in .fc-b, .feat.in .fc-c { stroke-dashoffset: 0; }
.fc-lb text { font: 500 13px var(--body); fill: rgba(224, 248, 232, 0.7); }
.fc-dot circle { transform-box: fill-box; transform-origin: center; transition: transform 700ms var(--ease); }
.fc-end { animation: fcpulse 2.8s ease-in-out infinite; }
@keyframes fcpulse { 50% { transform: scale(1.35); } }
.feat .txt h3 { font-weight: 500; }
@media (hover: hover) { .feat:hover { box-shadow: 0 40px 80px -50px rgba(10, 41, 23, 0.6); } .feat:hover .fc-dot circle:first-child { transform: scale(1.6); } .feat:hover .btn .ar { transform: translateX(4px); } }
.feat2 { display: none !important; }

/* ===== footer, third pass ===== */
.foot { position: relative; padding-top: clamp(64px, 8vw, 112px); overflow: hidden; }
.ft-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: end; gap: 32px 64px; padding: clamp(32px, 5vw, 64px); border-radius: 32px; background: var(--mint); color: var(--deep); }
.ft-card h2 { font-size: clamp(32px, 4.2vw, 60px); line-height: 1.06; color: var(--deep); }
.ft-card-l p { margin-top: 18px; max-width: 48ch; font-size: 16px; line-height: 1.6; color: rgba(10, 41, 23, 0.72) !important; }
.ft-card-r { display: grid; justify-items: start; gap: 22px; }
.btn.dark { background: var(--deep); color: var(--white); }
@media (hover: hover) { .btn.dark:hover { background: var(--navy); } }
.foot .ft-mail { display: grid; gap: 4px; font: 400 clamp(20px, 1.8vw, 26px)/1.2 var(--display); color: var(--deep); }
.foot .ft-mail span { font: 500 13px/1 var(--body); color: rgba(10, 41, 23, 0.6); }
.foot .ft-mail::after { background: var(--deep); opacity: 0.3; }
@media (hover: hover) { .foot .ft-mail:hover { color: var(--deep); } .foot .ft-mail:hover::after { opacity: 1; } }
.ft-cols { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 0.8fr)); padding: clamp(56px, 7vw, 88px) 0 clamp(40px, 5vw, 64px); }
.ft-logo { display: inline-block; color: var(--white); }
.ft-logo svg { height: 30px; width: auto; }
.ft-logo .core { fill: var(--white); }
.ft-brand p { margin-top: 18px; }
.ft-hero { display: none; }
.ft-word { position: relative; margin-top: clamp(8px, 2vw, 24px); padding: 0 var(--gr) 0 var(--gl); height: clamp(90px, 15vw, 250px); overflow: hidden; }
.ft-word .giant { position: absolute; left: var(--gl); right: var(--gr); top: 0; margin: 0; transform: translateY(calc(30% - var(--fp, 0) * 30%)); transition: transform 120ms linear; }
.ft-word .giant path { fill-opacity: 1 !important; stroke: none; }
.ft-word .giant path:not(.g-arc):not(.g-star) { fill: var(--mint); }
.ft-bottom { border-top: 1px solid var(--line-d); }
.ft-disc { padding-bottom: 0; }
@media (max-width: 860px) { .ft-card { grid-template-columns: 1fr; } }

/* ===== page banners: framed stage ===== */
.phero { padding-top: calc(130px + env(safe-area-inset-top, 0px)); background: var(--bg); }
.phero > .gl { display: none; }
.ph-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: 40px clamp(32px, 5vw, 72px); align-items: center; }
.phero-in { max-width: 640px; }
.ph-stage { position: relative; aspect-ratio: 1 / 0.92; border-radius: 32px; overflow: hidden; background: radial-gradient(80% 70% at 50% 40%, var(--white), var(--mint-3) 55%, var(--mint-2)); box-shadow: inset 0 0 0 1px var(--line); isolation: isolate; }
.ph-stage canvas.gl { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block !important; }
.ph-label { position: absolute; top: 18px; left: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px var(--line); font: 500 13px/1 var(--display); color: var(--deep); }
.ph-chips { position: absolute; left: 18px; right: 18px; bottom: 18px; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ph-chips li { padding: 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px var(--line); font-size: 12.5px; color: var(--ink); opacity: 0; transform: translateY(8px); transition: opacity 600ms ease, transform 800ms var(--ease); transition-delay: calc(900ms + var(--i) * 120ms); }
.ph-stage.in .ph-chips li { opacity: 1; transform: none; }
.ph-chips li:not(:last-child)::after { content: "→"; margin-left: 8px; color: var(--green); }
.stats { margin-top: clamp(48px, 6vw, 80px); }
@media (max-width: 900px) { .ph-grid { grid-template-columns: 1fr; } .ph-stage { aspect-ratio: 1 / 0.8; } }
@media (prefers-reduced-motion: reduce) { .ph-chips li { opacity: 1; transform: none; } }
.ft-word { height: calc((100vw - 2 * clamp(16px, 4vw, 56px)) * 0.2); max-height: 330px; }
.phero h1 { font-size: clamp(36px, 3.8vw, 60px); line-height: 1.1; }
.btn { transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 250ms ease, color 250ms ease, box-shadow 250ms ease; }

/* ===== cinematic page banners: full-bleed scene that settles into a card ===== */
.pb { position: relative; height: 175vh; background: var(--bg); }
.pb-pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.pb-card { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(90% 80% at 72% 45%, #1C5B36, #0F3820 45%, #0A2917 80%); will-change: clip-path; }
.pb-card canvas.gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pb-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 41, 23, 0.85) 0%, rgba(10, 41, 23, 0.4) 45%, transparent 70%); pointer-events: none; }
.pb-in { position: absolute; z-index: 2; left: 0; right: 0; bottom: clamp(96px, 16vh, 160px); will-change: transform, opacity; }
.pb .crumb { color: rgba(224, 248, 232, 0.7); }
.pb .crumb a { color: rgba(224, 248, 232, 0.9); }
.pb-h { max-width: 15ch; font-size: clamp(44px, 6vw, 96px); line-height: 1.04; letter-spacing: -0.03em; color: var(--white); }
.pb-h em.acc { color: var(--mint); }
.pb .lead { margin-top: 22px; max-width: 48ch; color: rgba(224, 248, 232, 0.78); }
.pb .btns { margin-top: 30px; }
.pb .btn.ghost { color: var(--white); box-shadow: inset 0 0 0 1px rgba(224, 248, 232, 0.35); }
@media (hover: hover) { .pb .btn.ghost:hover { background: var(--white); color: var(--deep); } }
.pb-fade, .pb-h { opacity: 0; transform: translateY(24px); transition: opacity 1000ms ease, transform 1200ms var(--ease); }
.ready .pb-h { opacity: 1; transform: none; transition-delay: 150ms; }
.ready .pb-fade { opacity: 1; transform: none; }
.ready .pb .crumb { transition-delay: 50ms; } .ready .pb .lead { transition-delay: 350ms; } .ready .pb .btns { transition-delay: 500ms; }
.pb-chips { position: absolute; z-index: 2; right: var(--gr); bottom: clamp(96px, 16vh, 160px); display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pb-chips li { display: flex; align-items: center; gap: 12px; min-width: 200px; padding: 12px 16px; border-radius: 14px; background: rgba(10, 41, 23, 0.45); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.16); font: 500 14px/1.2 var(--display); color: var(--white); opacity: 0; transform: translateX(16px); transition: opacity 700ms ease, transform 900ms var(--ease); transition-delay: calc(800ms + var(--i) * 110ms); }
.pb-chips li span { font: 500 11px/1 var(--body); letter-spacing: 0.1em; color: var(--mint); }
.ready .pb-chips li { opacity: 1; transform: none; }
.pb-cue { position: absolute; z-index: 2; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; font: 500 11px/1 var(--body); letter-spacing: 0.18em; text-transform: uppercase; color: rgba(224, 248, 232, 0.6); }
.pb-cue i { position: relative; width: 1px; height: 40px; background: rgba(194, 240, 210, 0.2); overflow: hidden; }
.pb-cue i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--mint); animation: cue 2.6s var(--ease) infinite; }
.pb-stats { background: var(--bg); padding: clamp(40px, 5vw, 64px) 0 clamp(24px, 3vw, 40px); }
.pb-stats .stats { margin-top: 0; }
.bar.on-dark:not(.solid) .links a.l, .bar.on-dark:not(.solid) .logo { color: var(--white); }
.bar.on-dark:not(.solid) .logo .core { fill: var(--white); }
.bar.on-dark:not(.solid) .menu-btn { background: var(--mint); color: var(--deep); }
@media (max-width: 900px) { .pb { height: 150vh; } .pb-chips { display: none; } .pb-shade { background: linear-gradient(0deg, rgba(10, 41, 23, 0.9) 10%, rgba(10, 41, 23, 0.3) 60%, transparent); } .pb-in { bottom: 90px; } }
@media (prefers-reduced-motion: reduce) { .pb { height: auto; } .pb-pin { position: relative; height: 100svh; } .pb-fade, .pb-h, .pb-chips li { opacity: 1; transform: none; } }
.phero, .ph-stage { display: none; }

/* ===== featured card: the C version ===== */
.featc .art { background: radial-gradient(60% 70% at 30% 40%, #1E6A3D, var(--deep-2) 60%, var(--deep)); }
.featc .art svg.fc-c { position: absolute; left: auto; top: auto; right: -4%; bottom: -14%; width: 66%; height: auto; opacity: 1; transform: none; transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1); }
.featc .fc-star { transform-box: fill-box; transform-origin: center; transition: transform 1200ms cubic-bezier(0.16, 1, 0.3, 1); }
@media (hover: hover) { .featc:hover .art svg.fc-c { transform: rotate(-10deg) scale(1.05); } .featc:hover .fc-star { transform: rotate(90deg) scale(1.15); } }

/* ===== footer: interactive ===== */
.foot { position: relative; padding-top: clamp(80px, 10vw, 140px); background: var(--deep); overflow: hidden; isolation: isolate; }
.ft-net { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.ft-main { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr); gap: 48px clamp(40px, 6vw, 96px); align-items: start; }
.ft-nav ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-d); }
.ft-nav li { border-bottom: 1px solid var(--line-d); }
.ft-row { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto 56px; align-items: center; gap: 16px; padding: clamp(14px, 1.6vw, 22px) 12px; text-decoration: none; color: var(--white); isolation: isolate; }
.ft-row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mint); clip-path: inset(0 100% 0 0 round 12px); transition: clip-path 700ms cubic-bezier(0.16, 1, 0.3, 1); }
.ft-n { font: 500 12px/1 var(--body); letter-spacing: 0.1em; color: rgba(224, 248, 232, 0.45); transition: color 400ms ease; }
.ft-l { font: 400 clamp(36px, 5.2vw, 84px)/1 var(--display); letter-spacing: -0.035em; transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), color 400ms ease; }
.ft-d { font-size: 14px; color: rgba(224, 248, 232, 0.55); transition: color 400ms ease, opacity 400ms ease; }
.ft-go { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--line-d); transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), background-color 400ms ease; }
.ft-go svg { width: 22px; height: 22px; }
@media (hover: hover) {
  .ft-row:hover::before { clip-path: inset(0 0 0 0 round 12px); }
  .ft-row:hover { color: var(--deep); }
  .ft-row:hover .ft-l { transform: translateX(14px); }
  .ft-row:hover .ft-n, .ft-row:hover .ft-d { color: var(--deep); }
  .ft-row:hover .ft-go { background: var(--deep); color: var(--mint); transform: rotate(45deg); box-shadow: none; }
}
.ft-side { display: grid; gap: 36px; padding-top: 8px; }
.ft-block { display: grid; gap: 10px; justify-items: start; }
.ft-cap { font: 500 12px/1 var(--body); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(224, 248, 232, 0.5); }
.foot .ft-mail { display: inline-block; font: 400 clamp(22px, 2vw, 30px)/1.2 var(--display); color: var(--white); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0% 1px no-repeat; padding-bottom: 4px; transition: background-size 700ms cubic-bezier(0.16, 1, 0.3, 1); }
.foot .ft-mail::after { display: none; }
@media (hover: hover) { .foot .ft-mail:hover { background-size: 100% 1px; color: var(--white); } }
.ft-copy { min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(194, 240, 210, 0.1); color: var(--mint); font: 500 12px/1 var(--body); cursor: pointer; transition: background-color 300ms ease; }
@media (hover: hover) { .ft-copy:hover { background: rgba(194, 240, 210, 0.2); } }
.ft-clock { font: 400 clamp(28px, 2.6vw, 40px)/1 var(--display); color: var(--white); font-variant-numeric: tabular-nums; }
.ft-clock i { font: 500 12px/1 var(--body); font-style: normal; letter-spacing: 0.1em; color: var(--mint); vertical-align: middle; }
.ft-note { max-width: 30ch; font-size: 14px; line-height: 1.55; color: rgba(224, 248, 232, 0.6); }
.ft-soc { display: flex; gap: 18px; }
.ft-soc a { position: relative; font-size: 15px; color: var(--white); text-decoration: none; padding: 6px 0; }
.ft-soc a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: var(--mint); transform: scaleX(0); transform-origin: 100% 50%; transition: transform 500ms var(--ease); }
@media (hover: hover) { .ft-soc a:hover::after { transform: scaleX(1); transform-origin: 0 50%; } }
.ft-word { height: auto; max-height: none; margin-top: clamp(64px, 8vw, 112px); padding: 0 var(--gr) 0 var(--gl); overflow: visible; }
.ft-word .giant { position: relative; left: auto; right: auto; transform: none; display: block; }
.ft-word .giant svg path { transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1), fill 400ms ease; transform-box: fill-box; }
.ft-legal-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 28px; padding-bottom: 20px; border-top: 1px solid var(--line-d); margin-top: clamp(24px, 3vw, 40px); }
.ft-legal { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.ft-legal a { font-size: 13px; color: rgba(224, 248, 232, 0.65); text-decoration: none; padding: 4px 0; transition: color 300ms ease; }
@media (hover: hover) { .ft-legal a:hover { color: var(--white); } }
.ft-fine { display: grid; gap: 10px; padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)); font-size: 12px; line-height: 1.6; color: rgba(224, 248, 232, 0.42); }
.ft-fine p { max-width: 120ch; }
.ft-card, .ft-cols, .ft-bottom, .ft-disc { display: none; }
@media (max-width: 900px) { .ft-main { grid-template-columns: 1fr; } .ft-row { grid-template-columns: 30px minmax(0, 1fr) 44px; } .ft-d { display: none; } .ft-go { width: 44px; height: 44px; } }
.foot .ft-nav .ft-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto 56px; align-items: center; gap: 16px; padding: clamp(14px, 1.6vw, 22px) 12px; color: var(--white); }
@media (max-width: 900px) { .foot .ft-nav .ft-row { grid-template-columns: 30px minmax(0, 1fr) 44px; } }
.foot .ft-nav .ft-row::after { display: none; }
@media (hover: hover) { .foot .ft-nav .ft-row:hover { color: var(--deep); } }
.pb-h { max-width: 18ch; }
.pb-chips { display: flex; grid-auto-flow: column; gap: 8px; bottom: clamp(28px, 5vh, 48px); right: var(--gr); }
.pb-chips li { min-width: 0; padding: 10px 14px; }
.pb-cue { display: none; }

/* ===== legal ===== */
.lg-hero { padding: calc(150px + env(safe-area-inset-top, 0px)) 0 clamp(40px, 5vw, 64px); background: var(--mint-3); border-bottom: 1px solid var(--line); }
.lg-hero h1 { margin-top: 20px; font-size: clamp(40px, 5vw, 76px); line-height: 1.06; }
.lg-hero .lead { margin-top: 18px; }
.lg-wrap { display: grid; grid-template-columns: 240px minmax(0, 760px); justify-content: start; gap: clamp(32px, 6vw, 96px); padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(80px, 10vw, 140px); }
.lg-side nav { position: sticky; top: 110px; }
.lg-side ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line); }
.lg-side a { display: block; margin-left: -1px; padding: 9px 0 9px 16px; border-left: 2px solid transparent; font-size: 14.5px; color: var(--ink-soft); text-decoration: none; transition: color 250ms ease, border-color 250ms ease; }
.lg-side a.on { color: var(--ink); border-left-color: var(--green); font-weight: 500; }
@media (hover: hover) { .lg-side a:hover { color: var(--ink); } }
.lg-doc { padding: clamp(28px, 4vw, 48px) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.lg-doc:first-child { padding-top: 0; }
.lg-doc header { margin-bottom: 20px; }
.lg-doc h2 { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.15; }
.lg-sub { margin-top: 8px; font-size: 14px; color: var(--green-ink); }
.lg-doc h3 { margin-top: 32px; font: 500 20px/1.3 var(--display); color: var(--ink); }
.lg-doc h4 { margin-top: 22px; font: 500 17px/1.3 var(--display); color: var(--ink); }
.lg-doc p { margin-top: 12px; font-size: 16px; line-height: 1.75; color: #2A3E50; max-width: 70ch; overflow-wrap: anywhere; }
.lg-doc ul { margin: 12px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.lg-doc li { font-size: 16px; line-height: 1.65; color: #2A3E50; overflow-wrap: anywhere; }
.lg-doc li::marker { color: var(--green); }
.lg-verify { padding: clamp(24px, 3vw, 36px); border: 0; border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); margin-bottom: 24px; }
.vf { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.vf input { flex: 1; min-width: 0; min-height: 48px; padding: 0 18px; border: 0; background: transparent; font: 400 16px/1 var(--body); color: var(--ink); outline: none; }
.vf:focus-within { box-shadow: inset 0 0 0 2px var(--green); }
.vf-out { margin-top: 16px; }
.vf-r { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; padding: 18px; border-radius: 16px; animation: qin 500ms var(--ease) both; }
.vf-r b { font: 500 17px/1.35 var(--display); color: var(--ink); overflow-wrap: anywhere; }
.vf-r p { margin-top: 6px; font-size: 14.5px; line-height: 1.6; }
.vf-i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--white); }
.vf-i svg { width: 20px; height: 20px; }
.vf-r.ok { background: var(--mint-2); } .vf-r.ok .vf-i { background: var(--green); }
.vf-r.partial { background: #FFF6E5; } .vf-r.partial .vf-i { background: #C98A1A; }
.vf-r.bad { background: #FDECEC; } .vf-r.bad .vf-i { background: #C0392B; }
@media (max-width: 900px) {
  .lg-wrap { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
  .lg-side { position: sticky; top: 0; z-index: 5; margin: 0 calc(-1 * var(--gr)) 24px calc(-1 * var(--gl)); background: rgba(249, 249, 249, 0.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
  .lg-side nav { position: static; }
  .lg-side ol { display: flex; gap: 6px; overflow-x: auto; border: 0; padding: 10px var(--gr) 10px var(--gl); scrollbar-width: none; }
  .lg-side ol::-webkit-scrollbar { display: none; }
  .lg-side a { white-space: nowrap; margin: 0; padding: 8px 14px; border: 0; border-radius: 999px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); font-size: 13.5px; }
  .lg-side a.on { background: var(--deep); color: var(--white); box-shadow: none; }
  .vf { flex-direction: column; border-radius: 20px; } .vf .btn { width: 100%; }
}
.vf-r[hidden] { display: none; }
.lg-wrap > * { min-width: 0; }
@media (max-width: 900px) { .lg-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .pb .pb-chips { display: none; } .pb-h { font-size: clamp(38px, 10vw, 56px); } .pb-in { bottom: 56px; } }

/* ===== Round: editorial banners, curtain transition, new sections, footer follow ===== */
/* contrast fixes */
.btn { background: #1E8546; }
@media (hover: hover) { .btn:hover { background: var(--deep); } }
.btn.light { background: var(--mint); color: var(--deep); }
@media (hover: hover) { .btn.light:hover { background: var(--white); color: var(--deep); } }
.q input::placeholder, input::placeholder { color: #6B7C8A; }
.pcard .stage::before, .ph-stage::before { display: none; }
.ft-cap { color: rgba(224, 248, 232, 0.66); }
.ft-disc { color: rgba(224, 248, 232, 0.6); }

/* page curtain: deep green rises from below with the Cequire star, then lifts away */
.pt { opacity: 1 !important; animation: none !important; display: grid; place-items: center; clip-path: inset(100% 0 0 0); transition: clip-path 600ms cubic-bezier(0.76, 0, 0.24, 1); }
.pt svg { width: 44px; height: 44px; opacity: 0; transform: scale(0.6) rotate(-45deg); transition: opacity 300ms ease, transform 700ms var(--ease); }
.pt.on { clip-path: inset(0 0 0 0); pointer-events: auto; }
.pt.on svg { opacity: 1; transform: none; transition-delay: 220ms; animation: ptspin 1600ms linear 400ms infinite; }
.pt.boot { clip-path: inset(0 0 0 0); transition: none; }
.pt.boot svg { opacity: 1; transform: none; }
.pt.out { clip-path: inset(0 0 100% 0); transition: clip-path 700ms cubic-bezier(0.76, 0, 0.24, 1) 80ms; }
.pt.out svg { opacity: 0; transform: translateY(-30px); transition: opacity 250ms ease, transform 500ms var(--ease); }
.pt.gone { clip-path: inset(100% 0 0 0); transition: none; }
@keyframes ptspin { to { transform: rotate(360deg); } }
.no-js .pt, .pt.boot { animation: ptfall 1ms linear 2500ms forwards !important; }
@keyframes ptfall { to { clip-path: inset(0 0 100% 0); } }
@media (prefers-reduced-motion: reduce) { .pt { transition: opacity 200ms ease; } }

/* image and card reveals open like a window instead of only fading */
.pcard.rv, .person.rv, .bcell.rv, .is-card.rv { opacity: 1; transform: none; clip-path: inset(18% 0 0 0 round 28px); transition: clip-path 1200ms var(--ease), transform 900ms var(--ease), box-shadow 900ms var(--ease); transition-delay: var(--d, 0ms); }
.pcard.rv.in, .person.rv.in, .bcell.rv.in, .is-card.rv.in { clip-path: inset(0 0 0 0 round 28px); }
.person.rv, .person.rv.in { clip-path: inset(0 0 0 0 round 24px); }
.person.rv:not(.in) { clip-path: inset(18% 0 0 0 round 24px); }
@media (prefers-reduced-motion: reduce) { .pcard.rv, .person.rv, .bcell.rv, .is-card.rv { clip-path: none !important; } }

/* editorial banner: giant outlined page word, light 3D scene, copy anchored low */
.pb { display: none; }
.eb { position: relative; min-height: 100vh; min-height: 100svh; padding: clamp(110px, 14vh, 150px) 0 clamp(40px, 6vh, 72px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: radial-gradient(60% 70% at 78% 40%, var(--mint-2), transparent 70%), var(--bg); isolation: isolate; }
.eb-word { position: absolute; z-index: 0; left: var(--gl); top: clamp(96px, 13vh, 140px); white-space: nowrap; font: 700 clamp(84px, 19vw, 330px)/0.86 var(--display); letter-spacing: -0.045em; will-change: transform; pointer-events: none; user-select: none; }
.eb-word span { display: block; }
.eb-o { color: transparent; -webkit-text-stroke: 1.5px rgba(51, 173, 96, 0.55); }
.eb-f { position: absolute; inset: 0; color: var(--mint); -webkit-text-stroke: 1.5px rgba(51, 173, 96, 0.55); clip-path: inset(0 82% 0 0); }
.eb-word { opacity: 0; transform: translate3d(4%, 0, 0); transition: opacity 1200ms ease, transform 1600ms var(--ease); }
.ready .eb-word { opacity: 1; }
.eb-gl { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; display: block; }
.eb-bottom { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); align-items: end; gap: 32px clamp(32px, 6vw, 96px); will-change: transform; }
.eb-h { max-width: 15ch; font-size: clamp(40px, 5.4vw, 84px); line-height: 1.04; letter-spacing: -0.03em; color: var(--ink); }
.eb .lead { margin-top: 20px; max-width: 46ch; }
.eb .crumb { margin-bottom: 18px; }
.eb-side { display: grid; gap: 22px; justify-items: start; }
.eb-side .btns { margin: 0; }
.eb-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eb-steps li { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.7); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px var(--line); font: 500 13px/1 var(--display); color: var(--ink); opacity: 0; transform: translateY(10px); transition: opacity 700ms ease, transform 900ms var(--ease); transition-delay: calc(700ms + var(--i) * 90ms); }
.eb-steps li span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--deep); color: var(--mint); font-size: 11px; }
.ready .eb-steps li { opacity: 1; transform: none; }
.eb-h, .eb-fade { opacity: 0; transform: translateY(24px); transition: opacity 1000ms ease, transform 1200ms var(--ease); }
.ready .eb-h { opacity: 1; transform: none; transition-delay: 150ms; }
.ready .eb-fade { opacity: 1; transform: none; transition-delay: 300ms; }
.ready .eb-side.eb-fade { transition-delay: 500ms; }
@media (max-width: 900px) {
  .eb { min-height: 0; padding-top: clamp(300px, 72vw, 460px); }
  .eb-word { top: 92px; font-size: 25vw; }
  .eb-gl { height: clamp(360px, 90vw, 560px); bottom: auto; }
  .eb-bottom { grid-template-columns: 1fr; }
  .eb-h { font-size: clamp(36px, 10vw, 56px); }
}
@media (prefers-reduced-motion: reduce) { .eb-word, .eb-h, .eb-fade, .eb-steps li { opacity: 1 !important; transform: none !important; transition: none !important; } .eb-f { clip-path: inset(0 40% 0 0); } }

/* featured chart card */
.feat-h { margin-top: 16px; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.2; color: var(--white); font-weight: 500; }
.fc-lb text { font: 500 15px var(--display); fill: rgba(224, 248, 232, 0.82); }
.fc-a, .fc-b { stroke-dasharray: 700; stroke-dashoffset: 700; transition: stroke-dashoffset 2000ms var(--ease); }
.fc-c { stroke-dasharray: 260; stroke-dashoffset: 260; transition: stroke-dashoffset 1200ms var(--ease) 1500ms; }
.feat.in .fc-a, .feat.in .fc-b, .feat.in .fc-c { stroke-dashoffset: 0; }
.fc-dot circle { transform-box: fill-box; transform-origin: center; transition: transform 700ms var(--ease); }
.fc-end { animation: fcpulse 2400ms ease-in-out infinite; }
@keyframes fcpulse { 50% { transform: scale(1.35); } }
@media (prefers-reduced-motion: reduce) { .fc-a, .fc-b, .fc-c { stroke-dashoffset: 0; transition: none; } .fc-end { animation: none; } }

/* more than capital / why founders work with us */
.pg { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.pg-l { position: sticky; top: 120px; }
.pg-l .lead { margin-top: 18px; }
.pg-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.pg-i { position: relative; padding: 28px 0 28px 0; border-bottom: 1px solid var(--line); display: grid; gap: 8px; }
.pg-i b { font: 500 clamp(20px, 1.8vw, 26px)/1.25 var(--display); color: var(--ink); }
.pg-i p { max-width: 52ch; color: var(--ink-soft); }
.pg-i::before { content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 100%; background: var(--green); transform: scaleX(0); transform-origin: 0 50%; transition: transform 900ms var(--ease); }
.pg-i.in::before { transform: scaleX(1); transition-delay: calc(var(--d, 0ms) + 200ms); }
@media (max-width: 860px) { .pg { grid-template-columns: 1fr; } .pg-l { position: static; } }

/* why liquidity matters */
.wl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center; }
.sec.deep .wl .lead { margin-top: 18px; color: rgba(224, 248, 232, 0.76); }
.wl-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.wl-i { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; padding: 24px; border-radius: 22px; background: rgba(194, 240, 210, 0.06); box-shadow: inset 0 0 0 1px var(--line-d); }
.wl-n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--mint); color: var(--deep); font: 600 16px/1 var(--display); }
.wl-i b { display: block; font: 500 19px/1.3 var(--display); color: var(--white); }
.wl-i p { margin-top: 6px; color: rgba(224, 248, 232, 0.72); }
@media (max-width: 860px) { .wl { grid-template-columns: 1fr; } }

/* research strip */
.is-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.is-card { display: flex; flex-direction: column; gap: 16px; min-height: 240px; padding: 28px; border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); text-decoration: none; color: var(--ink); }
.is-k { font: 500 13px/1 var(--body); color: var(--green-ink); }
.is-card b { font: 500 clamp(19px, 1.5vw, 22px)/1.3 var(--display); }
.is-m { margin-top: auto; display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-soft); }
.is-m i { font-style: normal; }
.is-all { color: var(--green-ink); font-weight: 500; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
@media (hover: hover) { .is-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.5), 0 30px 60px -40px rgba(10, 41, 23, 0.35); } .is-all:hover { text-decoration: underline; } }
@media (max-width: 860px) { .is-grid { grid-template-columns: 1fr; } .is-card { min-height: 0; } }

/* follow: large, highlighted social buttons */
.ft-soc { display: grid; gap: 10px; width: 100%; }
.ft-soc a { display: grid; grid-template-columns: 48px minmax(0, 1fr) 40px; align-items: center; gap: 16px; padding: 12px 14px 12px 12px; border-radius: 20px; background: rgba(194, 240, 210, 0.08); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.2); color: var(--white); text-decoration: none; position: relative; overflow: hidden; isolation: isolate; transition: color 400ms ease, box-shadow 400ms ease, transform 160ms ease-out; }
.ft-soc a::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--mint); transform: none; clip-path: inset(0 100% 0 0); transition: clip-path 600ms var(--ease); height: auto; bottom: 0; }
.fs-i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #1E8546; color: var(--white); }
.fs-i svg { width: 20px; height: 20px; }
.fs-t { display: grid; gap: 4px; }
.fs-t b { font: 600 19px/1 var(--display); }
.fs-t i { font: 400 13px/1 var(--body); font-style: normal; opacity: 0.72; }
.fs-a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: inset 0 0 0 1px currentColor; opacity: 0.8; transition: transform 500ms var(--ease); }
.fs-a svg { width: 16px; height: 16px; }
.ft-soc a:active { transform: scale(0.98); }
@media (hover: hover) { .ft-soc a:hover { color: var(--deep); } .ft-soc a:hover::after { clip-path: inset(0 0 0 0); } .ft-soc a:hover .fs-i { background: var(--deep); color: var(--mint); } .ft-soc a:hover .fs-a { transform: rotate(45deg); } }
.eb-word { font-size: min(19vw, calc((100vw - var(--gl) - var(--gr)) / (var(--n, 8) * 0.7))); }
.eb-gl { -webkit-mask-image: radial-gradient(70% 75% at 72% 45%, #000 45%, transparent 90%); mask-image: radial-gradient(70% 75% at 72% 45%, #000 45%, transparent 90%); }
@media (max-width: 900px) {
  .eb { padding-top: calc(var(--wh, 0px) + 400px); }
  .eb-word { top: 96px; }
  .eb-gl { top: 150px; height: 300px; -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000 50%, transparent 95%); mask-image: radial-gradient(60% 60% at 50% 50%, #000 50%, transparent 95%); }
}
@media (max-width: 860px) { .feat .art { min-height: 220px; } }

/* ===== Distill pass: calmer rhythm, fewer competing elements ===== */
.sec { padding: clamp(72px, 8vw, 128px) 0; }
.sec-head { margin-bottom: clamp(32px, 4vw, 56px); }
.is-all { white-space: nowrap; }
.chev-band { height: 40px; }
.cb-strip { background-size: 66px 40px; animation-duration: 6s; }
.ft-nav .ft-row { grid-template-columns: minmax(0, 1fr) auto 56px !important; }
.ft-word { margin-top: clamp(48px, 6vw, 80px); }

/* banner: the word fills once on arrival, then only drifts */
.eb-f { clip-path: inset(0 100% 0 0); transition: clip-path 1800ms cubic-bezier(0.65, 0, 0.35, 1) 500ms; }
.ready .eb-f { clip-path: inset(0 0 0 0); }
.eb-o { -webkit-text-stroke-color: rgba(51, 173, 96, 0.4); }
.eb-f { color: var(--mint-2); -webkit-text-stroke-color: rgba(51, 173, 96, 0.35); }
.eb-side { justify-items: end; }
@media (max-width: 900px) { .eb-side { justify-items: start; } }

/* compact feature grids instead of long lists */
.pg { grid-template-columns: 1fr; gap: clamp(32px, 4vw, 48px); }
.pg-l { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 16px 64px; align-items: end; }
.pg-l .lead { margin-top: 0; }
.pg-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; border-top: 0; }
.pg-i { padding: 24px 0 0; border-bottom: 0; border-top: 1px solid var(--line); align-content: start; }
.pg-i::before { top: -1px; }
.pg-i b { font-size: clamp(18px, 1.4vw, 21px); }
.pg-i p { font-size: 15px; }
@media (max-width: 1080px) { .pg-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; } }
@media (max-width: 760px) { .pg-l { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pg-list { grid-template-columns: 1fr; } }

/* featured: single line graph */
.feat .art svg.fc-svg { inset: 8% 6% 6% 6%; width: 88%; height: 86%; }
.feat .ln1 { stroke-dasharray: 900; stroke-dashoffset: 900; transition: stroke-dashoffset 2200ms var(--ease); }
.feat.in .ln1 { stroke-dashoffset: 0; }
.fc-area { opacity: 0; transition: opacity 1200ms ease 900ms; }
.feat.in .fc-area { opacity: 1; }
.fc-pts circle { opacity: 0; transition: opacity 400ms ease; }
.feat.in .fc-pts circle { opacity: 1; }
.feat.in .fc-pts circle:nth-child(1) { transition-delay: 300ms; } .feat.in .fc-pts circle:nth-child(2) { transition-delay: 500ms; } .feat.in .fc-pts circle:nth-child(3) { transition-delay: 700ms; } .feat.in .fc-pts circle:nth-child(4) { transition-delay: 900ms; } .feat.in .fc-pts circle:nth-child(5) { transition-delay: 1100ms; } .feat.in .fc-pts circle:nth-child(6) { transition-delay: 1300ms; } .feat.in .fc-pts circle:nth-child(7) { transition-delay: 1500ms; }
.fc-end { transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: reduce) { .feat .ln1 { stroke-dashoffset: 0; } .fc-area, .fc-pts circle { opacity: 1; } }

/* legal pointer to verification */
.lg-vcard { display: grid; grid-template-columns: 44px minmax(0, 1fr) 40px; gap: 16px; align-items: center; padding: 20px 22px; margin-bottom: 32px; border-radius: 20px; background: var(--mint-2); color: var(--ink); text-decoration: none; box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.25); transition: box-shadow 300ms ease, transform 160ms ease-out; }
.lg-vcard .vf-i { background: #1E8546; color: var(--white); }
.lg-vcard b { display: block; font: 500 18px/1.3 var(--display); }
.lg-vcard span span { font-size: 14.5px; color: var(--ink-soft); }
.lg-vgo { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--white); }
@media (hover: hover) { .lg-vcard:hover { box-shadow: inset 0 0 0 1px var(--green); } .lg-vcard:hover .ar { transform: translateX(3px); } }
.lg-vcard:active { transform: scale(0.99); }

/* verification page */
.vp { position: relative; padding: calc(150px + env(safe-area-inset-top, 0px)) 0 clamp(72px, 9vw, 120px); background: radial-gradient(60% 80% at 50% 0%, #1B5C36, var(--deep) 70%); color: var(--white); overflow: hidden; }
.vp::before { content: ""; position: absolute; left: 50%; top: 92px; width: 56px; height: 56px; transform: translateX(-50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 2l4.6 13.4L38 20l-13.4 4.6L20 38l-4.6-13.4L2 20l13.4-4.6z' fill='%2333AD60'/%3E%3C/svg%3E") center/contain no-repeat; animation: vpstar 14s linear infinite; opacity: 0.9; }
@keyframes vpstar { to { transform: translateX(-50%) rotate(360deg); } }
.vp-in { max-width: 820px; text-align: center; display: grid; justify-items: center; }
.vp .crumb { color: rgba(224, 248, 232, 0.72); margin-top: 24px; }
.vp .crumb a { color: rgba(224, 248, 232, 0.9); }
.vp-h { margin-top: 18px; font-size: clamp(40px, 6vw, 84px); line-height: 1.04; letter-spacing: -0.03em; color: var(--white); max-width: none; }
.vp-h em.acc { color: var(--mint); }
.vp .lead { margin-top: 18px; max-width: 54ch; color: rgba(224, 248, 232, 0.78); }
.vp-box { width: 100%; margin-top: clamp(32px, 4vw, 48px); text-align: left; }
.vp .vf { padding: 8px; background: var(--white); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.5); }
.vp .vf input { min-height: 56px; font-size: 17px; }
.vp .vf .btn { min-height: 56px; padding: 0 28px; }
.vp .vf-r { box-shadow: 0 20px 60px -30px rgba(0, 0, 0, 0.5); }
.vp .vf-r p { color: var(--ink-soft); }
.vp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px clamp(40px, 6vw, 96px); align-items: start; }
.h3x { font: 500 clamp(24px, 2.2vw, 32px)/1.2 var(--display); color: var(--ink); margin-bottom: 20px; }
.vp-ch, .vp-safe { list-style: none; margin: 0; padding: 0; }
.vp-ch li + li { border-top: 1px solid var(--line); }
.vp-ch a { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: center; padding: 18px 4px; color: var(--ink); text-decoration: none; transition: padding 400ms var(--ease), color 300ms ease; }
.vp-ch a span { font-size: 14px; color: var(--ink-soft); }
.vp-ch a b { font: 500 18px/1.3 var(--display); overflow-wrap: anywhere; }
@media (hover: hover) { .vp-ch a:hover { padding-left: 12px; color: var(--green-ink); } }
.vp-safe { display: grid; gap: 12px; }
.vp-safe li { padding: 22px 24px; border-radius: 20px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.vp-safe b { display: block; font: 500 18px/1.3 var(--display); color: var(--ink); }
.vp-safe p { margin-top: 6px; color: var(--ink-soft); font-size: 15px; }
@media (max-width: 860px) { .vp-grid { grid-template-columns: 1fr; } .vp-ch a { grid-template-columns: 90px minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .vp::before { animation: none; } }
@media (max-width: 900px) { .ft-nav .ft-row { grid-template-columns: minmax(0, 1fr) 44px !important; } }
.eb-bottom { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.eb-side .btns { justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 900px) { .eb-side .btns { justify-content: flex-start; } }

/* ===== Round: contained banners, footer verify strip, old-style stars ===== */
.eb { display: none; }
.hb { padding: calc(120px + env(safe-area-inset-top, 0px)) 0 clamp(48px, 6vw, 80px); background: var(--bg); }
.hb-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: 40px clamp(40px, 5vw, 80px); align-items: center; }
.hb .crumb { margin-bottom: 20px; }
.hb .eb-h { max-width: 14ch; font-size: clamp(40px, 4.8vw, 72px); }
.hb .lead { margin-top: 20px; max-width: 44ch; }
.hb .btns { margin-top: 32px; }
.hb-stage { position: relative; aspect-ratio: 1 / 0.9; border-radius: 32px; overflow: hidden; background: radial-gradient(80% 70% at 60% 35%, var(--white), var(--mint-2) 55%, var(--mint) 100%); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.18); isolation: isolate; }
.hb-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 1; }
.hb-word { position: absolute; z-index: 0; left: 24px; bottom: -0.16em; font: 700 clamp(64px, 8.4vw, 132px)/1 var(--display); letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.5px rgba(51, 173, 96, 0.35); white-space: nowrap; pointer-events: none; }
.hb-star { position: absolute; z-index: 0; right: 28px; top: 28px; width: 40px; height: 40px; fill: var(--green); animation: hbstar 18s linear infinite; }
@keyframes hbstar { to { transform: rotate(360deg); } }
.ready .hb-stage.eb-fade { transition-delay: 250ms; }
@media (max-width: 900px) {
  .hb { padding-top: calc(104px + env(safe-area-inset-top, 0px)); }
  .hb-in { grid-template-columns: 1fr; }
  .hb-stage { aspect-ratio: 1 / 0.72; order: -1; }
  .hb .eb-h { font-size: clamp(36px, 9.5vw, 56px); }
  .hb-word { font-size: 22vw; }
}
@media (prefers-reduced-motion: reduce) { .hb-star { animation: none; } }

/* featured bar chart */
.fb { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 900ms var(--ease); transition-delay: calc(var(--i) * 70ms); }
.feat.in .fb { transform: none; }
.feat .ln1 { transition-delay: 900ms; }
.fc-lg text { font: 500 12px var(--body); fill: rgba(224, 248, 232, 0.7); }
@media (prefers-reduced-motion: reduce) { .fb { transform: none; } }

/* footer socials as rows that match the nav rows */
.ft-soc { display: block; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-d); width: 100%; }
.ft-soc li { border-bottom: 1px solid var(--line-d); }
.ft-soc a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 36px; gap: 14px; align-items: center; padding: 14px 8px; border-radius: 0; background: none; box-shadow: none; color: var(--white); }
.ft-soc a::after { border-radius: 12px; }
.fs-i { width: 36px; height: 36px; border-radius: 10px; background: rgba(194, 240, 210, 0.12); color: var(--mint); }
.fs-i svg { width: 17px; height: 17px; }
.fs-t { display: block; font: 500 clamp(20px, 1.7vw, 24px)/1 var(--display); }
.fs-h { font-size: 13px; color: rgba(224, 248, 232, 0.66); transition: color 300ms ease; }
.fs-a { width: 36px; height: 36px; opacity: 1; box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.3); }
@media (hover: hover) { .ft-soc a:hover .fs-h { color: rgba(10, 41, 23, 0.7); } .ft-soc a:hover .fs-i { background: var(--deep); color: var(--mint); } }
@media (max-width: 420px) { .fs-h { display: none; } .ft-soc a { grid-template-columns: 36px minmax(0, 1fr) 36px; } }

/* account verification strip above the wordmark */
.ft-verify { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr); gap: 24px clamp(40px, 6vw, 96px); align-items: center; margin-top: clamp(56px, 7vw, 96px); padding-top: clamp(28px, 3vw, 40px); padding-bottom: clamp(28px, 3vw, 40px); }
.ft-verify::before { content: ""; position: absolute; left: var(--gl); right: var(--gr); top: 0; bottom: 0; border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); pointer-events: none; }
.fv-l { display: flex; gap: 18px; align-items: center; }
.fv-i { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--mint); color: var(--deep); }
.fv-i svg { width: 24px; height: 24px; }
.fv-l h2 { font: 500 clamp(22px, 2vw, 28px)/1.2 var(--display); color: var(--white); }
.fv-l p { margin-top: 6px; font-size: 15px; color: rgba(224, 248, 232, 0.72); }
.fv-f { display: flex; gap: 6px; padding: 6px; border-radius: 999px; background: rgba(194, 240, 210, 0.08); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.22); transition: box-shadow 300ms ease; }
.fv-f:focus-within { box-shadow: inset 0 0 0 2px var(--mint); }
.fv-f input { flex: 1; min-width: 0; min-height: 44px; padding: 0 16px; border: 0; background: transparent; color: var(--white); font: 400 15px/1 var(--body); outline: none; }
.fv-f input::placeholder { color: rgba(224, 248, 232, 0.6); }
.fv-f button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--mint); color: var(--deep); font: 600 14px/1 var(--display); cursor: pointer; transition: background-color 250ms ease, transform 160ms ease-out; }
.fv-f button svg { width: 14px; height: 14px; }
.fv-f button:active { transform: scale(0.97); }
@media (hover: hover) { .fv-f button:hover { background: var(--white); } }
@media (max-width: 900px) { .ft-verify { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .fv-f { flex-direction: column; border-radius: 20px; } .fv-f button { justify-content: center; } }
.ft-word { margin-top: clamp(32px, 4vw, 56px); }

/* the old footer star: one large, slowly turning shape with hairlines */
.foot { position: relative; overflow: hidden; }
.ft-bigstar { position: absolute; z-index: 0; right: -6vw; top: -10vw; width: clamp(320px, 38vw, 620px); height: auto; fill: rgba(51, 173, 96, 0.14); animation: ftstar 60s linear infinite; pointer-events: none; }
.foot::before, .foot::after { content: ""; position: absolute; z-index: 0; background: rgba(194, 240, 210, 0.07); pointer-events: none; }
.foot::before { left: 0; right: 0; top: clamp(120px, 9vw, 150px); height: 1px; }
.foot::after { top: 0; bottom: 0; right: clamp(150px, 13vw, 250px); width: 1px; }
.ft-main, .ft-word, .ft-legal-row, .ft-fine { position: relative; z-index: 1; }
@keyframes ftstar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ft-bigstar { animation: none; } }
.foot .ft-soc { display: block; gap: 0; }
.foot .ft-soc a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 36px; gap: 14px; align-items: center; padding: 14px 8px; color: var(--white); }
.foot .ft-soc a::after { content: ""; position: absolute; inset: 0; bottom: 0; height: auto; z-index: -1; background: var(--mint); transform: none; clip-path: inset(0 100% 0 0 round 12px); transition: clip-path 600ms var(--ease); }
@media (hover: hover) { .foot .ft-soc a:hover { color: var(--deep); } .foot .ft-soc a:hover::after { transform: none; clip-path: inset(0 0 0 0 round 12px); } }
@media (max-width: 420px) { .foot .ft-soc a { grid-template-columns: 36px minmax(0, 1fr) 36px; } }
.hb .eb-h { max-width: 16ch; font-size: clamp(38px, 4.3vw, 64px); }

/* ===== Round: brand-art banners, feature grids, liquidity flow, single CTAs, Apple-style motion ===== */
:root { --spring: cubic-bezier(0.16, 1, 0.3, 1); }
.hb { display: none; }
.ha { position: relative; overflow: hidden; background: var(--bg); padding: calc(110px + env(safe-area-inset-top, 0px)) 0 0; }
.ha-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px clamp(32px, 5vw, 72px); min-height: min(calc(100svh - 110px), 780px); }
.ha-txt { padding-bottom: clamp(40px, 6vw, 80px); will-change: transform, opacity; }
.ha .crumb { margin-bottom: 22px; }
.ha .eb-h { max-width: 15ch; font-size: clamp(40px, 4.6vw, 70px); line-height: 1.05; letter-spacing: -0.03em; }
.ha .lead { margin-top: 22px; max-width: 44ch; }
.ha-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 34px; }
.ha-art { position: relative; align-self: end; margin-right: calc(-1 * var(--gr)); }
.ha-art svg { display: block; width: 100%; height: auto; max-height: min(78svh, 760px); overflow: visible; }
.ha-l { opacity: 0; translate: 0 60px; transition: opacity 900ms ease, translate 1400ms var(--spring); transition-delay: calc(var(--d) + 200ms); }
.ready .ha-l { opacity: 1; translate: 0 0; }
.ha-draw { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1800ms var(--spring); transition-delay: calc(var(--d) + 250ms); }
.ready .ha-draw { stroke-dashoffset: 0; }
.ha-g, .ha-star { transform-box: fill-box; transform-origin: center; }
.ha-star { animation: hastar 16s linear infinite; }
@keyframes hastar { to { transform: rotate(360deg); } }
.ha-tile > g > * { transition: opacity 400ms ease; }
@media (max-width: 900px) {
  .ha { padding-top: calc(96px + env(safe-area-inset-top, 0px)); }
  .ha-in { grid-template-columns: 1fr; min-height: 0; }
  .ha-art { order: -1; margin: 0 calc(-1 * var(--gr)) 0 auto; width: min(86%, 440px); }
  .ha-txt { padding-bottom: 48px; }
  .ha .eb-h { font-size: clamp(36px, 9.5vw, 54px); }
}
@media (prefers-reduced-motion: reduce) { .ha-l { opacity: 1; translate: none; transition: none; } .ha-draw { stroke-dashoffset: 0; transition: none; } .ha-star { animation: none; } }

/* quiet secondary action beside a single primary button */
.tlink { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 500 15px/1 var(--display); color: var(--ink); text-decoration: none; }
.tlink::after { content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 1.5px; background: currentColor; transform-origin: 0 50%; transition: transform 500ms var(--spring); }
@media (hover: hover) { .tlink:hover::after { transform: scaleX(0.35); } }
.sec.deep .tlink, .dive .tlink { color: inherit; }

/* feature grids: heading column + 2x2 cards, aligned to the same top line */
.fg { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.fg-l { position: sticky; top: 120px; display: grid; justify-items: start; gap: 20px; }
.fg-l .lead { margin: 0; }
.fg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fg-c { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 2.4vw, 32px); border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow 500ms var(--spring), transform 500ms var(--spring); }
.fg-i { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 14px; background: var(--mint-2); color: var(--green-ink); }
.fg-i svg { width: 22px; height: 22px; }
.fg-c h3 { font: 500 clamp(19px, 1.5vw, 22px)/1.25 var(--display); color: var(--ink); }
.fg-c p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
@media (hover: hover) { .fg-c:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.45), 0 30px 60px -40px rgba(10, 41, 23, 0.3); } }
@media (max-width: 960px) { .fg { grid-template-columns: 1fr; } .fg-l { position: static; } }
@media (max-width: 560px) { .fg-grid { grid-template-columns: 1fr; } }

/* why liquidity matters: three outcomes on one flowing line */
.wl-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(48px, 6vw, 80px); }
.wl-sec .wl-head .lead { margin: 0; color: rgba(224, 248, 232, 0.76); }
.wl-flow { position: relative; }
.wl-line { position: absolute; left: 0; right: 0; top: 34px; width: 100%; height: 40px; overflow: visible; }
.wl-line path { fill: none; stroke: rgba(194, 240, 210, 0.35); stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 1800ms var(--spring); }
.wl-flow.in .wl-line path { stroke-dashoffset: 0; }
.wl-cols { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.wl-c { display: grid; gap: 12px; align-content: start; }
.wl-ic { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 14px; border-radius: 50%; background: var(--mint); color: var(--deep); box-shadow: 0 0 0 10px var(--deep); }
.wl-ic svg { width: 28px; height: 28px; }
.wl-c b { font: 500 clamp(20px, 1.7vw, 24px)/1.3 var(--display); color: var(--white); max-width: 18ch; }
.wl-c p { color: rgba(224, 248, 232, 0.72); max-width: 34ch; }
.wl { display: none; }
@media (max-width: 860px) { .wl-head { grid-template-columns: 1fr; } .wl-cols { grid-template-columns: 1fr; gap: 36px; } .wl-line { left: 34px; right: auto; top: 0; bottom: 0; width: 2px; height: 100%; } .wl-line path { d: path("M1 0V40"); } }

/* footer verification result */
.fv-out { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 16px 18px; border-radius: 16px; background: rgba(194, 240, 210, 0.08); animation: qin 500ms var(--spring) both; }
.fv-out[hidden] { display: none; }
.fv-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green); flex: none; }
.fv-out.partial .fv-dot { background: #E0A43A; } .fv-out.bad .fv-dot { background: #E5604F; }
.fv-msg { flex: 1 1 260px; margin: 0; color: var(--white); font-size: 15px; overflow-wrap: anywhere; }
.fv-more { color: var(--mint); font-size: 14px; }

/* Apple-style motion: springier reveals everywhere */
.rv { transition-timing-function: ease, var(--spring); transition-duration: 900ms, 1300ms; }
.feat, .tr-viz, .bento, .vrows, .wl-flow, .fg-grid, .pgrid { will-change: transform; }
@media (max-width: 860px) { .wl-line { display: none; } .wl-ic { margin-bottom: 4px; } }
.btns .tlink { margin-left: 18px; }

/* ===== Portfolio: sticky spotlight ===== */
.ps { position: relative; background: var(--deep); color: var(--white); }
.ps-wrap { position: relative; height: calc(var(--n) * 70vh + 100vh); }
.ps-pin { position: sticky; top: 0; height: 100vh; height: 100svh; display: flex; align-items: center; overflow: hidden; }
.ps-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 80px); align-items: center; width: 100%; }
.ps .h2 { color: var(--white); } .ps .h2 em.acc { color: var(--mint); }
.ps .lead { margin-top: 16px; max-width: 40ch; color: rgba(224, 248, 232, 0.74); }
.ps-list { list-style: none; margin: 36px 0 0; padding: 0; border-top: 1px solid var(--line-d); }
.ps-n { all: unset; box-sizing: border-box; cursor: pointer; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; width: 100%; padding: 16px 0; border-bottom: 1px solid var(--line-d); }
.ps-nt { font: 400 clamp(24px, 2.4vw, 36px)/1.1 var(--display); color: rgba(224, 248, 232, 0.36); transition: color 500ms ease, transform 800ms var(--spring); }
.ps-nc { font-size: 13px; color: rgba(224, 248, 232, 0.45); transition: color 500ms ease; text-align: right; }
.ps-n.on .ps-nt { color: var(--white); transform: translateX(12px); }
.ps-n.on .ps-nc { color: var(--mint); }
@media (hover: hover) { .ps-n:hover .ps-nt { color: rgba(224, 248, 232, 0.75); } .ps-n.on:hover .ps-nt { color: var(--white); } }
.ps-n:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; border-radius: 6px; }
.ps-bar { margin-top: 26px; height: 2px; border-radius: 2px; background: var(--line-d); overflow: hidden; }
.ps-bar i { display: block; height: 100%; background: var(--mint); transform-origin: 0 50%; transform: scaleX(0); }
.ps-stage { position: relative; aspect-ratio: 1.2 / 1; max-height: 76vh; }
.ps-card { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(24px, 3vw, 40px); border-radius: 32px; overflow: hidden; isolation: isolate; text-decoration: none; color: var(--white); background: radial-gradient(90% 90% at 72% 18%, color-mix(in srgb, var(--g) 34%, #08140D), #08140D 76%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); opacity: 0; transform: scale(0.94) translateY(30px); clip-path: inset(12% 0 0 0 round 32px); transition: opacity 700ms ease, transform 1000ms var(--spring), clip-path 1000ms var(--spring); pointer-events: none; }
.ps-card.on { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 32px); pointer-events: auto; }
.ps-glow { position: absolute; z-index: -1; width: 70%; aspect-ratio: 1; right: -15%; top: -25%; border-radius: 50%; background: var(--g); opacity: 0.28; filter: blur(80px); transition: transform 1600ms var(--spring); }
.ps-card.on .ps-glow { transform: translate(-8%, 8%); }
.ps-tag { align-self: flex-start; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.1); font-size: 13px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ps-logo { align-self: center; width: min(46%, 320px) !important; color: var(--white); transform: scale(0.9); transition: transform 1200ms var(--spring) 100ms; }
.ps-logo svg { width: 100%; height: auto; }
.ps-card.on .ps-logo { transform: none; }
.ps-star { align-self: center; width: clamp(80px, 9vw, 130px); fill: var(--green); animation: hastar 16s linear infinite; }
.ps-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.ps-foot b { display: block; font: 500 clamp(20px, 1.7vw, 24px)/1.2 var(--display); }
.ps-foot > span > span { display: block; margin-top: 8px; max-width: 44ch; font-size: 15px; color: rgba(255, 255, 255, 0.74); }
.ps-go { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--white); color: var(--deep); font: 500 14px/1 var(--display); transition: transform 300ms var(--spring); }
.ps-go svg { width: 14px; height: 14px; }
.ps-you .ps-go { background: var(--mint); }
@media (hover: hover) { .ps-card:hover .ps-go { transform: translateY(-2px); } .ps-card:hover .ps-glow { opacity: 0.4; } }
.ps-card:active { transform: scale(0.99); }
@media (max-width: 860px) {
  .ps-wrap { height: auto; }
  .ps-pin { position: relative; height: auto; padding: clamp(72px, 12vw, 96px) 0; }
  .ps-grid { grid-template-columns: 1fr; }
  .ps-list, .ps-bar { display: none; }
  .ps-stage { aspect-ratio: auto; max-height: none; display: grid; gap: 14px; }
  .ps-card { position: relative; inset: auto; min-height: 380px; opacity: 1; transform: none; clip-path: none; pointer-events: auto; }
  .ps-foot { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .ps-card, .ps-logo, .ps-glow, .ps-nt { transition: opacity 200ms ease; transform: none !important; clip-path: none !important; } .ps-star { animation: none; } }

/* Portfolio spotlight, softened to sit inside the light site */
.ps { background: var(--mint-3); color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ps .h2 { color: var(--ink); } .ps .h2 em.acc { color: var(--green); }
.ps .lead { color: var(--ink-soft); }
.ps-list { border-top-color: var(--line); }
.ps-n { border-bottom-color: var(--line); }
.ps-nt { color: rgba(16, 36, 55, 0.32); }
.ps-nc { color: rgba(16, 36, 55, 0.45); }
.ps-n.on .ps-nt { color: var(--ink); }
.ps-n.on .ps-nc { color: var(--green-ink); }
@media (hover: hover) { .ps-n:hover .ps-nt { color: rgba(16, 36, 55, 0.7); } .ps-n.on:hover .ps-nt { color: var(--ink); } }
.ps-n:focus-visible { outline-color: var(--green); }
.ps-bar { background: var(--line); } .ps-bar i { background: var(--green); }
.ps-card { color: var(--ink); background: radial-gradient(80% 80% at 70% 15%, var(--white), var(--mint-2) 60%, var(--mint) 120%); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.18), 0 40px 80px -60px rgba(10, 41, 23, 0.35); clip-path: none; transform: scale(0.97) translateY(16px); transition: opacity 600ms ease, transform 900ms var(--spring); }
.ps-card.on { clip-path: none; }
.ps-glow { background: var(--green); opacity: 0.12; filter: blur(90px); }
.ps-tag { background: var(--white); color: var(--green-ink); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.25); }
.ps-logo { color: var(--ink); }
.ps-foot > span > span { color: var(--ink-soft); }
.ps-go { background: var(--deep); color: var(--white); }
.ps-you { background: radial-gradient(90% 90% at 70% 15%, #1E6A3D, var(--deep) 75%); color: var(--white); }
.ps-you .ps-tag { background: rgba(255, 255, 255, 0.1); color: var(--mint); box-shadow: none; }
.ps-you .ps-foot > span > span { color: rgba(224, 248, 232, 0.76); }
.ps-you .ps-go { background: var(--mint); color: var(--deep); }
@media (hover: hover) { .ps-card:hover .ps-glow { opacity: 0.2; } .ps-you:hover .ps-glow { opacity: 0.4; } }
.ps-you .ps-glow { opacity: 0.28; }
.ps-logo { width: min(54%, 360px) !important; }
.ps-card:not(.ps-you)::after { content: ""; position: absolute; z-index: -1; right: -60px; bottom: -60px; width: 260px; height: 260px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0Q56 44 100 50Q56 56 50 100Q44 56 0 50Q44 44 50 0Z' fill='%2333AD60' fill-opacity='0.08'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform 1600ms var(--spring); }
.ps-card.on::after { transform: rotate(45deg); }

/* ===== Polish: scroll progress, opening dark sections, calmer details ===== */
.sp { position: absolute; left: 0; right: 0; top: 0; height: 2px; pointer-events: none; }
.sp i { display: block; height: 100%; background: var(--green); transform-origin: 0 50%; transform: scaleX(0); }
.sec.deep, .orbit.deep { will-change: clip-path; }
.person .ph.has-img img { transition: none; will-change: transform; }
@media (hover: hover) { .person:hover .ph.has-img img { transform: none; } }
.q input::placeholder, input::placeholder, .vf input::placeholder { color: #5C6D7B; }
.fv-f input::placeholder { color: rgba(224, 248, 232, 0.66); }
html { scroll-padding-top: 90px; }
::selection { background: var(--mint); color: var(--deep); }
a, button { -webkit-tap-highlight-color: transparent; }
.btn:active, .tlink:active, .ps-go:active { transform: scale(0.97); }
.h2 { text-wrap: balance; } .lead, p { text-wrap: pretty; }
@media (prefers-reduced-motion: reduce) { .sp i { transition: none; } }

/* ===== Round: Cequire stars, navy accents, infographics, filter fix ===== */
.agrid .acard[hidden], .feat[hidden] { display: none !important; }
.fchip { transition: background-color 300ms ease, color 300ms ease, box-shadow 300ms ease; }

/* orbit stars: curved Cequire star, always slowly turning, faster when in focus */
.o-star { transform-box: fill-box; transform-origin: center; animation: hastar 14s linear infinite; }
.o-node.on .o-star { animation-duration: 5s; }
.ld-star { transform-box: fill-box; transform-origin: center; animation: hastar 2.4s linear infinite; }
@media (prefers-reduced-motion: reduce) { .o-star, .ld-star { animation: none; } }

/* footer: the small drifting stars are gone; only the large slow star stays */
.ft-net { display: none; }

/* team card: the 3D Cequire C */
.p-mark { background: radial-gradient(70% 70% at 50% 42%, var(--white), var(--mint-2) 70%, var(--mint)); }

/* navy accents from the Cequire palette */
.wl-sec { background: var(--navy); }
.wl-sec .wl-ic { box-shadow: 0 0 0 10px var(--navy); }
.wl-sec .wl-line path { stroke: rgba(194, 240, 210, 0.3); }

/* venture: where we come in */
.tl { position: relative; }
.tl-rail { position: absolute; left: 22px; right: 22px; top: 22px; height: 2px; background: rgba(16, 36, 55, 0.12); border-radius: 2px; overflow: hidden; }
.tl-rail i { display: block; height: 100%; background: var(--green); transform-origin: 0 50%; transform: scaleX(0); }
.tl-stages { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.tl-s { display: grid; gap: 10px; align-content: start; }
.tl-dot { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 14px; border-radius: 50%; background: var(--white); box-shadow: inset 0 0 0 1.5px rgba(16, 36, 55, 0.15), 0 0 0 8px var(--mint-3); transition: background-color 500ms ease, box-shadow 500ms ease, transform 700ms var(--spring); }
.tl-dot svg { width: 20px; height: 20px; fill: rgba(16, 36, 55, 0.25); transition: fill 500ms ease; }
.tl-s.on .tl-dot { background: var(--deep); box-shadow: 0 0 0 8px var(--mint-3); transform: scale(1.08); }
.tl-s.on .tl-dot svg { fill: var(--mint); animation: hastar 6s linear infinite; }
.tl-n { font: 500 13px/1 var(--body); color: var(--ink-soft); }
.tl-s b { font: 500 clamp(22px, 1.9vw, 28px)/1.2 var(--display); color: var(--ink); }
.tl-s p { color: var(--ink-soft); font-size: 15px; max-width: 30ch; }
.tl-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.tl-tags em { font-style: normal; font-size: 12.5px; padding: 5px 10px; border-radius: 999px; background: var(--white); color: var(--green-ink); box-shadow: inset 0 0 0 1px rgba(51, 173, 96, 0.25); }
.tl-s { opacity: 0.45; transition: opacity 600ms ease; }
.tl-s.on { opacity: 1; }
@media (max-width: 860px) {
  .tl-stages { grid-template-columns: 1fr; gap: 32px; padding-left: 64px; }
  .tl-rail { left: 22px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .tl-rail i { transform-origin: 50% 0; width: 100%; height: 100%; }
  .tl-dot { position: absolute; left: 0; margin: 0; }
  .tl-s { position: relative; margin-left: -64px; padding-left: 64px; }
}
@media (prefers-reduced-motion: reduce) { .tl-s { opacity: 1; } }

/* liquidity: how an OTC deal works */
.otc { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr) 64px minmax(0, 1fr) 64px minmax(0, 1fr); align-items: center; }
.otc-node { display: grid; gap: 10px; padding: 26px 24px; border-radius: 24px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); min-height: 220px; align-content: start; transition: transform 700ms var(--spring), box-shadow 600ms ease; }
.otc-node:nth-child(odd):last-child, .otc-node:last-child { background: var(--navy); color: var(--white); box-shadow: none; }
.otc-node:last-child b { color: var(--white); } .otc-node:last-child p { color: rgba(224, 248, 232, 0.74); }
.otc-node:last-child .otc-ic { background: var(--mint); color: var(--navy); }
.otc-ic { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 10px; border-radius: 14px; background: var(--mint-2); color: var(--green-ink); }
.otc-ic svg { width: 22px; height: 22px; }
.otc-node b { font: 500 20px/1.25 var(--display); color: var(--ink); }
.otc-node p { font-size: 14.5px; line-height: 1.55; color: var(--ink-soft); }
.otc-link { position: relative; height: 100%; display: flex; align-items: center; }
.otc-track { position: relative; display: block; width: 100%; height: 2px; background: repeating-linear-gradient(90deg, rgba(51, 173, 96, 0.5) 0 6px, transparent 6px 12px); }
.otc-track i { position: absolute; top: 50%; left: 0; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(51, 173, 96, 0.18); opacity: 0; }
.otc.run .otc-track i { animation: otcflow 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite; }
.otc.run .otc-track i + i { animation-delay: 1.2s; }
@keyframes otcflow { 0% { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
.otc.run .otc-node { animation: otcpop 4.8s ease-in-out infinite; animation-delay: calc(var(--i) * 1.2s); }
@keyframes otcpop { 0%, 30%, 100% { box-shadow: inset 0 0 0 1px var(--line); } 10% { box-shadow: inset 0 0 0 2px var(--green), 0 24px 50px -30px rgba(10, 41, 23, 0.4); } }
.otc.run .otc-node:last-child { animation: none; }
@media (max-width: 960px) {
  .otc { grid-template-columns: 1fr; }
  .otc-node { min-height: 0; }
  .otc-link { height: 48px; justify-content: center; }
  .otc-track { width: 2px; height: 100%; background: repeating-linear-gradient(180deg, rgba(51, 173, 96, 0.5) 0 6px, transparent 6px 12px); }
  .otc-track i { left: 50%; top: 0; margin: -5px 0 0 -5px; }
  @keyframes otcflowv { 0% { top: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
  .otc.run .otc-track i { animation-name: otcflowv; }
}
@media (prefers-reduced-motion: reduce) { .otc.run .otc-track i, .otc.run .otc-node { animation: none; } }

/* ===== Liquidity: pricing and co-investment ===== */
.pr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center; }
.pr-l .lead { margin-top: 18px; max-width: 46ch; }
.pr-card { padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line), 0 40px 80px -60px rgba(10, 41, 23, 0.35); }
.pr-top { display: flex; justify-content: space-between; padding-bottom: 14px; font: 500 14px/1 var(--body); color: var(--ink-soft); border-bottom: 1px solid var(--line); }
.pr-t { width: 100%; border-collapse: collapse; }
.pr-t th, .pr-t td { padding: 18px 0; border-bottom: 1px solid var(--line); text-align: left; }
.pr-t th { font: 500 20px/1.2 var(--display); color: var(--ink); width: 34%; white-space: nowrap; }
.pr-t td { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.pr-t td b { font: 500 22px/1 var(--display); color: var(--green-ink); min-width: 92px; text-align: right; }
.tb { flex: 1; height: 10px; border-radius: 999px; background: var(--mint-2); overflow: hidden; }
.tb i { display: block; height: 100%; width: var(--w); border-radius: 999px; background: linear-gradient(90deg, #5BCD85, #1E8546); transform-origin: 0 50%; transform: scaleX(0); transition: transform 1100ms var(--spring); }
.pr-t tr.in .tb i { transform: scaleX(1); }
.pr-t tr:nth-child(2) .tb i { transition-delay: 120ms; } .pr-t tr:nth-child(3) .tb i { transition-delay: 240ms; } .pr-t tr:nth-child(4) .tb i { transition-delay: 360ms; }
.pr-note { margin-top: 16px; font-size: 13.5px; color: var(--ink-soft); }
@media (max-width: 900px) { .pr { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .pr-t th { font-size: 17px; } .pr-t td b { font-size: 18px; min-width: 76px; } }
@media (prefers-reduced-motion: reduce) { .tb i { transform: none; transition: none; } }
.ci-sec { background: var(--navy); }
.ci-head { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.ci-sec .ci-head .lead { margin: 0; color: rgba(224, 248, 232, 0.78); }
.ci-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ci-c { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 2.4vw, 32px); border-radius: 24px; background: rgba(194, 240, 210, 0.06); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.16); }
.ci-i { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 10px; border-radius: 14px; background: var(--mint); color: var(--navy); }
.ci-i svg { width: 22px; height: 22px; }
.ci-c h3 { font: 500 21px/1.25 var(--display); color: var(--white); }
.ci-c p { font-size: 15px; line-height: 1.6; color: rgba(224, 248, 232, 0.74); }
@media (max-width: 1080px) { .ci-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .ci-head { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ci-grid { grid-template-columns: 1fr; } }
.otc-node:last-child { background: var(--navy); }

/* ===== Liquidity: interactive pricing, rank band, co-investor hub ===== */
.pc-top { display: flex; justify-content: space-between; align-items: center; font: 500 14px/1 var(--body); color: var(--ink-soft); }
.pc-k { padding: 6px 10px; border-radius: 999px; background: var(--mint-2); color: var(--green-ink); font-size: 12.5px; }
.pc-seg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 16px; padding: 6px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.pc-seg button { min-height: 44px; border: 0; border-radius: 999px; background: transparent; font: 500 15px/1 var(--display); color: var(--ink); cursor: pointer; transition: background-color 300ms ease, color 300ms ease, transform 160ms ease-out; }
.pc-seg button[aria-pressed="true"] { background: var(--deep); color: var(--white); }
.pc-seg button:active { transform: scale(0.97); }
@media (hover: hover) { .pc-seg button:not([aria-pressed="true"]):hover { background: var(--mint-2); } }
.pc-out { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.pc-out div { padding: 16px 18px; border-radius: 18px; background: var(--mint-3); }
.pc-out span { display: block; font-size: 13px; color: var(--ink-soft); }
.pc-out b { display: block; margin-top: 6px; font: 500 30px/1 var(--display); color: var(--green-ink); letter-spacing: -0.02em; }
.pc-ch { display: block; width: 100%; height: auto; margin-top: 18px; overflow: visible; }
.pc-spot { fill: none; stroke: #9AA8B4; stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1600ms var(--spring); vector-effect: non-scaling-stroke; }
.pc-twap { fill: none; stroke: var(--green); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1600ms var(--spring) 400ms; }
.pc.in .pc-spot, .pc.in .pc-twap { stroke-dashoffset: 0; }
.pc-band, .pc-deal, .pc-ch .t3 { transition: y 600ms var(--spring), height 600ms var(--spring), y1 600ms var(--spring), y2 600ms var(--spring); }
.pc-deal { stroke: var(--deep); stroke-width: 2; stroke-dasharray: 6 6; }
.pc-ch text { font: 500 13px var(--body); fill: #8394A3; } .pc-ch .t2 { fill: var(--green-ink); } .pc-ch .t3 { fill: var(--deep); }
@media (prefers-reduced-motion: reduce) { .pc-spot, .pc-twap { stroke-dashoffset: 0; transition: none; } }
.rk { margin: 6px 0 4px; width: 100%; max-width: 420px; padding: 18px 20px; border-radius: 20px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.rk-t { display: flex; justify-content: space-between; align-items: baseline; font-size: 13.5px; color: var(--ink-soft); }
.rk-t b { font: 500 22px/1 var(--display); color: var(--green-ink); }
.rk-bar { position: relative; height: 12px; margin-top: 14px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.rk-band { position: absolute; left: 10%; width: 70%; top: 0; bottom: 0; border-radius: 999px; background: linear-gradient(90deg, #5BCD85, #1E8546); transform-origin: 0 50%; transform: scaleX(0); transition: transform 1200ms var(--spring) 200ms; }
.rk.in .rk-band { transform: scaleX(1); }
.rk-m { position: absolute; top: 50%; left: 10%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 3px var(--green); opacity: 0; }
.rk.in .rk-m { opacity: 1; animation: rkscan 4s var(--spring) 1.2s infinite alternate; }
@keyframes rkscan { from { left: 10%; } to { left: 80%; } }
.rk-s { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11.5px; color: #8394A3; }
@media (prefers-reduced-motion: reduce) { .rk-band { transform: none; } .rk.in .rk-m { animation: none; } }
.hub { margin: 0 0 clamp(24px, 3vw, 40px); padding: clamp(10px, 2vw, 24px); border-radius: 28px; background: rgba(194, 240, 210, 0.05); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.12); }
.hub svg { display: block; width: 100%; height: auto; }
.hub-l path { fill: none; stroke: rgba(194, 240, 210, 0.35); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1400ms var(--spring); }
.hub.in .hub-l path { stroke-dashoffset: 0; }
.hub.in .hub-l path:nth-child(2) { transition-delay: 150ms; } .hub.in .hub-l path:nth-child(3) { transition-delay: 300ms; } .hub.in .hub-l path:nth-child(4) { transition-delay: 600ms; }
.hub-dots circle { fill: var(--mint); }
.hub rect { fill: rgba(194, 240, 210, 0.08); stroke: rgba(194, 240, 210, 0.3); }
.hub text { font: 500 19px var(--display); fill: var(--white); text-anchor: middle; }
.hub .hc { fill: var(--green); stroke: none; } .hub .hc-t { font-size: 22px; } .hub .hc-s { font: 500 15px var(--body); fill: rgba(255, 255, 255, 0.85); }
.hub .hp { fill: var(--mint); stroke: none; } .hub .hp-t { fill: var(--navy); }
@media (max-width: 640px) { .hub text { font-size: 24px; } .hub .hc-s { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .hub-dots { display: none; } .hub-l path { stroke-dashoffset: 0; } }
.pc-seg button { white-space: nowrap; }
@media (max-width: 480px) { .pc-seg button { font-size: 13px; padding: 0 4px; } .pc-out b { font-size: 24px; } }
@media (max-width: 640px) { .hub { display: none; } }

/* ===== Liquidity: why build treasury (comparison) ===== */
.wt-sec { position: relative; overflow: hidden; background: radial-gradient(60% 70% at 85% 0%, #1E6A3D, transparent 60%), radial-gradient(50% 60% at 0% 100%, rgba(30, 76, 122, 0.45), transparent 60%), var(--deep); color: var(--white); }
.wt-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 20px 64px; align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.wt-sec .h2 { color: var(--white); } .wt-sec .h2 em.acc { color: var(--mint); }
.wt-sec .wt-head .lead { margin: 0; color: rgba(224, 248, 232, 0.78); }
.wt-cmp { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); align-items: stretch; }
.wt-p { position: relative; padding: clamp(24px, 2.6vw, 36px); border-radius: 28px; display: flex; flex-direction: column; gap: 18px; }
.wt-a { background: rgba(255, 255, 255, 0.04); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.12); }
.wt-b { background: linear-gradient(160deg, rgba(51, 173, 96, 0.28), rgba(51, 173, 96, 0.08)); box-shadow: inset 0 0 0 1px rgba(91, 205, 133, 0.5), 0 40px 80px -50px rgba(51, 173, 96, 0.6); }
.wt-top { display: flex; justify-content: space-between; align-items: center; }
.wt-k { font: 500 clamp(19px, 1.6vw, 23px)/1.2 var(--display); }
.wt-a .wt-k { color: rgba(224, 248, 232, 0.6); }
.wt-tag { padding: 6px 12px; border-radius: 999px; background: var(--mint); color: var(--deep); font: 600 12.5px/1 var(--body); }
.wt-ch { width: 100%; height: 150px; display: block; overflow: visible; }
.wl1 { fill: none; stroke: rgba(224, 248, 232, 0.4); stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; }
.wl2 { fill: none; stroke: var(--mint); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; }
.wl2a { fill: url(#wtg); opacity: 0; }
.wt-cmp.in .wl1 { stroke-dashoffset: 0; transition: stroke-dashoffset 1800ms var(--spring); }
.wt-cmp.in .wl2 { stroke-dashoffset: 0; transition: stroke-dashoffset 1800ms var(--spring) 300ms; }
.wt-cmp.in .wl2a { opacity: 1; transition: opacity 1200ms ease 900ms; }
.wt-tr span { font-size: 13.5px; color: rgba(224, 248, 232, 0.75); }
.wt-bar { height: 12px; margin-top: 8px; border-radius: 999px; background: rgba(194, 240, 210, 0.12); overflow: hidden; }
.wt-bar i { display: block; height: 100%; width: 100%; border-radius: 999px; background: linear-gradient(90deg, #33AD60, #C2F0D2); transform-origin: 0 50%; transform: scaleX(0); }
.wt-cmp.in .wt-bar i { transform: scaleX(1); transition: transform 1400ms var(--spring) 700ms; }
.wt-l { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: 10px; }
.wt-l li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.45; }
.wt-l i { flex: none; width: 10px; height: 10px; border-radius: 50%; }
.wt-a .wt-l li { color: rgba(224, 248, 232, 0.6); } .wt-a .wt-l i { background: rgba(224, 248, 232, 0.3); }
.wt-b .wt-l li { color: var(--white); } .wt-b .wt-l i { background: var(--mint); box-shadow: 0 0 0 4px rgba(194, 240, 210, 0.15); }
.wt-vs { align-self: center; justify-self: center; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--deep); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.3); font: 500 15px/1 var(--display); color: var(--mint); }
.wt-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(28px, 3vw, 40px); }
.wt-c { display: flex; flex-direction: column; gap: 10px; padding: clamp(22px, 2.2vw, 30px); border-radius: 24px; background: rgba(194, 240, 210, 0.06); box-shadow: inset 0 0 0 1px rgba(194, 240, 210, 0.14); transition: transform 500ms var(--spring), background-color 400ms ease, box-shadow 400ms ease; }
.wt-i { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 8px; border-radius: 14px; background: var(--mint); color: var(--deep); }
.wt-i svg { width: 22px; height: 22px; }
.wt-c h3 { font: 500 clamp(18px, 1.5vw, 21px)/1.3 var(--display); color: var(--white); }
.wt-c p { font-size: 15px; line-height: 1.6; color: rgba(224, 248, 232, 0.74); }
@media (hover: hover) { .wt-c:hover { transform: translateY(-4px); background: rgba(194, 240, 210, 0.1); box-shadow: inset 0 0 0 1px rgba(91, 205, 133, 0.5); } }
@media (max-width: 900px) { .wt-head { grid-template-columns: 1fr; } .wt-cmp { grid-template-columns: 1fr; gap: 0; } .wt-vs { margin: -14px auto; position: relative; z-index: 1; } .wt-cards { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .wl1, .wl2 { stroke-dashoffset: 0; } .wl2a { opacity: 1; } .wt-bar i { transform: none; } }
.wt-tr-a span { color: rgba(224, 248, 232, 0.55); }
.wt-tr-a .wt-bar i { width: 28%; background: rgba(224, 248, 232, 0.35); }

/* ===== Liquidity pricing: evaluation-based ===== */
.pr-steps { list-style: none; margin: 26px 0 0; padding: 0; counter-reset: ps; display: grid; gap: 10px; max-width: 460px; }
.pr-steps li { counter-increment: ps; display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; align-items: center; padding: 12px 16px; border-radius: 16px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
.pr-steps li::before { content: counter(ps); grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--deep); color: var(--mint); font: 600 14px/1 var(--display); }
.pr-steps b { font: 500 17px/1.25 var(--display); color: var(--ink); } .pr-steps span { font-size: 14px; color: var(--ink-soft); }
.pc-ch.sm { margin-top: 10px; }
.pc-top2 { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.fxs { display: grid; gap: 8px; margin-top: 14px; }
.fx { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.fx-n { font: 500 15px/1.3 var(--body); color: var(--ink); }
.fx-t { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); }
.fx-t button { min-height: 34px; min-width: 92px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; font: 500 13.5px/1 var(--body); color: var(--ink-soft); cursor: pointer; white-space: nowrap; transition: background-color 250ms ease, color 250ms ease, transform 160ms ease-out; }
.fx-t button[aria-pressed="true"] { background: var(--deep); color: var(--white); }
.fx-t button:active { transform: scale(0.97); }
@media (hover: hover) { .fx-t button:not([aria-pressed="true"]):hover { color: var(--ink); background: var(--mint-2); } }
.gauge { margin-top: 20px; }
.g-l { display: flex; justify-content: space-between; font: 500 13px/1 var(--body); color: var(--ink-soft); }
.g-bar { position: relative; height: 14px; margin-top: 10px; border-radius: 999px; background: linear-gradient(90deg, #C2F0D2, #5BCD85 50%, #1E8546); }
.g-m { position: absolute; top: 50%; left: 8%; width: 26px; height: 26px; margin: -13px 0 0 -13px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 4px var(--deep), 0 8px 18px -6px rgba(10, 41, 23, 0.5); transition: left 700ms var(--spring); }
@media (max-width: 480px) { .fx { grid-template-columns: 1fr; gap: 6px; } .fx-t button { min-width: 0; flex: 1; } .fx-t { display: flex; } }
@media (prefers-reduced-motion: reduce) { .g-m { transition: none; } }
/* How we price — simple */
.ps2 { display: grid; gap: 0; padding: 0; overflow: hidden; }
.ps2-row { padding: clamp(22px, 2.6vw, 34px); }
.ps2-row + .ps2-row { border-top: 1px solid var(--line); }
.ps2-h { display: grid; gap: 8px; }
.ps2-h b { font: 500 22px/1.2 var(--display); letter-spacing: -0.01em; color: var(--ink); }
.ps2-h span { font-size: 15.5px; line-height: 1.55; color: var(--ink-soft); max-width: 48ch; }
.ps2 .pc-ch { margin-top: 18px; width: 100%; height: auto; }
.ps2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.ps2-chips li { padding: 8px 14px; border-radius: 999px; background: var(--mint-3); box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; color: var(--green-ink); }
.pr-r.in .pc-spot, .pr-r.in .pc-twap { stroke-dashoffset: 0; }
/* Cequire leads — direct co-investment lanes */
.hub2 .hub-l path.ld { stroke: var(--green); stroke-width: 3; }
.hub2 .hub-dots circle.ld { fill: var(--green); }
.hub2 .hub-cap { font: 500 15px var(--body); fill: rgba(224, 248, 232, 0.6); text-anchor: start; }
.hub2 .hp-s { font: 500 14px var(--body); fill: rgba(16, 36, 55, 0.7); }
/* Comfortable tap targets on touch screens */
@media (pointer: coarse), (max-width: 1023px) {
  .logo { display: inline-flex; align-items: center; min-height: 44px; }
  .crumb a { display: inline-flex; align-items: center; min-height: 44px; margin: -11px 0; }
  .mail a, a.m[href^="mailto"] { display: inline-flex; align-items: center; min-height: 44px; margin: -10px 0; }
}
@media (max-width: 480px) { .hero canvas.gl[data-mark="hero"] { opacity: 0.5; } }
