/* Trustvolt Energy Group — site stylesheet v3
   Two base tones + one accent:
   --green   #0E2A22  deep brand green (headings, dark sections, footer)
   --cream   #F7F6F2  warm off-white ground (plus white cards)
   --sun     #F6B92B  single accent (buttons, highlights, numbers on dark)
   Everything else is a tint of these.
   Fonts are self-hosted (no Google Fonts request).
*/

@font-face { font-family: "Inter"; font-weight: 400; font-display: swap; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-display: swap; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); }

:root {
  --green: #0E2A22;
  --green-2: #1F4D3A;
  --green-3: #2F6B53;
  --green-tint: #E7EFEA;
  --cream: #F7F6F2;
  --white: #FFFFFF;
  --sun: #F6B92B;
  --sun-2: #FFD166;
  --text: #13201A;
  --muted: #56645D;
  --line: #E1E3DC;
  --on-dark: #F1F5F2;
  --on-dark-2: rgba(241,245,242,.72);
  --line-dark: rgba(255,255,255,.14);
  --head: "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;
  --body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --wrap: 1220px;
  --r: 20px;
  --r-sm: 12px;
  --ease: cubic-bezier(.2,.7,.2,1);
  --shadow: 0 1px 2px rgba(14,42,34,.05), 0 18px 40px -18px rgba(14,42,34,.22);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font-family: var(--body); font-size: 17px; line-height: 1.65; color: var(--text); background: var(--cream); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--green-2); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--green); }
:focus-visible { outline: 2px solid var(--sun); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--sun-2); color: var(--green); }

h1, h2, h3, h4 { font-family: var(--head); color: var(--green); margin: 0 0 .5em; letter-spacing: -.025em; line-height: 1.1; font-weight: 700; }
h1 { font-size: clamp(2.4rem, 4.6vw, 3.9rem); font-weight: 800; letter-spacing: -.028em; line-height: 1.04; }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); letter-spacing: -.022em; }
h3 { font-size: clamp(1.2rem, 1.6vw, 1.4rem); letter-spacing: -.015em; line-height: 1.25; }
h4 { font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.hl { background: linear-gradient(transparent 64%, rgba(242,169,59,.55) 64%, rgba(242,169,59,.55) 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .06em; }
p { margin: 0 0 1.1em; max-width: 66ch; }
ul, ol { padding-left: 1.2em; max-width: 66ch; }
li { margin-bottom: .4em; }
strong { font-weight: 600; }
small, .small { font-size: .86rem; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px) { .wrap { padding: 0 20px; } body { font-size: 16px; } }
.skip { position: absolute; left: -999px; top: 8px; background: var(--sun); color: var(--green); padding: 8px 12px; z-index: 200; }
.skip:focus { left: 8px; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 700 .76rem/1 var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--green-3); margin-bottom: 18px; }
.eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--sun); }
.dark .eyebrow { color: var(--sun-2); }

