/* ═══════════════════════════════════════════════════════════════════
   KUMAYA WORLD — PRIVATE INVESTOR WALKTHROUGH
   A guided, scroll-state presentation. Two-font system:
   Source Serif 4 (display/editorial) + Inter (body/commercial/UI).
   Palette: deep charcoal, warm ivory, restrained antique gold.
   All choreography is progressive enhancement: without JS (html:not(.js))
   or with reduced motion, every state is static, stacked and readable.
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --ivory:        #FAF7F1;
  --ivory-warm:   #F3EDE2;
  --ivory-deep:   #ECE4D4;
  --char:         #14120F;
  --char-soft:    #1D1A16;
  --char-mid:     #4A4640;
  --char-light:   #6E675E;
  --ink:          #201D18;   /* near-black text on ivory */
  --ink-soft:     #4C463E;
  --proposal-blue:#24324A;   /* Compass Indigo for proposal emphasis */
  --gold:         #C9AE71;
  --gold-deep:    #96762F;   /* WCAG-safe on ivory for small text */
  --subhead-ink:  #4A3518;   /* darker bronze for legible light-background labels */
  --gold-pale:    #DDD0A8;
  --gold-line:    rgba(201, 174, 113, 0.34);
  --gold-line-dk: rgba(201, 174, 113, 0.4);
  --gold-line-strong: rgba(150, 118, 47, 0.58);
  --gold-line-strong-dk: rgba(221, 208, 168, 0.52);
  --ivory-on-dk:  #F1EBDF;
  --muted-on-dk:  #C7BFB0;   /* readable secondary on charcoal */
  --serif: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --sans:  'Inter', system-ui, -apple-system, sans-serif;
  --measure: 66ch;
  --iw-body-size: clamp(1.12rem, 1rem + .5vw, 1.35rem);
  --iw-subhead-size: clamp(0.92rem, 0.84rem + 0.25vw, 1.05rem);
  --rail-x: clamp(16px, 4.5vw, 64px);
  --content-x: clamp(24px, 9vw, 140px);
  --ease: cubic-bezier(0.33, 1, 0.68, 1);
  --t-fast: 480ms;
  --t-med: 650ms;
  --t-slow: 950ms;   /* state cross-dissolve out */
  --t-slower: 1250ms; /* state cross-dissolve in */
  interpolate-size: allow-keywords;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--ivory);
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Browser scroll anchoring picks anchor nodes inside the sticky sequences;
   when a state's visibility toggles during an upward scroll the anchor moves
   and the viewport visibly jumps to an unrelated place (Chrome/Android).
   The page manages its own choreography, so anchoring is disabled. */
html, body { overflow-anchor: none; }

body {
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.25rem); /* 17 → 20px */
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Keep every exposed edge the same color as the page it belongs to. The
   proposal cover is charcoal; the proposal beneath it is ivory. This also
   prevents mobile overscroll from revealing a gray browser-default canvas. */
body[data-iw-page="industry"] { background: var(--char); }
body[data-iw-page="industry"] main { background: var(--ivory); }

/* While the private entry is up (JS present), the page beneath must not compete. */
html.js body.iw-gated { overflow: hidden; }
/* Return from the private tour without showing the proposal's entry cover. */
html.iw-returning body.iw-gated { overflow: auto; }
html.iw-returning .iw-entry { display: none; }

img { max-width: 100%; display: block; }

::selection { background: rgba(201, 174, 113, 0.28); }

/* ── Typography ─────────────────────────────────────────────────── */

.iw-display {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2.125rem, 1.35rem + 3.9vw, 4.75rem);  /* 34 → 76px */
  line-height: 1.08;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.iw-h2 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.75rem, 1.3rem + 2.1vw, 2.625rem);   /* 28 → 42px */
  line-height: 1.16;
  text-wrap: balance;
}

/* Chapter-opening headings: used only for the two main chapter statements
   ("A WORLD DESIGNED TO BE ENTERED", "THREE WAYS TO ENTER KUMAYA WORLD").
   All other section titles use .iw-section-h-md below. */
.iw-section-h {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2.25rem, 1.55rem + 3.4vw, 4.125rem);  /* 36 → 66px */
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

/* Mid-size section headings: sub-section openers that are meaningful but
   should not compete with chapter openers or part dividers. */
.iw-section-h-md {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.75rem, 1.25rem + 2.5vw, 2.75rem);   /* 28 → 44px */
  line-height: 1.18;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.iw-h3 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.375rem, 1.15rem + 1vw, 1.75rem);
  line-height: 1.25;
  text-wrap: balance;
}

.iw-kicker {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--subhead-ink);
}
.iw-dark .iw-kicker { color: var(--gold); }

.iw-body { max-width: var(--measure); color: var(--ink); font-size: var(--iw-body-size); }
.iw-dark .iw-body { color: var(--ivory-on-dk); }
.iw-dark2 .iw-body { color: var(--ivory-on-dk); }
.iw-body + .iw-body { margin-top: 1.1em; }
/* Keep ordinary proposal paragraphs on one readable scale. Components with
   deliberate display, label, pricing, or callout typography opt out below. */
body[data-iw-page="industry"] main p { font-size: var(--iw-body-size); }

/* Emphasized words are always bold black; bronze/gold is reserved for kickers. */
.iw-highlight {
  color: var(--ink);
  font-style: normal;
  font-weight: 700;
}

.iw-small {
  font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);   /* ≥15px always */
  line-height: 1.6;
}

/* ── Route / wayfinding rail ────────────────────────────────────── */

.iw-rail {
  position: fixed;
  top: 0; bottom: 0;
  left: var(--rail-x);
  width: 1px;
  z-index: 40;
  pointer-events: none;
  opacity: 0;
  transition: opacity 900ms var(--ease);
}
body.iw-entered .iw-rail { opacity: 1; }

.iw-rail::before {                    /* faint full track */
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0, var(--gold-line) 8%, var(--gold-line) 92%, transparent 100%);
  opacity: 0.35;
}

.iw-rail-fill {                       /* drawn progress */
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0, var(--gold) 6%, var(--gold) 94%, transparent 100%);
  transform: scaleY(var(--rt, 0));
  transform-origin: top center;
}

/* The thread is interrupted across THE GAP band, permanently.
   Mask lives on the untransformed container so the break holds its
   position while the fill scales through it. */
.iw-rail {
  -webkit-mask-image: linear-gradient(180deg, #000 0, #000 var(--gap-a, 39%), transparent var(--gap-a, 39%), transparent var(--gap-b, 41%), #000 var(--gap-b, 41%), #000 100%);
          mask-image: linear-gradient(180deg, #000 0, #000 var(--gap-a, 39%), transparent var(--gap-a, 39%), transparent var(--gap-b, 41%), #000 var(--gap-b, 41%), #000 100%);
}

/* zone behaviour: business = crisp, founder = receded */
body[data-zone="business"] .iw-rail-fill,
body[data-zone="stage"] .iw-rail-fill { width: 2px; margin-left: -0.5px; }
body[data-zone="founder"] .iw-rail { opacity: 0.3; }
body[data-zone="growth"] .iw-rail,
body[data-zone="next"] .iw-rail { opacity: 1; }

/* static fallback: rail fully drawn, no fixed positioning cost */
html:not(.js) .iw-rail { display: none; }

/* ── Sections ───────────────────────────────────────────────────── */

.iw-s {
  position: relative;
  padding: clamp(96px, 16vh, 180px) var(--content-x);
}
.iw-dark { background: var(--char); color: var(--ivory-on-dk); }
.iw-dark2 { background: var(--char-soft); color: var(--ivory-on-dk); }
.iw-warm { background: var(--ivory-warm); }
.iw-deep { background: var(--ivory-deep); }

.iw-stack > * + * { margin-top: clamp(20px, 3.5vh, 34px); }

/* ── Investment summary / scan layer ─────────────────────────────── */
.iw-summary {
  padding: clamp(68px, 10vh, 112px) var(--content-x);
  border-bottom: 1px solid var(--gold-line);
}
.iw-summary-head { max-width: 720px; }
.iw-summary-lead {
  margin-top: clamp(20px, 3.5vh, 32px);
  font-size: clamp(1.08rem, 1rem + 0.45vw, 1.25rem);
  line-height: 1.7;
}
.iw-summary-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(38px, 6vh, 64px);
  border-top: 1px solid var(--gold-line);
  border-bottom: 1px solid var(--gold-line);
}
.iw-summary-metric {
  padding: clamp(20px, 3vh, 30px) clamp(14px, 2vw, 28px);
  border-right: 1px solid var(--gold-line);
}
.iw-summary-metric:first-child { padding-left: 0; }
.iw-summary-metric:last-child { border-right: 0; }
.iw-summary-metric-value {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.1rem + 1.2vw, 2.15rem);
  font-weight: 600;
  line-height: 1.15;
  color: var(--ink);
}
.iw-summary-metric-label {
  margin-bottom: 8px;
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--char-light);
}
.iw-summary-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 6vw, 88px);
  max-width: 1080px;
  margin-top: clamp(42px, 7vh, 72px);
}
.iw-summary-label {
  margin-bottom: 14px;
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.35;
  color: var(--subhead-ink);
}
.iw-scan-nav {
  margin-top: clamp(42px, 7vh, 72px);
  padding-top: clamp(24px, 4vh, 36px);
  border-top: 1px solid var(--gold-line);
}
.iw-scan-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.iw-scan-links a {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-bottom: 1px solid var(--gold-line);
  padding-bottom: 3px;
}
.iw-scan-links a:hover { border-bottom-color: var(--gold-deep); }
.iw-summary-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px 30px;
  margin-top: clamp(34px, 5vh, 48px);
}
.iw-btn-outline {
  color: var(--ink);
  border-color: var(--gold-deep);
}
.iw-btn-outline:hover { color: var(--char); }

/* section-level arrival: atmosphere only — text is never hidden per-paragraph */
.iw-orn { transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease); }
html.js .iw-s:not(.on) .iw-orn { opacity: 0; transform: translateY(10px); }

/* controlled image reveal (explicitly allowed) */
html.js .iw-reveal-img {
  clip-path: inset(0 0 14% 0);
  opacity: 0.001;
  transform: scale(1.025);
  transition: clip-path 1300ms var(--ease), opacity 1000ms var(--ease), transform 1500ms var(--ease);
}
html.js .on .iw-reveal-img,
html.js .iw-reveal-img.on {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  transform: none;
}

/* ── 00 · Private entry ─────────────────────────────────────────── */

.iw-entry {
  position: fixed; inset: 0;
  z-index: 200;
  background: var(--char);
  color: var(--ivory-on-dk);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 24px;
  overflow-y: auto;
}
html:not(.js) .iw-entry { position: relative; min-height: 100svh; }

