:root {
  --ink: #102246;
  --ink-deep: #08152e;
  --ink-soft: #1c3568;
  --gold: #d1a143;
  --gold-light: #f2ce7e;
  --clay: #9c4938;
  --cream: #f8f5ee;
  --sand: #efe8da;
  --paper: #fffdf8;
  --mist: #e8edf0;
  --sage: #95b5a1;
  --slate: #516078;
  --line: rgba(16, 34, 70, 0.17);
  --white-line: rgba(255, 255, 255, 0.22);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-serif: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, ui-serif, serif;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--font-sans); font-size: 16px; line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
:target, [tabindex="-1"] { scroll-margin-top: 102px; }
::selection { color: var(--ink-deep); background: var(--gold); }

.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.section-pad { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -4rem; padding: .75rem 1rem; color: white; background: var(--ink); border-radius: .25rem; transition: top .2s var(--ease-out); }
.skip-link:focus { top: 1rem; }
.eyebrow { margin: 0 0 1rem; color: var(--clay); font-size: .74rem; font-weight: 700; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.eyebrow--light { color: var(--gold-light); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; letter-spacing: -.045em; line-height: .98; }
h1, h2 { font-family: var(--font-serif); }
h1 em, h2 em { font-style: italic; }
h2 { font-size: clamp(2.7rem, 5.2vw, 5rem); }

.site-header { z-index: 20; width: 100%; color: var(--ink); background: rgba(255, 253, 248, .98); border-bottom: 1px solid rgba(16, 34, 70, .11); }
.site-header.home-header { position: absolute; color: white; background: transparent; border-bottom-color: rgba(255,255,255,.18); transition: color .2s var(--ease-out), background .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.site-header.home-header.is-scrolled { position: fixed; color: var(--ink); background: rgba(255,253,248,.96); box-shadow: 0 7px 24px rgba(8,21,46,.11); border-bottom-color: rgba(16,34,70,.11); backdrop-filter: blur(12px); }
.site-header:not(.home-header) { position: sticky; top: 0; }
.header-inner { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.wordmark { display: inline-flex; align-items: center; gap: .7rem; min-width: max-content; }
.wordmark-mark { display: flex; align-items: flex-end; gap: 3px; height: 26px; }
.wordmark-mark i { display: block; width: 5px; background: var(--gold); border-radius: 10px 10px 1px 1px; }
.wordmark-mark i:nth-child(1) { height: 11px; }.wordmark-mark i:nth-child(2) { height: 18px; }.wordmark-mark i:nth-child(3) { height: 26px; }
.wordmark-overline, .wordmark-name { display: block; line-height: 1; }
.wordmark-overline { font-size: .71rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wordmark-name { margin-top: .19rem; font-family: var(--font-serif); font-size: 1.22rem; letter-spacing: -.04em; }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.3vw, 1.8rem); font-size: .9rem; font-weight: 600; }
.primary-nav > a:not(.nav-contact) { position: relative; padding: .4rem 0; }
.primary-nav > a:not(.nav-contact)::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: currentColor; transition: width .2s var(--ease-out); }
.primary-nav > a:not(.nav-contact):hover::after, .primary-nav > a[aria-current="page"]::after { width: 100%; }
.nav-contact { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 999px; padding: .65rem .95rem; color: var(--ink); background: var(--gold); font-weight: 700; transition: transform .16s var(--ease-out), background .16s var(--ease-out); }
.nav-contact:hover { background: #edbe60; }.nav-contact:active, .button:active { transform: scale(.97); }
.nav-toggle { display: none; }

.button-row { display: flex; flex-wrap: wrap; gap: .85rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; border: 1px solid transparent; border-radius: 999px; padding: .78rem 1.18rem; font-size: .94rem; font-weight: 700; line-height: 1; transition: transform .16s var(--ease-out), background .16s var(--ease-out), border .16s var(--ease-out); }
.button--gold { color: var(--ink-deep); background: var(--gold); }.button--gold:hover { background: #edbe60; }
.button--outline { color: white; border-color: rgba(255,255,255,.55); background: rgba(8,21,46,.28); }.button--outline:hover { background: rgba(255,255,255,.14); }
.button--ink { color: white; background: var(--ink); }.button--ink:hover { background: var(--ink-soft); }
.button--paper { color: var(--ink); background: var(--paper); }.button--paper:hover { background: var(--gold-light); }
.text-link { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink); font-weight: 700; }.text-link span { transition: transform .18s var(--ease-out); }.text-link:hover span { transform: translateX(4px); }

.home-hero { position: relative; min-height: min(760px, 92vh); display: flex; align-items: flex-end; color: white; overflow: hidden; background: var(--ink-deep); }
.home-hero__image, .home-hero__scrim { position: absolute; inset: 0; }.home-hero__image { background: image-set(url("assets/upward-wealth-hero.webp") type("image/webp"), url("assets/upward-wealth-hero-1600.jpg") type("image/jpeg")) center center / cover no-repeat; transform: scale(1.02); }.home-hero__scrim { background: linear-gradient(90deg, rgba(8,21,46,.97) 0%, rgba(8,21,46,.82) 37%, rgba(8,21,46,.2) 70%, rgba(8,21,46,.18) 100%); }
.home-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 720px) minmax(160px, 260px); justify-content: space-between; gap: 2rem; padding-top: 9rem; padding-bottom: clamp(3.5rem, 7vw, 6rem); }.home-hero h1 { max-width: 780px; margin-bottom: 1.5rem; font-size: clamp(3.5rem, 7.5vw, 7.8rem); }.home-hero h1 em { color: var(--gold-light); }.home-hero__intro { max-width: 620px; margin-bottom: 2.05rem; color: rgba(255,255,255,.9); font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.55; }
.home-hero__note { align-self: end; display: grid; gap: .85rem; padding-bottom: .35rem; font-size: .96rem; line-height: 1.35; }.home-hero__note span { display: block; width: 46px; height: 3px; background: var(--gold); }.home-hero__note p { margin: 0; color: rgba(255,255,255,.68); }.home-hero__note strong { color: white; font-weight: 600; }