/* ---------- Header ---------- */
.hdr { position: sticky; top: 0; z-index: 100; background: rgba(247,246,242,.88); backdrop-filter: blur(14px) saturate(150%); -webkit-backdrop-filter: blur(14px) saturate(150%); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.hdr.scrolled { border-bottom-color: var(--line); box-shadow: 0 8px 30px -20px rgba(14,42,34,.35); }
.hdr .wrap { display: flex; align-items: center; gap: 24px; min-height: 78px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--green); margin-right: auto; }
.brand svg { width: 38px; height: 38px; flex: none; }
.brand .word { font: 800 1.08rem/1 var(--head); letter-spacing: -.02em; }
.brand .word small { display: block; font: 600 .62rem/1 var(--head); letter-spacing: .2em; color: var(--muted); margin-top: 5px; text-transform: uppercase; }
.brand:hover { color: var(--green); }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; max-width: none; }
.nav li { margin: 0; }
.nav a { display: block; padding: 9px 13px; border-radius: 999px; text-decoration: none; color: var(--text); font: 600 .92rem var(--head); letter-spacing: -.01em; transition: background .2s; }
.nav a:hover { background: var(--green-tint); color: var(--green); }
.nav a[aria-current="page"] { background: var(--green); color: #fff; }
.hdr-tools { display: flex; align-items: center; gap: 14px; }
.lang-switch { font: 700 .76rem var(--head); letter-spacing: .1em; color: var(--muted); text-decoration: none; }
.lang-switch b { color: var(--green); }
.nav-toggle { display: none; background: var(--white); border: 1px solid var(--line); color: var(--green); border-radius: 999px; font: 600 .86rem var(--head); padding: 9px 16px; cursor: pointer; }
.nav .nav-cta, .nav .nav-lang { display: none; }
@media (max-width: 1100px) { .nav .nav-lang { display: block; } }
@media (max-width: 520px) { .hdr-tools .lang-switch { display: none; } .hdr .wrap { flex-wrap: wrap; } }
@media (max-width: 1100px) {
  .hdr .wrap { flex-wrap: wrap; min-height: 68px; gap: 12px; }
  .nav-toggle { display: inline-block; }
  .hdr-tools .btn { display: none; }
  .nav { display: none; width: 100%; order: 10; padding: 4px 0 18px; }
  .hdr.open .nav { display: block; }
  .nav ul { flex-direction: column; gap: 4px; }
  .nav a { padding: 13px 16px; font-size: 1.02rem; }
  .nav .nav-cta { display: block; margin-top: 8px; }
  .nav .nav-cta a { background: var(--sun); color: var(--green); }
}
@media (max-width: 480px) { .brand .word small { display: none; } .brand svg { width: 32px; height: 32px; } }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; font: 700 .93rem/1.2 var(--head); letter-spacing: -.005em; text-decoration: none; border: 1.5px solid var(--green); color: var(--green); background: transparent; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s var(--ease), box-shadow .2s; }
.btn::after { content: "→"; transition: transform .2s var(--ease); }
.btn:hover { transform: translateY(-1px); background: var(--green-tint); color: var(--green); }
.btn:hover::after { transform: translateX(3px); }
.btn.primary, .btn.sun { background: var(--sun); border-color: var(--sun); color: var(--green); box-shadow: 0 10px 24px -12px rgba(242,169,59,.9); }
.btn.primary:hover, .btn.sun:hover { background: var(--sun-2); border-color: var(--sun-2); }
.btn.dark { background: var(--green); border-color: var(--green); color: #fff; }
.btn.dark:hover { background: var(--green-2); border-color: var(--green-2); color: #fff; }
.btn.light { border-color: rgba(255,255,255,.4); color: #fff; }
.btn.light:hover { background: rgba(255,255,255,.1); border-color: #fff; color: #fff; }
.btn.sm { padding: 10px 18px; font-size: .86rem; }
.btn.noarrow::after { display: none; }
.btn + .btn { margin-left: 10px; }
.actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.actions .btn + .btn { margin-left: 0; }
.link { font: 700 .95rem var(--head); color: var(--green); text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.link::after { content: "→"; transition: transform .2s var(--ease); }
.link:hover::after { transform: translateX(3px); }
.dark .link { color: var(--sun-2); }

/* ---------- Sections ---------- */
.section { padding: 112px 0; position: relative; }
.section.alt { background: var(--white); }
.section.tint { background: var(--green-tint); }
.section.dark, .dark { background: var(--green); color: var(--on-dark); }
@media (max-width: 860px) { .section { padding: 72px 0; } }
.dark h1, .dark h2, .dark h3 { color: #fff; }
.dark p { color: var(--on-dark-2); }
.dark a:not(.btn) { color: var(--sun-2); }
.section-head { margin-bottom: 52px; max-width: 760px; }
.section-head p { font-size: 1.12rem; color: var(--muted); }
.dark .section-head p { color: var(--on-dark-2); }
.section-head.center { text-align: center; margin-left: auto; margin-right: auto; }
.section-head.center p { margin-left: auto; margin-right: auto; }
.section-head.row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; max-width: none; }
.section-head.row > :first-child { max-width: 700px; }
.section-head.row > p { max-width: 460px; margin: 0; }
@media (max-width: 860px) { .section-head.row { display: block; } .section-head.row > p { margin-top: 12px; } }
.intro { font-size: 1.2rem; line-height: 1.6; color: var(--text); }

.grid { display: grid; gap: 24px; }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.grid.three { grid-template-columns: repeat(3, 1fr); }
.grid.four { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px) { .grid.four, .grid.three { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .grid.two, .grid.three, .grid.four { grid-template-columns: 1fr; } }
.grid.two > div > h3 { margin-top: 1.4em; }
.grid.two > div > h3:first-child { margin-top: 0; }

.panel { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 32px 30px 28px; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.panel:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.panel h3 { margin-top: 0; }
.panel p, .panel ul { color: var(--muted); }
.panel p:last-child, .panel ul:last-child { margin-bottom: 0; }
.panel ul { list-style: none; padding: 0; }
.panel ul li { position: relative; padding-left: 22px; }
.panel ul li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--sun); }
.panel .icon { width: 50px; height: 50px; padding: 12px; border-radius: 14px; background: var(--green-tint); color: var(--green-2); margin-bottom: 20px; box-sizing: border-box; }
.section.alt .panel { background: var(--cream); border-color: transparent; }
.dark .panel { background: rgba(255,255,255,.05); border-color: var(--line-dark); }
.dark .panel p, .dark .panel ul { color: var(--on-dark-2); }
.num-tag { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 12px; background: var(--green); color: var(--sun); font: 800 1rem var(--head); margin-bottom: 18px; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.split.center { align-items: center; }
.split.wide-left { grid-template-columns: 1.2fr 1fr; }
@media (max-width: 960px) { .split, .split.wide-left { grid-template-columns: 1fr; gap: 40px; } }

/* Facts */
.facts { list-style: none; padding: 0; margin: 0; max-width: none; }
.facts li { display: grid; grid-template-columns: minmax(140px, 40%) 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); margin: 0; }
.facts .k { color: var(--muted); font-size: .9rem; }
.facts .v { font-weight: 600; }
.dark .facts li { border-color: var(--line-dark); }
.dark .facts .k { color: var(--on-dark-2); }
.dark .facts .v { color: #fff; }
@media (max-width: 560px) { .facts li { grid-template-columns: 1fr; gap: 2px; } }

/* Placeholder for data that must come from the fund documents */
.ph { letter-spacing: 0; word-spacing: normal; font-family: var(--body); display: inline-block; padding: 1px 9px; border: 1.5px dashed var(--sun); border-radius: 8px; background: rgba(242,169,59,.12); color: inherit; font-weight: 600; font-size: .92em; }

/* Steps */
.steps { list-style: none; padding: 0; margin: 0; max-width: none; counter-reset: s; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.steps li { counter-increment: s; margin: 0; padding: 28px 26px; background: var(--white); border-radius: var(--r); border: 1px solid var(--line); }
.steps li::before { content: counter(s, decimal-leading-zero); display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--sun); color: var(--green); font: 800 .95rem var(--head); margin-bottom: 18px; }
.steps h3 { font-size: 1.15rem; }
.steps p { font-size: .95rem; color: var(--muted); margin: 0; }
.section.alt .steps li { background: var(--cream); border-color: transparent; }
.dark .steps li { background: rgba(255,255,255,.05); border-color: var(--line-dark); }
.dark .steps p { color: var(--on-dark-2); }
@media (max-width: 960px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }
.steps.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .steps.three { grid-template-columns: 1fr; } }

/* Figures */
.figures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.figures > div { background: var(--white); border-radius: var(--r); padding: 26px 24px; border: 1px solid var(--line); }
.figures .num { font: 800 clamp(2rem, 3.4vw, 2.8rem)/1 var(--head); letter-spacing: -.04em; color: var(--green); margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.figures .num small { font-size: .45em; font-weight: 700; letter-spacing: 0; color: var(--green-3); margin-left: 4px; }
.figures .lab { color: var(--muted); font-size: .92rem; line-height: 1.45; }
.dark .figures > div { background: rgba(255,255,255,.05); border-color: var(--line-dark); }
.dark .figures .num { color: var(--sun); }
.dark .figures .num small { color: var(--sun-2); }
.dark .figures .lab { color: var(--on-dark-2); }
@media (max-width: 860px) { .figures { grid-template-columns: 1fr 1fr; } }

/* Tables */
.table-wrap { overflow-x: auto; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; padding: 17px 20px; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { background: var(--green); color: #fff; font: 700 .74rem var(--head); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
tbody tr:hover { background: var(--cream); }
tbody tr:last-child td { border-bottom: 0; }
td:first-child { font: 700 1rem var(--head); color: var(--green); }
td.stage { white-space: nowrap; }
.tag { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 4px 12px; font: 700 .76rem var(--head); background: var(--green-tint); color: var(--green); }
.tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-3); }
.tag.live { background: var(--sun); }
.tag.live::before { background: var(--green); }

/* Statement */
.statement { margin: 32px 0; padding: 26px 28px; border-radius: var(--r); background: var(--green); color: #fff; font: 700 clamp(1.15rem, 1.8vw, 1.4rem)/1.35 var(--head); letter-spacing: -.015em; max-width: 34ch; position: relative; }
.statement::before { content: "“"; display: block; color: var(--sun); font-size: 2.6rem; line-height: .6; margin-bottom: 8px; }
.notice { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 26px 30px; font-size: .92rem; color: var(--muted); }
.notice p { max-width: none; }
.notice p:last-child { margin-bottom: 0; }
.notice strong { color: var(--text); }

/* People */
.people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.person { background: var(--white); border-radius: var(--r); padding: 14px 14px 26px; border: 1px solid var(--line); }
.section.alt .person { background: var(--cream); border-color: transparent; }
.person .portrait { position: relative; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; margin-bottom: 20px; background: linear-gradient(160deg, var(--green-tint), #CFE0D6); display: grid; place-items: center; font: 800 3.2rem var(--head); color: var(--green-2); letter-spacing: -.03em; }
.person .portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.person h3, .person .role, .person p { padding: 0 10px; }
.person h3 { font-size: 1.25rem; margin-bottom: .2em; }
.person .role { color: var(--green-3); font: 700 .74rem var(--head); letter-spacing: .1em; text-transform: uppercase; margin-bottom: .9em; }
.person p { font-size: .94rem; color: var(--muted); margin: 0; }
@media (max-width: 860px) { .people { grid-template-columns: 1fr; max-width: 440px; } }

/* Regions */
.regions { list-style: none; padding: 0; margin: 0; max-width: none; columns: 2; column-gap: 32px; }
.regions li { break-inside: avoid; border-bottom: 1px solid var(--line); padding: 14px 0; margin: 0; }
.regions li strong { display: block; font-family: var(--head); color: var(--green); }
.regions li span { color: var(--muted); font-size: .92rem; }
@media (max-width: 640px) { .regions { columns: 1; } }

/* Forms */
.form { background: var(--white); border-radius: var(--r); padding: 40px; box-shadow: var(--shadow); }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 640px) { .form .row { grid-template-columns: 1fr; } .form { padding: 26px 20px; } }
.field { margin-bottom: 18px; }
.field label { display: block; font: 600 .86rem var(--head); margin-bottom: 7px; color: var(--green); }
.field input, .field select, .field textarea { width: 100%; font: inherit; padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--cream); color: var(--text); transition: border-color .2s, box-shadow .2s, background .2s; }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 0; background: #fff; border-color: var(--green-3); box-shadow: 0 0 0 4px rgba(47,107,83,.15); }
.field.check { display: flex; gap: 12px; align-items: flex-start; }
.field.check input { width: auto; margin-top: 5px; accent-color: var(--green-2); }
.field.check label { font: 400 .9rem var(--body); color: var(--muted); margin: 0; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-note { font-size: .84rem; color: var(--muted); }
.alert { display: none; border: 1px solid #B0413E; border-radius: var(--r-sm); background: #FBF1F0; color: #6B1F1D; padding: 14px 18px; margin-bottom: 20px; }
.alert.show { display: block; }
.addr { font-style: normal; line-height: 1.7; }
.addr strong { display: block; color: var(--green); font-family: var(--head); }

.legal p, .legal li { max-width: 72ch; }
.legal h2 { font-size: 1.5rem; margin-top: 1.8em; }
.legal h3 { font-size: 1.15rem; margin-top: 1.4em; }
.diagram { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 26px; }
.diagram svg { display: block; width: 100%; height: auto; }
.diagram figcaption { font-size: .86rem; color: var(--muted); margin-top: 12px; }

/* ---------- Hero (home) ---------- */
.hero { padding: 56px 0 0; }
.hero .wrap.top { display: grid; grid-template-columns: 1.02fr 1fr; gap: 56px; align-items: center; }
.hero h1 { margin-bottom: .4em; }
.hero .lead { font-size: clamp(1.06rem, 1.35vw, 1.2rem); color: var(--muted); max-width: 54ch; }
.hero-art { position: relative; }
.art-card { position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 13; background: #EAF2EE; box-shadow: var(--shadow); }
.art-card svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.chip { position: absolute; display: flex; align-items: center; gap: 10px; background: var(--white); border-radius: 14px; padding: 11px 15px 11px 11px; box-shadow: 0 14px 30px -14px rgba(14,42,34,.4); font: 700 .86rem/1.2 var(--head); color: var(--green); white-space: nowrap; }
.chip i { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--green-tint); font-style: normal; }
.chip i svg { width: 18px; height: 18px; position: static; }
.chip span small { display: block; font: 500 .72rem var(--body); color: var(--muted); }
.chip.c1 { left: -26px; top: 12%; }
.chip.c2 { right: -18px; top: 42%; }
.chip.c3 { left: 8%; bottom: -20px; }
.chip.c3 i { background: var(--sun); }
@media (max-width: 960px) { .hero .wrap.top { grid-template-columns: 1fr; gap: 48px; } .chip.c1 { left: 10px; } .chip.c2 { right: 10px; } }
@media (max-width: 480px) { .chip { font-size: .76rem; padding: 8px 11px 8px 8px; } .chip i { width: 28px; height: 28px; } }
.kpis { margin-top: 84px; display: grid; grid-template-columns: repeat(4, 1fr); background: var(--green); border-radius: 24px; color: #fff; overflow: hidden; }
.kpis > div { padding: 30px 28px; }
.kpis > div + div { border-left: 1px solid var(--line-dark); }
.kpis .num { font: 800 clamp(2rem, 3.6vw, 3rem)/1 var(--head); letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; }
.kpis .num small { font-size: .42em; color: var(--sun); margin-left: 4px; letter-spacing: 0; }
.kpis .lab { font-size: .88rem; color: var(--on-dark-2); margin-top: 10px; line-height: 1.45; }
.kpi-note { font-size: .76rem; color: var(--muted); margin: 14px 0 0; max-width: none; }
@media (max-width: 860px) { .kpis { grid-template-columns: 1fr 1fr; } .kpis > div:nth-child(3) { border-left: 0; } .kpis > div:nth-child(n+3) { border-top: 1px solid var(--line-dark); } }

/* animation in illustrations */
.blades { transform-box: fill-box; transform-origin: center; animation: spin 10s linear infinite; }
.blades.s2 { animation-duration: 13s; } .blades.s3 { animation-duration: 8.5s; }
@keyframes spin { to { transform: rotate(360deg); } }
.flow { stroke-dasharray: 4 10; animation: flow 1.8s linear infinite; }
@keyframes flow { to { stroke-dashoffset: -28; } }
.pulse { animation: pulse 2.6s ease-in-out infinite; }
@keyframes pulse { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .blades, .flow, .pulse, .pin::before { animation: none !important; } }

/* ---------- Sub-page hero ---------- */
.hero-sub { padding: 72px 0 80px; background: var(--cream); }
.hero-sub .inner { max-width: 860px; }
.hero-sub h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem); }
.hero-sub .lead { font-size: 1.18rem; color: var(--muted); max-width: 62ch; }
.hero-sub.band { background: var(--green); }
.hero-sub.band h1 { color: #fff; }
.hero-sub.band .lead { color: var(--on-dark-2); }
.hero-sub.band .eyebrow { color: var(--sun-2); }
.crumb { font: 600 .84rem var(--head); color: var(--muted); margin-bottom: 14px; display: block; text-decoration: none; }
.band .crumb { color: var(--on-dark-2); }

/* ---------- Chain (3 pillars) ---------- */
.chain { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; }
.pillar { position: relative; background: var(--white); border-radius: 24px; overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.pillar:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.pillar .pic { aspect-ratio: 16 / 10; background: #EAF2EE; position: relative; }
.pillar .pic svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pillar .body { padding: 26px 28px 30px; display: flex; flex-direction: column; flex: 1; }
.pillar .k { font: 800 .74rem var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--green-3); margin-bottom: 10px; }
.pillar h3 { font-size: 1.45rem; }
.pillar p { color: var(--muted); font-size: .97rem; }
.pillar ul { list-style: none; padding: 0; margin: 4px 0 18px; font-size: .92rem; color: var(--text); }
.pillar ul li { padding-left: 24px; position: relative; margin-bottom: 6px; }
.pillar ul li::before { content: "✓"; position: absolute; left: 0; color: var(--green-3); font-weight: 700; }
.pillar .link { margin-top: auto; }
.chain .join { position: absolute; top: 120px; width: 44px; height: 44px; border-radius: 50%; background: var(--sun); color: var(--green); display: grid; place-items: center; font: 800 1.1rem var(--head); z-index: 2; box-shadow: 0 0 0 6px var(--cream); }
.chain .join.j1 { left: calc(33.333% - 22px - 7px); }
.chain .join.j2 { left: calc(66.666% - 22px + 7px); }
.section.alt .chain .join { box-shadow: 0 0 0 6px var(--white); }
@media (max-width: 960px) { .chain { grid-template-columns: 1fr; max-width: 560px; } .chain .join { display: none; } }

/* ---------- Synergy grid ---------- */
.syn { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.syn > div { padding: 28px 24px; border-radius: var(--r); background: rgba(255,255,255,.05); border: 1px solid var(--line-dark); }
.syn .n { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--sun); color: var(--green); font: 800 .95rem var(--head); margin-bottom: 18px; }
.syn h3 { color: #fff; font-size: 1.15rem; }
.syn p { font-size: .94rem; margin: 0; }
@media (max-width: 960px) { .syn { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .syn { grid-template-columns: 1fr; } }
.flywheel { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: center; margin-bottom: 56px; }
.flywheel svg { width: 100%; max-width: 500px; display: block; margin: 0 auto; }
@media (max-width: 960px) { .flywheel { grid-template-columns: 1fr; gap: 32px; } }

/* ---------- Fund cards ---------- */
.funds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.fund { position: relative; display: flex; flex-direction: column; border-radius: 24px; padding: 30px 28px; background: var(--white); border: 1px solid var(--line); text-decoration: none; color: var(--text); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.fund:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; color: var(--text); }
.fund .top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; }
.fund .no { font: 800 .78rem var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--green-3); }
.fund .ic { width: 52px; height: 52px; border-radius: 16px; background: var(--green); color: var(--sun); display: grid; place-items: center; }
.fund .ic svg { width: 26px; height: 26px; }
.fund h3 { font-size: 1.5rem; }
.fund p { color: var(--muted); font-size: .96rem; }
.fund dl { margin: 6px 0 24px; display: grid; grid-template-columns: auto 1fr; gap: 9px 16px; font-size: .9rem; }
.fund dt { color: var(--muted); }
.fund dd { margin: 0; font-weight: 600; text-align: right; }
.fund .go { margin-top: auto; font: 700 .95rem var(--head); color: var(--green); display: inline-flex; gap: 8px; }
.fund .go::after { content: "→"; transition: transform .2s; }
.fund:hover .go::after { transform: translateX(3px); }
.fund.feature { background: var(--green); color: #fff; border-color: var(--green); }
.fund.feature h3 { color: #fff; }
.fund.feature p, .fund.feature dt { color: var(--on-dark-2); }
.fund.feature .no { color: var(--sun-2); }
.fund.feature .ic { background: var(--sun); color: var(--green); }
.fund.feature .go { color: var(--sun); }
.fund.feature:hover { color: #fff; }
@media (max-width: 960px) { .funds { grid-template-columns: 1fr; max-width: 560px; } }

/* ---------- Why now ---------- */
.why { display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: center; }
.stat-card { border-radius: 28px; background: var(--white); border: 1px solid var(--line); padding: 44px 40px; }
.stat-card .big { font: 800 clamp(4.5rem, 10vw, 7.5rem)/.9 var(--head); letter-spacing: -.06em; color: var(--green); }
.stat-card .big span { color: var(--sun); }
.stat-card p { margin-top: 18px; font-size: 1.1rem; color: var(--text); }
.stat-card .src { font-size: .78rem; color: var(--muted); margin: 0; }
.bars { display: flex; align-items: flex-end; gap: 18px; height: 150px; margin: 26px 0 8px; }
.bars div { flex: 1; border-radius: 10px 10px 4px 4px; background: var(--green-tint); position: relative; }
.bars div.on { background: var(--green); }
.bars div b { position: absolute; top: -26px; left: 0; right: 0; text-align: center; font: 800 .9rem var(--head); color: var(--green); }
.bars-lab { display: flex; gap: 18px; font: 600 .78rem var(--head); color: var(--muted); }
.bars-lab span { flex: 1; text-align: center; }
.why-list { list-style: none; padding: 0; margin: 0; max-width: none; }
.why-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 22px 0; border-top: 1px solid var(--line); margin: 0; }
.why-list li:last-child { border-bottom: 1px solid var(--line); }
.why-list .n { font: 800 .95rem var(--head); color: var(--green-3); padding-top: 2px; }
.why-list h3 { font-size: 1.15rem; margin-bottom: .3em; }
.why-list p { margin: 0; color: var(--muted); font-size: .96rem; }
@media (max-width: 960px) { .why { grid-template-columns: 1fr; gap: 40px; } }

/* ---------- Case ---------- */
.case { display: grid; grid-template-columns: 1.1fr 1fr; border-radius: 28px; overflow: hidden; background: var(--white); border: 1px solid var(--line); }
.case-visual { position: relative; min-height: 500px; background: #EAF2EE; }
.case-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.case-visual .lbl { position: absolute; top: 18px; padding: 7px 13px; border-radius: 999px; font: 700 .72rem var(--head); letter-spacing: .06em; text-transform: uppercase; }
.case-visual .lbl.then { left: 18px; background: rgba(255,255,255,.9); color: var(--muted); }
.case-visual .lbl.now { right: 18px; background: var(--sun); color: var(--green); }
.case-visual .note { position: absolute; left: 18px; bottom: 14px; font-size: .72rem; color: rgba(14,42,34,.6); background: rgba(255,255,255,.7); padding: 3px 8px; border-radius: 6px; }
.case-body { padding: 52px 48px; display: flex; flex-direction: column; }
.case-body h3 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
.case-body p { color: var(--muted); }
.case-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0 28px; }
.case-stats > div { background: var(--cream); border-radius: 14px; padding: 16px; }
.case-stats .v { font: 800 1.5rem/1 var(--head); color: var(--green); letter-spacing: -.03em; }
.case-stats .l { font-size: .78rem; color: var(--muted); margin-top: 6px; }
.case-body .actions { margin-top: auto; }
@media (max-width: 960px) { .case { grid-template-columns: 1fr; } .case-visual { min-height: 320px; } .case-body { padding: 32px 24px; } }
@media (max-width: 480px) { .case-stats { grid-template-columns: 1fr 1fr; } }

/* ---------- Map ---------- */
.map-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.map { position: relative; aspect-ratio: 800 / 720; border-radius: 28px; overflow: hidden; background: #DCE9E2; border: 1px solid var(--line); }
.map > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.pin { position: absolute; transform: translate(-50%, -50%); width: 20px; height: 20px; border-radius: 50%; background: var(--green); border: 3px solid #fff; padding: 0; cursor: pointer; box-shadow: 0 4px 12px rgba(14,42,34,.35); }
.pin::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 2px solid var(--green-3); animation: ping 2.6s var(--ease) infinite; opacity: 0; }
.pin.live { background: var(--sun); }
.pin.live::before { border-color: var(--sun); }
@keyframes ping { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(2); opacity: 0; } }
.pin:hover, .pin:focus-visible, .pin.active { z-index: 5; }
.pin .tip { position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translateX(-50%) translateY(4px); white-space: nowrap; background: var(--green); color: #fff; border-radius: 12px; padding: 10px 14px; font: 500 .8rem/1.4 var(--body); text-align: left; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s var(--ease); }
.pin .tip b { display: block; font: 700 .95rem var(--head); }
.pin:hover .tip, .pin:focus-visible .tip, .pin.active .tip { opacity: 1; transform: translateX(-50%) translateY(0); }
.map-legend { position: absolute; left: 16px; bottom: 14px; display: flex; gap: 14px; font: 600 .74rem var(--head); color: var(--green); background: rgba(255,255,255,.85); padding: 7px 12px; border-radius: 999px; }
.map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.map-legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--green); display: inline-block; }
.map-legend i.live { background: var(--sun); }
.pipeline { list-style: none; padding: 0; margin: 0; max-width: none; display: grid; gap: 10px; }
.pipeline li { margin: 0; padding: 16px 20px; border-radius: 16px; background: var(--white); border: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; transition: border-color .2s, transform .2s var(--ease); }
.pipeline li:hover, .pipeline li.active { border-color: var(--green-3); transform: translateX(4px); }
.pipeline .nm { font: 700 1.05rem var(--head); color: var(--green); }
.pipeline .ct { font-size: .84rem; color: var(--muted); }
.pipeline .stg { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 960px) { .map-split { grid-template-columns: 1fr; gap: 36px; } }

/* ---------- Quote ---------- */
.quote-band { text-align: center; }
.quote-band blockquote { margin: 0 auto; max-width: 26ch; font: 800 clamp(1.8rem, 3.8vw, 3rem)/1.15 var(--head); letter-spacing: -.035em; color: var(--green); }
.quote-band cite { display: block; margin-top: 24px; font: 700 .8rem var(--head); letter-spacing: .12em; text-transform: uppercase; font-style: normal; color: var(--green-3); }

/* ---------- CTA band ---------- */
.cta-band { border-radius: 32px; background: var(--green); color: #fff; padding: 64px 56px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; position: relative; overflow: hidden; }
.cta-band::after { content: ""; position: absolute; right: -120px; top: -120px; width: 380px; height: 380px; border-radius: 50%; background: var(--sun); opacity: .16; }
.cta-band h2 { color: #fff; margin: 0; }
.cta-band p { color: var(--on-dark-2); margin: 14px 0 0; }
.cta-band .actions { margin: 0; justify-content: flex-end; position: relative; z-index: 1; }
@media (max-width: 860px) { .cta-band { grid-template-columns: 1fr; padding: 40px 26px; } .cta-band .actions { justify-content: flex-start; } }

/* ---------- Fund page ---------- */
.fund-hero { padding: 64px 0 84px; background: var(--green); color: #fff; position: relative; overflow: hidden; }
.fund-hero .wrap { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; }
.fund-hero h1 { color: #fff; font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.fund-hero .lead { color: var(--on-dark-2); font-size: 1.15rem; }
.fund-hero .eyebrow { color: var(--sun-2); }
.fund-hero .crumb { color: var(--on-dark-2); }
.keybox { background: var(--white); color: var(--text); border-radius: 24px; padding: 30px 30px 24px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.5); }
.keybox h3 { font-size: 1.1rem; margin-bottom: 14px; }
.keybox .facts li { padding: 12px 0; }
.keybox .target { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 20px; border-radius: 16px; background: var(--green-tint); margin-bottom: 10px; }
.keybox .target span { font: 600 .86rem var(--head); color: var(--green-3); }
.keybox .target b { font: 800 1.6rem var(--head); color: var(--green); letter-spacing: -.03em; }
.keybox .fine { font-size: .74rem; color: var(--muted); margin: 14px 0 0; }
@media (max-width: 960px) { .fund-hero .wrap { grid-template-columns: 1fr; } }
.risk-list { list-style: none; padding: 0; margin: 0; max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.risk-list li { margin: 0; padding: 18px 20px; background: var(--white); border-radius: 14px; border: 1px solid var(--line); font-size: .93rem; color: var(--muted); }
.risk-list li strong { display: block; color: var(--text); font-family: var(--head); margin-bottom: 2px; }
@media (max-width: 760px) { .risk-list { grid-template-columns: 1fr; } }
.share { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: .9rem; color: var(--muted); }

.doc-list { list-style: none; padding: 0; margin: 0 0 22px; max-width: none; display: grid; gap: 8px; }
.doc-list li { display: flex; align-items: center; gap: 14px; padding: 15px 18px; margin: 0; border-radius: 14px; background: var(--white); border: 1px solid var(--line); font-weight: 600; font-size: .95rem; }
.doc-list li svg { width: 20px; height: 20px; color: var(--green-3); flex: none; }
.doc-list li span { margin-left: auto; display: inline-flex; }

/* ---------- Gate ---------- */
.gate { position: fixed; inset: 0; z-index: 300; display: none; place-items: center; padding: 20px; background: rgba(14,42,34,.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.gate.show { display: grid; }
.gate-card { max-width: 560px; width: 100%; background: var(--white); border-radius: 24px; padding: 40px 36px; box-shadow: 0 30px 80px rgba(0,0,0,.35); max-height: 92vh; overflow: auto; }
.gate-card h2 { font-size: 1.9rem; }
.gate-card p { font-size: .95rem; color: var(--muted); }
.gate-card .opts { display: grid; gap: 10px; margin: 22px 0; }
.gate-card .opts label { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); cursor: pointer; font-size: .92rem; }
.gate-card .opts input { margin-top: 4px; accent-color: var(--green-2); }
.gate-card .btn[disabled] { opacity: .4; pointer-events: none; }

/* ---------- Footer ---------- */
.site-footer { background: var(--green); color: var(--on-dark-2); padding: 80px 0 32px; font-size: .92rem; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--sun-2); }
.site-footer .cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr 1fr; gap: 36px; }
.site-footer h4 { color: var(--sun-2); margin-bottom: 16px; font-size: .72rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 9px; }
.site-footer p { color: var(--on-dark-2); }
.site-footer .brand { color: #fff; margin-bottom: 16px; }
.site-footer .brand .word small { color: var(--on-dark-2); }
.site-footer .addr strong { color: #fff; font-size: .92rem; }
.site-footer .risk { border-top: 1px solid var(--line-dark); margin-top: 52px; padding-top: 24px; font-size: .8rem; line-height: 1.6; }
.site-footer .risk p { max-width: none; color: rgba(241,245,242,.6); }
.site-footer .risk strong { color: #fff; }
.site-footer .bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; font-size: .8rem; color: rgba(241,245,242,.6); }
@media (max-width: 1000px) { .site-footer .cols { grid-template-columns: 1fr 1fr 1fr; } .site-footer .cols > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 560px) { .site-footer .cols { grid-template-columns: 1fr 1fr; } }

/* ---------- Reveal ---------- */
.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.in { opacity: 1; transform: none; }
.js .reveal.d1 { transition-delay: .08s; } .js .reveal.d2 { transition-delay: .16s; } .js .reveal.d3 { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } }

@media print { .hdr, .gate, .nav-toggle { display: none !important; } body { background: #fff; } }

/* v3 additions */
.syn.three { grid-template-columns: repeat(3, 1fr); }
.funds.two { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 860px) { .syn.three, .funds.two { grid-template-columns: 1fr; } }
.meta { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 10px; }
.meta li { margin: 0; padding: 14px 18px; border-radius: 14px; background: var(--white); border: 1px solid var(--line); font-weight: 500; font-size: .95rem; }
.section.alt .meta li { background: var(--cream); border-color: transparent; }
.facts .k, .facts .v { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
html, body { overflow-x: hidden; }

/* =====================================================================
   v4 — "listed tech company" synthesis
   Dark stage (night green) + warm light content + ONE accent (gold).
   ===================================================================== */
@font-face { font-family: "JetBrains Mono"; font-weight: 400; font-display: swap; src: url("../fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-weight: 500; font-display: swap; src: url("../fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2"); }
:root {
  --night: #08140F; --night-2: #0E1F18; --night-3: #13291F;
  --green: #0B231B; --green-2: #1F4D3A; --green-3: #2D624C; --green-tint: #E9EEE9;
  --cream: #F6F4EE; --sun: #F6B92B; --sun-2: #FFD166;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --r: 16px;
}
body { background: var(--cream); }
.mono { font-family: var(--mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
.gold { color: var(--sun); }
.gold-d { color: #B7860F; }
.eyebrow { font-family: var(--mono); font-weight: 500; letter-spacing: .14em; font-size: .72rem; }
.eyebrow::before { width: 18px; height: 1px; border-radius: 0; }
.hl { background: none; padding: 0; }

/* header: dark glass everywhere */
.hdr { position: fixed; left: 0; right: 0; background: transparent; color: #fff; }
.hdr.scrolled, .hdr.open { background: rgba(8,20,15,.82); border-bottom-color: rgba(255,255,255,.08); box-shadow: none; }
.hdr .wrap { min-height: 76px; }
.brand { color: #fff; } .brand:hover { color: #fff; }
.brand .word { white-space: nowrap; }
.brand .word small { color: rgba(255,255,255,.55); white-space: nowrap; }
.nav a { color: rgba(255,255,255,.78); font-weight: 600; }
.nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav a[aria-current="page"] { background: rgba(255,255,255,.12); color: #fff; }
.lang-switch { color: rgba(255,255,255,.55); } .lang-switch b { color: #fff; }
.nav-toggle { background: transparent; border-color: rgba(255,255,255,.25); color: #fff; }
@media (max-width: 1180px) {
  .hdr .wrap { flex-wrap: wrap; min-height: 68px; gap: 12px; }
  .nav-toggle { display: inline-block; }
  .hdr-tools .btn { display: none; }
  .nav { display: none; width: 100%; order: 10; padding: 4px 0 18px; }
  .hdr.open .nav { display: block; }
  .nav ul { flex-direction: column; gap: 4px; }
  .nav .nav-cta, .nav .nav-lang { display: block; }
  .nav .nav-cta a { background: var(--sun); color: var(--night); }
}
main { display: block; }
.btn.sun, .btn.primary { background: var(--sun); border-color: var(--sun); color: var(--night); box-shadow: 0 12px 30px -14px rgba(246,185,43,.8); }
.btn.sun:hover { background: var(--sun-2); border-color: var(--sun-2); color: var(--night); }

/* dark sections */
.dark4 { background: var(--night); color: #E9EEEA; position: relative; overflow: hidden; }
.dark4::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 70% at 85% 10%, rgba(45,98,76,.45), transparent 65%); }
.dark4 > .wrap { position: relative; }
.dark4 h2, .dark4 h3 { color: #fff; }
.dark4 p { color: rgba(233,238,234,.72); }
.dark4 .eyebrow { color: var(--sun); }
.dark4 .intro { color: rgba(233,238,234,.8); }
.dark4 .syn > div { background: rgba(255,255,255,.04); }

/* home hero */
.hero4 { position: relative; overflow: hidden; background: var(--night); color: #fff; padding: 150px 0 0; min-height: min(100vh, 920px); display: flex; flex-direction: column; }
.hero4-bg { position: absolute; inset: 0; background:
  radial-gradient(55% 60% at 75% 45%, rgba(45,98,76,.55), transparent 65%),
  radial-gradient(40% 40% at 10% 100%, rgba(246,185,43,.10), transparent 70%);
}
.hero4-bg::after { content: ""; position: absolute; inset: 0; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 56px 56px; -webkit-mask-image: radial-gradient(70% 80% at 70% 40%, #000, transparent 75%); mask-image: radial-gradient(70% 80% at 70% 40%, #000, transparent 75%); }
.hero4-grid { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; gap: 40px; align-items: center; flex: 1; }
.hero4 h1 { color: #fff; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.03; letter-spacing: -.03em; margin-bottom: .45em; }
.hero4 .eyebrow { color: var(--sun); }
.hero4 .lead { color: rgba(233,238,234,.76); font-size: clamp(1.02rem, 1.25vw, 1.15rem); max-width: 50ch; }
.hero4-art svg { width: 100%; height: auto; display: block; }
@media (max-width: 960px) { .hero4 { padding-top: 120px; min-height: 0; } .hero4-grid { grid-template-columns: 1fr; } .hero4-art { max-width: 560px; margin: 0 auto; } .hero4 h1 br { display: none; } }

/* ticker */
.ticker { position: relative; margin-top: 56px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.02); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.tk-track { display: flex; width: max-content; animation: tick 60s linear infinite; }
.ticker:hover .tk-track { animation-play-state: paused; }
@keyframes tick { to { transform: translateX(-50%); } }
.tk { display: inline-flex; align-items: baseline; gap: 12px; padding: 18px 34px; border-right: 1px solid rgba(255,255,255,.08); font-family: var(--mono); font-size: .76rem; white-space: nowrap; }
.tk-l { color: rgba(233,238,234,.6); text-transform: uppercase; letter-spacing: .06em; }
.tk-v { color: var(--sun); font-weight: 500; font-size: .9rem; }
.tk-s { color: rgba(233,238,234,.35); }
@media (prefers-reduced-motion: reduce) { .tk-track { animation: none; } }
.pulse.d1 { animation-delay: .6s; } .pulse.d2 { animation-delay: 1.2s; } .pulse.d3 { animation-delay: 1.8s; }

/* sub-page hero dark */
.hero-sub4 { position: relative; overflow: hidden; background: var(--night); padding: 170px 0 96px; }
.hero-sub4::before { content: ""; position: absolute; inset: 0; background: radial-gradient(55% 90% at 85% 0%, rgba(45,98,76,.5), transparent 65%); }
.hero-sub4::after { content: ""; position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(60% 90% at 80% 10%, #000, transparent 75%); mask-image: radial-gradient(60% 90% at 80% 10%, #000, transparent 75%); }
.hero-sub4 .wrap { position: relative; z-index: 1; }
.hero-sub4 .inner { max-width: 880px; }
.hero-sub4 h1 { color: #fff; font-size: clamp(2.3rem, 4.4vw, 3.8rem); }
.hero-sub4 .lead { color: rgba(233,238,234,.75); font-size: 1.15rem; max-width: 62ch; }
.hero-sub4 .eyebrow { color: var(--sun); }
.hero-sub4 .hl, .hero-sub4 .gold { color: var(--sun); }
@media (max-width: 860px) { .hero-sub4 { padding: 130px 0 64px; } }
.fund-hero { padding-top: 150px; background: var(--night); }
.fund-hero .tagline { font: 700 clamp(1.2rem, 2vw, 1.6rem)/1.3 var(--head); color: var(--sun); margin: -.2em 0 .8em; letter-spacing: -.015em; }

/* scarcity */
.sc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sc-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 34px 30px 26px; display: flex; flex-direction: column; }
.sc-v { font: 800 clamp(3rem, 5vw, 4.2rem)/1 var(--head); letter-spacing: -.045em; color: var(--night); margin-bottom: 16px; }
.sc-card p { color: var(--muted); }
.sc-card .src { margin-top: auto; color: #B7860F; text-decoration: none; }
@media (max-width: 900px) { .sc-grid { grid-template-columns: 1fr; } }

/* AI section */
.ai-pts { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 14px; max-width: none; }
.ai-pts li { margin: 0; padding: 16px 18px; border-left: 2px solid var(--sun); background: rgba(255,255,255,.03); border-radius: 0 10px 10px 0; }
.ai-pts b { display: block; color: #fff; font-family: var(--head); }
.ai-pts span { color: rgba(233,238,234,.7); font-size: .95rem; }
.glass { border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(255,255,255,.03); backdrop-filter: blur(6px); padding: 36px 32px; }
.rack { display: grid; gap: 26px; }
.rk-l { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rk-l span { color: rgba(233,238,234,.7); font-size: .92rem; }
.rk-l b { font-family: var(--mono); color: var(--sun); font-weight: 500; }
.rk-bar { height: 12px; border-radius: 6px; background: rgba(255,255,255,.06); overflow: hidden; }
.rk-bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, rgba(246,185,43,.55), var(--sun)); transform-origin: left; }
.js .reveal .rk-bar i { transform: scaleX(0); transition: transform 1.4s var(--ease) .3s; }
.js .reveal.in .rk-bar i { transform: scaleX(1); }
.src2 { margin: 26px 0 0; } .src2 a { color: rgba(233,238,234,.45) !important; text-decoration: none; }

/* growth + substance */
.gs { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--line); }
.gs-l, .gs-r { padding: 44px 40px; }
.gs-l { background: var(--night); } .gs-l .mono { color: var(--sun); } .gs-l p { color: rgba(233,238,234,.8); font-size: 1.12rem; margin: 14px 0 0; }
.gs-r { background: var(--white); } .gs-r .mono { color: var(--green-3); } .gs-r p { color: var(--text); font-size: 1.12rem; margin: 14px 0 0; }
.gs-plus { display: grid; place-items: center; width: 64px; background: linear-gradient(90deg, var(--night) 50%, var(--white) 50%); font: 800 1.6rem var(--head); color: var(--sun); }
.gs-c { text-align: center; margin: 30px auto 0; font: 600 1.15rem/1.5 var(--head); color: var(--night); max-width: 60ch; }
@media (max-width: 860px) { .gs { grid-template-columns: 1fr; } .gs-plus { width: auto; height: 48px; background: linear-gradient(180deg, var(--night) 50%, var(--white) 50%); } }

/* fund cards v4 */
.funds4 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fund4 { position: relative; display: flex; flex-direction: column; padding: 30px 28px 28px; border-radius: 20px; background: var(--white); border: 1px solid var(--line); color: var(--text); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.fund4:hover { transform: translateY(-4px); box-shadow: var(--shadow); color: var(--text); }
.f-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; }
.f-top .mono { color: var(--green-3); }
.fund4 .ic { width: 46px; height: 46px; border-radius: 12px; background: var(--night); color: var(--sun); display: grid; place-items: center; }
.fund4 .ic svg { width: 22px; height: 22px; }
.fund4 h3 { font-size: 1.45rem; margin-bottom: .25em; }
.f-tag { font: 700 1.02rem/1.35 var(--head); color: #B7860F; margin-bottom: .8em; }
.fund4 p { color: var(--muted); font-size: .95rem; }
.f-ret { margin: 8px 0 14px; padding: 18px 18px 14px; border-radius: 14px; background: var(--cream); display: grid; gap: 6px; }
.f-ret .mono { color: var(--muted); }
.f-ret b { font: 800 1.7rem/1.1 var(--head); color: var(--night); letter-spacing: -.03em; }
.f-ret small { font-size: .74rem; color: var(--muted); }
.f-inc { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; padding: 4px 2px 18px; }
.f-inc .mono { color: var(--muted); }
.f-inc span:last-child { font-weight: 600; text-align: right; }
.fund4 .go { margin-top: auto; font: 700 .95rem var(--head); color: var(--night); }
.fund4 .go::after { content: " →"; }
.fund4.feature { background: var(--night); border-color: var(--night); color: #fff; }
.fund4.feature h3 { color: #fff; } .fund4.feature p { color: rgba(233,238,234,.72); } .fund4.feature .f-tag { color: var(--sun); }
.fund4.feature .f-top .mono, .fund4.feature .f-inc .mono, .fund4.feature .f-ret .mono, .fund4.feature .f-ret small { color: rgba(233,238,234,.55); }
.fund4.feature .f-ret { background: rgba(255,255,255,.06); } .fund4.feature .f-ret b { color: #fff; }
.fund4.feature .ic { background: var(--sun); color: var(--night); } .fund4.feature .go { color: var(--sun); }
@media (max-width: 960px) { .funds4 { grid-template-columns: 1fr; max-width: 560px; } }

/* example-value marker */
.ph { position: relative; border-color: var(--sun); }
.ph i { font-style: normal; font: 500 .58rem var(--mono); letter-spacing: .06em; text-transform: uppercase; margin-left: 6px; padding: 1px 4px; border-radius: 4px; background: var(--sun); color: var(--night); vertical-align: middle; }
.f-ret b .ph { font: inherit; letter-spacing: -.03em; padding: 0 8px; }

/* small figures in pipeline */
.mini-figs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 6px 0 18px; }
.mini-figs div { background: var(--cream); border-radius: 12px; padding: 14px; }
.section.alt .mini-figs div { background: var(--cream); }
.mini-figs b { display: block; font: 800 1.3rem var(--head); color: var(--night); letter-spacing: -.02em; }
.mini-figs span { font-size: .76rem; color: var(--muted); line-height: 1.35; display: block; margin-top: 4px; }

/* reuse: pillar illustrations get a calmer, more architectural tone */
.pillar .pic, .art-card, .case-visual { filter: saturate(.85); }
.cta-band { background: var(--night); }
.cta-band::after { background: var(--sun); opacity: .12; }
.site-footer { background: var(--night); }
.statement { background: var(--night); }
.num-tag, .fund .ic { background: var(--night); }
.steps li::before, .syn .n { background: var(--sun); color: var(--night); }
@media (min-width: 961px) { .hero4-grid { grid-template-columns: 1.12fr 1fr; } }
.hero4 h1 { font-size: clamp(2.4rem, 4.3vw, 3.9rem); }
.hero4 h1 .ln { display: block; white-space: nowrap; }
@media (max-width: 480px) { .hero4 h1 .ln { white-space: normal; } }
.gs-plus { color: var(--sun); font-size: 2rem; }

.keybox .target b .ph { font: inherit; letter-spacing: -.02em; padding: 0 8px; }
.keybox .target { align-items: center; }

/* =====================================================================
   v5 — cinematic hero (v1 composition), line-light illustrations
   ===================================================================== */
.hero5 { position: relative; overflow: hidden; isolation: isolate; background:
  radial-gradient(70% 60% at 78% 30%, rgba(45,98,76,.55), transparent 62%),
  radial-gradient(40% 40% at 10% 100%, rgba(246,185,43,.08), transparent 70%),
  linear-gradient(180deg, #050E0A 0%, #08140F 60%, #0A1A14 100%);
  color: #fff; min-height: min(100vh, 960px); padding: 160px 0 0; display: flex; flex-direction: column; }
.hero5-scene { position: absolute; right: 0; bottom: 0; width: 68%; height: 100%; z-index: -1; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 52%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 52%); }
.hero5-scene svg { width: 100%; height: 100%; display: block; }
.hero5-copy > * { max-width: 640px; }
.hero5 h1 { color: #fff; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.02; letter-spacing: -.035em; margin-bottom: .45em; }
.hero5 h1 .ln { display: block; }
@media (min-width: 640px) { .hero5 h1 .ln { white-space: nowrap; } }
.hero5 .eyebrow { color: var(--sun); }
.hero5 .lead { color: rgba(233,238,234,.78); font-size: clamp(1.02rem, 1.25vw, 1.16rem); max-width: 54ch; }
.hero5 .actions { margin-bottom: 72px; }
.hero5-foot { margin-top: auto; position: relative; background: rgba(5,14,10,.55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid rgba(255,255,255,.1); }
.hero5-funds { display: grid; grid-template-columns: repeat(3, 1fr); }
.hf { position: relative; display: grid; gap: 6px; padding: 26px 56px 28px 26px; text-decoration: none; color: #fff; transition: background .3s; }
.hf + .hf { border-left: 1px solid rgba(255,255,255,.1); }
.hf:first-child { padding-left: 0; }
.hf:hover { background: rgba(255,255,255,.04); color: #fff; }
.hf .mono { color: var(--sun); font-size: .68rem; }
.hf b { font: 700 1.12rem var(--head); letter-spacing: -.01em; }
.hf-tag { color: rgba(233,238,234,.62); font-size: .9rem; }
.hf-go { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; transition: background .25s, color .25s, border-color .25s; }
.hf:hover .hf-go { background: var(--sun); border-color: var(--sun); color: var(--night); }
@media (max-width: 960px) {
  .hero5 { padding-top: 120px; min-height: 0; }
  .hero5-scene { width: 100%; height: 70%; opacity: .45; -webkit-mask-image: linear-gradient(180deg, transparent, #000 40%); mask-image: linear-gradient(180deg, transparent, #000 40%); }
  .hero5-funds { grid-template-columns: 1fr; }
  .hf, .hf:first-child { padding: 20px 56px 20px 0; }
  .hf + .hf { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
}
.hero5 + .ticker { margin-top: 0; background: #060F0B; border-top: 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.flow.up { animation-direction: reverse; }

/* new asset class */
.na { background: var(--cream); }
.na-head { max-width: 900px; margin-bottom: 56px; }
.na-head h2 { font-size: clamp(2rem, 3.6vw, 3.1rem); line-height: 1.12; }
.na-head .intro { color: var(--muted); max-width: 62ch; }
.na-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--night); }
.na-grid.four { grid-template-columns: repeat(4, 1fr); }
.na-b { padding: 30px 28px 6px 0; }
.na-b + .na-b { padding-left: 28px; border-left: 1px solid var(--line); }
.na-b .mono { color: #B7860F; }
.na-b h3 { font-size: 1.5rem; margin: 14px 0 10px; }
.na-b p { color: var(--muted); font-size: .97rem; }
@media (max-width: 900px) { .na-grid, .na-grid.four { grid-template-columns: 1fr; } .na-b + .na-b { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }

/* line-art pillar images */
.pillar .pic { background: #08140F; filter: none; }
.pillar .body .k { font-family: var(--mono); font-weight: 500; letter-spacing: .1em; color: #B7860F; }

/* markets */
.markets .map.dark-map { background: radial-gradient(70% 60% at 50% 50%, #10251C, #08140F); border-color: rgba(255,255,255,.08); }
.reg { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 10px; max-width: none; }
.reg li { margin: 0; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(246,185,43,.4); color: #fff; font: 600 .9rem var(--head); }
.dark-reg li { border-color: rgba(255,255,255,.1); }
.dark-reg li strong { color: #fff; }
.dark-reg li span { color: rgba(233,238,234,.65); }

/* exclusive CTA band */
.cta-band.xb { grid-template-columns: 1.4fr 1fr; padding: 72px 64px; background:
  radial-gradient(60% 90% at 100% 0%, rgba(246,185,43,.18), transparent 60%),
  radial-gradient(60% 80% at 0% 100%, rgba(45,98,76,.6), transparent 70%), var(--night); }
.cta-band.xb::after { display: none; }
.cta-band.xb .eyebrow { color: var(--sun); }
.cta-band.xb h2 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); }
@media (max-width: 860px) { .cta-band.xb { grid-template-columns: 1fr; padding: 44px 26px; } }

/* type & rhythm refinements */
.section { padding: 128px 0; }
@media (max-width: 860px) { .section { padding: 80px 0; } }
.section-head h2, .na-head h2 { text-wrap: balance; }
h1, h2 { text-wrap: balance; }
.lead, .intro, p { text-wrap: pretty; }
.hero5 > .wrap { width: 100%; }
@media (min-width: 961px) { .hero5-scene { width: 62%; height: 90%; } }
.person .portrait { background: radial-gradient(90% 80% at 30% 20%, #1D3E31, #08140F 75%); color: var(--sun); }

/* =====================================================================
   v6 — brighter yellow accent, business-model equation, contact redesign
   ===================================================================== */
:root { --sun: #F6B92B; --sun-2: #FFD166; }
.gold-d { color: #B7860F; }
.btn.sun, .btn.primary { box-shadow: 0 14px 34px -14px rgba(246,185,43,.85); }

/* business model */
.model6 { background: var(--white); padding-top: 120px; }
.eq-head { max-width: 980px; margin-bottom: 56px; }
.eq-q { font: 800 clamp(1.9rem, 3.6vw, 3.2rem)/1.12 var(--head); letter-spacing: -.03em; color: var(--night); margin: 0; max-width: none; text-wrap: balance; }
.eq { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.1fr; align-items: stretch; gap: 0; }
.eq-t { border-radius: 18px; padding: 28px 24px; background: var(--cream); border: 1px solid var(--line); }
.eq-t .mono { color: #B7860F; }
.eq-t h3 { font-size: 1.25rem; margin: 14px 0 8px; }
.eq-t p { color: var(--muted); font-size: .94rem; margin: 0; }
.eq-t.res { background: var(--night); border-color: var(--night); }
.eq-t.res .mono { color: var(--sun); font-size: 1rem; }
.eq-t.res h3 { color: #fff; font-size: 1.45rem; }
.eq-t.res p { color: var(--sun); font-family: var(--mono); font-size: .82rem; letter-spacing: .04em; }
.eq-op { display: grid; place-items: center; width: 52px; font: 800 2rem var(--head); color: var(--sun); }
.eq-adv { margin: 40px 0 0; max-width: 72ch; font: 600 1.15rem/1.55 var(--head); color: var(--night); padding-left: 22px; border-left: 3px solid var(--sun); }
@media (max-width: 1060px) { .eq { grid-template-columns: 1fr; } .eq-op { width: auto; height: 44px; } }

/* ticker as section divider */
.tk-sep .ticker { margin: 0; background: var(--night); border: 0; }

/* thesis (strategy) */
.th-h { font-size: clamp(2.4rem, 5vw, 4.2rem); }
.th-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.th-c { position: relative; overflow: hidden; border-radius: 22px; padding: 40px 32px 34px; background: var(--night); color: #fff; min-height: 320px; display: flex; flex-direction: column; }
.th-c::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(246,185,43,.25), transparent 70%); }
.th-n { font: 800 4.2rem/1 var(--head); color: var(--sun); letter-spacing: -.04em; margin-bottom: auto; }
.th-c h3 { color: #fff; font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin: 28px 0 10px; }
.th-c p { color: rgba(233,238,234,.72); margin: 0; }
.th-con { margin: 44px auto 0; text-align: center; max-width: 34ch; font: 800 clamp(1.5rem, 2.6vw, 2.2rem)/1.25 var(--head); letter-spacing: -.02em; color: var(--night); text-wrap: balance; }
@media (max-width: 900px) { .th-grid { grid-template-columns: 1fr; } .th-c { min-height: 0; } }

/* contact */
.contact6 { padding-top: 0; margin-top: -40px; position: relative; z-index: 2; }
.c6 { display: grid; grid-template-columns: .85fr 1.4fr; border-radius: 26px; overflow: hidden; box-shadow: 0 40px 90px -40px rgba(8,20,15,.45); background: var(--white); }
.c6-side { position: relative; background: radial-gradient(80% 60% at 100% 0%, rgba(246,185,43,.16), transparent 60%), radial-gradient(70% 70% at 0% 100%, rgba(45,98,76,.55), transparent 70%), var(--night); color: #fff; padding: 48px 40px; display: flex; flex-direction: column; gap: 12px; }
.c6-side .eyebrow { color: var(--sun); }
.c6-side > p { color: rgba(233,238,234,.75); margin-bottom: 14px; }
.c6-line { display: grid; gap: 2px; padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); color: #fff; text-decoration: none; font: 600 1rem var(--head); transition: border-color .2s, background .2s; }
.c6-line:hover { border-color: var(--sun); background: rgba(246,185,43,.08); color: #fff; }
.c6-line .mono { color: rgba(233,238,234,.55); font-size: .66rem; }
.c6-steps { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; max-width: none; }
.c6-steps li { display: flex; gap: 12px; align-items: flex-start; margin: 0; color: rgba(233,238,234,.85); font-size: .92rem; }
.c6-steps span { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--sun); color: var(--night); display: grid; place-items: center; font: 800 .8rem var(--head); }
.c6-off { margin-top: auto; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); }
.c6-off .mono { color: var(--sun); }
.c6-off p { color: rgba(233,238,234,.7); font-size: .9rem; margin: 6px 0 0; }
.c6-form { padding: 48px 48px 40px; }
.c6-set { border: 0; padding: 0; margin: 0 0 24px; }
.c6-set legend { font: 700 .82rem var(--head); color: var(--night); margin-bottom: 12px; padding: 0; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { position: relative; cursor: pointer; }
.pill input { position: absolute; opacity: 0; pointer-events: none; }
.pill span { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--cream); font: 600 .88rem var(--head); color: var(--text); transition: all .2s; }
.pill:hover span { border-color: var(--night); }
.pill input:checked + span { background: var(--night); border-color: var(--night); color: #fff; box-shadow: inset 0 0 0 2px var(--night), 0 0 0 2px var(--sun); }
.pill input:focus-visible + span { outline: 2px solid var(--sun); outline-offset: 2px; }
.c6-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 8px; }
.fl { position: relative; }
.fl.full { grid-column: 1 / -1; }
.fl input, .fl textarea { width: 100%; font: 500 1rem var(--body); color: var(--text); padding: 24px 16px 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); transition: border-color .2s, box-shadow .2s, background .2s; }
.fl textarea { min-height: 150px; resize: vertical; padding-top: 30px; }
.fl textarea::placeholder { color: #9AA59F; }
.fl label { position: absolute; left: 17px; top: 17px; font: 500 .98rem var(--body); color: var(--muted); pointer-events: none; transition: all .18s var(--ease); }
.fl input:focus, .fl textarea:focus { outline: 0; background: #fff; border-color: var(--night); box-shadow: 0 0 0 4px rgba(246,185,43,.25); }
.fl input:focus + label, .fl input:not(:placeholder-shown) + label, .fl label.up { top: 8px; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #B7860F; }
.c6-consent { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 26px; font-size: .86rem; color: var(--muted); cursor: pointer; }
.c6-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--night); flex: none; }
.c6-send { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.c6-send .btn { padding: 16px 30px; font-size: 1rem; }
.c6-send .mono { color: var(--muted); font-size: .68rem; }
@media (max-width: 960px) { .c6 { grid-template-columns: 1fr; } .c6-form { padding: 32px 22px; } .c6-side { padding: 36px 24px; } .c6-grid { grid-template-columns: 1fr; } }

/* =====================================================================
   v7 — v1 inspiration: serif-italic accents, dark model panel, conversion visual
   ===================================================================== */
h1 .gold, h2 .gold, h2 .gold-d, h1 .gold-d, .hero5 h1 .ln.gold, .eq-q em {
  font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.01em; font-size: 1.1em; line-height: .95;
}
.hero5 h1 .ln.gold { font-size: 1.12em; }

/* dark model panel */
.m7 { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.1); border-radius: 22px; overflow: hidden; }
.m7 > div { position: relative; padding: 44px 36px 40px; background: linear-gradient(180deg, rgba(255,255,255,.03), transparent); }
.m7 > div + div { border-left: 1px solid rgba(255,255,255,.1); }
.m7 .ill { height: 120px; margin-bottom: 30px; color: var(--sun); }
.m7 .ill svg { height: 100%; width: auto; overflow: visible; }
.m7 .k { display: block; font: 500 .72rem var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sun); margin-bottom: 12px; }
.m7 h3 { color: #fff; font-size: 1.7rem; }
.m7 p { color: rgba(233,238,234,.72); font-size: .97rem; margin: 0; }
.m7 .arrow { position: absolute; top: 96px; right: -17px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: var(--sun); color: var(--night); display: grid; place-items: center; font-weight: 700; }
.m7-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 22px; padding: 22px 28px; border-radius: 18px; background: rgba(246,185,43,.07); border: 1px solid rgba(246,185,43,.25); color: #E9EEEA; }
.m7-foot b { color: var(--sun); }
.m7-foot .link { color: var(--sun-2) !important; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
@media (max-width: 900px) { .m7 { grid-template-columns: 1fr; } .m7 > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); } .m7 .arrow { top: auto; bottom: -17px; right: 50%; transform: translateX(50%) rotate(90deg); } .m7-foot { flex-direction: column; align-items: flex-start; } }

/* conversion case (dark visual) */
.case-visual.cv7 { background: #07130F; }
.cv7 .lbl.then { background: rgba(255,255,255,.14); color: #E7DCC4; }
.cv7 .lbl.now { background: var(--sun); color: var(--night); }
.cv7 .note { background: transparent; color: rgba(255,255,255,.5); }
.case { box-shadow: 0 30px 70px -40px rgba(8,20,15,.5); }
.case-body h3 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); }

/* about */
.story p { font-size: 1.1rem; line-height: 1.75; color: var(--text); }
.story p:first-child::first-letter { font: 400 3.6em/.8 "Instrument Serif", Georgia, serif; font-style: italic; float: left; margin: .08em .1em 0 0; color: #B7860F; }
.nm { margin-top: 36px; padding: 26px 28px; border-radius: 18px; background: var(--night); color: rgba(233,238,234,.8); }
.nm .mono { color: var(--sun); }
.nm p { margin: 10px 0 0; color: rgba(233,238,234,.8); }
.nm b { color: #fff; }
.tl { list-style: none; padding: 0; margin: 0; max-width: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
.tl::before { content: ""; position: absolute; left: 0; right: 0; top: 30px; height: 1px; background: linear-gradient(90deg, var(--sun), rgba(255,255,255,.12)); }
.tl li { margin: 0; padding-right: 28px; position: relative; }
.tl li::before { content: ""; position: absolute; left: 0; top: 24px; width: 13px; height: 13px; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 6px rgba(246,185,43,.15); }
.tl-y { display: block; font: 400 2.6rem/1 "Instrument Serif", Georgia, serif; font-style: italic; color: var(--sun); margin-bottom: 44px; padding-left: 26px; }
.tl h3 { color: #fff; font-size: 1.3rem; }
.tl p { color: rgba(233,238,234,.7); font-size: .95rem; margin: 0; }
@media (max-width: 900px) { .tl { grid-template-columns: 1fr; gap: 34px; } .tl::before { left: 6px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: linear-gradient(180deg, var(--sun), rgba(255,255,255,.12)); } .tl li { padding-left: 34px; } .tl li::before { top: 8px; } .tl-y { padding-left: 0; margin-bottom: 12px; } }
.tk-sep { background: var(--night); }

/* money flow (strategy) */
.mf { background: var(--white); }
.mf-table { border-top: 2px solid var(--night); }
.mf-head, .mf-row { display: grid; grid-template-columns: 1.1fr 40px 1.6fr .9fr; gap: 20px; align-items: center; }
.mf-head { padding: 14px 0; font: 500 .7rem var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.mf-row { padding: 26px 0; border-bottom: 1px solid var(--line); }
.mf-who { display: flex; align-items: center; gap: 14px; font: 700 1.15rem/1.3 var(--head); color: var(--night); }
.mf-n { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--sun); color: var(--night); display: grid; place-items: center; font: 800 1rem var(--head); }
.mf-arrow { font: 800 1.4rem var(--head); color: var(--sun); text-align: center; }
.mf-what { color: var(--text); font-size: 1rem; }
.mf-fund { justify-self: end; padding: 7px 14px; border-radius: 999px; background: var(--night); color: var(--sun); font: 500 .74rem var(--mono); letter-spacing: .04em; white-space: nowrap; }
@media (max-width: 860px) { .mf-head { display: none; } .mf-row { grid-template-columns: 1fr; gap: 10px; } .mf-arrow { display: none; } .mf-fund { justify-self: start; } }

/* =====================================================================
   v8 — business-model flow diagram + editorial thesis
   ===================================================================== */
.model6 { background: var(--cream); }
.bm { position: relative; overflow: hidden; border-radius: 30px; padding: 64px 56px 52px; color: #fff; background:
  radial-gradient(60% 80% at 100% 0%, rgba(246,185,43,.14), transparent 60%),
  radial-gradient(60% 80% at 0% 100%, rgba(45,98,76,.55), transparent 70%), var(--night); }
.bm::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 48px 48px; }
.bm > * { position: relative; }
.bm .eyebrow { color: var(--sun); }
.bm-q { font: 700 clamp(1.7rem, 3vw, 2.6rem)/1.18 var(--head); letter-spacing: -.025em; color: #fff; max-width: 30ch; margin: 0 0 56px; text-wrap: balance; }
.bm-q em { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; color: var(--sun); font-size: 1.1em; letter-spacing: -.01em; }
.bm-flow { display: grid; grid-template-columns: 1fr 64px 1fr 64px 1fr 64px 1.15fr; align-items: start; }
.bm-node { text-align: left; }
.bm-ic { width: 112px; height: 112px; border-radius: 28px; display: grid; place-items: center; color: var(--sun); background: rgba(255,255,255,.04); border: 1px solid rgba(246,185,43,.35); box-shadow: 0 0 0 8px rgba(246,185,43,.05), 0 20px 40px -20px rgba(0,0,0,.6); margin-bottom: 22px; }
.bm-ic svg { width: 74px; height: auto; overflow: visible; }
.bm-node .mono { color: var(--sun); }
.bm-node h3 { color: #fff; font-size: 1.3rem; margin: 8px 0 6px; }
.bm-node p { color: rgba(233,238,234,.7); font-size: .94rem; margin: 0; max-width: 24ch; }
.bm-link { position: relative; height: 112px; }
.bm-link::before { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 2px; background: repeating-linear-gradient(90deg, rgba(246,185,43,.55) 0 6px, transparent 6px 12px); }
.bm-link::after { content: ""; position: absolute; right: 0; top: calc(50% - 5px); border: 6px solid transparent; border-left: 8px solid var(--sun); border-right: 0; }
.bm-link i { position: absolute; top: calc(50% - 4px); left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--sun-2); box-shadow: 0 0 12px 3px rgba(255,209,102,.7); animation: bmdot 2.2s linear infinite; }
@keyframes bmdot { from { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: calc(100% - 8px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .bm-link i { animation: none; display: none; } }
.bm-res { border-radius: 22px; padding: 26px 26px 22px; background: var(--sun); color: var(--night); box-shadow: 0 24px 60px -24px rgba(246,185,43,.7); }
.bm-res .mono { color: var(--night); opacity: .6; font-size: 1rem; }
.bm-res h3 { color: var(--night); font-size: 1.5rem; margin: 6px 0 14px; }
.bm-res ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; max-width: none; }
.bm-res li { margin: 0; padding-top: 10px; border-top: 1px solid rgba(8,20,15,.18); display: grid; }
.bm-res li b { font: 800 1.05rem var(--head); }
.bm-res li span { font-size: .86rem; opacity: .75; }
.bm-adv { margin: 48px 0 0; max-width: 70ch; color: rgba(233,238,234,.85); font: 500 1.08rem/1.6 var(--head); padding-left: 20px; border-left: 2px solid var(--sun); }
@media (max-width: 1100px) {
  .bm { padding: 44px 26px; }
  .bm-flow { grid-template-columns: 1fr; }
  .bm-link { height: 54px; width: 112px; }
  .bm-link::before { left: 50%; right: auto; top: 4px; bottom: 4px; width: 2px; height: auto; background: repeating-linear-gradient(180deg, rgba(246,185,43,.55) 0 6px, transparent 6px 12px); }
  .bm-link::after { right: auto; left: calc(50% - 6px); top: auto; bottom: 0; border: 6px solid transparent; border-top: 8px solid var(--sun); border-bottom: 0; }
  .bm-link i { display: none; }
}

/* editorial thesis */
.th8 { background: var(--white); }
.th8-grid { display: grid; grid-template-columns: .8fr 1.6fr; gap: 72px; align-items: start; }
.th8-side { position: sticky; top: 120px; }
.th8-side h2 { font-size: clamp(2.4rem, 4.4vw, 3.8rem); line-height: 1.02; }
.th8-row { display: grid; grid-template-columns: 40px 1fr 1.25fr; gap: 32px; padding: 40px 0; border-top: 1px solid var(--line); align-items: start; }
.th8-row:last-child { border-bottom: 1px solid var(--line); }
.th8-idx { color: #B7860F; padding-top: 14px; }
.th8-stat b { display: block; font: 400 clamp(3.4rem, 6vw, 5rem)/.95 "Instrument Serif", Georgia, serif; font-style: italic; color: var(--night); letter-spacing: -.02em; }
.th8-stat span { display: block; margin-top: 10px; font-size: .9rem; color: var(--muted); max-width: 22ch; }
.th8-stat small { display: block; margin-top: 8px; color: #B7860F; font-size: .66rem; }
.th8-stat small a { color: inherit; text-decoration: none; }
.th8-txt h3 { font-size: clamp(1.5rem, 2.2vw, 1.9rem); margin: 6px 0 10px; }
.th8-txt p { color: var(--muted); margin: 0; }
@media (max-width: 960px) { .th8-grid { grid-template-columns: 1fr; gap: 32px; } .th8-side { position: static; } .th8-row { grid-template-columns: 1fr; gap: 12px; } .th8-idx { padding: 0; } }
.th8-quote { position: relative; overflow: hidden; background: var(--night); padding: 120px 0; text-align: center; }
.th8-quote::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 80% at 50% 0%, rgba(246,185,43,.16), transparent 70%); }
.th8-quote .wrap { position: relative; }
.th8-quote .q { margin: 0 auto; max-width: 22ch; font: 800 clamp(2.2rem, 4.6vw, 4rem)/1.08 var(--head); letter-spacing: -.035em; color: #fff; text-wrap: balance; }
.th8-quote .q em { display: block; font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; color: var(--sun); font-size: 1.15em; letter-spacing: -.01em; }
.th8-quote .qs { margin: 26px auto 0; color: rgba(233,238,234,.7); font-size: 1.15rem; max-width: 52ch; }
@media (max-width: 860px) { .th8-quote { padding: 80px 0; } }

/* =====================================================================
   v9 — "private bank, not crypto": calmer gold, no glows, no terminal type
   ===================================================================== */
:root { --sun: #E3A72F; --sun-2: #F0C36A; }
.gold-d { color: #A87A1E; }
/* eyebrows: classic small caps instead of terminal monospace */
.eyebrow { font-family: var(--head); font-weight: 700; font-size: .72rem; letter-spacing: .16em; }
.f-top .mono, .na-b .mono, .gs .mono, .bm-node .mono, .c6-line .mono, .c6-off .mono, .nm .mono, .f-ret .mono, .f-inc .mono, .mf-head, .m7 .k, .th8-idx { font-family: var(--head); font-weight: 700; letter-spacing: .12em; }
/* no neon: buttons and cards without glow */
.btn.sun, .btn.primary { box-shadow: none; }
.btn.sun:hover { box-shadow: 0 8px 20px -12px rgba(8,20,15,.45); }
.bm-res { box-shadow: none; }
.bm-ic { box-shadow: none; }
.bm-link i { display: none; }
.bm-link::before { background: rgba(227,167,47,.55); height: 1px; }
.m7 .arrow { box-shadow: none; }
.th-c::after, .dark4::before { opacity: .6; }
/* fund card audience line */
.f-who { font-size: .86rem !important; font-style: italic; margin: 0 0 18px; color: var(--muted) !important; border-left: 2px solid var(--sun); padding-left: 10px; }
.fund4.feature .f-who { color: rgba(233,238,234,.7) !important; }
/* less blinking in illustrations: only the turbines move */
.hero5-scene .pulse, .bm .pulse, .m7 .pulse, .cv7 .pulse { animation: none; }
.hero5-scene .flow { animation-duration: 3.5s; opacity: .6; }
.hf .mono { font-family: var(--head); font-weight: 700; letter-spacing: .12em; }

/* =====================================================================
   v10 — private-bank typography
   Display: Newsreader (text serif with optical sizes), regular weight, one colour.
   UI/body: Inter. Italic only as a quiet accent, same family.
   ===================================================================== */
:root {
  --display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --head: "Inter", "Helvetica Neue", Arial, sans-serif;
  --sun: #C9A04A; --sun-2: #DDBB72;
}
.gold-d { color: #9C7A30; }
h1, h2, h3, .bm-q, .th8-quote .q, .quote-band blockquote, .eq-q {
  font-family: var(--display); font-weight: 400; letter-spacing: -.012em; font-variation-settings: "opsz" 72; font-optical-sizing: auto;
}
h1 { font-size: clamp(2.6rem, 4.6vw, 4.25rem); line-height: 1.04; }
h2 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.08; }
h3 { font-weight: 500; letter-spacing: -.005em; font-variation-settings: "opsz" 24; }
.hero5 h1, .hero4 h1, .hero-sub4 h1 { font-weight: 400; letter-spacing: -.015em; line-height: 1.04; }
.hero5 h1 { font-size: clamp(2.8rem, 5vw, 4.6rem); }
/* accents: same family, italic, same size, quiet gold — no second typeface */
h1 .gold, h2 .gold, h2 .gold-d, h1 .gold-d, .hero5 h1 .ln.gold, .bm-q em, .th8-quote .q em, .eq-q em {
  font-family: var(--display); font-style: italic; font-weight: 400; font-size: 1em; letter-spacing: -.01em; line-height: inherit;
}
.th8-quote .q { font-weight: 400; }
.th8-quote .q em { font-size: 1em; }
/* numbers: serif, upright, tabular feel */
.sc-v, .th8-stat b, .tl-y, .f-ret b, .figures .num, .kpis .num, .case-stats .v, .num-tag, .th-n {
  font-family: var(--display) !important; font-style: normal !important; font-weight: 400 !important; letter-spacing: -.02em !important;
}
.f-ret b .ph { font-family: var(--display); }
/* UI stays sans */
.btn, .nav a, .eyebrow, .brand .word, .link, .go, .pill span, .c6-set legend, .mono, .hf b, .f-tag { font-family: var(--head); }
.brand .word { font-weight: 600; letter-spacing: -.01em; }
.hf b { font-family: var(--display) !important; font-weight: 500; font-size: 1.2rem; }
.fund4 h3, .m7 h3, .bm-node h3, .bm-res h3, .na-b h3, .syn h3, .pillar h3, .person h3, .case-body h3, .th8-txt h3, .tl h3, .eq-t h3, .mf-who { font-family: var(--display); font-weight: 500; }
.mf-who { font-size: 1.25rem; }
.f-tag { font-weight: 600; }
.lead, .intro { font-weight: 400; }
/* calmer weight overall */
.btn { font-weight: 600; letter-spacing: 0; }
.eyebrow { font-weight: 600; letter-spacing: .18em; }
/* quieter accent on dark: champagne instead of yellow */
.hero5 h1 .ln.gold, .hero-sub4 .gold, .hero4 .gold, .dark4 h2 .gold, .bm-q em, .th8-quote .q em, .cta-band h2 .gold, .fund-hero .tagline { color: #D9C08A; }
.bm-res { background: #D9C08A; }

/* v10.1 — timeline: line and dots on their own row, years below, no overlap */
.tl { padding-top: 0; }
.tl::before { top: 6px; height: 1px; background: linear-gradient(90deg, rgba(217,192,138,.7), rgba(255,255,255,.08)); }
.tl li { padding: 40px 32px 0 0; }
.tl li::before { top: 0; left: 0; width: 13px; height: 13px; background: #08140F; border: 1.5px solid #D9C08A; box-shadow: none; }
.tl li:last-child::before { background: #D9C08A; }
.tl-y { padding-left: 0; margin-bottom: 18px; font-family: var(--display) !important; font-style: normal !important; font-weight: 400 !important; font-size: 2.4rem; line-height: 1; letter-spacing: -.01em; color: #D9C08A; font-variant-numeric: lining-nums; }
.tl h3 { font-family: var(--display); font-weight: 500; font-size: 1.35rem; color: #fff; margin-bottom: 8px; }
.tl p { font-size: .95rem; line-height: 1.6; max-width: 30ch; }
@media (max-width: 900px) {
  .tl::before { left: 6px; top: 0; bottom: 0; width: 1px; height: auto; background: linear-gradient(180deg, rgba(217,192,138,.7), rgba(255,255,255,.08)); }
  .tl li { padding: 0 0 0 36px; }
  .tl li::before { top: 10px; }
}

/* =====================================================================
   v12 — engineered typography: Archivo (width axis) + Inter.
   Tech · green · construction. One family for display, accent by colour only.
   ===================================================================== */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; src: url("../fonts/archivo-latin-standard-normal.woff2") format("woff2"); }
:root { --display: "Archivo", "Inter", "Helvetica Neue", Arial, sans-serif; --head: "Archivo", "Inter", Arial, sans-serif; }
h1, h2, h3, .bm-q, .th8-quote .q, .quote-band blockquote, .eq-q {
  font-family: var(--display); font-weight: 500; font-stretch: 112%; letter-spacing: -.025em; font-variation-settings: normal;
}
h1 { line-height: 1.02; }
.hero5 h1, .hero4 h1, .hero-sub4 h1 { font-weight: 500; letter-spacing: -.03em; line-height: 1.02; }
h3 { font-weight: 600; font-stretch: 105%; letter-spacing: -.01em; }
/* accent: same font, same weight, colour only */
h1 .gold, h2 .gold, h2 .gold-d, h1 .gold-d, .hero5 h1 .ln.gold, .bm-q em, .th8-quote .q em, .eq-q em {
  font-family: var(--display) !important; font-style: normal !important; font-weight: 500 !important; font-stretch: 112%; letter-spacing: -.025em !important; font-size: 1em !important;
}
.th8-quote .q em { display: inline; }
/* numbers: wide, engineered, tabular */
.sc-v, .th8-stat b, .tl-y, .f-ret b, .figures .num, .kpis .num, .case-stats .v, .num-tag, .th-n {
  font-family: var(--display) !important; font-style: normal !important; font-weight: 500 !important; font-stretch: 118%; letter-spacing: -.03em !important; font-variant-numeric: tabular-nums;
}
.fund4 h3, .m7 h3, .bm-node h3, .bm-res h3, .na-b h3, .syn h3, .pillar h3, .person h3, .case-body h3, .th8-txt h3, .tl h3, .eq-t h3, .mf-who, .hf b {
  font-family: var(--display) !important; font-weight: 600 !important; font-stretch: 105%; letter-spacing: -.01em;
}
.hf b { font-size: 1.12rem; }
/* labels: wide caps = technical drawing feel */
.eyebrow, .mono, .f-top .mono, .na-b .mono, .bm-node .mono, .m7 .k, .hf .mono, .mf-head, .th8-idx {
  font-family: var(--head) !important; font-weight: 600 !important; font-stretch: 125%; letter-spacing: .14em !important; font-size: .68rem;
}
.btn, .nav a, .brand .word, .link, .go, .pill span, .c6-set legend { font-family: var(--head); font-stretch: 105%; }
.brand .word { font-weight: 600; font-stretch: 110%; letter-spacing: -.01em; }
.brand .word small { font-stretch: 125%; }
body, p, .lead, .intro, li { font-family: var(--body); }

.hero-sub4 .inner { max-width: 1040px; }
.hf .mono { font-stretch: 112% !important; letter-spacing: .1em !important; }
.btn::after { font-family: var(--body); }

/* v12.1 — fund teasers: equal padding, hover stays inside its cell */
.hero5-funds { margin: 0 -24px; }
.hf, .hf:first-child { padding: 26px 72px 28px 24px; }
.hf { transition: background .25s; }
.hf:hover { background: rgba(255,255,255,.035); }
.hf b { font-family: var(--display) !important; font-weight: 600 !important; font-stretch: 105%; }
.hf .mono { font-family: var(--head) !important; font-stretch: 112%; }
.hf-go { right: 24px; width: 36px; height: 36px; font-size: .95rem; line-height: 1; }
.hf:hover .hf-go { background: var(--sun); border-color: var(--sun); color: var(--night); }
@media (max-width: 960px) { .hero5-funds { margin: 0 -20px; } .hf, .hf:first-child { padding: 20px 64px 20px 20px; } }

/* v12.2 — principle bar */
.m7-foot { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; padding: 26px 28px 26px 32px; border-radius: 18px; background: rgba(217,192,138,.06); border: 1px solid rgba(217,192,138,.22); }
.m7-f-k { display: block; font: 600 .66rem var(--head); font-stretch: 125%; letter-spacing: .16em; text-transform: uppercase; color: #D9C08A; margin-bottom: 6px; }
.m7-f-txt p { margin: 0; max-width: none; color: rgba(233,238,234,.82); font-size: 1.08rem; line-height: 1.5; }
.m7-f-txt p b { color: #fff; font-family: var(--display); font-weight: 600; font-stretch: 108%; }
.m7-f-btn { white-space: nowrap; }
@media (max-width: 760px) { .m7-foot { grid-template-columns: 1fr; gap: 18px; } .m7-f-btn { justify-self: start; } }
/* hero headline: longer middle line */
.hero5 h1 { font-size: clamp(2.4rem, 4.3vw, 4rem); }
.hero5-copy > h1 { max-width: 860px; }

/* v12.3 — thesis heading: no awkward wrap in the side column */
.th8-grid { grid-template-columns: 1fr 1.5fr; gap: 64px; }
.th8-side h2 { font-family: var(--display); font-weight: 500; font-stretch: 112%; font-size: clamp(2.1rem, 3.2vw, 3rem); line-height: 1.05; letter-spacing: -.025em; }
.th8-side h2 .gold-d { white-space: nowrap; }
@media (max-width: 960px) { .th8-side h2 .gold-d { white-space: normal; } }
.th8-stat b { font-size: clamp(2.4rem, 3.6vw, 3.4rem) !important; line-height: 1 !important; white-space: nowrap; }
.th8-row { grid-template-columns: 36px minmax(180px, 1fr) 1.3fr; }

/* v12.4 — seamless transition: quote band → model panel (one dark block) */
.th8-quote { background: var(--night); padding: 120px 0 72px; }
.th8-quote::before { background: radial-gradient(45% 70% at 50% 0%, rgba(217,192,138,.12), transparent 70%); }
.th8-quote .qs { margin-bottom: 0; }
.th8-quote .wrap::after { content: ""; display: block; width: 1px; height: 64px; margin: 56px auto 0; background: linear-gradient(180deg, rgba(217,192,138,.6), rgba(217,192,138,0)); }
.th8-quote + .model7 { padding-top: 24px; background: var(--night); }
.th8-quote + .model7::before { display: none; }

/* v12.5 — landowner call-out */
.lo-sec { padding-top: 0; background: var(--white); }
.lo { display: grid; grid-template-columns: 150px 1fr auto; gap: 44px; align-items: center; padding: 44px 48px; border-radius: 24px; background: var(--night); color: #E9EEEA; position: relative; overflow: hidden; }
.lo::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 90% at 0% 50%, rgba(45,98,76,.5), transparent 70%); pointer-events: none; }
.lo > * { position: relative; }
.lo-art { width: 150px; height: 150px; border-radius: 22px; display: grid; place-items: center; border: 1px solid rgba(217,192,138,.3); background: rgba(255,255,255,.03); color: #D9C08A; }
.lo-art svg { width: 96px; height: auto; }
.lo-txt h2 { color: #fff; font-size: clamp(1.7rem, 2.6vw, 2.3rem); margin-bottom: 10px; }
.lo-txt h2 .gold { color: #D9C08A; }
.lo-txt p { color: rgba(233,238,234,.75); margin: 0 0 16px; max-width: 58ch; }
.lo-txt ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; max-width: none; }
.lo-txt li { margin: 0; font-size: .9rem; color: #fff; padding-left: 20px; position: relative; }
.lo-txt li::before { content: "✓"; position: absolute; left: 0; color: #D9C08A; font-weight: 700; }
.lo-act { display: grid; gap: 14px; justify-items: start; }
.lo-act .btn { white-space: nowrap; }
.lo-act .link { color: #D9C08A !important; font-size: .9rem; }
@media (max-width: 1000px) { .lo { grid-template-columns: 1fr; gap: 26px; padding: 34px 26px; } .lo-art { width: 96px; height: 96px; } .lo-art svg { width: 62px; } }
.lo .eyebrow { color: #D9C08A; } .lo .eyebrow::before { background: #D9C08A; }

/* neutral prospectus reference */
.ph-n { font: 500 .95rem var(--body); letter-spacing: 0; color: inherit; opacity: .85; }
.f-ret b .ph-n, .keybox .target b .ph-n { font: 600 1.05rem var(--head); font-stretch: 105%; opacity: 1; }

/* =====================================================================
   v12.6 — contact: calmer, more precise
   ===================================================================== */
.contact6 { margin-top: 0; padding-top: 72px; }
.c6 { grid-template-columns: 380px 1fr; border-radius: 20px; box-shadow: 0 1px 2px rgba(8,20,15,.06), 0 24px 60px -30px rgba(8,20,15,.35); border: 1px solid var(--line); }
.c6-side { background: var(--night); padding: 44px 36px; gap: 0; }
.c6-side::before { content: none; }
.c6-side > p { font-size: .98rem; margin: 6px 0 26px; }
.c6-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border: 0; border-top: 1px solid rgba(255,255,255,.1); border-radius: 0; background: none; font: 500 .98rem var(--body); }
.c6-line:hover { background: none; border-color: rgba(255,255,255,.1); color: #D9C08A; }
.c6-line .mono { font-size: .62rem !important; color: rgba(233,238,234,.5); }
.c6-steps { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); gap: 14px; }
.c6-steps span { width: 22px; height: 22px; font-size: .72rem; background: transparent; border: 1px solid #D9C08A; color: #D9C08A; }
.c6-off { border-top-color: rgba(255,255,255,.1); }
.c6-form { padding: 44px 48px 40px; }
.c6-set { margin-bottom: 26px; }
.c6-set legend { font: 600 .74rem var(--head) !important; font-stretch: 120%; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.c6-set legend span { text-transform: none; letter-spacing: 0; font-weight: 400; }
.pills { gap: 6px; }
.pill span { padding: 8px 14px; border-radius: 8px; border: 1px solid var(--line); background: #fff; font: 500 .86rem var(--body); color: var(--text); }
.pill:hover span { border-color: #9AA59F; }
.pill input:checked + span { background: var(--night); border-color: var(--night); color: #fff; box-shadow: none; }
.pill input:checked + span::before { content: "✓ "; color: #D9C08A; }
.c6-grid { gap: 12px; }
.fl input, .fl textarea { background: #fff; border-radius: 10px; }
.fl input:focus, .fl textarea:focus { box-shadow: 0 0 0 3px rgba(217,192,138,.35); border-color: var(--night); }
.c6-send .btn { padding: 14px 26px; font-size: .95rem; }
@media (max-width: 960px) { .c6 { grid-template-columns: 1fr; } .c6-form { padding: 30px 22px; } .c6-side { padding: 32px 24px; } }
.c6-line { display: grid; gap: 3px; justify-content: stretch; }
.c6-line .mono { white-space: nowrap; }
.c6-line { overflow-wrap: anywhere; font-size: .95rem; }
.c6-send .mono { font-stretch: 100% !important; letter-spacing: .06em !important; font-size: .64rem !important; }
.fl label.up { font-stretch: 110%; }
@media (max-width: 960px) { .c6-form { order: -1; } .c6-side { border-top: 1px solid var(--line); } }

/* v12.7 — contact: light side panel (no dark-on-dark below the hero), proper address blocks */
.c6-side { background: var(--cream); color: var(--text); border-right: 1px solid var(--line); }
.c6-side .eyebrow { color: #9C7A30; }
.c6-side .eyebrow::before { background: #9C7A30; }
.c6-side > p { color: var(--muted); }
.c6-line { color: var(--night); border-top-color: var(--line); }
.c6-line:hover { color: #9C7A30; border-color: var(--line); }
.c6-line .mono { color: var(--muted); }
.c6-steps { border-top-color: var(--line); }
.c6-steps li { color: var(--text); }
.c6-steps span { border-color: #9C7A30; color: #9C7A30; }
.c6-off { border-top-color: var(--line); }
.c6-off .mono { color: #9C7A30; }
.c6-addr { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 10px; }
.c6-addr p { margin: 0; font-size: .86rem; line-height: 1.55; color: var(--muted); }
.c6-addr b { display: block; color: var(--night); font-family: var(--head); font-weight: 600; font-size: .9rem; margin-bottom: 2px; }
.c6 { background: #fff; }
@media (max-width: 960px) { .c6-side { border-right: 0; } .c6-addr { grid-template-columns: 1fr 1fr; } }
.c6-addr { grid-template-columns: 1fr !important; gap: 14px; }

/* =====================================================================
   v12.8 — mobile hardening
   ===================================================================== */
@media (max-width: 960px) {
  .th8-row { grid-template-columns: 1fr !important; gap: 10px; padding: 30px 0; }
  .th8-stat b { white-space: normal; }
}
h1, h2, h3 { overflow-wrap: break-word; hyphens: manual; }
@media (max-width: 640px) {
  /* readable minimum for small caps labels */
  .eyebrow, .mono, .f-top .mono, .na-b .mono, .m7 .k, .hf .mono, .mf-head, .th8-idx, .m7-f-k, .c6-line .mono, .c6-set legend, .tk-l { font-size: .72rem !important; }
  .kpi-note, .src, .src2, .f-ret small, .case-visual .note, .map-legend { font-size: .76rem !important; }
  /* comfortable tap targets for small links */
  .sc-card .src, .th8-stat small a, .crumb, .mk .src, .stat-card .src a { display: inline-block; padding: 10px 0; }
  .link { padding: 8px 0; }
  .lo-txt h2, .hero-sub4 h1, .fund-hero h1 { font-size: clamp(1.9rem, 8vw, 2.4rem); }
  .section-head h2, .na-head h2, .bm-q { font-size: clamp(1.7rem, 7vw, 2.1rem); }
  .section { padding: 64px 0; }
  .wrap { padding: 0 20px; }
  .btn { padding: 14px 22px; }
  .actions .btn { width: 100%; justify-content: center; }
  .hero5 .actions { margin-bottom: 40px; }
  .gs-l, .gs-r { padding: 30px 22px; }
  .bm { padding: 34px 20px; border-radius: 22px; }
  .case-body { padding: 28px 20px; }
  .cta-band.xb { padding: 36px 22px; }
  .fund4 { padding: 26px 22px; }
}
.th8-grid > *, .th8-row > *, .split > *, .grid > *, .map-split > *, .flywheel > *, .case > * { min-width: 0; }
.th8-txt p, .th8-txt h3 { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
/* mobile comparison table: sticky first column + swipe hint */
@media (max-width: 760px) {
  .table-wrap { position: relative; -webkit-overflow-scrolling: touch; }
  .table-wrap table { min-width: 680px; }
  .table-wrap td:first-child, .table-wrap th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 var(--line); min-width: 120px; }
  .table-wrap th:first-child { background: var(--night); }
  .table-wrap::after { content: "← wischen →"; display: block; text-align: center; font: 500 .72rem var(--body); color: var(--muted); padding: 8px 0 10px; position: sticky; left: 0; }
  html[lang^="en"] .table-wrap::after { content: "← swipe →"; }
  .sc-v { font-size: 3rem; }
}

/* v12.9 — tighter vertical rhythm */
.section { padding: 100px 0; }
.model6 { padding: 8px 0 88px; }
.section:has(+ .model6) { padding-bottom: 64px; }
@media (max-width: 860px) { .section { padding: 64px 0; } .model6 { padding: 0 0 56px; } .section:has(+ .model6) { padding-bottom: 40px; } }