.iw-entry-inner { max-width: 620px; margin: auto; }
.iw-entry-seal { width: clamp(132px, 18vw, 198px); height: auto; margin: 0 auto clamp(22px, 4vh, 36px); opacity: 0.9; }
.iw-entry-title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2rem, 1.4rem + 3vw, 3.4rem);
  letter-spacing: 0.045em;
}
.iw-entry-sub {
  margin-top: 14px;
  font-size: clamp(0.78rem, 0.72rem + 0.3vw, 0.9rem);
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold);
}
.iw-entry-rule { width: 44px; height: 1px; background: var(--gold-line-dk); margin: clamp(26px, 4.5vh, 40px) auto; }
.iw-entry-prepared {
  font-size: 0.8125rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted-on-dk);
}
.iw-entry-names {
  margin-top: 16px;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.65rem);
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.iw-entry-org {
  margin-top: 10px;
  font-family: var(--serif);
  font-size: clamp(1.5rem, 1.3rem + 1.6vw, 2.7rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted-on-dk);
}
.iw-entry-copy {
  margin: clamp(26px, 4.5vh, 40px) auto 0;
  max-width: 46ch;
  color: var(--muted-on-dk);
  font-size: clamp(0.9375rem, 0.9rem + 0.25vw, 1.0625rem);
}
.iw-entry-cta { margin-top: clamp(30px, 5vh, 48px); }

/* ── Optional founder note on the cover ─────────────────────────── */
.iw-entry { overflow-y: auto; }
.iw-entry-note-row { margin-top: clamp(26px, 4.5vh, 40px); }
.iw-entry-note-label {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gold);
}
.iw-note-watch {
  margin-top: 12px;
  appearance: none;
  background: none;
  border: 1px solid var(--gold-line-dk);
  color: var(--ivory-on-dk);
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 10px 24px;
  cursor: pointer;
  transition: border-color 300ms var(--ease), color 300ms var(--ease);
}
.iw-note-watch:hover { border-color: var(--gold); color: var(--gold); }
.iw-note-watch:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.iw-entry-note { margin: clamp(22px, 3.5vh, 34px) auto 0; max-width: 560px; }
.iw-entry-note video {
  width: 100%;
  max-height: 42vh;
  display: block;
  background: #000;
  border: 1px solid var(--gold-line-dk);
}
/* after the note ends, the door quietly asks to be opened */
.iw-btn.iw-btn-beckon { box-shadow: 0 0 0 1px var(--gold), 0 0 26px rgba(198, 164, 86, 0.28); }

/* leaving: the dark cover glides upward while the next page is revealed */
.iw-entry.leaving {
  transition: transform 1050ms var(--ease), opacity 900ms var(--ease);
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
.iw-entry.gone { display: none; }

/* ── Buttons ────────────────────────────────────────────────────── */

.iw-btn {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  background: transparent;
  border: 1px solid var(--gold-line-dk);
  padding: 17px 38px;
  cursor: pointer;
  transition: background-color 300ms var(--ease), color 300ms var(--ease), border-color 300ms var(--ease);
}
.iw-btn:hover { background: var(--gold); border-color: var(--gold); color: var(--char); }
.iw-btn:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--gold-deep);
  outline-offset: 3px;
}
.iw-dark .iw-btn:focus-visible, .iw-dark a:focus-visible { outline-color: var(--gold); }

.iw-btn-solid { background: var(--gold); border-color: var(--gold); color: var(--char); }
.iw-btn-solid:hover { background: var(--gold-pale); border-color: var(--gold-pale); }

.iw-conversation-tab,
.iw-details-tab {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  padding: 17px 38px;
  text-align: center;
}
.iw-conversation-tab {
  background: #2e7d32;
  border-color: #2e7d32;
  color: #fff;
}
.iw-conversation-tab:hover {
  background: #1b5e20;
  border-color: #1b5e20;
  color: #fff;
}
.iw-details-tab {
  background: #D4AF37;
  border-color: #D4AF37;
  color: var(--char);
}
.iw-details-tab:hover {
  background: #c29e23;
  border-color: #c29e23;
  color: var(--char);
}

.iw-quiet {
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--char-light);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
.iw-quiet:hover { color: var(--ink); border-bottom-color: var(--gold-line); }
.iw-dark .iw-quiet { color: var(--muted-on-dk); }
.iw-dark .iw-quiet:hover { color: var(--ivory-on-dk); border-bottom-color: var(--gold-line-dk); }

/* ── Scroll sequences (sticky state machines) ───────────────────── */

html.js .iw-seq { height: var(--seq-h, 300vh); position: relative; }
html.js .iw-seq-view {
  position: static;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  display: block;
}
/* Cross-dissolve: the outgoing state stays visible while it fades, and the
   incoming state fades in over it — no blank gap, no hard pop. */
html.js .iw-st {
  position: absolute; inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px var(--content-x);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease), visibility 0s linear var(--t-slow);
}
html.js .iw-st.act {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity var(--t-slower) var(--ease) 90ms, transform var(--t-slower) var(--ease) 90ms, visibility 0s;
}
/* static fallback: every state is a normal readable block */
html:not(.js) .iw-st { padding: clamp(56px, 9vh, 96px) var(--content-x); }

/* ── 01 · World sequence ────────────────────────────────────────── */

.iw-world-st {
  display: block;
  padding: 0;
}
html.js .iw-world-st,
html:not(.js) .iw-world-st {
  padding: 0;
}
.iw-world-grid {
  /* Three rows: category label | image (stretches to fill) | copy caption */
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 100vw;
  max-width: none;
  margin: 0;
  height: 100%;          /* fills the absolute-positioned iw-st container */
}
.iw-world-category {
  grid-row: 1;
  padding: clamp(14px, 2.2vh, 24px) var(--content-x) clamp(8px, 1.2vh, 14px);
}
.iw-world-category .iw-kicker {
  font-size: clamp(1.05rem, 0.9rem + 0.9vw, 1.5rem);
  letter-spacing: 0.18em;
}
.iw-world-fig {
  grid-row: 2;
  position: relative;
  width: 100vw;
  margin: 0;
  overflow: hidden;      /* clips the image to the available row height */
}
.iw-world-copy {
  grid-row: 3;
  padding: clamp(16px, 2.5vh, 28px) var(--content-x) 0;
}
.iw-world-copy .iw-h2 {
  font-size: clamp(1.35rem, 1.05rem + 1.35vw, 2rem);
  line-height: 1.2;
}

/* ── A brief invitation after World Artifacts ─────────────────────── */
.iw-tour-invite {
  padding-top: clamp(72px, 12vh, 132px);
  padding-bottom: clamp(72px, 12vh, 132px);
  border-top: 1px solid var(--gold-line);
  border-bottom: 1px solid var(--gold-line);
  scroll-margin-top: 24px;
}
.iw-tour-invite-inner { max-width: 680px; }
.iw-tour-invite-copy { margin-top: clamp(20px, 3vh, 28px); }
.iw-tour-invite .iw-btn { margin-top: clamp(30px, 5vh, 48px); }
.iw-tour-continuation { scroll-margin-top: 32px; }
.iw-world-fig img {
  width: 100%;
  height: 100%;          /* fills the grid row */
  max-width: none;
  object-fit: cover;
  object-position: center 20%;
  box-shadow: 0 30px 80px rgba(20, 18, 15, 0.28);
}
/* laptop contained (zoomed out) in the same frame */
.iw-world-fig-contain img {
  object-fit: contain;
  object-position: center center;
  background: var(--ivory-warm);
  box-shadow: none;
}
/* Uploaded World Artifacts are portrait documents. Keep their complete
   natural frames visible; never crop any part of the cover or scene.
   The figure fills the full 1fr grid row (same as all other slides);
   the image is contained within that space, letterboxed on the warm
   ivory background, so the full portrait is always visible. */
.iw-world-grid-document {
  background: var(--ivory-warm);
}
.iw-world-fig-document {
  width: 100%;
  overflow: hidden;
  background: var(--ivory-warm);
}
.iw-world-fig-document img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center center;
  box-shadow: none;
  background: var(--ivory-warm);
}

/* ── Certificate slide: centred portrait card, not full-bleed ─── */
.iw-world-grid-cert {
  /* Override: figure row is auto so it doesn't stretch; grid centres content */
  grid-template-rows: auto auto auto;
  align-content: center;
  gap: 0;
  background: var(--ivory-warm);
}
.iw-world-fig-cert {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0 var(--content-x);
  box-sizing: border-box;
  overflow: visible;            /* allow drop shadow to breathe */
}
.iw-world-fig-cert img {
  width: auto;
  max-width: min(340px, 78vw);
  height: auto;
  max-height: 56vh;
  object-fit: contain;
  display: block;
  box-shadow:
    0 4px 18px rgba(20,16,8,0.22),
    0 16px 48px rgba(20,16,8,0.30),
    0 0 0 1px rgba(180,148,60,0.30);
  border-radius: 3px;
}
.iw-world-cap {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 18px;
}
.iw-world-cap-title {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--subhead-ink);
}
.iw-world-cap-sub {
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
}

/* ── Kumayans sentence — its own moment, separated from the intro body ── */
.iw-kumayans {
  margin-top: clamp(36px, 6vh, 56px);
  padding-top: clamp(20px, 3.5vh, 32px);
  border-top: 1px solid var(--gold-line);
  max-width: var(--measure);
  color: var(--ink);
  font-size: clamp(1.05rem, 1rem + 0.3vw, 1.2rem);
  line-height: 1.7;
}
.iw-world-definition {
  max-width: var(--measure);
  margin-top: clamp(34px, 5.5vh, 52px);
}
.iw-kumayology {
  color: var(--ink);
  font-size: clamp(1.05rem, 1rem + 0.3vw, 1.2rem);
  line-height: 1.7;
}
.iw-adversary-title {
  max-width: 24ch;
  margin-top: clamp(38px, 6vh, 58px);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.65rem, 1.25rem + 1.7vw, 2.65rem);
  font-weight: 600;
  line-height: 1.2;
}
.iw-no-break { white-space: nowrap; }
.iw-adversary-title + .iw-body { margin-top: 2.5rem; }

/* ── World moments — full-bleed artifacts, native scroll ────────── */

.iw-wm { background: var(--ivory-warm); overflow: hidden; overflow: clip; }
.iw-wm figure { margin: 0; }
.iw-wm-dark { background: var(--char); padding-top: clamp(40px, 7vh, 80px); }
.iw-world-flag {
  display: block;
  width: 100vw;
  max-width: none;
  height: auto;
  margin: calc(-1 * clamp(96px, 16vh, 180px)) 0 clamp(36px, 6vh, 56px) calc(-1 * var(--content-x));
}
.iw-wm-contain img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  max-width: min(100%, 66vh);
  max-width: min(100%, calc(88svh * 0.75));
}
.iw-wm-cover img {
  display: block;
  width: 100%;
  height: min(100vh, 150vw);
  height: min(100svh, 150vw);
  object-fit: cover;
  object-position: 50% 36%;
}
.iw-wm-cover-mid img {
  height: min(92vh, 110vw);
  height: min(92svh, 110vw);
  object-position: 50% 45%;
}
.iw-wm-cap { padding: clamp(22px, 3.5vh, 34px) var(--content-x) clamp(56px, 9vh, 100px); }
.iw-wm-dark .iw-wm-cap { text-align: left; padding-bottom: clamp(44px, 7vh, 84px); }
.iw-wm-dark .iw-wm-cap .iw-h2,
.iw-wm-dark .iw-wm-cap .iw-body { color: var(--ivory-on-dk); }