.home-overview { padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: var(--paper); }.overview-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(270px, .9fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); margin-bottom: clamp(2.5rem, 5vw, 4rem); }.overview-grid h2 { margin-bottom: 0; }.overview-grid h2 em { color: var(--clay); }.overview-copy { max-width: 470px; }.overview-copy p { color: var(--slate); font-size: 1.04rem; line-height: 1.65; }
.home-directory { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.directory-card { display: flex; min-height: 280px; flex-direction: column; align-items: flex-start; padding: 1.45rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); transition: background .2s var(--ease-out), transform .2s var(--ease-out); }.directory-card:hover { background: #fffaf0; transform: translateY(-4px); }.directory-card__number { display: block; margin-bottom: auto; color: var(--slate); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }.directory-card h3 { margin: 1.8rem 0 .6rem; font-family: var(--font-sans); font-size: 1.72rem; letter-spacing: -.04em; line-height: 1.05; }.directory-card p { margin: 0 0 1.35rem; color: var(--slate); font-size: .88rem; line-height: 1.55; }.directory-card__link { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; color: var(--ink); font-size: .88rem; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .23em; }.directory-card__link span[aria-hidden="true"] { transition: transform .18s var(--ease-out); }.directory-card__link:hover span[aria-hidden="true"] { transform: translate(3px, -2px); }.directory-card--worth { border-top: 4px solid var(--clay); }.directory-card--brightup { border-top: 4px solid var(--gold); }.directory-card--riki { border-top: 4px solid var(--sage); }.directory-card--academy { border-top: 4px solid var(--ink-soft); }

.home-feature { color: white; background: var(--ink); }.feature-grid { display: grid; grid-template-columns: 150px minmax(0, 1.2fr) minmax(280px, .7fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; padding: clamp(4.5rem, 8vw, 7rem) 0; }.feature-mark { display: flex; overflow: hidden; height: 165px; align-items: flex-end; color: rgba(255,255,255,.11); font-family: var(--font-serif); font-size: 9rem; letter-spacing: -.28em; line-height: .7; }.feature-grid h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 5.2rem); }.feature-grid h2 em { color: var(--gold-light); }.feature-mission { max-width: 590px; margin: 1.25rem 0 0; color: rgba(255,255,255,.78); font-size: 1.02rem; font-weight: 600; line-height: 1.62; }.feature-copy blockquote { margin: 0 0 1.65rem; padding: 0 0 0 1.2rem; border-left: 3px solid var(--gold); }.feature-copy blockquote p { margin-bottom: .55rem; color: white; font-family: var(--font-serif); font-size: clamp(1.3rem, 2vw, 1.7rem); letter-spacing: -.025em; line-height: 1.28; }.feature-copy blockquote cite { color: rgba(255,255,255,.68); font-size: .8rem; font-style: normal; font-weight: 700; }