/* ── World synthesis — the world is part of the method ──────────── */

.iw-method-title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.4rem, 1.05rem + 1.8vw, 2.2rem);   /* reduced: was 2.9rem max */
  line-height: 1.3;
}
.iw-program {
  /* More air before the couplet so it reads as a closing beat, not a caption */
  margin-top: clamp(72px, 12vh, 120px);
  padding-top: clamp(26px, 4.5vh, 40px);
  border-top: 1px solid var(--gold-line);
  max-width: 900px;
}
.iw-program-line {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.5rem, 1.1rem + 2vw, 2.6rem);
  line-height: 1.35;
}
.iw-program-line .l2 { color: var(--gold-deep); }

/* ── 02 · The Gap sequence ──────────────────────────────────────── */

.iw-gap-seq .iw-seq-view { background: var(--ivory); transition: background-color 900ms var(--ease); }
.iw-gap-seq[data-state="1"] .iw-seq-view,
.iw-gap-seq[data-state="2"] .iw-seq-view { background: var(--char); color: var(--ivory-on-dk); }
html:not(.js) .iw-gap-static-dark { background: var(--char); color: var(--ivory-on-dk); }

.iw-callends {
  text-align: center;
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2.375rem, 1.5rem + 4.4vw, 5rem);
  line-height: 1.12;
}

/* the industry-insight paragraph — framing sentence, not detail sentence.
   Slightly larger than body, left-aligned with the section heading. */
.iw-gap-lead {
  max-width: 64ch;
  margin: clamp(28px, 4.5vh, 48px) 0 0;
  text-align: left;
  font-size: clamp(1.1rem, 1rem + 0.7vw, 1.4rem);
  line-height: 1.75;
  color: var(--ink);
}

/* ── Play thesis — featured editorial moment (not loud, not theatrical) ── */
.iw-thesis {
  width: 100%;
  text-align: center;
  padding: clamp(16px, 3vh, 32px) 0 clamp(40px, 7vh, 72px);
}
.iw-thesis-line {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(1.75rem, 1.2rem + 2.8vw, 3.4rem);
  line-height: 1.32;
  color: var(--ivory-on-dk);
  max-width: 21ch;
  margin: 0 auto;
  text-wrap: balance;
}
.iw-thesis-body {
  max-width: 62ch;
  /* Extra air before the Games/Tools columns so the editorial voice
     closes before the factual detail begins. */
  margin: 0 auto clamp(80px, 13vh, 128px);
  text-align: center;
  color: var(--ivory-on-dk);
}

.iw-gap-break {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 4vh, 34px);
  text-align: center;
}
.iw-gap-break-line {
  width: 1px;
  height: clamp(34px, 6vh, 56px);
  background: var(--gold);
  position: relative;
}
.iw-gap-break-line::after {
  content: '';
  position: absolute;
  left: 50%; transform: translateX(-50%);
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
}
.iw-gap-break-line.top::after { bottom: -3px; }
.iw-gap-break-line.bot::after { top: -3px; }

.iw-bridge {
  text-align: center;
}
.iw-bridge-title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.6rem, 1.1rem + 2.5vw, 2.8rem);   /* reduced: was 3.6rem max */
  line-height: 1.2;
}
.iw-bridge-plus { color: var(--gold); padding: 0 0.18em; }

/* ── Games and interactive tools ─────────────────────────────────── */

.iw-mech {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 22px);
  font-family: var(--sans);
  font-size: clamp(0.8125rem, 0.76rem + 0.3vw, 0.9375rem);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.iw-mech span { color: var(--ivory-on-dk); }
.iw-mech .sep { color: var(--gold); font-weight: 400; }
.iw-light .iw-mech span { color: var(--ink); }

.iw-part-grid {
  display: grid;
  grid-template-columns: 6fr 5fr;
  gap: clamp(32px, 6vw, 90px);
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}
.iw-part-grid img {
  width: 100%;
  max-height: 74vh;
  object-fit: cover;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.45);
}
.iw-part-grid img.iw-inner-compass-img {
  height: auto;
  max-height: none;
  object-fit: contain;
}
.iw-part-grid.iw-part-solo {
  grid-template-columns: 1fr;
  max-width: var(--measure);
}

.iw-tools-belt { max-width: var(--measure); }

/* Tool pair: name + description items side by side when space allows */
.iw-tool-pair {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: clamp(24px, 4vh, 40px) clamp(28px, 4vw, 56px);
  margin-top: clamp(24px, 4vh, 36px);
}
.iw-tool-item { display: flex; flex-direction: column; gap: 8px; }
.iw-tool-name {
  font-family: var(--sans);
  font-weight: 700;
  font-size: var(--iw-subhead-size);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}

.iw-tools-heading {
  font-family: var(--sans);
  font-weight: 700;
  font-size: var(--iw-subhead-size);
  line-height: 1.3;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: clamp(24px, 4vh, 40px);
}

/* ── Differentiation bridge ─────────────────────────────────────── */

.iw-synth { text-align: center; max-width: 900px; margin: 0 auto; }
.iw-synth-lines {
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(1.5rem, 1.1rem + 2vw, 2.6rem);
  line-height: 1.38;
  text-transform: none;
}
.iw-synth-lines .l2 { color: var(--gold-deep); }
.iw-synth .iw-body { margin-left: auto; margin-right: auto; }
.iw-synth-pair {
  margin-top: clamp(26px, 4.5vh, 38px);
  /* Sans-serif, slightly compressed — reads as a two-line diagram,
     not a continuation of the prose above it. */
  font-family: var(--sans);
  font-size: clamp(0.9375rem, 0.88rem + 0.35vw, 1.0625rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  color: var(--ink);
}

/* ── 04 · Business ──────────────────────────────────────────────── */

.iw-tiers {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.iw-tier {
  padding: clamp(30px, 5vh, 46px) 0;
  display: grid;
  grid-template-columns: minmax(150px, 220px) 1fr;
  gap: 8px clamp(24px, 4vw, 56px);
  align-items: baseline;
}
.iw-tier-name {
  font-family: var(--sans);
  font-weight: 700;
  font-size: var(--iw-subhead-size);
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.iw-tier-price {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem);
  font-weight: 600;
  grid-column: 1;
}
.iw-tier-copy { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--ink); max-width: 52ch; }
.iw-tier-sep {
  display: flex;
  justify-content: center;
  color: var(--gold-deep);
  font-size: 1rem;
}
.iw-tier-sep::before { content: '↓'; }

.iw-paths-line {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: flex-start;
}
.iw-paths-line .sep { color: var(--gold-deep); font-weight: 400; }
.iw-path {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.iw-path-name { white-space: nowrap; }
.iw-path-price {
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink);
  white-space: nowrap;
}
.iw-paths-line > .sep { margin-top: 2px; }

.iw-delivery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.05rem + 0.9vw, 1.7rem);
  font-weight: 600;
}
.iw-delivery .sep { color: var(--gold-deep); font-family: var(--sans); font-size: 1rem; font-weight: 400; }

/* ── 04 · Built → Proven ────────────────────────────────────────── */

.iw-built-word {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2rem, 1.4rem + 3.8vw, 4rem);   /* reduced: was 6rem max */
  line-height: 1.1;
  text-align: center;
  max-width: 14ch;
  margin: 0 auto;
  text-wrap: balance;
}
.iw-built-list {
  margin-top: clamp(30px, 5.5vh, 52px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 2.2vh, 20px);
  text-align: center;
}
.iw-built-item {
  font-family: var(--sans);
  font-size: clamp(0.875rem, 0.8rem + 0.5vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted-on-dk);
  transition: opacity 800ms var(--ease), transform 800ms var(--ease), letter-spacing 800ms var(--ease);
}
html.js .iw-built-item { opacity: 0; transform: translateY(10px); }
html.js .iw-st.act .iw-built-item {
  opacity: 1;
  transform: none;
  transition-delay: calc(var(--i) * 130ms);
}

.iw-proven-word {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2rem, 1.4rem + 3.8vw, 4rem);   /* reduced: was 7.25rem max */
  line-height: 1.1;
  text-align: center;
  color: var(--ivory-on-dk);
}
.iw-pq {
  max-width: 820px;
  text-align: center;
}
.iw-pq-n {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: clamp(18px, 3vh, 28px);
}
.iw-pq-q {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.75rem, 1.2rem + 2.8vw, 3.4rem);
  line-height: 1.2;
}
.iw-pq-flow {
  margin-top: clamp(56px, 9vh, 96px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: clamp(48px, 8vh, 84px) clamp(32px, 5vw, 64px);
}
.iw-pq-flow .iw-pq { margin: 0 auto; }

/* ── 06 · Next stage ────────────────────────────────────────────── */

.iw-ask {
  margin: clamp(34px, 6vh, 56px) 0 0;
  padding: clamp(26px, 4.5vh, 40px) 0;
  border-top: 1px solid var(--gold-line);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.iw-ask-amt {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2.4rem, 1.7rem + 3.4vw, 4.4rem);
  line-height: 1;
}
.iw-ask-equity {
  font-family: var(--sans);
  font-size: clamp(1rem, 0.88rem + 0.6vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--subhead-ink);
}

/* structural micro-strip */
.iw-struct-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin-top: 0;
  padding: clamp(20px, 3.2vh, 28px) 0;
  border-top: 1px solid var(--gold-line);
  border-bottom: 1px solid var(--gold-line);
}
.iw-struct-item {
  padding: 6px clamp(14px, 2.4vw, 28px);
  font-family: var(--sans);
  font-size: clamp(0.8rem, 0.74rem + 0.3vw, 0.9375rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.4;
}
.iw-struct-item:first-child { padding-left: 0; }
.iw-struct-sep {
  width: 1px;
  height: 1.1em;
  background: var(--gold-line);
  flex-shrink: 0;
  align-self: center;
}

/* structural disclosure */
.iw-struct-disc {
  margin-top: clamp(26px, 4vh, 38px);
  max-width: 66ch;
}
.iw-struct-disc .iw-body { color: var(--ink); }
.iw-struct-details-cta {
  margin-top: 14px;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ink-soft);
}

@media (max-width: 719px) {
  .iw-struct-sep { display: none; }
  .iw-struct-item {
    padding: 8px 0;
    width: 100%;
  }
  .iw-struct-item:first-child { padding-top: 0; }
  .iw-struct-item:last-child { padding-bottom: 0; }
}
.iw-beyond-investment {
  margin-top: clamp(40px, 7vh, 64px);
  padding-top: clamp(28px, 4.5vh, 42px);
  border-top: 1px solid var(--gold-line);
}
.iw-subhead-title {
  font-family: var(--sans);
  font-size: var(--iw-subhead-size);
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--subhead-ink);
  margin-bottom: clamp(18px, 3vh, 28px);
}
.iw-client-acq {
  margin-top: clamp(40px, 7vh, 64px);
  padding-top: clamp(28px, 4.5vh, 42px);
  border-top: 1px solid var(--gold-line);
}
.iw-client-acq .iw-body { max-width: 62ch; }
.iw-inline-link {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--gold-line);
  text-underline-offset: 3px;
}
.iw-inline-link:hover { color: var(--ink); }
.iw-founder-story-link {
  display: inline-block;
  margin-top: clamp(14px, 2vh, 20px);
  padding: 4px 0;
  color: var(--subhead-ink);
  font-size: .9rem;
  line-height: 1.45;
}
.iw-founder-story-link:hover { color: var(--ink); }
.iw-acq {
  display: flex;
  flex-direction: column;
  max-width: 720px;
}
.iw-acq-row {
  display: grid;
  grid-template-columns: minmax(140px, 210px) 1fr;
  gap: 6px clamp(22px, 4vw, 48px);
  padding: clamp(20px, 3.4vh, 30px) 0;
  border-bottom: 1px solid rgba(32, 29, 24, 0.1);
  align-items: baseline;
}
.iw-acq-row:last-child { border-bottom: 0; }
.iw-acq-k {
  font-family: var(--sans);
  font-weight: 700;
  font-size: var(--iw-subhead-size);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ink);
}
.iw-acq-v { color: var(--ink); }

.iw-follows {
  color: #000;
  font-family: var(--sans);
  font-weight: 700;
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.4rem);
  letter-spacing: -0.01em;
}
.iw-qualif {
  max-width: 62ch;
  color: var(--ink);
  font-size: 0.9375rem;   /* readable, never microscopic */
  line-height: 1.7;
}

/* ── 07 · Founder ───────────────────────────────────────────────── */

/* Founder section is always single-column now (full-bleed image then text) */
.iw-founder-grid {
  display: block;
}
.iw-founder-fig {
  /* pull the figure to the section edges — same technique as .iw-world-flag */
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-left: calc(-1 * var(--content-x));
  overflow: hidden;
  margin-bottom: clamp(32px, 5vh, 56px);
}
.iw-founder-fig img {
  display: block;
  width: 100%;
  height: min(78vh, 780px);
  height: min(78svh, 780px);
  object-fit: cover;
  object-position: center 34%;
  box-shadow: none;
}
.iw-founder-grid > div {
  max-width: 720px;
}

/* ── 07 · Growth ────────────────────────────────────────────────── */

.iw-growth { }
.iw-stage {
  position: relative;
  padding: clamp(30px, 5vh, 48px) 0 clamp(30px, 5vh, 48px) clamp(26px, 4vw, 54px);
  border-left: 1px solid var(--gold-line);
  max-width: 720px;
}
.iw-stage::before {                 /* station node on the thread */
  content: '';
  position: absolute;
  left: -4px; top: clamp(38px, 6vh, 58px);
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold-deep);
}
.iw-stage-k {
  font-family: var(--sans);
  font-weight: 700;
  font-size: var(--iw-subhead-size);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--subhead-ink);
}
.iw-stage-t {
  margin-top: 10px;
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.2rem);
  line-height: 1.2;
}
.iw-stage-items {
  margin-top: clamp(16px, 2.6vh, 24px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
}
.iw-stage-items li {
  position: relative;
  padding-left: 22px;
  font-family: var(--sans);
  font-size: clamp(0.875rem, 0.83rem + 0.25vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
}
.iw-stage-items li::before {        /* gold diamond bullet */
  content: '';
  position: absolute;
  left: 2px;
  top: 0.52em;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  background: var(--gold-deep);
}
.iw-stage-items li small {
  display: block;
  margin-top: 3px;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}
/* the thread widens outward stage by stage */
.iw-stage.next { margin-left: clamp(18px, 3vw, 44px); }
.iw-stage.long { margin-left: clamp(36px, 6vw, 88px); }

.iw-earn {
  margin-top: clamp(40px, 7vh, 64px);
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.5rem);
}

/* ── 09 · What comes next ───────────────────────────────────────── */

.iw-end {
  min-height: 92svh;
  display: flex;
  align-items: center;
}
.iw-end-inner { max-width: 640px; }
.iw-end-seal { width: 54px; height: auto; opacity: 0.85; margin-bottom: clamp(24px, 4vh, 36px); }
.iw-end-node {
  width: 11px; height: 11px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  margin-bottom: clamp(22px, 4vh, 34px);
  position: relative;
}
.iw-end-node::before {
  content: '';
  position: absolute;
  left: 50%; bottom: 100%;
  transform: translateX(-50%);
  width: 1px; height: clamp(30px, 5vh, 48px);
  background: linear-gradient(0deg, var(--gold), transparent);
}
.iw-end-actions {
  margin-top: clamp(30px, 5vh, 46px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px 30px;
}

/* ── Footer note ────────────────────────────────────────────────── */

.iw-legal {
  padding: 26px var(--content-x) 34px;
  background: var(--char);
  color: rgba(199, 191, 176, 0.78);
  font-size: 0.8125rem;
  line-height: 1.7;
}
.iw-legal p { max-width: 84ch; }

/* ── Part dividers (PART 1 / PART 2 chapter break labels) ────────── */

.iw-part-divider {
  padding: clamp(44px, 7vh, 68px) var(--content-x) clamp(44px, 7vh, 68px);
}

/* Small inline kicker-style .iw-part-label used elsewhere (e.g. below a
   section heading as a contextual label). Keep restrained. */
.iw-part-label {
  font-family: var(--sans);
  font-weight: 700;
  font-size: clamp(0.92rem, 0.78rem + 0.7vw, 1.2rem);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold-deep);
}

/* Part divider label: large serif chapter heading — black, prominent, one line */
.iw-part-divider .iw-part-label {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2rem, 1.3rem + 3.5vw, 3.75rem);   /* 32 → 60px, one line */
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--ink);
  line-height: 1.1;
  padding-top: clamp(22px, 4vh, 36px);
  border-top: 1px solid var(--gold-line);
}

/* ── Core Citizen Path photo cards ──────────────────────────────── */

.iw-path-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 3.5vw, 48px);
  max-width: 1100px;
}
.iw-path-card {
  display: flex;
  flex-direction: column;
}
.iw-path-card-fig {
  margin: 0;
  overflow: visible;
  border-radius: 2px;
  /* Let the image define its natural height — no cropping */
  aspect-ratio: auto;
}
.iw-path-card-fig img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 12px 40px rgba(20, 16, 8, 0.22);
  max-width: 100%;
}
.iw-path-card-alignment .iw-path-card-fig {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  background: var(--char);
}
.iw-path-card-alignment .iw-path-card-fig img {
  width: 88%;
  height: 88%;
  object-fit: contain;
}
.iw-path-card-body {
  padding-top: clamp(16px, 2.5vh, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iw-path-card-name {
  font-family: var(--sans);
  font-weight: 700;
  font-size: clamp(0.82rem, 0.76rem + 0.3vw, 1rem);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--subhead-ink);
}
.iw-path-card-line {
  font-family: var(--serif);
  font-size: clamp(1rem, 0.93rem + 0.4vw, 1.2rem);
  font-weight: 400;
  line-height: 1.5;
  color: var(--ink);
}
.iw-path-card-price {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.65rem);
  color: var(--ink);
  margin-top: 4px;
}
.iw-path-card-note {
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--char-light);
  margin-top: 2px;
}

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width: 1023px) {
  .iw-world-grid { grid-template-columns: 1fr; gap: 26px; }
  .iw-world-fig { order: -1; }
  .iw-world-fig img { max-height: none; }
  .iw-part-grid { grid-template-columns: 1fr; gap: 30px; }
  .iw-part-grid img { max-height: 56svh; }
  .iw-path-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
  .iw-summary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iw-summary-metric:nth-child(2) { border-right: 0; }
  .iw-summary-metric:nth-child(-n + 2) { border-bottom: 1px solid var(--gold-line); }
  /* founder layout is always single-column; no grid-template-columns override needed */
}

@media (max-width: 719px) {
  :root { --content-x: clamp(20px, 6.5vw, 40px); --rail-x: 12px; }
  .iw-rail { display: none; }               /* mobile: sections carry the thread */
  .iw-tier { grid-template-columns: 1fr; }
  .iw-tier-copy { grid-column: 1; grid-row: auto; }
  .iw-acq-row { grid-template-columns: 1fr; }
  .iw-stage.next { margin-left: 14px; }
  .iw-stage.long { margin-left: 28px; }
  .iw-entry { padding: 24px 20px; }
  .iw-end-tabs { flex-direction: column; gap: 12px; }
  .iw-end-tabs .iw-btn { width: 100%; }
  .iw-summary-metrics { grid-template-columns: 1fr 1fr; }
  .iw-summary-metric { padding: 18px 12px; }
  .iw-summary-metric:first-child { padding-left: 0; }
  .iw-summary-metric:nth-child(2) { padding-right: 0; }
  .iw-summary-metric:nth-child(3) { padding-left: 0; }
  .iw-summary-metric:nth-child(4) { padding-right: 0; }
  .iw-summary-columns { grid-template-columns: 1fr; gap: 30px; }
  /* Path photo cards: single column stacked on small screens */
  .iw-path-cards { grid-template-columns: 1fr; max-width: 420px; }
  .iw-path-card-fig { aspect-ratio: auto; }
}

@media (max-height: 620px) {
  html.js .iw-st { padding-top: 12px; padding-bottom: 12px; }
  .iw-callends { font-size: clamp(1.9rem, 8vw, 3rem); }
  .iw-built-word, .iw-proven-word { font-size: clamp(1.8rem, 7vw, 3rem); }
  /* question slides: tighten label gap */
  .iw-pq-n { margin-bottom: clamp(8px, 1.5vh, 18px); }
}

/* ── Very short landscape (≈360px tall) ────────────────────────── */
@media (max-height: 480px) {
  /* Scale question text down so even the longest questions fit      */
  /* without vertical clipping on landscape phones.                  */
  .iw-pq-q {
    font-size: clamp(1.25rem, 0.85rem + 2.5vw, 1.9rem);
    line-height: 1.15;
  }
  /* Compress the "Question N" label gap */
  .iw-pq-n { margin-bottom: 8px; }

  /* Built slide: tighten list so all 6 items stay on-screen */
  .iw-built-word {
    font-size: clamp(1.5rem, 6vw, 2.4rem);
  }
  .iw-built-list {
    margin-top: clamp(10px, 2vh, 20px);
    gap: clamp(4px, 1vh, 10px);
  }

  /* Proven slide: cap headline so it wraps comfortably at 360px tall */
  .iw-proven-word {
    font-size: clamp(1.5rem, 6vw, 2.4rem);
    line-height: 1.1;
  }
}

/* ── Reduced motion: everything static and fully readable ───────── */