.page-hero { padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(3.3rem, 5vw, 5.25rem); background: var(--paper); border-bottom: 1px solid var(--line); }.page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); }.page-hero h1 { max-width: 880px; margin-bottom: 0; font-size: clamp(3.7rem, 7vw, 7rem); }.page-hero h1 em { color: var(--clay); }.page-hero__aside { max-width: 430px; margin: 0; color: var(--slate); font-size: 1.1rem; line-height: 1.65; }.page-hero--ink { color: white; background: var(--ink); border: 0; }.page-hero--ink .page-hero__aside { color: rgba(255,255,255,.72); }.page-hero--ink h1 em { color: var(--gold-light); }

.content-section { padding: clamp(4rem, 8vw, 7.5rem) 0; }.content-section--paper { background: var(--paper); }.content-section--sand { background: var(--sand); }.content-section--cream { background: var(--cream); }.section-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }.section-intro h2 { margin-bottom: 0; }.section-intro p { max-width: 640px; color: var(--slate); font-size: 1.06rem; line-height: 1.68; }

.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.principle-card { min-height: 310px; padding: clamp(1.5rem, 3vw, 2.3rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }.principle-card span { display: block; margin-bottom: 3.25rem; color: var(--clay); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }.principle-card h3 { margin-bottom: .85rem; font-size: clamp(1.7rem, 2.6vw, 2.25rem); }.principle-card p { margin: 0; color: var(--slate); line-height: 1.65; }
.boundary-panel { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: clamp(2rem, 7vw, 7rem); padding: clamp(2rem, 5vw, 4rem); color: white; background: var(--ink-deep); }.boundary-panel h2 { margin-bottom: 0; font-size: clamp(2.2rem, 4vw, 3.7rem); }.boundary-panel p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.65; }

.founder-layout { display: grid; grid-template-columns: minmax(260px, .6fr) minmax(0, 1.4fr); gap: clamp(3rem, 9vw, 10rem); align-items: stretch; }.founder-statement { position: relative; display: flex; min-height: 560px; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.7rem); overflow: hidden; color: white; background: var(--ink); }.founder-statement::before { content: ""; position: absolute; inset: auto -14% -23% auto; width: 315px; height: 315px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }.founder-statement .eyebrow { position: relative; z-index: 1; color: var(--gold-light); }.founder-name { position: relative; z-index: 1; margin: auto 0 0; font-family: var(--font-serif); font-size: clamp(4.5rem, 8vw, 7rem); letter-spacing: -.07em; line-height: .8; }.founder-monogram { position: absolute; right: .7rem; bottom: -.88rem; z-index: 0; color: rgba(255,255,255,.07); font-family: var(--font-serif); font-size: 12rem; letter-spacing: -.25em; line-height: .7; }.founder-profile { align-self: center; max-width: 700px; }.founder-profile h2 { margin-bottom: 1.35rem; font-size: clamp(2.8rem, 5.1vw, 5.15rem); }.founder-profile h2 em { color: var(--clay); }.founder-profile p { color: var(--slate); line-height: 1.68; }.founder-profile .founder-lede { color: var(--ink); font-size: clamp(1.12rem, 1.6vw, 1.3rem); font-weight: 600; line-height: 1.58; }.founder-credentials { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 1.9rem; }.founder-credentials span { padding: .45rem .65rem; border: 1px solid rgba(16,34,70,.28); border-radius: 99px; color: var(--ink); font-size: .77rem; font-weight: 700; line-height: 1.2; }.founder-profile blockquote { margin: 0 0 1.1rem; padding: 1.3rem 0 0 1.35rem; border-left: 3px solid var(--clay); }.founder-profile blockquote p { max-width: 570px; margin-bottom: .6rem; font-family: var(--font-serif); font-size: clamp(1.2rem, 1.8vw, 1.55rem); letter-spacing: -.02em; line-height: 1.32; }.founder-profile cite { color: var(--slate); font-size: .82rem; font-style: normal; font-weight: 700; }.founder-source { margin: 0 0 1.25rem; font-size: .84rem; }.founder-source a { color: var(--ink); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }

.company-list { display: grid; gap: 1.2rem; }.company-row { display: grid; grid-template-columns: 86px minmax(200px, .72fr) minmax(260px, 1.28fr) auto; align-items: center; gap: 2rem; min-height: 205px; padding: clamp(1.5rem, 3vw, 2.5rem); color: var(--ink); border: 1px solid var(--line); background: var(--paper); }.company-row__number { color: var(--slate); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }.company-row__identity h2 { margin-bottom: .45rem; font-family: var(--font-sans); font-size: clamp(1.9rem, 3vw, 2.65rem); }.company-row__identity p { margin: 0; color: var(--slate); font-size: .85rem; }.company-row__detail p { max-width: 560px; margin: 0; color: var(--slate); line-height: 1.65; }.company-row--brightup { border-left: 5px solid var(--gold); }.company-row--worth { border-left: 5px solid var(--clay); }.company-row--riki { border-left: 5px solid var(--sage); }.company-row--academy { border-left: 5px solid var(--ink-soft); }.company-row .text-link { min-width: max-content; }

.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }.partner-card { display: flex; min-height: 320px; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.2rem); border: 1px solid var(--line); background: var(--paper); }.partner-card span { color: var(--clay); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }.partner-card h2 { margin: 3rem 0 .85rem; font-family: var(--font-sans); font-size: clamp(1.7rem, 2.7vw, 2.25rem); }.partner-card p { margin: 0; color: var(--slate); line-height: 1.65; }.partner-cta { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding: clamp(2.2rem, 5vw, 4rem); color: white; background: var(--ink); }.partner-cta h2 { margin-bottom: 0; font-size: clamp(2.6rem, 5vw, 4.7rem); }.partner-cta p { max-width: 470px; color: rgba(255,255,255,.74); line-height: 1.65; }

.site-footer { color: white; background: var(--ink-deep); }.footer-top { display: flex; justify-content: space-between; gap: 2rem; padding: 3.2rem 0 2.3rem; }.wordmark--footer { color: white; }.wordmark--footer .wordmark-overline { color: rgba(255,255,255,.82); }.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1.2rem 1.8rem; color: rgba(255,255,255,.72); font-size: .9rem; font-weight: 600; }.footer-links a:hover { color: white; }.footer-disclosure { max-width: 1180px; padding: 1.65rem 0 2rem; border-top: 1px solid var(--white-line); }.footer-disclosure h2 { margin: 0 0 .7rem; color: var(--gold-light); font-family: var(--font-sans); font-size: .78rem; font-weight: 700; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }.footer-disclosure p { max-width: 900px; margin: 0 0 .8rem; color: rgba(255,255,255,.76); font-size: .88rem; line-height: 1.64; }.footer-disclosure p:last-child { margin-bottom: 0; }.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; border-top: 1px solid var(--white-line); color: rgba(255,255,255,.54); font-size: .78rem; }.footer-bottom p { margin: 0; }