@media (prefers-reduced-motion: reduce) {
  html.js .iw-seq { height: auto !important; }
  html.js .iw-seq-view { position: static; height: auto; overflow: visible; }
  html.js .iw-world-st { padding: 0; }
  html.js .iw-st {
    position: static;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    padding: clamp(48px, 8vh, 80px) var(--content-x);
  }
  html.js .iw-gap-seq .iw-seq-view { background: transparent; }
  html.js .iw-gap-st-dark { background: var(--char); color: var(--ivory-on-dk); }
  html.js .iw-built-item { opacity: 1 !important; transform: none !important; transition: none !important; }
  html.js .iw-reveal-img { clip-path: none !important; opacity: 1 !important; transform: none !important; transition: none !important; }
  html.js .iw-s:not(.on) .iw-orn { opacity: 1; transform: none; }
  .iw-rail-fill { transform: scaleY(1); }
  .iw-entry.leaving { transition: none; }
  * { scroll-behavior: auto !important; }
}

/* no-JS: identical static treatment */
html:not(.js) .iw-gap-st-dark { background: var(--char); color: var(--ivory-on-dk); }

@media print {
  .iw-rail, .iw-entry, .iw-summary-actions, .iw-scan-nav { display: none !important; }
  .iw-st { position: static !important; opacity: 1 !important; }
  .iw-seq { height: auto !important; }
}

/* ── 2026 proposal composition: natural scroll + reusable galleries ── */
html.js .iw-seq, html.js .iw-seq-view { height:auto!important; position:static!important; overflow:visible!important; }
html.js .iw-st { position:static!important; opacity:1!important; visibility:visible!important; transform:none!important; padding:0!important; }
.iw-scan { padding-top:clamp(42px,6vw,68px); padding-bottom:clamp(42px,6vw,68px); }
.iw-summary-brief {
  padding-top: clamp(56px, 7vw, 88px);
  padding-bottom: clamp(56px, 7vw, 88px);
  border-top: 1px solid var(--gold-line-strong);
}
.iw-summary,
.iw-summary-metrics,
.iw-summary-metric { border-color:var(--gold-line-strong); }
.iw-brief-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:clamp(36px,6vh,60px) 0; }
.iw-brief-grid > div { padding:clamp(20px,3vw,34px) clamp(18px,3vw,44px); border-top:1px solid var(--gold-line-strong); }
.iw-brief-grid h3 { font-family:var(--sans); font-size:.9rem; letter-spacing:.08em; color:var(--subhead-ink); margin-bottom:12px; }
.iw-brief-grid p { max-width:42ch; }
.iw-brief-grid .brief-investment p { font-family:var(--serif); font-size:clamp(1.3rem,1rem + 1vw,1.8rem); }
.chapter {
  min-height: 0;
  padding-top: clamp(64px, 7vw, 96px);
  padding-bottom: clamp(64px, 7vw, 96px);
  display: grid;
  align-content: center;
}
.chapter[data-iw-section="business-plan"] {
  justify-items: center;
  text-align: center;
}
.chapter[data-iw-section="vision"] { padding-bottom:clamp(44px,5vw,72px); }
.chapter .iw-world-flag { width:100%; max-width:none; height:auto; margin:clamp(34px,5vw,64px) auto 0; object-fit:contain; }
.iw-s:where(
  [data-iw-section="world"],
  [data-iw-section="world-artifacts"],
  [data-iw-section="world-method"],
  [data-iw-section="gap"],
  [data-iw-section="experienced"],
  [data-iw-section="tools"],
  [data-iw-section="business"],
  [data-iw-section="paths"],
  [data-iw-section="delivery"],
  [data-iw-section="stage"],
  [data-iw-section="capital"],
  [data-iw-section="acquisition"]
) {
  padding-top: clamp(56px, 6vw, 88px);
  padding-bottom: clamp(56px, 6vw, 88px);
}
.iw-s[data-iw-section="built"] {
  padding-top: clamp(68px, 7vw, 104px);
  padding-bottom: clamp(68px, 7vw, 104px);
}
.iw-s[data-iw-section="founder"] {
  padding-top: clamp(68px, 7vw, 104px);
  padding-bottom: clamp(68px, 7vw, 104px);
}
.iw-tour-invite {
  padding: clamp(52px, 5vw, 72px) var(--content-x);
  border-color: var(--gold-line-strong);
}
.iw-tour-invite .iw-btn { margin-top:clamp(26px,3vw,36px); }
.iw-tour-invite .iw-btn-outline { border-width:4px; }
.iw-s > .iw-section-h-md + .iw-body,
.iw-part-grid > div > .iw-section-h-md + .iw-body,
.iw-end-inner > .iw-section-h-md + .iw-body {
  margin-top: clamp(20px, 2.4vw, 30px);
}
.iw-tour-invite > .iw-kicker + .iw-section-h-md { margin-top:12px; }
.iw-tour-invite .iw-btn-outline { border-color:#6b4c1c; }
.iw-proposal-bridge {
  max-width: 52ch;
  margin: clamp(30px, 4vw, 44px) auto 0;
  padding-top: clamp(24px, 3vw, 32px);
  border-top: 1px solid var(--gold-line);
  color: var(--ink);
  text-align: center;
}
.iw-proposal-bridge-lead { color: var(--ink); }
.iw-proposal-bridge-question { color: var(--proposal-blue); font-weight: 600; }
.lead { margin-top:clamp(26px,4vh,42px); max-width:68ch; font-size:var(--iw-body-size); }
.iw-concept-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(26px,4vw,72px); margin-top:clamp(42px,5vw,68px); }
.iw-concept-grid h3,.iw-capabilities h3,.iw-capital h3 { font-family:var(--serif); font-size:clamp(1.35rem,1.1rem + .8vw,1.8rem); margin-bottom:10px; }
.iw-tools-subtitle { margin-top:clamp(28px,4vw,44px); color:var(--gold-pale); font:600 clamp(1.2rem,1.05rem + .55vw,1.55rem) var(--serif); }
.iw-disclosure { max-width:68ch; margin-top:clamp(32px,4vw,48px); border-top:1px solid var(--gold-line-strong); }
.iw-disclosure summary { list-style:none; cursor:pointer; padding:18px 0; color:var(--subhead-ink); font-weight:600; }
.iw-disclosure summary::-webkit-details-marker { display:none; }
.iw-disclosure summary span { float:right; color:var(--gold-deep); font-size:1.4em; line-height:1; }
.iw-disclosure[open] summary span { font-size:0; }
.iw-disclosure[open] summary span::after { content:"−"; font-size:1.4rem; }
.iw-disclosure > div { padding:0 0 22px; animation:iw-reveal 220ms ease both; }
.iw-disclosure::details-content { block-size:0; overflow:clip; opacity:0; transition:block-size 220ms var(--ease),opacity 180ms ease; }
.iw-disclosure[open]::details-content { block-size:auto; opacity:1; }
.iw-disclosure:not([open]) > div { display:none; }
.iw-dark .iw-disclosure summary,.iw-dark2 .iw-disclosure summary { color:var(--gold-pale); }
.iw-dark .iw-disclosure > div,.iw-dark2 .iw-disclosure > div { color:var(--ivory-on-dk); }
.iw-dark .iw-disclosure,.iw-dark2 .iw-disclosure { border-top-color:var(--gold-line-strong-dk); }
.iw-dark .iw-summary-label,.iw-dark2 .iw-summary-label { color:var(--gold-pale); }
.iw-disclosure ol { margin:14px 0 0; padding-left:1.35em; }
.iw-disclosure li + li { margin-top:10px; }
.iw-evidence-disclosure .iw-summary-label { margin-top:3.3em; }
.iw-client-help-disclosure { margin-top:clamp(28px,4vw,44px); }
.iw-client-help-disclosure .iw-capabilities { margin-top:0; }
.iw-client-help-disclosure + .iw-disclosure { margin-top:12px; }
.iw-tool-stage-rows { margin-top:20px; border-top:1px solid var(--gold-line-dk); }
.iw-tool-stage-rows .iw-body { margin:0; padding:16px 0; border-bottom:1px solid var(--gold-line-dk); }
@keyframes iw-reveal { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.iw-gallery-section { padding-top:clamp(64px,6vw,88px); padding-bottom:clamp(56px,6vw,88px); }
.iw-gallery { max-width:1050px; margin:clamp(32px,5vh,55px) auto 0; }
.iw-gallery-stage { position:relative; display:grid; place-items:center; height:clamp(350px,60vw,690px); background:var(--char); }
.iw-gallery-image { position:relative; width:100%; height:100%; display:grid; place-items:center; }
.iw-gallery-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:1; transition:opacity 200ms ease; }
.iw-gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:48px; height:48px; border:1px solid var(--gold); border-radius:50%; background:rgba(20,18,15,.72); color:var(--gold-pale); font:2rem/1 var(--serif); cursor:pointer; }
.iw-gallery-arrow.prev { left:18px; }.iw-gallery-arrow.next { right:18px; }
.iw-gallery-meta { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 0 0; }
.iw-gallery-count { color:var(--gold-deep); font-size:.86rem; white-space:nowrap; }
.iw-gallery-selectors { display:flex; flex:1; gap:8px; }
.iw-gallery-selectors button { flex:1; appearance:none; background:none; border:0; border-bottom:1px solid var(--gold-line-strong); padding:12px 7px; color:var(--char-light); font:600 .76rem var(--sans); letter-spacing:.03em; cursor:pointer; }
.iw-gallery-selectors button[aria-pressed=true] { color:var(--ink); border-bottom:2px solid var(--gold-deep); }
.iw-gallery-caption { padding-top:clamp(20px,3vh,30px); min-height:160px; }
.iw-gallery-caption h2,.iw-gallery-caption h3 { font-family:var(--serif); font-size:clamp(1.45rem,1.2rem + 1vw,2rem); }
.iw-gallery-caption p { margin-top:8px; max-width:52ch; }
.iw-gallery-caption strong { display:block; margin-top:8px; color:var(--gold-deep); font-family:var(--serif); font-size:1.3rem; }
.iw-transition { min-height:0; padding:clamp(68px,8vw,112px) var(--content-x); display:grid; place-content:center; gap:12px; text-align:center; }
.iw-s.iw-transition p { font-family:var(--serif); font-size:clamp(1.75rem,1.35rem + 1.9vw,2.8rem); }
.iw-transition p:last-child { color:#7C632B; }
.iw-transition.iw-dark p { color:var(--ivory-on-dk); }
.iw-transition.iw-dark { min-height:0; padding-top:clamp(72px,9vw,120px); padding-bottom:clamp(72px,9vw,120px); }
.iw-evidence { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--gold-line-dk); border-bottom:1px solid var(--gold-line-dk); margin:clamp(42px,7vh,72px) 0; }
.iw-evidence > div { padding:24px 18px; border-right:1px solid var(--gold-line-dk); }
.iw-evidence > div:last-child { border-right:0; }
.iw-evidence strong,.iw-evidence span { display:block; }
.iw-evidence strong { color:var(--gold-pale); font:600 1.2rem var(--serif); }
.iw-evidence span { margin-top:8px; color:var(--muted-on-dk); font-size:.9rem; }
.iw-why-testing { max-width:68ch; }
.iw-why-testing p { margin-top:12px; max-width:62ch; color:var(--ivory-on-dk); line-height:1.65; }
.iw-capabilities,.iw-capital,.iw-acq { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:clamp(35px,5vh,55px); }
.iw-capabilities > div,.iw-capital > div,.iw-acq > div { padding:24px 0; border-top:1px solid var(--gold-line-strong); }
.iw-capabilities > div:nth-child(even),.iw-capital > div:nth-child(even),.iw-acq > div:nth-child(even) { padding-left:clamp(20px,4vw,55px); border-left:1px solid var(--gold-line-strong); }
.iw-entry-progression { position:relative; max-width:1000px; }
.iw-entry-progression::after { content:""; position:absolute; z-index:0; top:54px; right:16.667%; bottom:0; width:1px; background:var(--gold-deep); }
.iw-tier-closing,.iw-placement { position:relative; z-index:1; background:var(--ivory-warm); }
.iw-placement { max-width:1000px; margin-top:clamp(34px,5vh,52px); padding:28px 0 0; border-top:1px solid var(--gold-line); color:var(--gold-deep); font-family:var(--serif); font-size:1.35rem; }
.iw-placement::before { content:""; position:absolute; z-index:2; top:-6px; right:calc(16.667% - 6px); width:11px; height:11px; border:1px solid var(--gold-deep); border-radius:50%; background:var(--ivory-warm); }
 .iw-follows,.iw-earn { margin-top:clamp(34px,5vh,52px); font-size:clamp(1.45rem,1.25rem + .45vw,1.8rem); }
.iw-follows { color:#000; font-family:var(--sans); font-weight:700; letter-spacing:-.01em; }
.iw-earn { color:#4f3918; font-family:var(--serif); }
.iw-tiers { position:relative; max-width:1000px; margin:clamp(38px,5vw,58px) 0; padding-top:34px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,70px); border:0; }
.iw-tiers::before { content:""; position:absolute; top:6px; left:16.667%; right:16.667%; height:1px; background:var(--gold-deep); }
.iw-tier { position:relative; display:block; padding:0; border:0; }
.iw-tier::before { content:""; position:absolute; z-index:1; top:-34px; left:50%; width:11px; height:11px; border:1px solid var(--gold-deep); border-radius:50%; background:var(--ivory-warm); transform:translate(-50%,-50%); }
.iw-tier:last-child,.iw-tier:nth-child(2){padding:0;border:0}
 .iw-tier-name { color:var(--ink); }.iw-tier-copy { margin:16px 0; }.iw-tier-price { font:600 1.45rem var(--serif); }
.iw-delivery { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,70px); max-width:1000px; margin:clamp(32px,4vw,48px) 0 clamp(30px,4vw,44px); padding-top:34px; color:var(--gold-deep); font:600 1rem var(--sans); letter-spacing:.06em; text-align:left; }
.iw-delivery::before { content:""; position:absolute; top:6px; left:16.667%; right:16.667%; height:1px; background:var(--gold-deep); }
.iw-delivery p { position:relative; }
.iw-delivery p::before { content:""; position:absolute; z-index:1; top:-34px; left:50%; width:11px; height:11px; border:1px solid var(--gold-deep); border-radius:50%; background:var(--ivory-warm); transform:translate(-50%,-50%); }
.iw-proof-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); gap:clamp(54px,9vw,140px); margin-top:clamp(40px,5vw,64px); }
.iw-proof-grid h3 { color:var(--gold-pale); font:600 clamp(1.5rem,1.2rem + 1vw,2.1rem) var(--serif); }
.iw-built ul,.iw-market-proof ol { margin-top:26px; padding:0; list-style:none; }
.iw-built li { position:relative; padding:13px 0 13px 28px; border-top:1px solid var(--gold-line-dk); color:var(--ivory-on-dk); }
.iw-built li::before { content:"✓"; position:absolute; left:0; color:var(--gold); font:600 .85rem var(--sans); }
.iw-market-proof { border-left:1px solid var(--gold-line-dk); padding-left:clamp(34px,5vw,76px); }
.iw-market-proof li { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:20px 0; border-top:1px solid var(--gold-line-dk); color:var(--ivory-on-dk); font:clamp(1.05rem,.95rem + .4vw,1.3rem)/1.45 var(--serif); }
.iw-market-proof li span { color:var(--gold); font:600 .78rem/1.9 var(--sans); letter-spacing:.12em; }
.iw-proof-closing { max-width:55ch; margin-top:clamp(52px,8vh,84px); color:var(--gold-pale); font:clamp(1.35rem,1.1rem + .8vw,1.85rem)/1.45 var(--serif); }
.iw-investment-grid {
  display: block;
  max-width: 900px;
  margin: clamp(36px, 5vw, 52px) 0;
  border-top: 1px solid var(--gold-line-strong);
}
.iw-investment-grid > div,
.iw-investment-grid > div:nth-child(even) {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 12px clamp(28px, 5vw, 72px);
  align-items: baseline;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid var(--gold-line-strong);
}
.iw-investment-grid p { color:#2e7d32; font-size:.82rem; font-weight:600; letter-spacing:.08em; }
.iw-investment-grid strong { display:block; margin:0; font:600 clamp(1.45rem,1.25rem + .7vw,1.7rem) var(--serif); }
.iw-investment-grid > div:nth-child(n+3) strong { color:var(--ink-soft); font-size:1.08rem; font-weight:400; line-height:1.55; }
.iw-investment-grid > div:nth-child(3) strong { font-size:clamp(1.45rem,1.25rem + .7vw,1.7rem); font-weight:600; line-height:1.2; }
.iw-capital { grid-template-columns:repeat(4,1fr); }.iw-acq { grid-template-columns:repeat(3,1fr); }.iw-acq h3{color:var(--subhead-ink);font:600 .9rem var(--sans);letter-spacing:.08em}.iw-acq p{margin-top:12px}
.iw-growth { position:relative; display:grid; grid-template-columns:1fr 1.25fr 1.5fr; gap:clamp(25px,4vw,70px); margin:60px 0; padding-top:24px; border-top:1px solid var(--gold-deep); }.iw-growth>div{position:relative}.iw-growth>div::before{content:"";position:absolute;top:-31px;left:0;width:12px;height:12px;border:1px solid var(--gold-deep);border-radius:50%;background:var(--ivory-warm)}.iw-growth h3{font:600 1.1rem var(--sans);letter-spacing:.12em;color:var(--subhead-ink)}.iw-growth ul{margin-top:20px;padding-left:1.1em}.iw-growth li+li{margin-top:9px}
.iw-section-label { margin-bottom:18px; color:var(--subhead-ink); font-size:.82rem; font-weight:600; letter-spacing:.08em; }
.iw-founding-investor {
  color: var(--ink);
}
.iw-founding-intro {
  max-width: 57ch;
  margin-top: clamp(24px, 3vw, 34px);
}
.iw-founding-elements {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-width: 1100px;
  margin: clamp(46px, 6vw, 72px) 0 0;
  padding: 0;
  border-top: 1px solid var(--gold-line-strong);
  border-bottom: 1px solid var(--gold-line-strong);
  list-style: none;
}
.iw-founding-elements li {
  min-width: 0;
  padding: clamp(26px, 3vw, 38px) clamp(20px, 2.7vw, 34px);
}
.iw-founding-elements li:first-child {
  padding-left: 0;
}
.iw-founding-elements li:last-child {
  padding-right: 0;
}
.iw-founding-elements li + li {
  border-left: 1px solid var(--gold-line);
}
.iw-founding-number {
  display: block;
  margin-bottom: 18px;
  color: var(--gold-deep);
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .14em;
}
.iw-founding-elements h3 {
  color: var(--ink);
  font: 600 clamp(1.15rem, 1rem + .45vw, 1.38rem)/1.3 var(--serif);
  letter-spacing: .01em;
}
.iw-founding-elements p {
  margin-top: 15px;
  color: var(--ink-soft);
  font: 400 .94rem/1.65 var(--sans);
}
.iw-founding-charter {
  max-width: 680px;
  margin-top: clamp(60px, 8vw, 96px);
  padding-top: clamp(26px, 3vw, 36px);
  border-top: 1px solid var(--gold-line-strong);
}
.iw-founding-charter h3 {
  color: var(--ink);
  font: 600 clamp(1.65rem, 1.35rem + 1vw, 2.35rem)/1.2 var(--serif);
}
.iw-collaboration-heading {
  max-width: 75ch;
  padding: clamp(18px, 2.4vw, 24px) clamp(20px, 2.8vw, 30px);
  border-left: 2px solid var(--gold-deep);
  background: rgba(212, 175, 55, .07);
  color: #1b5e20;
  font: 400 clamp(1.35rem, 1.15rem + .7vw, 1.8rem)/1.35 var(--serif);
}
.iw-founding-charter p {
  margin-top: 15px;
  color: var(--ink-soft);
  font: 400 1rem/1.7 var(--sans);
}
.iw-collaboration {
  max-width: 1000px;
  margin-top: clamp(70px, 9vw, 112px);
  padding-top: clamp(34px, 4vw, 48px);
  border-top: 1px solid var(--gold-line-strong);
}
.iw-collaboration > p:not(.iw-collaboration-heading):not(.iw-collaboration-label):not(.iw-collaboration-note) {
  max-width: 75ch;
  margin-top: 22px;
  color: var(--ink-soft);
  font: 400 var(--iw-body-size)/1.72 var(--sans);
}
.iw-collaboration > .iw-collaboration-lead strong {
  color: var(--ink);
  font-weight: 700;
}
.iw-collaboration-label {
  margin-top: clamp(48px, 6vw, 70px);
  color: var(--subhead-ink);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.iw-student-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid var(--gold-line);
  border-bottom: 1px solid var(--gold-line);
}
.iw-student-benefits > div {
  padding: clamp(22px, 3vw, 32px) clamp(18px, 3vw, 38px);
}
.iw-student-benefits > div:nth-child(odd) {
  padding-left: 0;
}
.iw-student-benefits > div:nth-child(even) {
  border-left: 1px solid var(--gold-line);
}
.iw-student-benefits > div:nth-child(n+3) {
  border-top: 1px solid var(--gold-line);
}
.iw-student-benefits h4 {
  color: var(--ink);
  font: 600 clamp(1.03rem, .96rem + .25vw, 1.18rem)/1.35 var(--serif);
}
.iw-student-benefits p {
  margin-top: 11px;
  color: var(--ink-soft);
  font: 400 .93rem/1.62 var(--sans);
}
.iw-collaboration-note {
  max-width: 78ch;
  margin-top: clamp(34px, 4vw, 48px);
  padding-left: 18px;
  border-left: 1px solid var(--gold-deep);
  color: var(--ink-soft);
  font: 700 .9rem/1.65 var(--sans);
}
.iw-founder-grid { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); grid-template-rows:auto 1fr; gap:clamp(28px,4vh,42px) clamp(46px,8vw,120px); align-items:start; }
.iw-founder-head { grid-column:2; grid-row:1; }
.iw-founder-fig { grid-column:1; grid-row:1 / span 2; width:100%; max-width:none; margin:0; overflow:hidden; }
.iw-founder-fig img { width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; }
.iw-founder-copy { grid-column:2; grid-row:2; max-width:64ch; }
.iw-founder-role { margin:clamp(30px,5vh,48px) 0; padding:24px 0; border-top:1px solid var(--gold-line); border-bottom:1px solid var(--gold-line); }
.iw-founder-role h3 { color:var(--subhead-ink); font:600 .84rem var(--sans); letter-spacing:.08em; }
.iw-founder-role p { margin-top:10px; line-height:1.7; }
.iw-founder-lean { font-weight:600; }
.iw-tier-name { text-transform:none; letter-spacing:.08em; }
.iw-end-inner{max-width:720px}.iw-end .iw-btn{margin-top:40px}
.iw-end-tabs { display:flex; align-items:stretch; gap:16px; margin-top:40px; }
.iw-end-tabs .iw-btn { flex:1 1 0; min-width:0; margin-top:0; line-height:1.35; }
.iw-end-tabs .iw-end-details.iw-details-tab { margin-top:0; }
@media (max-width:1023px){
  .iw-brief-grid,.iw-concept-grid,.iw-evidence,.iw-capital,.iw-acq,.iw-proof-grid,.iw-investment-grid{grid-template-columns:1fr}
  .iw-evidence>div{border-right:0;border-bottom:1px solid var(--gold-line-dk)}
  .iw-evidence>div:last-child{border-bottom:0}
  .iw-entry-progression{border-left:1px solid var(--gold-deep);padding-left:34px}
  .iw-entry-progression::after{display:none}
  .iw-tiers,.iw-delivery{display:block;border-left:1px solid var(--gold-deep);padding:0 0 0 34px}
  .iw-entry-progression .iw-tiers{border-left:0;padding-left:0}
  .iw-tiers::before,.iw-delivery::before{display:none}
  .iw-tier,.iw-tier:nth-child(2),.iw-tier:last-child,.iw-delivery p{position:relative;padding:22px 0;border:0;border-bottom:1px solid var(--gold-line)}
  .iw-entry-progression .iw-tier::before,.iw-delivery p::before{top:31px;left:-40px;transform:none}
  .iw-entry-progression .iw-tier-closing,.iw-entry-progression .iw-placement{background:transparent}
  .iw-placement{margin-top:0;padding:28px 0 0;border-top:0}
  .iw-placement::before{top:32px;right:auto;left:-40px}
  .iw-built ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,5vw,38px)}
  .iw-market-proof{border-left:0;border-top:1px solid var(--gold-line-dk);padding:clamp(38px,6vh,58px) 0 0}
  .iw-growth{display:block;border-top:0;border-left:1px solid var(--gold-deep);padding:0 0 0 30px}
  .iw-growth>div{padding:28px 0;border-top:1px solid var(--gold-line)}
  .iw-growth>div::before{top:30px;left:-37px}
  .iw-capabilities{grid-template-columns:1fr}
  .iw-capabilities>div:nth-child(even),.iw-acq>div:nth-child(even),.iw-capital>div:nth-child(even){padding-left:0;border-left:0}
  .iw-founder-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .iw-founder-head{grid-column:1;grid-row:1}
  .iw-founder-fig{grid-column:1;grid-row:2}
  .iw-founder-copy{grid-column:1;grid-row:3}
  .iw-part-grid img{height:auto;max-height:none;object-fit:contain}
}
@media (max-width:719px){
  .iw-investment-grid > div,
  .iw-investment-grid > div:nth-child(even) {
    display: block;
    padding: 20px 0;
  }
  .iw-investment-grid strong { margin-top:7px; }
  .iw-founding-elements {
    display: block;
    margin-top: 38px;
  }
  .iw-founding-elements li,
  .iw-founding-elements li:first-child,
  .iw-founding-elements li:last-child {
    padding: 27px 0;
    border-left: 0;
  }
  .iw-founding-elements li + li {
    border-top: 1px solid var(--gold-line);
  }
  .iw-founding-charter {
    margin-top: 54px;
  }
  .iw-collaboration {
    margin-top: 64px;
    padding-top: 30px;
  }
  .iw-student-benefits {
    display: block;
  }
  .iw-student-benefits > div,
  .iw-student-benefits > div:nth-child(odd),
  .iw-student-benefits > div:nth-child(even) {
    padding: 24px 0;
    border-left: 0;
  }
  .iw-student-benefits > div + div {
    border-top: 1px solid var(--gold-line);
  }
}