.policy-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }.policy-layout h2 { margin-bottom: 0; }.policy-layout > div:last-child { max-width: 710px; }.policy-layout p { color: var(--slate); line-height: 1.72; }.policy-layout p:last-child { margin-bottom: 0; }.policy-layout strong { color: var(--ink); }.policy-layout code { padding: .1em .3em; color: var(--ink); background: rgba(16,34,70,.08); border-radius: .2em; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .9em; }.policy-layout .text-link { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
@media (max-width: 980px) { .home-directory { grid-template-columns: repeat(2, 1fr); }.feature-grid { grid-template-columns: 110px 1fr; }.feature-copy { grid-column: 2; }.company-row { grid-template-columns: 60px minmax(170px, .75fr) minmax(230px, 1.25fr); }.company-row .text-link { grid-column: 2 / -1; }.partner-grid { grid-template-columns: 1fr; }.partner-card { min-height: 0; }.partner-card h2 { margin-top: 2rem; } }
@media (max-width: 760px) { .shell { width: min(100% - 32px, 1180px); }.header-inner { height: 74px; }.nav-toggle { position: relative; z-index: 3; display: grid; gap: 5px; width: 44px; height: 44px; padding: 0; border: 0; color: inherit; background: transparent; }.nav-toggle span:not(.visually-hidden) { display: block; width: 24px; height: 2px; margin-left: auto; background: currentColor; transition: transform .2s var(--ease-out); }.nav-toggle.is-open span:nth-of-type(2) { transform: translateY(3.5px) rotate(45deg); }.nav-toggle.is-open span:nth-of-type(3) { transform: translateY(-3.5px) rotate(-45deg); }.primary-nav { position: absolute; left: 0; top: 74px; width: 100%; display: none; align-items: stretch; gap: 0; padding: 1rem 1rem 1.25rem; color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 14px 24px rgba(8,21,46,.08); }.primary-nav.is-open { display: flex; flex-direction: column; }.primary-nav > a:not(.nav-contact) { padding: .75rem .3rem; }.nav-contact { margin-top: .5rem; }.home-hero { min-height: 680px; }.home-hero__image { background-position: 64% center; }.home-hero__scrim { background: linear-gradient(90deg, rgba(8,21,46,.95) 0%, rgba(8,21,46,.76) 64%, rgba(8,21,46,.48) 100%); }.home-hero__grid, .overview-grid, .page-hero__grid, .section-intro, .founder-layout, .partner-cta, .boundary-panel, .policy-layout { grid-template-columns: 1fr; gap: 1.6rem; }.home-hero__grid { padding-top: 8rem; }.home-hero__note { display: none; }.home-directory, .principle-grid { grid-template-columns: 1fr; }.directory-card { min-height: 220px; }.feature-grid { grid-template-columns: 1fr; gap: 1.6rem; }.feature-copy { grid-column: auto; }.feature-mark { height: 85px; font-size: 6rem; }.page-hero h1 { font-size: clamp(3.4rem, 13vw, 5.6rem); }.founder-statement { min-height: 320px; }.founder-name { font-size: clamp(4.2rem, 16vw, 6rem); }.company-row { grid-template-columns: 1fr; gap: 1rem; }.company-row .text-link { grid-column: auto; margin-top: .6rem; }.footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }.footer-links { justify-content: flex-start; } }
@media (max-width: 460px) { .home-hero h1 { font-size: clamp(3.1rem, 16vw, 4.5rem); }.button-row { align-items: stretch; flex-direction: column; }.button { width: 100%; }.page-hero { padding-top: 3.4rem; } }

/* Dedicated BrightUp and Meet-RIKI templates */
.content-section--ink { color: white; background: var(--ink); }
.content-section--ink .section-intro h2 { color: white; }
.content-section--ink .section-intro p { color: rgba(255, 255, 255, .74); }
.content-section--ink .section-intro h2 em { color: var(--gold-light); }
.section-intro--compact { margin-bottom: 2.5rem; }