/* ── Capitalization: only the approved investor treatments use all caps ── */
.iw-entry-prepared,
.iw-entry-org,
.iw-entry-note-label,
.iw-note-watch,
.iw-btn,
.iw-quiet,
.iw-world-cap-title,
.iw-world-cap-sub,
.iw-mech,
.iw-tool-name,
.iw-tools-heading,
.iw-tier-name,
.iw-paths-line,
.iw-built-item,
.iw-pq-n,
.iw-ask-equity,
.iw-struct-item,
.iw-subhead-title,
.iw-acq-k,
.iw-stage-k,
.iw-stage-items li,
.iw-part-label,
.iw-path-card-name {
  letter-spacing: 0.02em;
  text-transform: none;
}
@media (max-width:640px), (orientation:landscape) and (max-width:860px){.iw-gallery-stage{height:clamp(300px,88vw,520px)}.iw-gallery-meta{display:block}.iw-gallery-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.iw-gallery-caption{min-height:180px}.iw-gallery-arrow{width:42px;height:42px}.iw-gallery-image img{object-fit:contain}}
@media (orientation:landscape) and (max-height:600px){
  .iw-gallery-stage { height:clamp(280px,72svh,430px); }
  .iw-gallery-caption { min-height:150px; }
}
@media (orientation:landscape) and (max-height:480px){
  .iw-entry{padding:10px 20px}
  .iw-entry-seal{width:62px;margin-bottom:5px}
  .iw-entry-title{font-size:1.35rem;line-height:1.05}
  .iw-entry-sub{margin-top:3px;font-size:.64rem}
  .iw-entry-rule{margin:6px auto}
  .iw-entry-prepared{font-size:.62rem}
  .iw-entry-names{margin-top:3px;font-size:.95rem;line-height:1.15}
  .iw-entry-org{margin-top:3px;font-size:1.2rem}
  .iw-entry-copy{margin-top:6px;font-size:.76rem;line-height:1.3}
  .iw-entry-cta{margin-top:8px}
  .iw-entry .iw-btn{padding:9px 22px;font-size:.65rem}
}

/* ── Investor diagrams ──────────────────────────────────────────── */
.iw-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.iw-brief-copy {
  max-width: 68ch;
  margin: clamp(34px, 5vw, 54px) 0;
}
.iw-brief-copy p {
  color: var(--ink);
  font-size: var(--iw-body-size);
  line-height: 1.72;
}
.iw-brief-copy p + p {
  margin-top: 1.35em;
}
.iw-diagram-section {
  padding-top: clamp(64px, 7vw, 96px);
  padding-bottom: clamp(64px, 7vw, 96px);
}
.iw-diagram-section > .iw-body {
  max-width: 68ch;
}
.iw-diagram {
  width: 92%;
  margin: clamp(28px, 3vw, 34px) auto clamp(30px, 4vw, 42px);
}
.iw-diagram-wide {
  max-width: 940px;
}
.iw-diagram-portrait {
  max-width: 820px;
}
.iw-diagram img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}
.iw-path-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 38px);
}
.iw-main-path-pricing {
  grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
  max-width: 1000px;
  margin: clamp(38px, 5vw, 58px) auto 0;
  padding: clamp(26px, 3vw, 36px) 0;
  border-top: 1px solid var(--gold-line-strong);
  border-bottom: 1px solid var(--gold-line-strong);
}
.iw-paths-diagram-section > .iw-path-summary-grid {
  max-width: 940px;
  margin: 0 auto;
  padding: clamp(26px, 3vw, 36px) 0;
  border-top: 1px solid var(--gold-line-strong);
  border-bottom: 1px solid var(--gold-line-strong);
}
.iw-path-summary-grid h3 {
   color: var(--ink);
   font-family: var(--sans);
   font-size: clamp(1.08rem, .98rem + .3vw, 1.2rem);
   font-weight: 700;
   letter-spacing: .08em;
}
.iw-path-summary-grid .iw-citizen-paths-heading {
  margin: 0;
  padding: 0 0 clamp(18px, 2.5vw, 26px);
  border: 0;
  color: var(--ink);
  font-size: clamp(1.2rem, 1.05rem + .55vw, 1.5rem);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.25;
}
.iw-citizen-paths-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 38px);
  padding-top: clamp(18px, 2.5vw, 26px);
  border-top: 1px solid var(--gold-line);
}
.iw-complete-alignment {
  align-self: stretch;
  padding-left: clamp(24px, 3vw, 38px);
  border-left: 1px solid var(--gold-line-strong);
}
.iw-path-summary-grid p {
  margin-top: 7px;
  color: var(--ink-soft);
  font-size: .92rem;
  line-height: 1.55;
}
.iw-path-summary-grid strong {
  display: block;
   margin-top: 10px;
  color: #6f5318;
   font: 600 clamp(1.35rem, 1.15rem + .75vw, 1.75rem) var(--serif);
}
.iw-expansion-gate {
  max-width: 68ch;
  margin-top: clamp(24px, 3vw, 34px);
  padding-top: clamp(20px, 2.5vw, 28px);
  border-top: 1px solid var(--gold-line);
  text-align: center;
}

.iw-entry-offers {
  max-width: 1000px;
  margin: clamp(30px, 4vw, 42px) auto 0;
}
.iw-entry-live {
  margin-top: clamp(38px, 5vw, 58px);
}
.iw-entry-offers .iw-tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--gold-line-strong);
  border-bottom: 1px solid var(--gold-line-strong);
}
.iw-entry-offers .iw-tiers::before,
.iw-entry-offers .iw-tier::before {
  display: none;
}
.iw-entry-offers .iw-tier,
.iw-entry-offers .iw-tier:nth-child(2),
.iw-entry-offers .iw-tier:last-child {
  display: block;
  padding: clamp(24px, 3vw, 34px) clamp(18px, 2.7vw, 36px);
  border: 0;
}
.iw-entry-offers .iw-tier:first-child {
  padding-left: 0;
}
.iw-entry-offers .iw-tier:last-child {
  padding-right: 0;
}
.iw-entry-offers .iw-tier + .iw-tier {
  border-left: 1px solid var(--gold-line-strong);
}
.iw-entry-offers .iw-tier-name {
  color: var(--ink);
  font-size: clamp(1.08rem, .98rem + .3vw, 1.2rem);
}
.iw-entry-offers .iw-tier-price {
  margin-top: 10px;
  color: #6f5318;
  font-size: clamp(1.35rem, 1.15rem + .75vw, 1.75rem);
}
.iw-entry-offers .iw-tier-copy {
  display: block;
  margin: 14px 0 0;
  color: var(--ink);
  line-height: 1.6;
}
.iw-entry-offers .iw-placement {
  max-width: 760px;
  margin: clamp(28px, 4vw, 40px) auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1.08rem, 1rem + .35vw, 1.3rem);
  line-height: 1.55;
  text-align: center;
}
.iw-entry-offers .iw-placement::before {
  display: none;
}