.page-hero--brightup,
.page-hero--riki { position: relative; overflow: hidden; color: white; border: 0; }
.page-hero--brightup { background: linear-gradient(112deg, #102246 0%, #17376c 63%, #385d53 100%); }
.page-hero--riki { background: linear-gradient(112deg, #0b1e3e 0%, #204f5b 57%, #729785 100%); }
.page-hero--brightup::after,
.page-hero--riki::after { content: ""; position: absolute; right: -5vw; top: -11vw; width: min(42vw, 520px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 min(3.2vw, 42px) rgba(255,255,255,.04), 0 0 0 min(6.8vw, 86px) rgba(255,255,255,.03); }
.page-hero--brightup .page-hero__grid,
.page-hero--riki .page-hero__grid { position: relative; z-index: 1; }
.page-hero--brightup h1 em { color: var(--gold-light); }
.page-hero--riki h1 em { color: #c2e2d2; }
.page-hero--brightup .page-hero__aside,
.page-hero--riki .page-hero__aside { color: rgba(255,255,255,.78); }

.process-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.process-list article { min-height: 260px; padding: clamp(1.5rem, 3vw, 2.45rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.process-list span { display: block; margin-bottom: 3rem; color: var(--clay); font-size: .76rem; font-weight: 700; letter-spacing: .12em; }
.process-list h3 { margin-bottom: .8rem; font-family: var(--font-sans); font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.1; }
.process-list p { max-width: 315px; margin: 0; color: var(--slate); line-height: 1.65; }

.pathway-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.pathway-card { display: flex; min-height: 255px; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); background: var(--paper); }
.pathway-card h3 { margin-bottom: .8rem; font-family: var(--font-sans); font-size: clamp(1.45rem, 2.5vw, 2.05rem); line-height: 1.05; }
.pathway-card p { max-width: 460px; margin-bottom: 1.5rem; color: var(--slate); line-height: 1.65; }
.pathway-card .text-link { margin-top: auto; }
.pathway-card--quiet { background: color-mix(in srgb, var(--paper) 76%, var(--sage) 24%); }

.privacy-panel,
.exit-panel { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(270px, .82fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding: clamp(2.2rem, 5vw, 4.2rem); }
.privacy-panel h2,
.exit-panel h2 { margin-bottom: 0; font-size: clamp(2.3rem, 4.4vw, 4.3rem); }
.privacy-panel h2 { color: white; }
.privacy-panel p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.7; }
.exit-panel { border: 1px solid var(--line); background: var(--paper); }
.exit-panel h2 { color: var(--ink); }
.exit-panel p { margin: 0; color: var(--slate); line-height: 1.68; }
.exit-panel .eyebrow { margin-bottom: 1.1rem; }

.product-links { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(270px, .9fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding: clamp(2.2rem, 5vw, 4.2rem); border: 1px solid var(--line); background: var(--paper); }
.product-links h2 { margin-bottom: 1.2rem; font-size: clamp(2.6rem, 4.6vw, 4.5rem); }
.product-links p { max-width: 580px; margin-bottom: 0; color: var(--slate); line-height: 1.68; }
.product-link-list { display: grid; gap: 1rem; justify-items: start; }
.product-link-list .button { margin-bottom: .4rem; }

.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.related-card { display: flex; min-height: 285px; flex-direction: column; padding: 1.45rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.related-card h3 { margin-bottom: .8rem; font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.15; }
.related-card p { margin-bottom: 1.45rem; color: var(--slate); font-size: .9rem; line-height: 1.58; }
.related-card .text-link { margin-top: auto; font-size: .88rem; overflow-wrap: anywhere; }

@media (max-width: 980px) {
  .process-list { grid-template-columns: 1fr; }
  .pathway-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .page-hero--brightup::after,
  .page-hero--riki::after { right: -28vw; top: -16vw; width: 72vw; }
  .privacy-panel,
  .exit-panel,
  .product-links { grid-template-columns: 1fr; gap: 1.6rem; }
  .process-list article { min-height: 0; }
  .process-list span { margin-bottom: 1.8rem; }
  .pathway-card { min-height: 0; }
  .related-grid { grid-template-columns: 1fr; }
  .related-card { min-height: 0; }
  .related-card .text-link { margin-top: 1rem; }
}