.iw-proof-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.45fr);
  gap: clamp(42px, 7vw, 96px);
  max-width: 1000px;
  margin: clamp(38px, 5vw, 58px) auto 0;
}
.iw-proof-foundation h3,
.iw-proof-questions {
  color: var(--subhead-ink);
}
.iw-proof-foundation h3,
.iw-proof-questions h3 {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.2rem + .9vw, 2rem);
  font-weight: 600;
}
.iw-proof-foundation ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.iw-proof-foundation li {
  position: relative;
  padding: 14px 0 14px 28px;
  border-top: 1px solid var(--gold-line);
  color: var(--ink);
  line-height: 1.45;
}
.iw-proof-foundation li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--gold-deep);
  font: 600 .85rem var(--sans);
}
.iw-proof-layout .iw-proof-questions {
  margin: 0;
  padding: 0 0 0 clamp(30px, 4vw, 56px);
  border-top: 0;
  border-left: 1px solid var(--gold-line-strong);
}
.iw-proof-questions h3 {
  color: inherit;
}
.iw-proof-questions ol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 20px;
  padding: 0;
  list-style: none;
}
.iw-proof-questions li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid var(--gold-line);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18.56px;
  font-weight: 700;
  line-height: 1.5;
}
.iw-proof-questions li span {
  color: var(--gold-deep);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 2;
}
.iw-proof-layout + .iw-diagram {
  margin-top: clamp(46px, 6vw, 72px);
}
.iw-growth-diagram-section .iw-earn {
  max-width: 820px;
  margin: 0 auto;
  color: var(--gold-deep);
  text-align: center;
}

@media (max-width: 719px) {
  .iw-diagram-section {
    padding-top: 56px;
    padding-bottom: 64px;
  }
  .iw-diagram {
    width: 92%;
    margin-top: 26px;
    margin-bottom: 30px;
  }
  .iw-entry-offers {
    margin-top: 28px;
  }
  .iw-entry-offers .iw-tiers {
    display: block;
    padding: 0;
    border-left: 0;
  }
  .iw-entry-offers .iw-tier,
  .iw-entry-offers .iw-tier:nth-child(2),
  .iw-entry-offers .iw-tier:last-child {
    padding: 24px 0;
    border: 0;
  }
  .iw-entry-offers .iw-tier + .iw-tier {
    border-top: 1px solid var(--gold-line-strong);
    border-left: 0;
  }
  .iw-entry-offers .iw-placement {
    margin-top: 24px;
  }
  .iw-path-summary-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .iw-main-path-pricing > div {
    padding: 20px 0;
  }
  .iw-citizen-paths-list {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
  }
  .iw-citizen-paths-list > div {
    padding: 20px 0;
    border-bottom: 1px solid var(--gold-line);
  }
  .iw-complete-alignment {
    margin-top: 16px;
    padding: 30px 0 20px;
    border-top: 1px solid var(--gold-line-strong);
    border-left: 0;
  }
  .iw-proof-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .iw-proof-layout .iw-proof-questions {
    padding: 34px 0 0;
    border-top: 1px solid var(--gold-line-strong);
    border-left: 0;
  }
}
@media (max-width: 480px) {
  .iw-diagram {
    --iw-diagram-bleed: min(32px, 8vw);
    width: calc(100% + var(--iw-diagram-bleed));
    margin-right: calc(var(--iw-diagram-bleed) / -2);
    margin-left: calc(var(--iw-diagram-bleed) / -2);
  }
}

/* ── Full-bleed visual system ──────────────────────────────────────
   Visual media reaches the viewport edge while its surrounding reading
    material remains on the proposal rail. Supporting photographs keep their
    complete source frame; portrait galleries fill their standard canvas while
    landscape keeps the contained source treatment below. */
.iw-gallery-stage {
  width: 100%;
  max-width: none;
  margin-left: 0;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.iw-gallery {
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-right: calc(-1 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-gallery-meta,
.iw-gallery-caption {
  width: calc(100% - 2 * var(--content-x));
  max-width: 1050px;
  margin-right: auto;
  margin-left: auto;
}
.iw-gallery-image {
  display: grid;
  place-items: stretch;
  height: auto;
}
.iw-gallery-image img {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
}
.iw-gallery-fixed .iw-gallery-stage {
  aspect-ratio: 4 / 5;
}
.iw-gallery-fixed .iw-gallery-image {
  position: absolute;
  inset: 0;
  display: block;
  height: auto;
}
.iw-gallery-fixed .iw-gallery-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.iw-s[data-iw-section="tools"] {
  padding-top: 0;
}
.iw-world-flag {
  width: calc(100% + 2 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-s[data-iw-section="vision"] > .iw-world-flag {
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-right: calc(-1 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-diagram {
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-right: calc(-1 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-part-grid {
  display: block;
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-right: calc(-1 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-part-grid figure {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(34px, 5vh, 56px);
}
.iw-part-grid img,
.iw-part-grid img.iw-inner-compass-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  box-shadow: none;
}
.iw-part-grid > div {
  width: calc(100% - 2 * var(--content-x));
  max-width: var(--measure);
  margin: 0 auto;
}
.iw-founder-grid {
  display: block;
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  margin-right: calc(-1 * var(--content-x));
  margin-left: calc(-1 * var(--content-x));
}
.iw-founder-fig {
  width: 100%;
  max-width: none;
  margin: clamp(28px, 4vw, 42px) 0 clamp(32px, 5vh, 56px);
}
.iw-founder-fig img {
  height: auto;
  max-height: none;
  object-fit: contain;
}
.iw-founder-head,
.iw-founder-grid > .iw-founder-copy {
  width: calc(100% - 2 * var(--content-x));
  margin-right: auto;
  margin-left: auto;
}
.iw-founder-grid > .iw-founder-copy {
  max-width: var(--measure);
}
.iw-end-details {
  display: block;
  margin-top: 18px;
}
.iw-end-details.iw-details-tab {
  display: inline-block;
  margin-top: 18px;
}
.iw-end-pdf {
  display: block;
  margin-top: 18px;
}
.iw-pdf-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 24px;
  margin-top: 18px;
}
.iw-pdf-actions .iw-end-pdf,
.iw-pdf-actions .iw-end-pdf-download {
  display: inline-block;
  margin-top: 0;
}
/* Full-bleed images cannot use the default entrance scale: even a subtle
   scale creates a horizontal scrollbar while the image is waiting to enter. */
html.js .iw-diagram .iw-reveal-img,
html.js .iw-part-grid .iw-reveal-img,
html.js .iw-founder-fig .iw-reveal-img {
  transform: none;
}
/* The source PNGs include a little transparent breathing room. Enlarge only
   the two diagrams whose fine labels benefit from a closer read, while the
   figure clips the transparent edge so the page stays overflow-free. */
.iw-growth-diagram-section .iw-diagram,
.iw-proof .iw-diagram {
  overflow: clip;
}
.iw-growth-diagram-section .iw-diagram img,
.iw-proof .iw-diagram img {
  width: 105%;
  max-width: none;
  margin-left: -2.5%;
}
.iw-proof .iw-diagram img[src$="investor-diagram-compounding-value-large-labels.png"] {
  width: 100%;
  margin-left: 0;
}

/* Landscape proposal layout: the opening flag remains the one intentional
   full-bleed visual. Supporting portraits use a contained,
   viewport-aware canvas so they preserve their source frame without turning
   the proposal into a tall mobile gallery at any landscape width. */
@media (orientation: landscape) {
  :root {
    --iw-proposal-rail: min(1050px, calc(100vw - 2 * var(--content-x)));
  }
  .iw-gallery-stage {
    height: clamp(280px, 70svh, 680px);
    overflow: hidden;
  }
  .iw-gallery-fixed .iw-gallery-stage {
    aspect-ratio: auto;
  }
  .iw-gallery-image {
    height: 100%;
  }
  .iw-gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .iw-gallery-fixed .iw-gallery-image img {
    object-fit: contain;
  }

  /* Keep gallery controls and captions on the same centered reading rail as
     the rest of the proposal rather than at the viewport edges. */
  .iw-gallery-meta,
  .iw-gallery-caption {
    width: var(--iw-proposal-rail);
    max-width: none;
  }

  .iw-diagram {
    width: min(940px, calc(100% - 2 * var(--content-x)));
    max-width: 940px;
    margin-right: auto;
    margin-left: auto;
  }
  .iw-diagram-portrait {
    width: min(820px, calc(100% - 2 * var(--content-x)));
    max-width: 820px;
  }
  .iw-diagram-portrait img {
    width: auto;
    height: min(72svh, 680px);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .iw-growth-diagram-section .iw-diagram-portrait img {
    width: auto;
    max-width: 100%;
    margin-left: auto;
  }

  /* The inner-compass visual is a portrait photograph, not a landscape
     two-column hero. Keep its explanatory copy on the shared rail below it. */
  .iw-part-grid {
    display: block;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
  .iw-part-grid figure {
    width: var(--iw-proposal-rail);
    max-width: none;
    margin: 0 auto clamp(34px, 5vh, 56px);
  }
  .iw-part-grid img,
  .iw-part-grid img.iw-inner-compass-img {
    width: auto;
    height: min(72svh, 680px);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .iw-part-grid > div {
    width: var(--iw-proposal-rail);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }

   /* The founder portrait gets visual weight, but less than the opening flag;
      the heading and copy begin on the same proposal rail. */
  .iw-founder-grid {
    display: block;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
  .iw-founder-head,
  .iw-founder-copy {
    width: var(--iw-proposal-rail);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
  .iw-founder-grid > .iw-founder-copy {
    width: var(--iw-proposal-rail);
    max-width: none;
  }
  .iw-founder-fig {
    width: var(--iw-proposal-rail);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
  .iw-founder-fig img {
    width: auto;
    height: min(78svh, 780px);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    object-fit: contain;
  }
}

@media (prefers-reduced-motion:reduce){.iw-disclosure::details-content,.iw-disclosure>div,.iw-gallery-image,.iw-gallery-image img{animation:none;transition:none}}

/* The proposal opens with the flag, followed by its short orientation copy.
   Keep the flag full-bleed while the copy returns to the normal reading rail. */
.iw-summary-brief {
  padding-top: 0;
}
.iw-summary-brief > .iw-world-flag {
  width: calc(100% + 2 * var(--content-x));
  max-width: none;
  height: auto;
  margin: 0 calc(-1 * var(--content-x)) clamp(30px, 4vw, 48px);
  object-fit: contain;
}
.iw-summary-brief > .iw-brief-copy {
  margin: 0 0 clamp(34px, 5vw, 54px);
}
