/* ===== SOURCE: app/globals.css ===== */
:root {
  --f-display: "Segoe UI", Arial, sans-serif;
  --f-body: "Segoe UI", Arial, sans-serif;
  --f-serif: Georgia, "Times New Roman", serif;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   Multi-page AOB Maverick experience
   -------------------------------------------------------------------------- */

.maverick-pages {
  --mp-ink: #050c16;
  --mp-ink-2: #0b1728;
  --mp-gold: #efbb63;
  --mp-gold-2: #c4881f;
  --mp-paper: #f4f1ea;
  --mp-white: #fff;
  min-height: 100vh;
  color: var(--mp-ink);
  background: var(--mp-paper);
  font-family: "Segoe UI", Arial, sans-serif;
  overflow: clip;
}

.maverick-pages *,
.maverick-pages *::before,
.maverick-pages *::after { box-sizing: border-box; }
.maverick-pages a { color: inherit; text-decoration: none; }
.maverick-pages button,
.maverick-pages input,
.maverick-pages select,
.maverick-pages textarea { font: inherit; }

.mnav {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 50px);
  height: 84px;
  padding: 0 clamp(22px, 4.4vw, 74px);
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(180deg, rgba(2,8,16,.72), rgba(2,8,16,.08));
  transition: height .35s ease, background .35s ease, backdrop-filter .35s ease;
}

.mnav.is-stuck {
  height: 68px;
  background: rgba(3,10,20,.9);
  backdrop-filter: blur(18px) saturate(1.25);
  box-shadow: 0 12px 34px rgba(0,0,0,.2);
}

.mbrand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.mbrand > span:last-child { display: grid; gap: 2px; }
.mbrand b { font-size: 1rem; line-height: 1; letter-spacing: .16em; }
.mbrand small { font-size: .53rem; letter-spacing: .17em; color: rgba(255,255,255,.65); }

.aob-orbit {
  position: relative;
  display: grid;
  place-items: center;
  width: 74px;
  height: 54px;
  isolation: isolate;
}

.aob-orbit--compact { width: 56px; height: 44px; }
.aob-orbit img {
  position: relative;
  z-index: 2;
  width: 52px;
  height: 34px;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 0 9px rgba(239,187,99,.38));
  animation: aob-mark-float 4.6s ease-in-out infinite;
}
.aob-orbit--compact img { width: 43px; height: 29px; }
.aob-orbit__ring {
  position: absolute;
  z-index: 1;
  width: 64px;
  height: 37px;
  border: 1px solid rgba(239,187,99,.36);
  border-radius: 50%;
  transform: rotate(-13deg);
  animation: aob-ring 7s linear infinite;
}
.aob-orbit--compact .aob-orbit__ring { width: 50px; height: 30px; }
.aob-orbit__spark {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--mp-gold, var(--aob-gold-light, #efbb63));
  box-shadow: 0 0 14px 4px rgba(239,187,99,.35);
  animation: aob-spark 2.4s ease-in-out infinite;
}
.mbrand:hover .aob-orbit img { transform: rotate(-6deg) scale(1.08); }
@keyframes aob-mark-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -4px; } }
@keyframes aob-ring { to { transform: rotate(347deg); } }
@keyframes aob-spark { 0%,100% { opacity: .35; scale: .65; } 50% { opacity: 1; scale: 1.25; } }

.mnav__links { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 30px); flex: 1; }
.mnav__links a { position: relative; padding: 9px 0; font-size: .78rem; font-weight: 650; letter-spacing: .015em; color: rgba(255,255,255,.82); }
.mnav__links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--mp-gold); transition: right .3s ease; }
.mnav__links a:hover { color: white; }
.mnav__links a:hover::after { right: 0; }
.mnav__actions { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.mnav__login { color: rgba(255,255,255,.82); font-size: .8rem; font-weight: 700; }

.premium-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 24px;
  color: #09111c !important;
  background: linear-gradient(135deg, #ffe4ad, #efbb63 52%, #d6972e);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  box-shadow: 0 14px 36px rgba(196,136,31,.24), inset 0 1px rgba(255,255,255,.55);
  font-weight: 800;
  font-size: .86rem;
  transition: transform .3s ease, box-shadow .3s ease;
}
.premium-button:hover { transform: translateY(-3px); box-shadow: 0 20px 46px rgba(196,136,31,.35), inset 0 1px rgba(255,255,255,.6); }
.premium-button--small { min-height: 42px; padding: 0 18px; font-size: .76rem; }
.premium-button--glass { color: white !important; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); box-shadow: none; backdrop-filter: blur(12px); }
.mnav__burger { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.06); }
.mnav__burger span { display: block; height: 1px; margin: 5px 0; background: white; }
.mnav-drawer { position: fixed; z-index: 99; inset: 0; padding: 110px 24px 30px; background: rgba(3,10,20,.98); color: white; opacity: 0; visibility: hidden; transform: translateY(-14px); transition: .35s ease; }
.mnav-drawer.is-open { opacity: 1; visibility: visible; transform: none; }
.mnav-drawer nav { display: grid; gap: 0; }
.mnav-drawer a { padding: 17px 4px; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 1.16rem; }
.mnav-drawer .premium-button { margin-top: 24px; border: 0; }

.page-hero {
  --page-hero: none;
  position: relative;
  display: grid;
  align-items: end;
  min-height: min(92vh, 980px);
  padding: 150px clamp(24px, 8vw, 150px) clamp(82px, 10vw, 130px);
  color: white;
  background-image: var(--page-hero);
  background-size: cover;
  background-position: center;
  isolation: isolate;
  overflow: hidden;
}
.page-hero__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(3,10,18,.95) 0%, rgba(3,10,18,.72) 43%, rgba(3,10,18,.16) 76%), linear-gradient(0deg, rgba(3,10,18,.8), transparent 55%); }
.page-hero__grid { position: absolute; z-index: -1; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 70%); }
.page-hero__content { max-width: 980px; animation: page-content-in .8s cubic-bezier(.2,.8,.2,1) both; }
@keyframes page-content-in { from { opacity: 0; transform: translateY(28px); filter: blur(7px); } to { opacity: 1; transform: none; filter: none; } }
.page-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #f4c977; font-size: .73rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.page-eyebrow i { display: inline-block; width: 26px; height: 1px; background: currentColor; }
.page-eyebrow--dark { color: #a76d0f; }
.page-hero h1 { max-width: 980px; margin: 0; font: 500 clamp(3.1rem, 6.4vw, 7.2rem)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.055em; text-wrap: balance; }
.page-hero p { max-width: 690px; margin: 30px 0 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.25vw, 1.24rem); line-height: 1.65; }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.page-hero__scroll { position: absolute; right: clamp(28px, 5vw, 78px); bottom: 34px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.64) !important; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; }
.page-hero__scroll i { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; font-style: normal; }

.editorial-section { padding: clamp(86px, 11vw, 160px) clamp(24px, 7vw, 120px); background: #f4f1ea; }
.editorial-section--dark { color: white; background: var(--mp-ink); }
.editorial-section__head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); column-gap: clamp(40px, 8vw, 130px); align-items: end; margin-bottom: clamp(46px, 6vw, 80px); }
.editorial-section__head .page-eyebrow { grid-column: 1 / -1; }
.editorial-section__head h2 { margin: 0; font: 500 clamp(2.5rem, 4.7vw, 5.3rem)/1 Georgia, serif; letter-spacing: -.045em; text-wrap: balance; }
.editorial-section__head p { max-width: 660px; margin: 0; color: #5c6470; font-size: clamp(1rem, 1.2vw, 1.2rem); line-height: 1.72; }
.editorial-section--dark .editorial-section__head p { color: rgba(255,255,255,.62); }

.bleed-carousel { position: relative; width: 100%; height: min(82vh, 880px); min-height: 600px; overflow: hidden; background: #020711; color: white; touch-action: pan-y; }
.bleed-carousel__track { display: flex; height: 100%; transition: transform .9s cubic-bezier(.2,.75,.2,1); will-change: transform; }
.bleed-slide { position: relative; flex: 0 0 100%; height: 100%; overflow: hidden; min-width: 100%; }
.bleed-slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.035); transition: transform 5.5s ease; max-width: 100%; }
.bleed-slide[aria-hidden="false"] img { transform: scale(1); }
.bleed-slide__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,7,15,.9), rgba(1,7,15,.26) 70%), linear-gradient(0deg, rgba(1,7,15,.85), transparent 60%); }
.bleed-slide__copy { position: absolute; left: clamp(24px, 8vw, 144px); bottom: clamp(90px, 13vh, 150px); max-width: 760px; }
.bleed-slide__copy span { color: var(--mp-gold); font-size: .75rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.bleed-slide__copy h2 { margin: 18px 0 22px; font: 500 clamp(3rem, 6vw, 6.6rem)/.96 Georgia, serif; letter-spacing: -.052em; text-wrap: balance; }
.bleed-slide__copy p { max-width: 620px; color: rgba(255,255,255,.72); font-size: clamp(.98rem, 1.3vw, 1.2rem); line-height: 1.68; }
.bleed-slide__number { position: absolute; right: clamp(24px, 7vw, 120px); top: 110px; color: rgba(255,255,255,.22); font: 500 clamp(5rem, 13vw, 12rem)/1 Georgia, serif; }
.bleed-carousel__controls { position: absolute; z-index: 3; left: clamp(24px, 8vw, 144px); right: clamp(24px, 8vw, 144px); bottom: 34px; display: flex; align-items: center; gap: 12px; }
.bleed-carousel__controls button,
.reel-buttons button { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 46px; color: white; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(4,12,23,.4); cursor: pointer; transition: .25s ease; }
.bleed-carousel__controls button:hover,
.reel-buttons button:hover { color: var(--mp-ink); background: var(--mp-gold); border-color: var(--mp-gold); transform: translateY(-2px); }
.bleed-carousel__meter { display: flex; gap: 7px; flex: 1; margin: 0 12px; }
.bleed-carousel__meter i { position: relative; height: 2px; flex: 1; background: rgba(255,255,255,.2); overflow: hidden; }
.bleed-carousel__meter i::after { content: ""; position: absolute; inset: 0 100% 0 0; background: var(--mp-gold); transition: right .5s ease; }
.bleed-carousel__meter i.is-active::after { right: 0; }

.programme-showcase { display: grid; grid-template-columns: 1fr 1fr; min-height: 86vh; background: #030912; }
.programme-panel { position: relative; display: flex; align-items: end; min-height: 700px; padding: clamp(40px, 6vw, 88px); color: white !important; overflow: hidden; }
.programme-panel + .programme-panel { border-left: 1px solid rgba(255,255,255,.22); }
.programme-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .6s; }
.programme-panel__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,8,16,.95), rgba(2,8,16,.08) 72%); }
.programme-panel > div { position: relative; max-width: 650px; }
.programme-panel small { color: var(--mp-gold); text-transform: uppercase; letter-spacing: .15em; font-weight: 800; }
.programme-panel h2 { margin: 18px 0; font: 500 clamp(2.7rem, 4.6vw, 5.4rem)/.96 Georgia, serif; letter-spacing: -.045em; }
.programme-panel p { max-width: 540px; color: rgba(255,255,255,.7); line-height: 1.65; }
.programme-panel b { display: inline-block; margin-top: 18px; }
.programme-panel:hover img { transform: scale(1.055); filter: saturate(1.08); }

.discipline-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(7,16,28,.2); border-left: 1px solid rgba(7,16,28,.2); }
.discipline-grid article { min-height: 170px; padding: 26px; border-right: 1px solid rgba(7,16,28,.2); border-bottom: 1px solid rgba(7,16,28,.2); }
.discipline-grid span { color: var(--mp-gold-2); font: 700 .72rem/1 sans-serif; }
.discipline-grid h3 { margin: 54px 0 0; font: 600 1.15rem/1.2 sans-serif; }
.discipline-grid--dark { border-color: rgba(255,255,255,.16); }
.discipline-grid--dark article { border-color: rgba(255,255,255,.16); }

.module-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.module-list article { position: relative; min-height: 250px; padding: 30px; border: 1px solid rgba(6,14,24,.12); border-radius: 22px; background: rgba(255,255,255,.62); transition: .35s ease; overflow: hidden; }
.module-list article::after { content: ""; position: absolute; width: 150px; height: 150px; right: -70px; bottom: -70px; border: 1px solid rgba(196,136,31,.25); border-radius: 50%; transition: scale .4s ease; }
.module-list article:hover { transform: translateY(-7px); box-shadow: 0 24px 54px rgba(5,12,22,.1); }
.module-list article:hover::after { scale: 1.4; }
.module-list span { color: var(--mp-gold-2); font-weight: 800; }
.module-list h3 { margin: 58px 0 12px; font: 500 1.6rem/1.1 Georgia, serif; }
.module-list p { color: #626a75; line-height: 1.6; }

.outcome-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); }
.outcome-columns article { min-height: 330px; padding: clamp(30px, 4vw, 58px); background: var(--mp-ink); }
.outcome-columns b { color: var(--mp-gold); font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.outcome-columns h3 { margin: 86px 0 16px; font: 500 clamp(1.8rem, 2.5vw, 2.8rem)/1.05 Georgia, serif; }
.outcome-columns p { color: rgba(255,255,255,.58); line-height: 1.7; }

.comparison-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; align-items: stretch; }
.comparison-grid article { min-height: 390px; padding: clamp(34px, 5vw, 70px); border: 1px solid rgba(5,12,22,.13); border-radius: 28px; background: rgba(255,255,255,.5); }
.comparison-grid article.is-featured { color: white; background: var(--mp-ink); border-color: transparent; box-shadow: 0 34px 70px rgba(4,12,23,.2); }
.comparison-grid small { color: var(--mp-gold-2); font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.comparison-grid h3 { margin: 70px 0 26px; font: 500 clamp(2rem, 3.4vw, 3.9rem)/1.05 Georgia, serif; }
.comparison-grid ul { display: grid; gap: 12px; padding: 0; list-style: none; color: #606874; }
.comparison-grid li::before { content: "↗"; margin-right: 10px; color: var(--mp-gold-2); }
.comparison-grid .is-featured ul { color: rgba(255,255,255,.68); }
.comparison-grid--dark { grid-template-columns: 1fr 1fr; }
.comparison-grid--dark article { color: white; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.14); }
.comparison-grid--dark p { color: rgba(255,255,255,.6); line-height: 1.7; }

.launch-steps { padding: clamp(80px, 10vw, 150px) clamp(24px, 7vw, 120px); background: #f4f1ea; }
.launch-steps article { display: grid; grid-template-columns: 110px 1fr; gap: 34px; align-items: center; min-height: 220px; border-bottom: 1px solid rgba(5,12,22,.18); }
.launch-steps article > span { color: var(--mp-gold-2); font: 500 2.5rem/1 Georgia, serif; }
.launch-steps small { color: #9a6a1f; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.launch-steps h2 { margin: 10px 0; font: 500 clamp(3.4rem, 7vw, 7rem)/.9 Georgia, serif; letter-spacing: -.055em; }
.launch-steps p { max-width: 700px; color: #626a75; font-size: 1.05rem; line-height: 1.6; }
.month-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.month-grid article { min-height: 300px; padding: 32px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); }
.month-grid span { color: var(--mp-gold); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.month-grid h3 { margin: 80px 0 16px; font: 500 2rem/1.05 Georgia, serif; }
.month-grid p { color: rgba(255,255,255,.56); line-height: 1.65; }

.milestone-board { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(5,12,22,.16); border-left: 1px solid rgba(5,12,22,.16); }
.milestone-board article { min-height: 220px; padding: 25px; border-right: 1px solid rgba(5,12,22,.16); border-bottom: 1px solid rgba(5,12,22,.16); transition: .3s ease; }
.milestone-board article:hover { color: white; background: var(--mp-ink); }
.milestone-board span { color: var(--mp-gold-2); font-weight: 800; }
.milestone-board h3 { margin: 92px 0 0; font: 500 1.35rem/1.15 Georgia, serif; }

.founder-reel { padding: clamp(84px, 9vw, 140px) 0; background: #fff; overflow: clip; }
.founder-reel__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 0 clamp(20px, 4vw, 40px) 32px; max-width: 1320px; margin: 0 auto; }
.founder-reel__head h2 { margin: 8px 0 0; font: 500 clamp(2.1rem, 4.2vw, 3.6rem)/.95 Georgia, serif; letter-spacing: -.05em; }
.founder-reel__head em { font-weight: 400; color: #9d6d21; }
.reel-buttons { display: flex; gap: 10px; }
.reel-buttons button { color: var(--mp-ink); border-color: rgba(5,12,22,.2); background: transparent; }
.reel-buttons button:disabled { opacity: .3; pointer-events: none; transform: none; }
.reel-buttons button:focus-visible,
.founder-reel__viewport:focus-visible { outline: 3px solid rgba(157,109,33,.36); outline-offset: 4px; }
.founder-reel__viewport { width: 100%; max-width: 1320px; margin: 0 auto; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; cursor: grab; touch-action: pan-y; scroll-snap-type: x mandatory; scroll-padding-inline: clamp(20px, 4vw, 40px); overscroll-behavior-inline: contain; }
.founder-reel__viewport::-webkit-scrollbar { display: none; }
.founder-reel__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.founder-reel__track { display: flex; flex-wrap: nowrap; gap: 16px; width: max-content; padding: 0 clamp(20px, 4vw, 40px) 4px; }
.founder-card { flex: 0 0 min(84vw, 300px); max-width: 300px; overflow: hidden; border: 1px solid rgba(5,12,22,.12); border-radius: 22px; background: #f6eecf; scroll-snap-align: start; }
.founder-card__image { position: relative; height: 320px; overflow: hidden; background: linear-gradient(150deg, #f8e8b0, #f0c747); }
.founder-card__image::before { content: ""; position: absolute; inset: 16% -8% auto 16%; height: 30%; border: 24px solid rgba(255,255,255,.5); transform: rotate(-20deg); border-radius: 80px; }
.founder-card__image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: top center; filter: saturate(.9); transition: transform .55s ease; }
.founder-reel__viewport.is-dragging img { pointer-events: none; }
.founder-card:hover .founder-card__image img { transform: scale(1.035); }
.founder-card__image span { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; place-items: center; width: 40px; height: 40px; color: white; background: rgba(5,12,22,.72); border-radius: 50%; font-weight: 800; }
.founder-card__body { min-height: 240px; padding: 24px; }
.founder-card small { color: #9b6818; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.founder-card h3 { margin: 12px 0 6px; font: 600 1.65rem/1 Georgia, serif; }
.founder-card p { color: #66635a; font-size: .95rem; line-height: 1.5; }
.founder-card blockquote { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid rgba(5,12,22,.14); color: #4e4b43; font-size: .9rem; line-height: 1.5; }
.founder-reel__progress { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 22px clamp(20px, 4vw, 40px) 0; max-width: 1320px; margin: 0 auto; }
.founder-reel__progress > i { position: relative; display: block; height: 2px; overflow: hidden; background: rgba(5,12,22,.13); }
.founder-reel__progress > i > span { position: absolute; inset: 0; background: linear-gradient(90deg,#9d6d21,#efbb63); transform-origin: left center; transition: transform .12s linear; }
.founder-reel__progress > b { min-width: 56px; color: #8b611f; font-size: .7rem; letter-spacing: .12em; text-align: right; }

.method-line { display: grid; grid-template-columns: repeat(8, 1fr); }
.method-line article { position: relative; min-height: 150px; padding: 22px 12px; border-top: 1px solid rgba(5,12,22,.2); }
.method-line article::after { content: "→"; position: absolute; right: -6px; top: 18px; color: #a56d16; }
.method-line article:last-child::after { display: none; }
.method-line span { color: var(--mp-gold-2); font-weight: 800; }
.method-line p { margin-top: 55px; font-size: .85rem; font-weight: 700; }

.ecosystem-orbit { position: relative; max-width: 1240px; margin: 0 auto; min-height: 520px; padding: 60px 32px; background: linear-gradient(145deg, #071526, #030a14); color: white; border-radius: 24px; border: 1px solid rgba(255,255,255,.08); overflow: hidden; box-sizing: border-box; }
.ecosystem-orbit::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(90%, 680px); aspect-ratio: 1; border: 1px solid rgba(239,201,130,.12); border-radius: 50%; pointer-events: none; }

.leader-profile { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 760px; background: #f4f1ea; }
.leader-profile > img { width: 100%; height: 100%; min-height: 760px; object-fit: cover; }
.leader-profile > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 110px); }
.leader-profile h2 { margin: 15px 0 8px; font: 500 clamp(3rem, 5vw, 5.3rem)/.95 Georgia, serif; letter-spacing: -.05em; }
.leader-profile h3 { color: #95641a; font-size: 1rem; }
.leader-profile p { margin-top: 38px; color: #5e6671; line-height: 1.75; }
.leader-profile blockquote { margin: 38px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(5,12,22,.15); font: 500 1.45rem/1.5 Georgia, serif; }

.community-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.community-feature-grid article { min-height: 220px; padding: 24px; border: 1px solid rgba(5,12,22,.13); border-radius: 22px; background: rgba(255,255,255,.55); transition: .3s ease; overflow-wrap: anywhere; }
.community-feature-grid article:hover { transform: translateY(-7px); color: white; background: var(--mp-ink); }
.community-feature-grid span { color: var(--mp-gold-2); font-weight: 800; }
.community-feature-grid h3 { margin: 56px 0 10px; font: 500 1.5rem/1.1 Georgia, serif; }
.community-feature-grid p { color: #626a75; line-height: 1.6; font-size: .92rem; }
.community-feature-grid article:hover p { color: rgba(255,255,255,.6); }

.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: clamp(80px, 9vw, 140px) clamp(24px, 7vw, 120px); background: #f4f1ea; }
.insight-grid article { min-height: 380px; padding: 34px; border-right: 1px solid rgba(5,12,22,.16); border-bottom: 1px solid rgba(5,12,22,.16); }
.insight-grid small { color: var(--mp-gold-2); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.insight-grid h2 { margin: 74px 0 20px; font: 500 2.3rem/1.05 Georgia, serif; }
.insight-grid p { color: #636b76; line-height: 1.65; }
.insight-grid a { display: inline-block; margin-top: 38px; font-weight: 800; }

.application-page { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 90px); padding: clamp(72px, 10vw, 140px) clamp(20px, 6vw, 80px); background: #f4f1ea; }
.application-page > div { min-width: 0; }
.application-page > div h2 { margin: 12px 0 24px; font: 500 clamp(2.5rem, 4.5vw, 4.8rem)/.96 Georgia, serif; letter-spacing: -.05em; }
.application-page > div p { color: #606874; line-height: 1.75; overflow-wrap: anywhere; }
.application-page ul { display: grid; gap: 14px; margin-top: 36px; padding: 0; list-style: none; }
.application-page li::before { content: "↗"; margin-right: 12px; color: var(--mp-gold-2); }
.application-page form { display: grid; gap: 20px; padding: clamp(24px, 3vw, 40px); color: white; background: var(--mp-ink); border-radius: 28px; box-shadow: 0 30px 70px rgba(5,12,22,.18); min-width: 0; }
.application-page label { display: grid; gap: 8px; color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 700; min-width: 0; }
.application-page input,
.application-page select,
.application-page textarea { width: 100%; min-width: 0; padding: 15px 16px; color: white; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; outline: 0; background: rgba(255,255,255,.055); transition: border .25s ease; }
.application-page input:focus,
.application-page select:focus,
.application-page textarea:focus { border-color: var(--mp-gold); }
.application-page textarea { resize: vertical; min-height: 110px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.application-page .form-consent { display: flex; grid-template-columns: none; align-items: flex-start; gap: 10px; line-height: 1.5; }
.form-consent input { width: auto; margin-top: 3px; }
.application-page form > p { margin: 0; color: rgba(255,255,255,.45); font-size: .72rem; overflow-wrap: anywhere; }

.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: clamp(72px, 10vw, 140px) clamp(20px, 6vw, 80px); background: #f4f1ea; gap: 12px; }
.contact-grid article { min-height: 260px; padding: 28px; border: 1px solid rgba(5,12,22,.14); min-width: 0; }
.contact-grid article + article { border-left: 0; }
.contact-grid small { color: var(--mp-gold-2); font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.contact-grid h2 { margin: 36px 0 16px; font: 500 1.85rem/1.05 Georgia, serif; }
.contact-grid p { color: #626a75; line-height: 1.65; overflow-wrap: anywhere; }
.contact-grid a { display: inline-block; margin-top: 24px; font-weight: 800; }

.apply-band { display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: end; padding: clamp(80px, 10vw, 150px) clamp(24px, 8vw, 140px); color: white; background: radial-gradient(circle at 80% 20%, rgba(239,187,99,.2), transparent 25%), #050c16; }
.apply-band > div > span { color: var(--mp-gold); font-size: .73rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.apply-band h2 { max-width: 920px; margin: 20px 0; font: 500 clamp(3rem, 6vw, 6.7rem)/.94 Georgia, serif; letter-spacing: -.055em; }
.apply-band p { max-width: 720px; color: rgba(255,255,255,.58); line-height: 1.7; }
.apply-band__actions { display: grid; justify-items: start; gap: 24px; }
.apply-band__actions > a:last-child { color: rgba(255,255,255,.72); font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.3); }

.mfooter { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 40px); padding: 72px clamp(20px, 6vw, 80px) 28px; color: white; background: #020711; border-top: 1px solid rgba(255,255,255,.1); }
.mfooter > div { display: grid; align-content: start; gap: 12px; min-width: 0; }
.mfooter > div > b { margin-bottom: 10px; color: var(--mp-gold); font-size: .74rem; letter-spacing: .15em; text-transform: uppercase; }
.mfooter > div > a:not(.mbrand) { color: rgba(255,255,255,.58); font-size: .85rem; overflow-wrap: anywhere; }
.mfooter__brand p { max-width: 300px; color: rgba(255,255,255,.5); line-height: 1.6; overflow-wrap: anywhere; }
.mfooter__bottom { grid-column: 1/-1; display: flex !important; flex-direction: row; justify-content: space-between; margin-top: 45px; padding-top: 24px; color: rgba(255,255,255,.34); border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; gap: 16px; flex-wrap: wrap; }

@media (max-width: 1100px) {
  .mnav__links { display: none; }
  .mnav__burger { display: block; }
  .editorial-section__head { grid-template-columns: 1fr; gap: 24px; }
  .discipline-grid { grid-template-columns: repeat(2, 1fr); }
  .milestone-board { grid-template-columns: repeat(2, 1fr); }
  .method-line { grid-template-columns: repeat(4, 1fr); }
  .ecosystem-orbit > article { left: calc(50% + cos(var(--angle)) * min(41vw, 410px)); top: calc(50% + sin(var(--angle)) * min(41vw, 410px)); width: 180px; }
}

@media (max-width: 780px) {
  .mnav { height: 70px; padding: 0 16px; }
  .mbrand b { font-size: .88rem; }
  .mbrand small { font-size: .45rem; }
  .mnav__login,
  .mnav__actions > .premium-button { display: none; }
  .page-hero { min-height: 92svh; padding: 126px 22px 82px; background-position: 60% center; }
  .page-hero__veil { background: linear-gradient(0deg, rgba(3,10,18,.96), rgba(3,10,18,.28) 78%); }
  .page-hero h1 { font-size: clamp(2.9rem, 13vw, 4.8rem); }
  .page-hero__scroll { display: none; }
  .editorial-section { padding: 76px 20px; }
  .editorial-section__head h2 { font-size: 2.8rem; }
  .bleed-carousel { min-height: 650px; height: 82svh; }
  .bleed-slide__copy { left: 22px; right: 22px; bottom: 120px; }
  .bleed-slide__copy h2 { font-size: 3.2rem; }
  .bleed-slide__number { top: 90px; right: 20px; font-size: 6rem; }
  .bleed-carousel__controls { left: 20px; right: 20px; }
  .bleed-carousel__meter { display: none; }
  .programme-showcase { grid-template-columns: 1fr; }
  .programme-panel { min-height: 75svh; padding: 32px 22px; }
  .programme-panel + .programme-panel { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
  .programme-panel h2 { font-size: 3.2rem; }
  .module-list,
  .outcome-columns,
  .month-grid,
  .community-feature-grid,
  .insight-grid,
  .contact-grid { grid-template-columns: 1fr; }
  .comparison-grid,
  .comparison-grid--dark,
  .application-page,
  .apply-band,
  .leader-profile { grid-template-columns: 1fr; }
  .discipline-grid { grid-template-columns: 1fr 1fr; }
  .launch-steps { padding: 70px 20px; }
  .launch-steps article { grid-template-columns: 48px 1fr; min-height: 190px; }
  .launch-steps h2 { font-size: 4rem; }
  .milestone-board { grid-template-columns: 1fr 1fr; }
  .milestone-board article { min-height: 180px; }
  .milestone-board h3 { margin-top: 62px; }
  .founder-reel__head { align-items: flex-end; padding: 0 20px 38px; }
  .founder-reel__head h2 { font-size: 3rem; }
  .founder-reel__viewport { scroll-padding-inline: 20px; }
  .founder-reel__track { gap: 14px; padding-right: 20px; padding-left: 20px; }
  .founder-reel__progress { padding-right: 20px; padding-left: 20px; }
  .founder-card__image { height: 340px; }
  .method-line { grid-template-columns: 1fr 1fr; }
  .ecosystem-orbit { display: grid; gap: 10px; min-height: auto; padding: 90px 20px; }
  .ecosystem-orbit::before,
  .ecosystem-orbit::after { display: none; }
  .ecosystem-orbit__centre { position: relative; left: auto; top: auto; translate: none; margin: 0 auto 32px; }
  .ecosystem-orbit > article { position: relative; left: auto; top: auto; translate: none; width: 100%; }
  .leader-profile > img { min-height: 440px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-grid article + article { border-left: 1px solid rgba(5,12,22,.14); border-top: 0; }
  .mfooter { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
  .mfooter__brand { grid-column: 1/-1; }
}

@media (max-width: 480px) {
  .page-hero__actions { display: grid; }
  .page-hero__actions .premium-button { width: 100%; }
  .discipline-grid,
  .milestone-board { grid-template-columns: 1fr; }
  .founder-reel__head { display: grid; }
  .founder-card { flex-basis: calc(100vw - 58px); }
  .mfooter { grid-template-columns: 1fr; }
  .mfooter__brand,
  .mfooter__bottom { grid-column: auto; }
  .mfooter__bottom { display: grid !important; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .maverick-pages *, .maverick-pages *::before, .maverick-pages *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* --------------------------------------------------------------------------
   Maverick Circle — private community and access experience
   -------------------------------------------------------------------------- */

.circle-login,
.circle-shell {
  --circle-ink: #07101c;
  --circle-navy: #0b1728;
  --circle-gold: #efbb63;
  --circle-gold-dark: #a66b0c;
  --circle-paper: #f1eee7;
  --circle-line: rgba(7,16,28,.11);
  --circle-muted: #6d7480;
  color: var(--circle-ink);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
}

.circle-login *,
.circle-login *::before,
.circle-login *::after,
.circle-shell *,
.circle-shell *::before,
.circle-shell *::after { box-sizing: border-box; }

.circle-login a,
.circle-shell a { color: inherit; text-decoration: none; }
.circle-login button,
.circle-login input,
.circle-shell button,
.circle-shell input,
.circle-shell select,
.circle-shell textarea { font: inherit; }

.circle-login {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(460px, .9fr);
  min-height: 100svh;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 23% 52%, rgba(226,165,63,.15), transparent 33%),
    radial-gradient(circle at 65% 5%, rgba(65,103,149,.16), transparent 28%),
    #030913;
}
.circle-login__grid {
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: radial-gradient(circle at 32% 50%, black 0, transparent 72%);
}
.circle-login__brand {
  position: absolute;
  z-index: 4;
  top: 30px;
  left: clamp(26px, 4vw, 66px);
  display: flex;
  align-items: center;
  gap: 12px;
}
.circle-login__brand > span:last-child { display: grid; gap: 4px; }
.circle-login__brand b { font-size: .84rem; letter-spacing: .19em; }
.circle-login__brand small { color: rgba(255,255,255,.46); font-size: .5rem; letter-spacing: .17em; }
.circle-login__story {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100svh;
  padding: 130px clamp(30px, 6vw, 96px) clamp(62px, 8vh, 104px);
}
.circle-login__story > span {
  color: #f4c977;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.circle-login__story h1 {
  margin: 18px 0 10px;
  font: 500 clamp(3.4rem, 5.5vw, 7rem)/.91 Georgia, "Times New Roman", serif;
  letter-spacing: -.06em;
}
.circle-login__story h1 em { color: #efbb63; font-style: italic; }
.circle-login__story > p { margin: 8px 0 0; color: rgba(255,255,255,.56); font-size: 1rem; letter-spacing: .15em; text-transform: uppercase; }
.login-orbit {
  position: absolute;
  top: 10%;
  left: 12%;
  width: min(42vw, 520px);
  aspect-ratio: 1;
  animation: login-drift 7s ease-in-out infinite;
}
.login-orbit::before {
  content: "";
  position: absolute;
  inset: 16%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239,187,99,.18), rgba(239,187,99,.03) 49%, transparent 70%);
  filter: blur(3px);
}
.login-orbit__core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  border: 1px solid rgba(239,187,99,.35);
  border-radius: 50%;
  background: rgba(5,13,24,.77);
  box-shadow: 0 0 70px rgba(239,187,99,.17), inset 0 0 28px rgba(239,187,99,.08);
  transform: translate(-50%,-50%);
  backdrop-filter: blur(12px);
}
.login-orbit__ring { position: absolute; inset: 8%; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; animation: login-spin 19s linear infinite; }
.login-orbit__ring--two { inset: 24%; border-style: dashed; border-color: rgba(239,187,99,.24); animation-duration: 13s; animation-direction: reverse; }
.login-orbit__ring i { position: absolute; display: grid; place-items: center; width: 66px; height: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.68); background: rgba(6,15,28,.85); font: 700 .5rem/1 "Segoe UI", sans-serif; letter-spacing: .16em; font-style: normal; backdrop-filter: blur(9px); }
.login-orbit__ring i:first-child { top: -15px; left: 50%; transform: translateX(-50%); }
.login-orbit__ring i:last-child { bottom: -15px; left: 50%; transform: translateX(-50%) rotate(180deg); }
@keyframes login-spin { to { transform: rotate(360deg); } }
@keyframes login-drift { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(12px,-15px,0); } }

.circle-login__panel {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: 104px clamp(28px, 5vw, 78px) 58px;
  border-left: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(155deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  backdrop-filter: blur(20px);
}
.login-card { width: min(100%, 470px); }
.login-card header small { color: #efbb63; font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.login-card header h2 { margin: 12px 0 8px; font: 500 clamp(2.5rem, 4vw, 4.2rem)/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.login-card header p { max-width: 410px; margin: 0 0 30px; color: rgba(255,255,255,.57); font-size: .9rem; line-height: 1.65; }
.login-card form { display: grid; gap: 18px; }
.login-card form > label { display: grid; gap: 9px; color: rgba(255,255,255,.68); font-size: .73rem; font-weight: 700; }
.login-card input[type="email"],
.login-password { width: 100%; min-height: 56px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; color: white; background: rgba(255,255,255,.055); outline: none; transition: border .25s, box-shadow .25s, background .25s; }
.login-card input[type="email"] { padding: 0 16px; }
.login-card input::placeholder { color: rgba(255,255,255,.3); }
.login-card input[type="email"]:focus,
.login-password:focus-within { border-color: rgba(239,187,99,.68); background: rgba(255,255,255,.075); box-shadow: 0 0 0 4px rgba(239,187,99,.08); }
.login-password { display: flex; align-items: center; padding: 0 10px 0 16px; }
.login-password input { flex: 1; min-width: 0; border: 0; color: white; background: transparent; outline: none; }
.login-password button { padding: 8px; border: 0; color: #efbb63; background: transparent; font-size: .68rem; font-weight: 800; cursor: pointer; }
.login-options { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.5); font-size: .7rem; }
.login-options label { display: flex; align-items: center; gap: 7px; }
.login-options input { accent-color: #efbb63; }
.login-options a { color: rgba(255,255,255,.75); }
.circle-login__submit { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 20px; border: 0; border-radius: 12px; color: #07101c; background: linear-gradient(135deg,#ffe4ad,#efbb63 56%,#c4881f); box-shadow: 0 18px 42px rgba(196,136,31,.2); font-weight: 850; cursor: pointer; transition: transform .25s, box-shadow .25s; }
.circle-login__submit:hover { transform: translateY(-2px); box-shadow: 0 22px 48px rgba(196,136,31,.3); }
.circle-login__submit span { font-size: 1.25rem; }
.secure-signin { margin-top: 24px; padding: 17px 18px; border: 1px solid rgba(239,187,99,.16); border-radius: 12px; background: rgba(239,187,99,.045); }
.secure-signin span { color: #f4c977; font-size: .61rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.secure-signin p { margin: 7px 0 0; color: rgba(255,255,255,.45); font-size: .7rem; line-height: 1.55; }
.login-back { display: inline-flex; margin-top: 24px; color: rgba(255,255,255,.48) !important; font-size: .72rem; }
.login-notice { margin: 0 0 20px; padding: 13px 15px; border: 1px solid rgba(239,187,99,.28); border-radius: 10px; color: #f6d69a; background: rgba(239,187,99,.08); font-size: .75rem; line-height: 1.5; }

.circle-shell {
  display: flex;
  min-height: 100svh;
  padding: 0;
  background: var(--circle-paper);
}
.circle-sidebar {
  position: fixed;
  z-index: 30;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  width: 256px;
  padding: 26px 18px 22px;
  color: white;
  background:
    radial-gradient(circle at 30% 0,rgba(239,187,99,.11),transparent 25%),
    #06101d;
  border-right: 1px solid rgba(255,255,255,.07);
}
.circle-sidebar__brand { display: flex; align-items: center; gap: 8px; margin: 0 8px 28px; }
.circle-sidebar__brand > span:last-child { display: grid; gap: 3px; }
.circle-sidebar__brand b { font-size: .78rem; letter-spacing: .16em; }
.circle-sidebar__brand small { color: #efbb63; font-size: .53rem; letter-spacing: .25em; }
.circle-sidebar__cohort { display: flex; align-items: center; gap: 12px; margin: 0 4px 24px; padding: 13px; border: 1px solid rgba(239,187,99,.16); border-radius: 14px; background: rgba(239,187,99,.055); }
.circle-sidebar__cohort > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #07101c; background: #efbb63; font: 800 1rem/1 Georgia,serif; }
.circle-sidebar__cohort div { display: grid; gap: 4px; }
.circle-sidebar__cohort b { font-size: .73rem; }
.circle-sidebar__cohort small { color: rgba(255,255,255,.42); font-size: .58rem; }
.circle-sidebar nav { display: grid; gap: 4px; }
.circle-sidebar nav a { display: flex; align-items: center; gap: 13px; min-height: 46px; padding: 0 13px; border-radius: 11px; color: rgba(255,255,255,.55); font-size: .78rem; font-weight: 700; transition: .22s ease; }
.circle-sidebar nav a i { display: grid; place-items: center; width: 24px; color: rgba(255,255,255,.48); font-size: 1.1rem; font-style: normal; }
.circle-sidebar nav a:hover { color: white; background: rgba(255,255,255,.05); transform: translateX(2px); }
.circle-sidebar nav a.is-active { color: #07101c; background: linear-gradient(120deg,#f5d494,#efbb63); box-shadow: 0 10px 28px rgba(196,136,31,.19); }
.circle-sidebar nav a.is-active i { color: #07101c; }
.circle-sidebar__bottom { display: grid; gap: 14px; margin-top: auto; padding: 0 10px; }
.circle-sidebar__bottom a { display: flex; justify-content: space-between; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.68); font-size: .72rem; font-weight: 700; }
.circle-sidebar__bottom small { color: rgba(255,255,255,.27); font-size: .54rem; }
.circle-main { flex: 1; min-width: 0; margin-left: 256px; }
.circle-topbar { position: sticky; z-index: 24; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 clamp(22px,3.8vw,64px); border-bottom: 1px solid var(--circle-line); background: rgba(241,238,231,.87); backdrop-filter: blur(18px) saturate(1.25); }
.circle-menu { display: none; }
.circle-search { display: flex; align-items: center; gap: 10px; width: min(420px,48vw); height: 42px; padding: 0 13px; border: 1px solid var(--circle-line); border-radius: 10px; color: #868a91; background: rgba(255,255,255,.65); font-size: .72rem; text-align: left; cursor: pointer; }
.circle-search > span { color: var(--circle-ink); font-size: 1.1rem; }
.circle-search kbd { margin-left: auto; padding: 3px 6px; border: 1px solid var(--circle-line); border-radius: 5px; color: #989a9f; background: white; font: 600 .58rem/1 monospace; }
.circle-topbar__actions { display: flex; align-items: center; gap: 18px; }
.circle-bell { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--circle-line); border-radius: 50%; background: rgba(255,255,255,.65); cursor: pointer; }
.circle-bell i { position: absolute; top: -2px; right: -1px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border: 2px solid var(--circle-paper); border-radius: 10px; color: white; background: #bf7523; font-size: .5rem; font-style: normal; }
.circle-avatar { display: flex; align-items: center; gap: 10px; }
.circle-avatar > span,
.circle-avatar__letter { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; color: #07101c; background: linear-gradient(135deg,#ffe7b7,#d99a35); font-size: .8rem; font-weight: 900; }
.circle-avatar div { display: grid; gap: 3px; }
.circle-avatar b { font-size: .7rem; }
.circle-avatar small { color: var(--circle-muted); font-size: .57rem; text-transform: capitalize; }
.circle-preview-note { display: flex; justify-content: center; gap: 12px; padding: 9px 24px; color: #f7dfaf; background: #233248; font-size: .65rem; }
.circle-preview-note span { color: rgba(255,255,255,.62); }
.circle-content { width: min(100%, 1260px); margin: 0 auto; padding: clamp(38px,5vw,74px) clamp(22px,4vw,58px) 90px; }
.circle-page-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.circle-page-intro > div { max-width: 790px; }
.circle-page-intro span { display: block; margin-bottom: 10px; color: var(--circle-gold-dark); font-size: .63rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.circle-page-intro h1 { margin: 0; font: 500 clamp(2.5rem,4.3vw,5.2rem)/.95 Georgia,"Times New Roman",serif; letter-spacing: -.055em; }
.circle-page-intro p { max-width: 660px; margin: 15px 0 0; color: var(--circle-muted); font-size: .85rem; line-height: 1.65; }
.circle-primary,
.discussion-form button,
.resource-upload button,
.profile-editor__fields > button,
.settings-layout form > button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; color: #07101c; background: linear-gradient(135deg,#f8d898,#efbb63); font-size: .71rem; font-weight: 850; cursor: pointer; }

.post-composer,
.feed-post,
.discussion-form,
.discussion-list > article,
.event-feature article,
.event-grid article,
.past-events article,
.resource-upload,
.resource-grid article,
.profile-editor,
.settings-layout,
.admin-section { border: 1px solid var(--circle-line); border-radius: 18px; background: rgba(255,255,255,.76); box-shadow: 0 20px 45px rgba(21,28,38,.045); }
.circle-feed { width: min(100%, 790px); margin: 0 auto; }
.post-composer { margin-bottom: 22px; overflow: hidden; }
.post-composer__top { display: flex; gap: 13px; padding: 19px; }
.post-composer textarea { flex: 1; min-width: 0; padding: 10px 2px; border: 0; resize: vertical; color: var(--circle-ink); background: transparent; outline: none; font-size: .88rem; line-height: 1.55; }
.post-composer textarea::placeholder { color: #a3a39f; }
.post-composer__bottom { display: flex; align-items: center; gap: 10px; min-height: 59px; padding: 10px 16px; border-top: 1px solid var(--circle-line); background: rgba(247,245,240,.72); }
.attach-button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 10px; color: #64696f; font-size: .66rem; font-weight: 750; cursor: pointer; }
.attach-button input { display: none; }
.selected-file { max-width: 160px; overflow: hidden; color: var(--circle-gold-dark); font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.post-composer select { margin-left: auto; min-height: 36px; padding: 0 28px 0 11px; border: 1px solid var(--circle-line); border-radius: 8px; color: #5f646a; background: white; font-size: .63rem; }
.post-composer__bottom > button { min-width: 87px; min-height: 37px; border: 0; border-radius: 8px; color: #07101c; background: #efbb63; font-size: .66rem; font-weight: 850; cursor: pointer; }
.feed-list { display: grid; gap: 18px; }
.feed-post { overflow: hidden; }
.feed-post > header { display: flex; align-items: center; gap: 11px; padding: 18px 19px 0; }
.member-avatar { width: 43px; height: 43px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; background: #d9d5cc; }
.feed-post > header > div { display: grid; gap: 3px; }
.feed-post > header b { font-size: .76rem; }
.feed-post > header span { color: #878a8e; font-size: .58rem; text-transform: capitalize; }
.feed-post > header > small { margin-left: auto; padding: 6px 8px; border-radius: 6px; color: #8b691e; background: #f6ebd5; font-size: .54rem; font-weight: 700; }
.feed-post > p { margin: 17px 19px 18px; color: #343a42; font-size: .86rem; line-height: 1.65; white-space: pre-wrap; }
.feed-post__image { display: block; width: 100%; max-height: 520px; object-fit: cover; border-top: 1px solid var(--circle-line); }
.feed-post > footer { display: flex; align-items: center; min-height: 52px; padding: 0 14px; border-top: 1px solid var(--circle-line); }
.feed-post > footer button { min-height: 36px; padding: 0 10px; border: 0; color: #74777c; background: transparent; font-size: .67rem; font-weight: 700; cursor: pointer; }
.feed-post > footer button.is-active { color: #b36e18; }
.feed-post > footer .post-more { margin-left: auto; color: #a45151; }
.post-comments { padding: 16px 19px 19px; border-top: 1px solid var(--circle-line); background: #f6f3ed; }
.post-comments > div,
.thread-replies > div { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 13px; }
.post-comments .member-avatar,
.thread-replies .member-avatar { width: 31px; height: 31px; }
.post-comments p,
.thread-replies p { margin: 0; padding: 9px 12px; border-radius: 0 11px 11px 11px; color: #4d5259; background: white; font-size: .68rem; line-height: 1.5; }
.post-comments p b,
.thread-replies p b { display: block; margin-bottom: 3px; color: var(--circle-ink); }
.post-comments form,
.thread-replies form { display: flex; gap: 8px; }
.post-comments form input,
.thread-replies form input { flex: 1; min-width: 0; min-height: 40px; padding: 0 12px; border: 1px solid var(--circle-line); border-radius: 9px; background: white; outline: none; font-size: .7rem; }
.post-comments form button,
.thread-replies form button { padding: 0 14px; border: 0; border-radius: 9px; color: white; background: var(--circle-navy); font-size: .65rem; font-weight: 800; }

.directory-tools { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.directory-tools > label { display: flex; align-items: center; gap: 8px; width: min(380px,100%); min-height: 44px; padding: 0 13px; border: 1px solid var(--circle-line); border-radius: 10px; background: white; }
.directory-tools input { width: 100%; border: 0; background: transparent; outline: none; font-size: .72rem; }
.directory-tools > div,
.discussion-categories,
.resource-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.directory-tools button,
.discussion-categories button,
.resource-filters button { min-height: 34px; padding: 0 12px; border: 1px solid var(--circle-line); border-radius: 999px; color: #656a70; background: rgba(255,255,255,.65); font-size: .61rem; font-weight: 750; cursor: pointer; }
.directory-tools button.is-active,
.discussion-categories button.is-active,
.resource-filters button.is-active { border-color: #0a1625; color: white; background: #0a1625; }
.member-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.member-card { min-height: 276px; padding: 22px; border: 1px solid var(--circle-line); border-radius: 17px; color: var(--circle-ink); background: rgba(255,255,255,.77); text-align: left; cursor: pointer; transition: transform .25s, box-shadow .25s, border .25s; }
.member-card:hover { border-color: rgba(166,107,12,.32); transform: translateY(-4px); box-shadow: 0 22px 40px rgba(20,29,40,.08); }
.member-card > div { display: flex; align-items: flex-start; justify-content: space-between; }
.member-card .member-avatar { width: 68px; height: 68px; }
.member-card > div span,
.profile-modal article > span,
.profile-editor__photo > span { padding: 6px 8px; border-radius: 6px; color: #906116; background: #f7e9cd; font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.member-card h2 { margin: 24px 0 5px; font: 500 1.55rem/1 Georgia,serif; }
.member-card p { margin: 0; color: #4c535b; font-size: .74rem; }
.member-card small { display: block; margin-top: 13px; color: #898b8f; font-size: .57rem; line-height: 1.5; }
.member-card > b { display: block; margin-top: 22px; color: #9a6713; font-size: .63rem; }
.profile-modal { position: fixed; z-index: 60; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(4,10,17,.75); backdrop-filter: blur(10px); }
.profile-modal article { position: relative; width: min(100%,550px); max-height: calc(100vh - 48px); overflow: auto; padding: 38px; border-radius: 22px; background: #f8f5ef; box-shadow: 0 35px 90px rgba(0,0,0,.3); }
.profile-modal article > button { position: absolute; top: 18px; right: 18px; width: 35px; height: 35px; border: 0; border-radius: 50%; background: #e8e4dc; cursor: pointer; }
.profile-modal .member-avatar { width: 94px; height: 94px; margin-bottom: 17px; }
.profile-modal h2 { margin: 16px 0 5px; font: 500 2.5rem/1 Georgia,serif; }
.profile-modal h3 { margin: 0; color: #a16d18; font-size: .77rem; }
.profile-modal p { color: #5d636a; font-size: .8rem; line-height: 1.65; }
.profile-modal dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 25px 0 0; overflow: hidden; border: 1px solid var(--circle-line); border-radius: 12px; background: var(--circle-line); }
.profile-modal dl div { padding: 13px; background: white; }
.profile-modal dt { margin-bottom: 5px; color: #8d8e90; font-size: .55rem; text-transform: uppercase; }
.profile-modal dd { margin: 0; font-size: .7rem; line-height: 1.4; }

.discussion-form { display: grid; gap: 13px; margin-bottom: 22px; padding: 20px; }
.discussion-form > div { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.discussion-form label,
.resource-upload label,
.profile-editor__fields label { display: grid; gap: 7px; color: #656a70; font-size: .63rem; font-weight: 750; }
.discussion-form input,
.discussion-form select,
.discussion-form textarea,
.resource-upload input,
.resource-upload select,
.profile-editor__fields input,
.profile-editor__fields textarea { min-height: 43px; padding: 9px 11px; border: 1px solid var(--circle-line); border-radius: 9px; background: white; outline: none; }
.discussion-categories,
.resource-filters { margin-bottom: 21px; }
.discussion-list { display: grid; gap: 11px; }
.discussion-list > article { overflow: hidden; }
.discussion-main { display: grid; grid-template-columns: 44px 1fr 24px; gap: 14px; width: 100%; padding: 21px; border: 0; color: var(--circle-ink); background: transparent; text-align: left; cursor: pointer; }
.vote-stack { display: grid; align-content: start; justify-items: center; gap: 2px; color: #8f9296; }
.vote-stack b { font-size: .68rem; }
.discussion-label,.solved { display: inline-flex; margin: 0 7px 8px 0; padding: 5px 7px; border-radius: 5px; color: #936113; background: #f7e7ca; font-size: .52rem; font-weight: 800; }
.solved { color: #397253; background: #dcefe3; }
.discussion-main h2 { margin: 0 0 7px; font: 500 1.3rem/1.1 Georgia,serif; }
.discussion-main p { max-width: 760px; margin: 0 0 9px; color: #62676e; font-size: .72rem; line-height: 1.55; }
.discussion-main small { color: #999a9b; font-size: .57rem; }
.discussion-main > i { align-self: center; color: #8d681e; font-style: normal; }
.thread-replies { padding: 17px 21px 21px 80px; border-top: 1px solid var(--circle-line); background: #f6f3ed; }
.mark-solved { margin-top: 12px; padding: 8px 10px; border: 1px solid #b9ddc6; border-radius: 7px; color: #397253; background: #eaf5ee; font-size: .6rem; font-weight: 800; cursor: pointer; }

.event-feature article { display: grid; grid-template-columns: 1fr 220px; margin-bottom: 36px; overflow: hidden; color: white; background: linear-gradient(135deg,#07101c,#12243a); }
.event-feature article > div { padding: clamp(28px,5vw,58px); }
.event-feature article > div > span { color: #efbb63; font-size: .59rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.event-feature h2 { max-width: 690px; margin: 16px 0 12px; font: 500 clamp(2.1rem,4vw,4.6rem)/.95 Georgia,serif; letter-spacing: -.04em; }
.event-feature p { max-width: 640px; color: rgba(255,255,255,.58); font-size: .78rem; line-height: 1.65; }
.event-feature button { margin-top: 19px; min-height: 41px; padding: 0 16px; border: 0; border-radius: 8px; color: #07101c; background: #efbb63; font-size: .65rem; font-weight: 850; cursor: pointer; }
.event-feature aside { display: grid; place-content: center; padding: 30px; border-left: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); text-align: center; }
.event-feature aside b { max-width: 150px; font: 500 2rem/1.05 Georgia,serif; }
.event-feature aside span { margin: 12px 0 5px; color: #efbb63; font-size: .77rem; font-weight: 800; }
.event-feature aside small { color: rgba(255,255,255,.45); font-size: .6rem; }
.circle-section-title { margin: 34px 0 16px; font: 500 1.45rem/1 Georgia,serif; }
.event-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.event-grid article { padding: 22px; }
.event-grid small { color: #a36c14; font-size: .6rem; font-weight: 800; }
.event-grid h3,.past-events h3 { margin: 14px 0 8px; font: 500 1.35rem/1.08 Georgia,serif; }
.event-grid p,.past-events p { color: #696e74; font-size: .71rem; line-height: 1.55; }
.event-grid footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 22px; padding-top: 15px; border-top: 1px solid var(--circle-line); }
.event-grid footer span { color: #85898d; font-size: .57rem; }
.event-grid footer button,.past-events button { min-height: 32px; padding: 0 11px; border: 1px solid var(--circle-line); border-radius: 7px; background: white; font-size: .59rem; font-weight: 800; }
.past-events { display: grid; gap: 10px; }
.past-events article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; }
.past-events article > div:last-child { display: flex; gap: 7px; }
.past-events button:disabled { opacity: .4; }

.resource-upload { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1.2fr auto; align-items: end; gap: 10px; margin-bottom: 22px; padding: 18px; }
.resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.resource-grid article { display: flex; flex-direction: column; min-height: 285px; padding: 22px; }
.resource-icon { display: grid; place-items: center; width: 52px; height: 62px; margin-bottom: 19px; border-radius: 6px 13px 6px 6px; color: #07101c; background: #efbb63; font-size: .57rem; font-weight: 900; box-shadow: 8px 8px 0 #f8e8c8; }
.resource-grid article > small { color: #9a6713; font-size: .57rem; font-weight: 800; text-transform: uppercase; }
.resource-grid h2 { margin: 10px 0 7px; font: 500 1.35rem/1.08 Georgia,serif; }
.resource-grid p { margin: 0; color: #6a6f75; font-size: .7rem; line-height: 1.55; }
.resource-grid footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--circle-line); }
.resource-grid footer span { color: #97999b; font-size: .54rem; }
.resource-grid footer a { color: #8b5d11; font-size: .63rem; font-weight: 850; }

.profile-editor { display: grid; grid-template-columns: 250px 1fr; overflow: hidden; }
.profile-editor__photo { padding: 34px; color: white; background: linear-gradient(150deg,#07101c,#172b42); }
.profile-editor__photo .member-avatar { display: block; width: 126px; height: 126px; margin-bottom: 20px; }
.profile-editor__photo p { margin-top: 18px; color: rgba(255,255,255,.52); font-size: .64rem; line-height: 1.5; }
.profile-editor__fields { display: grid; gap: 14px; padding: 30px; }
.profile-editor__fields > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.profile-editor__fields > button { justify-self: start; min-width: 130px; }
.settings-layout { display: grid; grid-template-columns: 220px 1fr; overflow: hidden; }
.settings-layout > nav { display: grid; align-content: start; padding: 16px; border-right: 1px solid var(--circle-line); background: #f6f3ed; }
.settings-layout > nav button { min-height: 43px; padding: 0 12px; border: 0; border-radius: 8px; color: #74787d; background: transparent; text-align: left; font-size: .68rem; font-weight: 750; }
.settings-layout > nav button.is-active { color: var(--circle-ink); background: white; box-shadow: 0 4px 13px rgba(0,0,0,.04); }
.settings-layout form { padding: 30px; }
.settings-layout form h2 { margin: 0 0 8px; font: 500 1.7rem/1 Georgia,serif; }
.settings-layout form > p { margin: 0 0 23px; color: var(--circle-muted); font-size: .72rem; }
.settings-layout form > label { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border-top: 1px solid var(--circle-line); }
.settings-layout form > label span { display: grid; gap: 4px; }
.settings-layout form > label b { font-size: .7rem; }
.settings-layout form > label small { color: #939598; font-size: .57rem; }
.settings-layout input[type="checkbox"] { width: 37px; height: 20px; accent-color: #b4771d; }
.settings-layout form > button { margin-top: 8px; }
.settings-layout form > a { display: block; margin-top: 26px; color: #9d4d4d; font-size: .65rem; }

.admin-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.admin-metrics article { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--circle-line); border-radius: 13px; background: rgba(255,255,255,.72); }
.admin-metrics span { color: #7f8388; font-size: .57rem; }
.admin-metrics b { font: 500 2rem/1 Georgia,serif; }
.admin-section { margin-bottom: 18px; overflow: hidden; }
.admin-section > header { display: flex; align-items: end; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--circle-line); }
.admin-section > header small { color: #9c6914; font-size: .55rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.admin-section > header h2 { margin: 6px 0 0; font: 500 1.55rem/1 Georgia,serif; }
.admin-section > header button { border: 0; color: #8a5b10; background: transparent; font-size: .62rem; font-weight: 800; }
.admin-table { min-width: 850px; }
.admin-table__head,.admin-table__row { display: grid; grid-template-columns: 1.2fr 1.2fr .65fr .55fr 1.1fr; gap: 15px; align-items: center; padding: 13px 20px; }
.admin-table__head { color: #8c8e91; background: #f5f2ec; font-size: .53rem; font-weight: 850; text-transform: uppercase; }
.admin-table__row { border-top: 1px solid var(--circle-line); font-size: .65rem; }
.admin-table__row > span:first-child { display: grid; gap: 3px; }
.admin-table__row small { color: #949699; font-size: .54rem; }
.admin-table__row i { padding: 5px 7px; border-radius: 5px; font-size: .52rem; font-weight: 850; font-style: normal; text-transform: capitalize; }
.status-pending { color: #936113; background: #f7e7ca; }
.status-approved { color: #397253; background: #dcefe3; }
.status-rejected { color: #9e5252; background: #f2dddd; }
.admin-table__row > span:last-child { display: flex; gap: 6px; }
.admin-table__row button,.moderation-list button { min-height: 29px; padding: 0 9px; border: 1px solid #c8dfd0; border-radius: 6px; color: #376e4f; background: #edf7f0; font-size: .54rem; font-weight: 800; cursor: pointer; }
.admin-table__row button.reject,.moderation-list button.reject { border-color: #e6caca; color: #974c4c; background: #faeeee; }
.moderation-list article { display: grid; grid-template-columns: 38px 1fr auto auto; gap: 12px; align-items: center; padding: 15px 20px; border-top: 1px solid var(--circle-line); }
.moderation-list .member-avatar { width: 38px; height: 38px; }
.moderation-list b { font-size: .65rem; }
.moderation-list p { max-width: 680px; margin: 4px 0 0; overflow: hidden; color: #777a7e; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }

.notification-panel { position: fixed; z-index: 50; top: 68px; right: 24px; width: min(390px,calc(100vw - 32px)); max-height: calc(100vh - 92px); overflow: auto; border: 1px solid var(--circle-line); border-radius: 16px; background: #fff; box-shadow: 0 24px 70px rgba(5,15,28,.2); }
.notification-panel header { display: flex; align-items: center; justify-content: space-between; padding: 18px; border-bottom: 1px solid var(--circle-line); }
.notification-panel h3 { margin: 0; font: 500 1.3rem/1 Georgia,serif; }
.notification-panel header button { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #eeeae3; cursor: pointer; }
.notification-panel > a { display: flex; gap: 11px; padding: 15px 18px; border-bottom: 1px solid var(--circle-line); }
.notification-panel > a.is-unread { background: #fffaf0; }
.notification-panel > a > i { width: 7px; height: 7px; flex: 0 0 auto; margin-top: 5px; border-radius: 50%; background: #d99a35; }
.notification-panel p { margin: 0 0 5px; color: #444a51; font-size: .68rem; line-height: 1.45; }
.notification-panel small { color: #9a9b9d; font-size: .55rem; }
.search-overlay { position: fixed; z-index: 70; inset: 0; display: grid; place-items: start center; padding: 12vh 20px 20px; background: rgba(4,10,17,.75); backdrop-filter: blur(12px); }
.search-modal { width: min(100%,720px); max-height: 76vh; overflow: hidden; border-radius: 17px; background: #f8f5ef; box-shadow: 0 35px 100px rgba(0,0,0,.36); }
.search-modal > label { display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 0 17px; border-bottom: 1px solid var(--circle-line); }
.search-modal > label > span { font-size: 1.25rem; }
.search-modal input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font-size: .85rem; }
.search-modal > label button { padding: 6px 8px; border: 1px solid var(--circle-line); border-radius: 6px; color: #7f8286; background: white; font-size: .56rem; }
.search-results { max-height: calc(76vh - 66px); overflow: auto; padding: 9px; }
.search-results > p { padding: 30px; color: #8b8d90; font-size: .7rem; text-align: center; }
.search-results a { display: grid; grid-template-columns: 74px 1fr auto; gap: 12px; align-items: center; padding: 13px; border-radius: 10px; }
.search-results a:hover { background: #eeeae2; }
.search-results a > small { color: #9a6713; font-size: .55rem; font-weight: 850; text-transform: uppercase; }
.search-results a > div { display: grid; gap: 4px; min-width: 0; }
.search-results a b { font-size: .71rem; }
.search-results a span { overflow: hidden; color: #777a7d; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.circle-toast { position: fixed; z-index: 90; right: 28px; bottom: 28px; max-width: 370px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: white; background: #0b1728; box-shadow: 0 15px 45px rgba(0,0,0,.24); font-size: .69rem; }

@media (max-width: 1100px) {
  .member-grid,.resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .resource-upload { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .resource-upload button { min-height: 43px; }
}

@media (max-width: 860px) {
  .circle-login { grid-template-columns: 1fr; }
  .circle-login__story { min-height: 48svh; padding-top: 160px; }
  .circle-login__panel { min-height: auto; padding-top: 54px; border-top: 1px solid rgba(255,255,255,.09); border-left: 0; }
  .login-orbit { top: 5%; right: -4%; left: auto; width: 370px; opacity: .65; }
  .circle-sidebar { transform: translateX(-103%); transition: transform .28s ease; box-shadow: 18px 0 60px rgba(0,0,0,.25); }
  .circle-sidebar.is-open { transform: none; }
  .circle-main { margin-left: 0; }
  .circle-menu { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--circle-line); border-radius: 9px; background: white; }
  .circle-search { width: min(390px,50vw); }
  .profile-editor { grid-template-columns: 190px 1fr; }
  .settings-layout { grid-template-columns: 170px 1fr; }
  .admin-section { overflow-x: auto; }
}

@media (max-width: 640px) {
  .circle-login__brand { top: 20px; left: 18px; }
  .circle-login__story { min-height: 55svh; padding: 130px 22px 48px; }
  .circle-login__story h1 { font-size: clamp(3rem,15vw,4.8rem); }
  .circle-login__story > p { font-size: .67rem; }
  .login-orbit { top: 2%; right: -115px; width: 340px; opacity: .48; }
  .circle-login__panel { padding: 44px 20px 48px; }
  .circle-topbar { min-height: 66px; padding: 0 14px; }
  .circle-search { width: auto; flex: 1; margin: 0 9px; }
  .circle-search kbd,.circle-search { font-size: 0; }
  .circle-search > span { font-size: 1.1rem; }
  .circle-topbar__actions { gap: 8px; }
  .circle-avatar div { display: none; }
  .circle-preview-note { display: grid; gap: 3px; padding: 8px 14px; }
  .circle-content { padding: 34px 14px 70px; }
  .circle-page-intro { display: grid; gap: 18px; }
  .circle-page-intro h1 { font-size: clamp(2.7rem,13vw,4.2rem); }
  .post-composer__bottom { flex-wrap: wrap; }
  .selected-file { order: 4; width: 100%; }
  .post-composer select { margin-left: 0; }
  .post-composer__bottom > button { margin-left: auto; }
  .feed-post > header > small { display: none; }
  .feed-post__image { max-height: 360px; }
  .directory-tools { display: grid; }
  .member-grid,.resource-grid,.event-grid { grid-template-columns: 1fr; }
  .member-card { min-height: 250px; }
  .profile-modal article { padding: 28px 22px; }
  .profile-modal dl { grid-template-columns: 1fr; }
  .discussion-form > div { grid-template-columns: 1fr; }
  .discussion-main { grid-template-columns: 32px 1fr; padding: 17px 13px; }
  .discussion-main > i { display: none; }
  .thread-replies { padding: 15px 13px; }
  .event-feature article { grid-template-columns: 1fr; }
  .event-feature article > div { padding: 27px 22px; }
  .event-feature aside { border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .past-events article { align-items: flex-start; flex-direction: column; }
  .resource-upload { grid-template-columns: 1fr; }
  .profile-editor { grid-template-columns: 1fr; }
  .profile-editor__photo .member-avatar { width: 94px; height: 94px; }
  .profile-editor__fields { padding: 22px 17px; }
  .profile-editor__fields > div { grid-template-columns: 1fr; }
  .settings-layout { grid-template-columns: 1fr; }
  .settings-layout > nav { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--circle-line); }
  .settings-layout > nav button { flex: 0 0 auto; }
  .settings-layout form { padding: 22px 17px; }
  .admin-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .moderation-list article { grid-template-columns: 38px 1fr; }
  .moderation-list button { grid-column: span 1; }
  .notification-panel { top: 62px; right: 8px; }
  .search-overlay { padding: 8vh 10px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .login-orbit,
  .login-orbit__ring,
  .aob-orbit img,
  .aob-orbit__ring,
  .aob-orbit__spark { animation: none !important; }
}

/* Home-page brand motion and cinematic full-bleed image reel. */
.brand__mark-orbit {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 58px;
  width: 58px;
  height: 44px;
}

.brand__mark-orbit::before {
  content: "";
  position: absolute;
  width: 56px;
  height: 31px;
  border: 1px solid rgba(239,187,99,.36);
  border-radius: 50%;
  transform: rotate(-13deg);
  animation: aob-ring 7s linear infinite;
}

.brand__mark-orbit i {
  position: absolute;
  z-index: 3;
  right: 1px;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #efbb63;
  box-shadow: 0 0 13px 4px rgba(239,187,99,.36);
  animation: aob-spark 2.4s ease-in-out infinite;
}

.brand__mark-orbit .brand__mark--image {
  position: relative;
  z-index: 2;
  animation: aob-mark-float 4.6s ease-in-out infinite;
}

.nav-login {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  color: rgba(255,255,255,.72);
  font-size: .76rem;
  font-weight: 750;
  transition: color .25s;
}

.nav-login:hover { color: var(--gold-300); }

.home-reel {
  position: relative;
  height: min(86vh, 920px);
  min-height: 640px;
  color: white;
  background: #020711;
  overflow: hidden;
  touch-action: pan-y;
}

.home-reel__track {
  display: flex;
  height: 100%;
  transition: transform .9s cubic-bezier(.2,.75,.2,1);
  will-change: transform;
}

.home-reel__slide {
  position: relative;
  flex: 0 0 100%;
  height: 100%;
  overflow: hidden;
}

.home-reel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 5.5s ease;
}

.home-reel__slide.is-active img { transform: scale(1); }
.home-reel__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,8,17,.94), rgba(2,8,17,.18) 75%), linear-gradient(0deg, rgba(2,8,17,.9), transparent 62%); }
.home-reel__copy { position: absolute; left: clamp(24px, 8vw, 148px); bottom: clamp(108px, 14vh, 165px); max-width: 840px; }
.home-reel__copy > span { color: #efbb63; font-size: .73rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.home-reel__copy h2 { margin: 18px 0 24px; font: 500 clamp(3.2rem, 6.4vw, 7rem)/.94 Georgia, serif; letter-spacing: -.055em; }
.home-reel__copy h2 i { color: #f3cf88; font-weight: 400; }
.home-reel__copy p { max-width: 640px; color: rgba(255,255,255,.7); font-size: clamp(.98rem, 1.25vw, 1.18rem); line-height: 1.7; }
.home-reel__copy a { display: inline-block; margin-top: 24px; padding-bottom: 5px; border-bottom: 1px solid rgba(239,187,99,.75); color: white; font-weight: 750; }
.home-reel__controls { position: absolute; z-index: 3; left: clamp(24px, 8vw, 148px); right: clamp(24px, 8vw, 148px); bottom: 34px; display: flex; align-items: center; gap: 12px; }
.home-reel__controls button { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; color: white; border: 1px solid rgba(255,255,255,.27); border-radius: 50%; background: rgba(3,10,20,.38); cursor: pointer; transition: .25s ease; }
.home-reel__controls button:hover { color: #06101e; background: #efbb63; border-color: #efbb63; transform: translateY(-2px); }
.home-reel__meter { display: flex; gap: 7px; flex: 1; margin: 0 12px; }
.home-reel__meter i { position: relative; height: 2px; flex: 1; background: rgba(255,255,255,.2); overflow: hidden; }
.home-reel__meter i::after { content: ""; position: absolute; inset: 0 100% 0 0; background: #efbb63; transition: right .5s ease; }
.home-reel__meter i.is-active::after { right: 0; }

@media (max-width: 820px) {
  .nav-login { display: none; }
  .brand__mark-orbit { width: 50px; flex-basis: 50px; }
  .home-reel { min-height: 680px; height: 86svh; }
  .home-reel__copy { left: 22px; right: 22px; bottom: 120px; }
  .home-reel__copy h2 { font-size: clamp(3.1rem, 14vw, 4.7rem); }
  .home-reel__controls { left: 20px; right: 20px; }
  .home-reel__meter { display: none; }
}

.ital,
.maverick-card blockquote {
  font-family: Georgia, "Times New Roman", serif;
}

.brand__mark--image {
  width: 48px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 0 12px rgba(239, 187, 99, 0.25));
}

.foot .brand__mark--image {
  width: 58px;
  height: 46px;
}

/* Progressive enhancement: content stays visible when reveal APIs are unavailable. */
.rv,
.tile--hero,
.stats__card {
  opacity: 1;
  transform: none;
  filter: none;
}

.has-reveal .rv,
.has-reveal .tile--hero,
.has-reveal .stats__card {
  opacity: 0;
  transform: translateY(26px);
  filter: blur(6px);
}

.has-reveal .rv.is-in,
.has-reveal .tile--hero.is-in,
.has-reveal .stats__card.is-in {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Keep every section readable even when browser privacy tooling alters observers. */
.has-reveal .rv,
.has-reveal .tile--hero,
.has-reveal .stats__card {
  opacity: 1;
  transform: none;
  filter: none;
}

/* AOB story-led sections */
.sec--origin {
  background: linear-gradient(180deg, var(--bone) 0%, #efe9de 100%);
  overflow: hidden;
}

.origin-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 7vw, 96px);
  align-items: center;
}

.origin-copy .sec__sub {
  margin-top: var(--s4);
}

.origin-quote {
  margin: var(--s5) 0 var(--s4);
  padding-left: var(--s3);
  border-left: 2px solid var(--gold-500);
  max-width: 52ch;
  color: var(--t-2);
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.origin-quote strong {
  color: var(--t-1);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink-800);
  font-weight: 700;
  border-bottom: 1px solid var(--gold-500);
  padding-bottom: 5px;
}

.text-link .i {
  transition: transform 0.3s var(--e-out);
}

.text-link:hover .i {
  transform: translateX(4px);
}

.origin-media {
  position: relative;
  min-height: 500px;
}

.origin-media::before {
  content: "";
  position: absolute;
  inset: 24px -24px -24px 24px;
  border: 1px solid rgba(196, 136, 31, 0.35);
  border-radius: 34px;
}

.origin-media img {
  position: relative;
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: var(--sh-3);
}

.origin-float {
  position: absolute;
  left: -38px;
  bottom: 38px;
  display: grid;
  max-width: 240px;
  gap: 4px;
  padding: 20px 22px;
  color: var(--d-1);
  background: rgba(4, 16, 31, 0.92);
  border: 1px solid var(--line-d);
  border-radius: 18px;
  box-shadow: var(--sh-3);
  backdrop-filter: blur(16px);
}

.origin-float b {
  font: 700 1.55rem/1.1 Sora, sans-serif;
  color: var(--gold-300);
}

.origin-float span {
  color: var(--d-2);
  font-size: var(--fs-xs);
  line-height: 1.5;
}

.ecosystem-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin: clamp(76px, 9vw, 120px) 0 var(--s4);
  padding-bottom: var(--s3);
  border-bottom: 1px solid var(--line-l);
}

.ecosystem-head p {
  max-width: 60ch;
  color: var(--t-2);
}

.ecosystem-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.eco-card {
  --cx: 50%;
  --cy: 50%;
  position: relative;
  overflow: hidden;
  min-height: 190px;
  padding: 28px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(10, 18, 32, 0.08);
  border-radius: 18px;
  transition: transform 0.35s var(--e-out), box-shadow 0.35s var(--e-out), border-color 0.35s;
}

.eco-card::after,
.maverick-card::after,
.milestone::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(320px circle at var(--cx, 50%) var(--cy, 50%), rgba(239, 187, 99, 0.15), transparent 60%);
  opacity: 0;
  transition: opacity 0.35s;
}

.eco-card:hover {
  transform: translateY(-7px);
  border-color: rgba(196, 136, 31, 0.28);
  box-shadow: var(--sh-2);
}

.eco-card:hover::after,
.maverick-card:hover::after,
.milestone:hover::after {
  opacity: 1;
}

.eco-card > span {
  color: var(--gold-600);
  font: 700 0.72rem/1 Sora, sans-serif;
  letter-spacing: 0.14em;
}

.eco-card h3 {
  margin-top: 42px;
  font: 700 1.1rem/1.2 Sora, sans-serif;
  color: var(--t-1);
}

.eco-card p {
  margin-top: 8px;
  color: var(--t-2);
  font-size: var(--fs-sm);
}

/* Programme imagery */
.pmedia__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--e-out), filter 0.4s;
}

.pmedia {
  transform: none !important;
  transform-style: flat;
}

.pmedia:hover .pmedia__img {
  transform: scale(1.04);
  filter: saturate(1.05);
}

#program-ai .pmedia__img {
  object-position: 58% center;
}

#program-re .pmedia__img {
  object-position: center;
}

/* Six-month support */
.sec--support {
  background:
    radial-gradient(circle at 18% 28%, rgba(32, 82, 127, 0.35), transparent 32%),
    var(--ink-950);
  color: var(--d-1);
  overflow: hidden;
}

.sec--support .eyebrow,
.sec--support .sec__title {
  color: var(--d-1);
}

.sec--support .sec__sub {
  color: var(--d-2);
}

.support-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: center;
}

.support-media {
  position: sticky;
  top: 120px;
}

.support-media img {
  width: 100%;
  min-height: 650px;
  object-fit: cover;
  border-radius: 28px;
  border: 1px solid var(--line-d);
  filter: saturate(0.82) contrast(1.06);
}

.support-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 28px;
  background: linear-gradient(180deg, transparent 50%, rgba(4, 16, 31, 0.9));
  pointer-events: none;
}

.support-stamp {
  position: absolute;
  z-index: 2;
  right: -30px;
  bottom: 32px;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 230px;
  padding: 16px 20px;
  background: var(--gold-400);
  color: var(--ink-950);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.support-stamp b {
  font: 800 2.5rem/1 Sora, sans-serif;
}

.support-stamp span {
  font-size: var(--fs-xs);
  font-weight: 700;
  line-height: 1.35;
}

.month-list {
  display: grid;
  margin-top: var(--s5);
  border-top: 1px solid var(--line-d);
}

.month-list li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line-d);
  transition: padding 0.3s var(--e-out), background 0.3s;
}

.month-list li:hover {
  padding-left: 12px;
  background: linear-gradient(90deg, rgba(239, 187, 99, 0.07), transparent);
}

.month-list li > span {
  color: var(--gold-400);
  font: 700 0.75rem/1.5 Sora, sans-serif;
  letter-spacing: 0.16em;
}

.month-list b {
  color: var(--d-1);
  font: 650 1rem/1.3 Sora, sans-serif;
}

.month-list p {
  margin-top: 5px;
  color: var(--d-2);
  font-size: var(--fs-sm);
}

/* Outcome milestones */
.sec--outcomes {
  background: var(--bone);
}

.sec--outcomes .sec__head--center .sec__sub {
  margin-inline: auto;
}

.milestones {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: var(--s7);
}

.milestone {
  --cx: 50%;
  --cy: 50%;
  position: relative;
  overflow: hidden;
  min-height: 220px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line-l);
  border-radius: 20px;
  transition: transform 0.35s var(--e-out), box-shadow 0.35s;
}

.milestone:hover {
  transform: translateY(-6px);
  box-shadow: var(--sh-2);
}

.milestone > span {
  color: var(--gold-600);
  font: 700 0.72rem/1 Sora, sans-serif;
  letter-spacing: 0.15em;
}

.milestone h3 {
  margin-top: 58px;
  font: 700 1.05rem/1.25 Sora, sans-serif;
  color: var(--t-1);
}

.milestone p {
  margin-top: 10px;
  color: var(--t-2);
  font-size: var(--fs-sm);
  line-height: 1.55;
}

.milestone--wide {
  grid-column: span 2;
  background: var(--ink-900);
}

.milestone--wide h3,
.milestone--image h3 {
  color: var(--d-1);
}

.milestone--wide p {
  color: var(--d-2);
}

.milestone--image {
  grid-column: span 2;
  padding: 0;
  min-height: 300px;
  background: var(--ink-900);
}

.milestone--image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.62;
}

.milestone--image::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 16, 31, 0.08), rgba(4, 16, 31, 0.94));
}

.milestone--image > span,
.milestone--image h3 {
  position: absolute;
  z-index: 2;
  left: 28px;
}

.milestone--image > span {
  top: 28px;
  color: var(--gold-300);
}

.milestone--image h3 {
  bottom: 28px;
  margin: 0;
  font-size: 1.3rem;
}

/* Maverick story carousel */
.sec--story {
  overflow: clip;
}

.story-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 64px;
  align-items: end;
}

.story-heading__side .sec__sub {
  max-width: 48ch;
}

.story-controls {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.story-controls button {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--line-l);
  background: #fff;
  color: var(--ink-900);
  font-size: 1.2rem;
  transition: background 0.25s, color 0.25s, transform 0.25s;
}

.story-controls button:hover {
  background: var(--ink-900);
  color: #fff;
  transform: translateY(-2px);
}

.story-controls button:focus-visible,
.story-carousel__viewport:focus-visible {
  outline: 3px solid rgba(227, 169, 63, 0.55);
  outline-offset: 4px;
}

.story-controls button:disabled {
  opacity: 0.32;
  cursor: not-allowed;
  transform: none;
}

.story-carousel {
  width: 100vw;
  margin-top: var(--s6);
  margin-left: calc(50% - 50vw);
}

.story-carousel__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline-start: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y pinch-zoom;
}

.story-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.story-carousel__viewport.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.story-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  gap: 20px;
  margin: 0;
  padding: 8px var(--gutter) 30px max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));
}

.story-track img {
  -webkit-user-drag: none;
  user-select: none;
}

.maverick-card {
  --cx: 50%;
  --cy: 50%;
  position: relative;
  overflow: hidden;
  flex: 0 0 clamp(280px, 19vw, 320px);
  scroll-snap-align: start;
  background: var(--ink-900);
  border: 1px solid var(--line-d);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(4, 16, 31, 0.12);
  transition: transform 0.4s var(--e-out), box-shadow 0.4s;
}

.maverick-card:hover {
  transform: translateY(-10px) rotate(-0.4deg);
  box-shadow: 0 28px 70px rgba(4, 16, 31, 0.24);
}

.maverick-card > img {
  width: 100%;
  height: 265px;
  object-fit: cover;
  filter: saturate(0.85) contrast(1.05);
  transition: transform 0.65s var(--e-out), filter 0.4s;
}

.maverick-card:hover > img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.06);
}

.maverick-card__body {
  position: relative;
  z-index: 2;
  min-height: 285px;
  padding: 26px;
  background: linear-gradient(180deg, var(--ink-850), var(--ink-950));
}

.maverick-card__body > span {
  color: var(--gold-400);
  font: 700 0.68rem/1 Sora, sans-serif;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.maverick-card h3 {
  margin-top: 16px;
  color: var(--d-1);
  font: 700 1.55rem/1.1 Sora, sans-serif;
}

.maverick-card p {
  margin-top: 10px;
  color: var(--d-2);
  line-height: 1.55;
}

.maverick-card blockquote {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line-d);
  color: var(--gold-200);
  font: italic 1rem/1.45 "Instrument Serif", serif;
}

.story-note {
  margin-top: 12px;
  color: var(--t-3);
  font-size: 0.75rem;
}

.story-progress-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
}

.story-progress {
  position: relative;
  height: 2px;
  flex: 1;
  overflow: hidden;
  background: rgba(10, 18, 32, 0.12);
}

.story-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  background: linear-gradient(90deg, var(--gold-700), var(--gold-400));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.18s linear;
}

.story-progress-row > span {
  min-width: 58px;
  color: var(--t-2);
  font: 700 0.68rem/1 Sora, sans-serif;
  letter-spacing: 0.12em;
  text-align: right;
}

/* Fit filter */
.sec--fit {
  background: #ece5d9;
}

.sec--fit .sec__head--center .sec__sub {
  margin-inline: auto;
}

.fit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: var(--s6);
}

.fit-card {
  padding: clamp(30px, 4vw, 52px);
  border-radius: 28px;
}

.fit-card--yes {
  background: var(--ink-900);
  color: var(--d-1);
}

.fit-card--no {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--line-l);
}

.fit-card__label {
  display: block;
  margin-bottom: 28px;
  color: var(--gold-400);
  font: 700 0.75rem/1 Sora, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fit-card--no .fit-card__label {
  color: var(--t-1);
}

.fit-card ul {
  display: grid;
  gap: 15px;
}

.fit-card li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-weight: 600;
}

.fit-card--yes svg {
  flex: 0 0 auto;
  color: var(--gold-400);
}

.fit-card--no li {
  color: var(--t-2);
}

.fit-card--no li > span {
  color: #9f4c3e;
  font-size: 1.25rem;
  line-height: 0.9;
}

/* Maverick Circle concept */
.sec--circle {
  background: var(--bone);
}

.circle-shell {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(44px, 7vw, 92px);
  align-items: center;
  padding: clamp(42px, 6vw, 78px);
  overflow: hidden;
  border-radius: 34px;
  background:
    radial-gradient(circle at 82% 15%, rgba(32, 82, 127, 0.44), transparent 36%),
    var(--ink-950);
  color: var(--d-1);
}

.circle-copy .sec__title {
  color: var(--d-1);
  margin-top: var(--s3);
}

.circle-copy > p {
  margin-top: var(--s3);
  color: var(--d-2);
  max-width: 48ch;
}

.circle-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--s4);
}

.circle-features li,
.circle-status {
  padding: 8px 12px;
  border: 1px solid var(--line-d);
  border-radius: 999px;
  background: var(--glass);
  color: var(--d-2);
  font-size: 0.76rem;
}

.circle-status {
  display: inline-block;
  margin-top: var(--s3);
  color: var(--gold-300);
  border-color: rgba(239, 187, 99, 0.22);
}

.circle-ui {
  min-width: 650px;
  transform: rotate(1.5deg) translateX(8%);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px;
  background: #f8f7f4;
  color: var(--t-1);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.42);
}

.circle-ui__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  background: #fff;
  border-bottom: 1px solid var(--line-l);
  font-size: 0.78rem;
}

.circle-ui__mark {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
}

.circle-ui__mark img {
  filter: brightness(0);
}

.circle-ui__body {
  display: grid;
  grid-template-columns: 150px 1fr;
  min-height: 420px;
}

.circle-ui__body nav {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 24px 16px;
  border-right: 1px solid var(--line-l);
  background: #f0ede7;
}

.circle-ui__body nav span,
.circle-ui__body nav b {
  padding: 9px 10px;
  border-radius: 8px;
  font-size: 0.72rem;
}

.circle-ui__body nav b {
  background: var(--ink-900);
  color: #fff;
}

.circle-ui__body main {
  padding: 28px;
}

.circle-ui__body main > p {
  color: var(--t-2);
  font-size: 0.8rem;
}

.circle-ui__body main > h3 {
  margin: 6px 0 24px;
  font: 700 1.4rem/1.2 Sora, sans-serif;
}

.circle-ui__body article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 16px;
  margin-top: 12px;
  background: #fff;
  border: 1px solid var(--line-l);
  border-radius: 14px;
}

.circle-avatar {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--ink-900);
  color: var(--gold-300);
  font-weight: 800;
}

.circle-ui__body article b {
  font-size: 0.75rem;
}

.circle-ui__body article p {
  margin: 6px 0 10px;
  color: var(--t-2);
  font-size: 0.76rem;
}

.circle-ui__body article small {
  color: var(--t-3);
}

/* Production application experience */
.sec--cta {
  text-align: left;
}

.apply-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: start;
}

.apply-copy .cta__t {
  margin-top: var(--s3);
  text-align: left;
}

.apply-copy .cta__d {
  margin: var(--s3) 0 var(--s5);
  text-align: left;
}

.apply-proof {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--line-d);
}

.apply-proof > span {
  color: var(--gold-400);
  font: 700 0.72rem/1.4 Sora, sans-serif;
  letter-spacing: 0.12em;
}

.apply-proof b {
  color: var(--d-1);
}

.apply-proof p {
  color: var(--d-2);
  font-size: var(--fs-sm);
  line-height: 1.5;
}

.apply-copy .callus {
  margin: var(--s4) 0 0;
}

.apply-form {
  padding: clamp(28px, 4vw, 48px);
  background: rgba(255, 255, 255, 0.96);
  color: var(--t-1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 28px;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.3);
}

.apply-form__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
}

.apply-form__head span {
  font: 700 1.25rem/1.2 Sora, sans-serif;
}

.apply-form__head small {
  color: var(--t-3);
}

.apply-form label {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  color: var(--t-2);
  font-size: 0.78rem;
  font-weight: 700;
}

.apply-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.apply-form input,
.apply-form select,
.apply-form textarea {
  width: 100%;
  border: 1px solid rgba(10, 18, 32, 0.14);
  border-radius: 12px;
  background: #f8f6f1;
  color: var(--t-1);
  padding: 13px 14px;
  outline: none;
  font: 500 0.9rem/1.4 Manrope, sans-serif;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.apply-form textarea {
  resize: vertical;
}

.apply-form input:focus,
.apply-form select:focus,
.apply-form textarea:focus {
  border-color: var(--gold-500);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(227, 169, 63, 0.13);
}

.apply-consent {
  grid-template-columns: 18px 1fr !important;
  align-items: start;
  font-weight: 500 !important;
  line-height: 1.45;
}

.apply-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  padding: 0;
  accent-color: var(--gold-600);
}

.apply-form .btn {
  margin-top: 22px;
}

.apply-form__note {
  margin-top: 12px;
  color: var(--t-3);
  font-size: 0.7rem;
  text-align: center;
}

@media (max-width: 1000px) {
  .origin-grid,
  .support-grid,
  .circle-shell,
  .apply-grid {
    grid-template-columns: 1fr;
  }

  .origin-media,
  .origin-media img {
    min-height: 420px;
    height: 420px;
  }

  .origin-float {
    left: 22px;
  }

  .ecosystem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-media {
    position: relative;
    top: auto;
  }

  .support-media img {
    min-height: 460px;
  }

  .milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .maverick-card {
    flex-basis: clamp(300px, 38vw, 380px);
  }

  .circle-ui {
    min-width: 0;
    width: 112%;
    transform: rotate(1deg);
  }
}

@media (max-width: 720px) {
  .ecosystem-head {
    display: grid;
    align-items: start;
  }

  .ecosystem-grid,
  .fit-grid,
  .apply-form__row {
    grid-template-columns: 1fr;
  }

  .origin-media::before {
    display: none;
  }

  .origin-media,
  .origin-media img {
    min-height: 330px;
    height: 330px;
  }

  .origin-float {
    right: 16px;
    bottom: 16px;
    left: 16px;
    max-width: none;
  }

  .support-media img {
    min-height: 390px;
  }

  .support-stamp {
    right: 14px;
    left: 14px;
    bottom: 18px;
    max-width: none;
  }

  .milestones {
    grid-template-columns: 1fr;
  }

  .milestone--wide,
  .milestone--image {
    grid-column: auto;
  }

  .story-carousel {
    margin-top: 36px;
  }

  .story-track {
    gap: 14px;
    padding-right: 20px;
  }

  .maverick-card {
    flex-basis: calc(100vw - 58px);
  }

  .story-progress-row {
    gap: 12px;
  }

  .circle-shell {
    padding: 32px 22px;
  }

  .circle-ui {
    width: 150%;
    transform: translateX(-3%) rotate(1deg) scale(0.72);
    transform-origin: left top;
    margin-bottom: -120px;
  }

  .circle-ui__body {
    min-height: 380px;
  }

  .apply-grid {
    gap: 40px;
  }

  .apply-form {
    padding: 24px 18px;
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .maverick-card,
  .eco-card,
  .milestone,
  .pmedia,
  .origin-media img {
    transition: none !important;
    transform: none !important;
  }
}

/* Circle controls added after the base community system. */
.feed-post > footer .post-delete { color: #a45151; }
.thread-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.thread-actions > button { min-height: 31px; padding: 0 10px; border: 1px solid var(--circle-line); border-radius: 7px; color: #515861; background: #fff; font-size: .6rem; font-weight: 800; }
.thread-actions > button.danger { color: #974c4c; background: #faeeee; }
.admin-members article { display: grid; grid-template-columns: 42px 1fr 130px auto; gap: 12px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--circle-line); }
.admin-members article > div { display: grid; gap: 4px; }
.admin-members b { font-size: .68rem; }
.admin-members small { color: #8d9094; font-size: .55rem; }
.admin-members select { min-height: 34px; padding: 0 9px; border: 1px solid var(--circle-line); border-radius: 7px; background: #fff; font-size: .6rem; text-transform: capitalize; }
.admin-members button { min-height: 30px; padding: 0 9px; border: 1px solid #e6caca; border-radius: 6px; color: #974c4c; background: #faeeee; font-size: .54rem; font-weight: 800; }
@media (max-width: 640px) {
  .admin-members article { grid-template-columns: 42px 1fr; }
  .admin-members select,
  .admin-members button { grid-column: span 1; }
}


/* ===== SOURCE: app/redesign.css ===== */
/* AOB Maverick 2026 redesign
   One editorial system for the public experience and Maverick Circle. */

:root {
  --aob-navy: #071423;
  --aob-navy-2: #0d2034;
  --aob-ink: #111b28;
  --aob-paper: #f8f5ef;
  --aob-paper-2: #efeae1;
  --aob-white: #fffdf9;
  --aob-gold: #c78c2f;
  --aob-gold-light: #edc982;
  --aob-muted: #66717c;
  --aob-line: rgba(17, 27, 40, 0.13);
  --aob-shadow: 0 28px 80px rgba(7, 20, 35, 0.11);
  --aob-serif: Georgia, "Times New Roman", serif;
  --aob-sans: Inter, "Segoe UI", Arial, sans-serif;
}

html { background: var(--aob-paper); }
body { color: var(--aob-ink); background: var(--aob-paper); }

.maverick-pages {
  --mp-ink: var(--aob-navy);
  --mp-ink-2: var(--aob-navy-2);
  --mp-gold: var(--aob-gold-light);
  --mp-gold-2: var(--aob-gold);
  --mp-paper: var(--aob-paper);
  color: var(--aob-ink);
  background: var(--aob-paper);
  font-family: var(--aob-sans);
  overflow: clip;
}

.maverick-pages h1,
.maverick-pages h2,
.maverick-pages h3,
.maverick-pages p { text-wrap: pretty; }

.maverick-pages :focus-visible {
  outline: 3px solid var(--aob-gold-light);
  outline-offset: 4px;
}

/* Header */
.mnav {
  inset: 18px clamp(16px, 3vw, 46px) auto;
  width: auto;
  height: 66px;
  padding: 0 12px 0 16px;
  gap: clamp(20px, 2.6vw, 46px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(5,16,29,.83);
  box-shadow: 0 14px 42px rgba(0,0,0,.16);
  backdrop-filter: blur(20px) saturate(1.25);
}

.mnav.is-stuck {
  top: 10px;
  height: 62px;
  background: rgba(5,16,29,.95);
  box-shadow: 0 18px 54px rgba(0,0,0,.23);
}

.mbrand { gap: 8px; }
.mbrand b { font-size: .88rem; letter-spacing: .19em; }
.mbrand small { font-size: .46rem; letter-spacing: .19em; }
.aob-orbit--compact { width: 48px; height: 40px; }
.aob-orbit--compact img { width: 39px; height: 27px; }
.aob-orbit--compact .aob-orbit__ring { width: 47px; height: 27px; }
.mnav__links { gap: clamp(14px, 1.7vw, 26px); }
.mnav__links > a,
.mnav-more > summary {
  padding: 22px 0;
  color: rgba(255,255,255,.72);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .025em;
}
.mnav__links > a::after { bottom: 16px; }
.mnav__links > a.is-active { color: white; }
.mnav__links > a.is-active::after { right: 0; }
.mnav-more { position: relative; }
.mnav-more > summary { display: flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; }
.mnav-more > summary::-webkit-details-marker { display: none; }
.mnav-more[open] > summary { color: white; }
.mnav-more > div {
  position: absolute;
  top: calc(100% - 4px);
  right: -20px;
  display: grid;
  width: 220px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(5,16,29,.98);
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
}
.mnav-more > div a { display: flex; justify-content: space-between; padding: 12px 13px; border-radius: 9px; color: rgba(255,255,255,.73); font-size: .72rem; }
.mnav-more > div a:hover,
.mnav-more > div a.is-active { color: white; background: rgba(255,255,255,.07); }
.mnav-more > div i { color: var(--aob-gold-light); font-style: normal; }
.mnav__login { font-size: .72rem; }

.premium-button {
  min-height: 50px;
  padding: 0 23px;
  gap: 13px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 11px;
  color: var(--aob-navy) !important;
  background: linear-gradient(135deg,#f7dfae,#d8a44c 55%,#bd7f22);
  box-shadow: 0 14px 32px rgba(171,111,24,.23), inset 0 1px rgba(255,255,255,.65);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .01em;
}
.premium-button:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(171,111,24,.31), inset 0 1px rgba(255,255,255,.65); }
.premium-button--small { min-height: 42px; padding: 0 17px; border-radius: 9px; font-size: .69rem; }
.premium-button--glass { color: white !important; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); box-shadow: none; }

/* Shared inner-page hero */
.page-hero {
  position: relative;
  min-height: min(82svh, 820px);
  padding: 148px clamp(24px, 8vw, 138px) clamp(84px, 9vw, 112px);
  background: var(--aob-navy);
  isolation: isolate;
}
.page-hero__image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.page-hero__veil { z-index: -2; background: linear-gradient(90deg,rgba(3,12,22,.95) 0%,rgba(3,12,22,.77) 48%,rgba(3,12,22,.18) 82%),linear-gradient(0deg,rgba(3,12,22,.75),transparent 52%); }
.page-hero__grid { z-index: -1; opacity: .11; background-size: 80px 80px; }
.page-hero__content { width: min(850px, 76vw); }
.page-hero h1 { max-width: 850px; font: 500 clamp(3rem,5.5vw,5.9rem)/.98 var(--aob-serif); letter-spacing: -.052em; }
.page-hero p { max-width: 650px; margin-top: 24px; color: rgba(255,255,255,.74); font-size: clamp(.98rem,1.25vw,1.17rem); line-height: 1.68; }
.page-hero__actions { margin-top: 31px; }
.page-hero__scroll { right: clamp(20px,4vw,58px); bottom: 28px; }
.page-eyebrow { margin-bottom: 18px; color: var(--aob-gold-light); font-size: .68rem; letter-spacing: .19em; }
.page-eyebrow--dark { color: #956012; }

/* Home hero: preserve the approved dark launch-console direction. */
.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr);
  align-items: center;
  min-height: max(780px,100svh);
  padding: 138px clamp(24px,6.7vw,116px) 112px;
  color: white;
  background:
    radial-gradient(circle at 77% 44%,rgba(194,139,50,.13),transparent 31%),
    radial-gradient(circle at 22% 10%,rgba(40,82,126,.17),transparent 36%),
    linear-gradient(135deg,#06111f 0%,#07192a 54%,#050f1c 100%);
  isolation: isolate;
  overflow: hidden;
}
.home-hero::before { content:""; position:absolute; inset:auto -15% -48% 24%; height:70%; border-radius:50%; background:rgba(4,10,18,.65); filter:blur(60px); z-index:-1; }
.home-hero__grid { position:absolute; inset:0; z-index:-1; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,black,transparent 72%); }
.home-hero__copy { position:relative; z-index:2; max-width:790px; }
.home-hero__status { display:inline-flex; align-items:center; gap:9px; margin-bottom:25px; padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:rgba(255,255,255,.65); background:rgba(255,255,255,.045); font-size:.63rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.home-hero__status i { width:7px; height:7px; border-radius:50%; background:#8ed3a8; box-shadow:0 0 0 5px rgba(105,203,144,.1); }
.home-hero__status b { margin-left:4px; color:var(--aob-gold-light); }
.home-hero h1 { max-width:760px; margin:0; font:500 clamp(3.65rem,6.1vw,6.65rem)/.91 var(--aob-serif); letter-spacing:-.065em; }
.home-hero h1 em { display:block; color:var(--aob-gold-light); font-weight:400; }
.home-hero__copy > p { max-width:650px; margin:28px 0 0; color:rgba(255,255,255,.68); font-size:clamp(1rem,1.2vw,1.16rem); line-height:1.72; }
.home-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:34px; }
.home-text-link { display:inline-flex; align-items:center; gap:10px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.22); color:white !important; font-size:.78rem; font-weight:780; }
.home-text-link span,.section-link span { color:var(--aob-gold); transition:transform .25s ease; }
.home-text-link:hover span,.section-link:hover span { transform:translate(3px,-3px); }
.home-proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-width:720px; margin:50px 0 0; padding:26px 0 0; border-top:1px solid rgba(255,255,255,.12); list-style:none; }
.home-proof li { display:grid; gap:7px; padding-right:20px; }
.home-proof b { color:white; font:500 clamp(1.2rem,1.8vw,1.65rem)/1 var(--aob-serif); }
.home-proof span { color:rgba(255,255,255,.46); font-size:.58rem; line-height:1.35; text-transform:uppercase; letter-spacing:.09em; }

.launch-visual { position:relative; justify-self:end; width:min(43vw,590px); aspect-ratio:1; }
.launch-visual__halo { position:absolute; inset:15%; border-radius:50%; background:radial-gradient(circle,rgba(207,155,70,.22),rgba(32,62,93,.12) 42%,transparent 70%); filter:blur(8px); animation:launch-breathe 5s ease-in-out infinite; }
.launch-visual__orbit { position:absolute; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.launch-visual__orbit::after { content:""; position:absolute; top:50%; left:-4px; width:7px; height:7px; border-radius:50%; background:var(--aob-gold-light); box-shadow:0 0 18px 5px rgba(220,172,91,.25); }
.launch-visual__orbit--outer { inset:4%; animation:launch-spin 26s linear infinite; }
.launch-visual__orbit--inner { inset:23%; border-style:dashed; border-color:rgba(239,201,130,.25); animation:launch-spin 19s linear infinite reverse; }
.launch-visual__core { position:absolute; z-index:3; inset:50% auto auto 50%; display:grid; place-items:center; width:210px; height:210px; padding:30px; border:1px solid rgba(239,201,130,.27); border-radius:50%; background:rgba(5,16,29,.78); box-shadow:0 0 80px rgba(201,143,48,.17),inset 0 0 40px rgba(255,255,255,.03); transform:translate(-50%,-50%); backdrop-filter:blur(14px); text-align:center; }
.launch-visual__core .aob-orbit { width:74px; height:48px; }
.launch-visual__core span { margin-top:7px; color:rgba(255,255,255,.5); font-size:.52rem; letter-spacing:.15em; text-transform:uppercase; }
.launch-visual__core b { color:var(--aob-gold-light); font:500 .92rem/1.2 var(--aob-serif); }
.launch-visual__node { position:absolute; z-index:4; display:grid; gap:4px; min-width:108px; padding:12px 15px; border:1px solid rgba(255,255,255,.15); border-radius:11px; background:rgba(5,16,29,.74); box-shadow:0 14px 38px rgba(0,0,0,.18); backdrop-filter:blur(12px); }
.launch-visual__node small { color:var(--aob-gold-light); font-size:.54rem; letter-spacing:.16em; }
.launch-visual__node b { font-size:.72rem; letter-spacing:.05em; }
.launch-visual__node--1 { top:4%; left:38%; }
.launch-visual__node--2 { top:42%; right:-1%; }
.launch-visual__node--3 { bottom:7%; left:45%; }
.launch-visual__node--4 { top:43%; left:-2%; }
.launch-visual__signal { position:absolute; inset:0; animation:launch-spin 34s linear infinite; }
.launch-visual__signal i { position:absolute; width:4px; height:4px; border-radius:50%; background:#fff; box-shadow:0 0 10px #fff; }
.launch-visual__signal i:nth-child(1){top:21%;left:15%}.launch-visual__signal i:nth-child(2){top:18%;right:19%}.launch-visual__signal i:nth-child(3){bottom:23%;right:12%}.launch-visual__signal i:nth-child(4){bottom:16%;left:24%}
.home-hero__scroll { position:absolute; right:clamp(22px,3vw,48px); bottom:31px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.5)!important; font-size:.58rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.home-hero__scroll span { display:grid; place-items:center; width:31px; height:31px; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--aob-gold-light); }
@keyframes launch-spin { to { transform:rotate(360deg); } }
@keyframes launch-breathe { 50% { transform:scale(1.06); opacity:.72; } }

.home-marquee {
  overflow: hidden;
  color: white;
  background: #b77a22;
  border-block: 1px solid rgba(255,255,255,.18);
}
.home-marquee > div {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 28px;
  padding: 13px 0;
  animation: home-marquee 34s linear infinite;
  min-width: 100%;
}
.home-marquee span {
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-marquee i {
  color: #f6dda9;
  font-size: .52rem;
}
@keyframes home-marquee { to { transform: translateX(-50%); } }

/* Editorial rhythm */
.home-story,.home-journey,.home-carousel-intro,.home-founders-intro,.fit-section { padding:clamp(82px,10vw,138px) clamp(24px,7vw,112px); }
.home-story,.home-carousel-intro,.home-founders-intro,.fit-section { background:var(--aob-paper); }
.home-section-head { display:grid; grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr); align-items:end; column-gap:clamp(38px,8vw,126px); max-width:1240px; margin:0 auto clamp(44px,6vw,72px); }
.home-section-head .page-eyebrow { grid-column:1/-1; }
.home-section-head h2 { margin:0; font:500 clamp(2.6rem,4.6vw,4.9rem)/1 var(--aob-serif); letter-spacing:-.048em; }
.home-section-head h2 em { color:#9a6615; font-weight:400; }
.home-section-head p { max-width:610px; margin:0; color:var(--aob-muted); font-size:clamp(.96rem,1.16vw,1.1rem); line-height:1.72; }
.home-section-head--compact { display:block; max-width:920px; margin-left:0; }
.home-section-head--compact h2 { max-width:760px; }
.home-section-head--light { color:white; }
.home-section-head--light p { color:rgba(255,255,255,.59); }
.home-comparison { display:grid; grid-template-columns:1fr 1fr; max-width:1240px; margin:auto; border:1px solid var(--aob-line); background:var(--aob-white); box-shadow:var(--aob-shadow); }
.home-comparison article { min-height:340px; padding:clamp(32px,4vw,58px); }
.home-comparison article+article { border-left:1px solid var(--aob-line); }
.home-comparison small { color:#8a8f95; font-size:.63rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.home-comparison h3 { max-width:480px; margin:18px 0 28px; font:500 clamp(1.9rem,3vw,3.2rem)/1.03 var(--aob-serif); letter-spacing:-.035em; }
.home-comparison ul,.fit-section ul,.cohort-section ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.home-comparison li,.fit-section li,.cohort-section li { position:relative; padding-left:24px; color:var(--aob-muted); font-size:.86rem; line-height:1.55; }
.home-comparison li::before,.fit-section li::before,.cohort-section li::before { content:""; position:absolute; top:.63em; left:0; width:10px; height:1px; background:var(--aob-gold); }
.home-comparison .is-maverick { color:white; background:var(--aob-navy); }
.home-comparison .is-maverick small,.home-comparison .is-maverick h3 { color:var(--aob-gold-light); }
.home-comparison .is-maverick li { color:rgba(255,255,255,.7); }

.home-journey { color:white; background:var(--aob-navy); }
.home-journey .page-eyebrow--dark { color:var(--aob-gold-light); }
.journey-line { display:grid; grid-template-columns:repeat(4,1fr); max-width:1240px; margin:auto; border-top:1px solid rgba(255,255,255,.16); }
.journey-line article { position:relative; min-height:290px; padding:34px 30px 28px 0; }
.journey-line article+article { padding-left:30px; border-left:1px solid rgba(255,255,255,.12); }
.journey-line article::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:var(--aob-gold-light); box-shadow:0 0 0 6px rgba(212,160,74,.1); }
.journey-line article+article::before { left:30px; }
.journey-line span { color:var(--aob-gold-light); font-size:.65rem; font-weight:850; letter-spacing:.15em; }
.journey-line h3 { margin:49px 0 16px; font:500 clamp(2.2rem,3.3vw,3.6rem)/1 var(--aob-serif); }
.journey-line p { max-width:240px; color:rgba(255,255,255,.57); font-size:.8rem; line-height:1.62; }
.section-link { display:inline-flex; align-items:center; gap:10px; margin-top:34px; padding-bottom:7px; border-bottom:1px solid rgba(17,27,40,.2); color:var(--aob-ink)!important; font-size:.73rem; font-weight:830; }
.home-journey>.section-link,.section-link--light { color:white!important; border-color:rgba(255,255,255,.22); }

.home-programmes { padding:clamp(82px,10vw,138px) clamp(18px,3vw,42px); color:white; background:#050f1b; }
.home-programmes>header { max-width:1180px; margin:0 auto 46px; }
.home-programmes>header h2 { max-width:800px; margin:0 0 17px; font:500 clamp(2.8rem,5vw,5.2rem)/.98 var(--aob-serif); letter-spacing:-.05em; }
.home-programmes>header p { max-width:680px; color:rgba(255,255,255,.58); line-height:1.67; }
.home-programmes__grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:1380px; margin:auto; }
.home-programmes__grid>a { position:relative; display:flex; align-items:end; min-height:min(72vw,680px); max-height:720px; padding:clamp(28px,4vw,56px); overflow:hidden; color:white!important; background:var(--aob-navy); }
.home-programmes__grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.home-programmes__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,11,20,.97),rgba(3,11,20,.1) 74%); }
.home-programmes__grid>a>div { position:relative; z-index:2; max-width:570px; }
.home-programmes small { color:var(--aob-gold-light); font-size:.64rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.home-programmes h3 { margin:14px 0; font:500 clamp(2.4rem,4vw,4.5rem)/.98 var(--aob-serif); letter-spacing:-.045em; }
.home-programmes p { color:rgba(255,255,255,.64); font-size:.86rem; line-height:1.62; }
.home-programmes b { display:inline-flex; gap:10px; margin-top:18px; font-size:.72rem; }
.home-programmes__grid>a:hover img { transform:scale(1.045); filter:saturate(1.08); }

.support-system { padding:clamp(82px,10vw,138px) clamp(24px,7vw,112px); color:white; background:linear-gradient(145deg,#10243a,#071423 62%); }
.support-months { display:grid; grid-template-columns:repeat(3,1fr); max-width:1240px; margin:auto; border:1px solid rgba(255,255,255,.13); }
.support-months article { min-height:220px; padding:31px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.support-months article:nth-child(3n) { border-right:0; }
.support-months article:nth-child(n+4) { border-bottom:0; }
.support-months small { color:var(--aob-gold-light); font-size:.59rem; font-weight:850; letter-spacing:.15em; }
.support-months h3 { margin:28px 0 13px; font:500 2rem/1 var(--aob-serif); }
.support-months p { max-width:290px; color:rgba(255,255,255,.56); font-size:.76rem; line-height:1.6; }

.home-carousel-intro { padding-bottom:56px; }
.home-carousel-intro .home-section-head,.home-founders-intro .home-section-head { margin-bottom:0; }
.home-founders-intro { padding-bottom:0; }

/* Full bleed carousels */
.bleed-carousel { width:100vw; margin-left:calc(50% - 50vw); height:min(82svh,820px); min-height:570px; }
.bleed-slide__shade { background:linear-gradient(90deg,rgba(3,11,20,.92),rgba(3,11,20,.22) 73%),linear-gradient(0deg,rgba(3,11,20,.84),transparent 62%); }
.bleed-slide__copy { left:clamp(24px,7vw,118px); bottom:clamp(102px,14vh,142px); max-width:720px; }
.bleed-slide__copy h2 { max-width:700px; font-size:clamp(2.8rem,5.2vw,5.8rem); }
.bleed-slide__copy p { color:rgba(255,255,255,.7); }
.bleed-slide__number { top:105px; right:clamp(22px,6vw,96px); }
.bleed-carousel__controls { left:clamp(24px,7vw,118px); right:clamp(24px,7vw,118px); }
.bleed-carousel__controls button,.reel-buttons button { width:44px; height:44px; border-radius:10px; }

.founder-reel { position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:clamp(72px,8vw,120px) 0; background:var(--aob-paper); overflow:hidden; }
.founder-reel__head { max-width:1440px; margin:0 auto 32px; padding:0 clamp(24px,7vw,112px); }
.founder-reel__head h2 { font-size:clamp(2.1rem,4.2vw,3.6rem); }
.founder-reel__viewport { width:100vw; max-width:100vw; margin:0; cursor:grab; padding:0 clamp(24px,7vw,112px); scroll-padding-inline:clamp(24px,7vw,112px); overflow-x:auto; scrollbar-width:none; overscroll-behavior-inline:contain; touch-action:pan-y pinch-zoom; }
.founder-reel__viewport::-webkit-scrollbar { display:none; }
.founder-reel__viewport.is-dragging { cursor:grabbing; user-select:none; }
.founder-reel__track { display:flex; flex-wrap:nowrap; gap:20px; width:max-content; padding-right:clamp(24px,7vw,112px); }
.founder-card { flex:0 0 clamp(280px,22vw,340px); max-width:340px; border:1px solid var(--aob-line); border-radius:22px; background:var(--aob-white); box-shadow:var(--aob-shadow); transition:transform .35s var(--e-out, ease-out), box-shadow .35s ease; }
.founder-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(7,20,35,.14); }
.founder-card__image { height:320px; }
.founder-card__image::after { background:linear-gradient(0deg,rgba(4,13,23,.55),transparent 55%); }
.founder-card__body { min-height:240px; padding:24px; }
.founder-card__body small { color:#986413; }
.founder-card__body h3 { font-size:1.65rem; }
.founder-card__body p { color:var(--aob-muted); font-size:.95rem; line-height:1.5; }
.founder-card__body blockquote { color:#4f5a65; font-size:.9rem; line-height:1.5; }
.founder-reel__progress { max-width:1440px; margin:28px auto 0; padding:0 clamp(24px,7vw,112px); }
.founder-reel__progress>i { background:rgba(7,20,35,.12); }
.founder-reel__progress>i span { background:var(--aob-gold); }

.cohort-section { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); max-width:1440px; margin:auto; background:var(--aob-paper-2); }
.cohort-section__media { position:relative; min-height:650px; }
.cohort-section__media img { width:100%; height:100%; object-fit:cover; }
.cohort-section__media>div { position:absolute; right:24px; bottom:24px; display:grid; min-width:170px; padding:21px; color:white; background:rgba(5,16,29,.9); backdrop-filter:blur(12px); }
.cohort-section__media b { color:var(--aob-gold-light); font:500 3rem/1 var(--aob-serif); }
.cohort-section__media span { margin-top:5px; font-size:.57rem; letter-spacing:.13em; text-transform:uppercase; }
.cohort-section__copy { align-self:center; padding:clamp(48px,7vw,96px); }
.cohort-section h2 { margin:0 0 24px; font:500 clamp(2.7rem,4.5vw,4.8rem)/1 var(--aob-serif); letter-spacing:-.048em; }
.cohort-section__copy>p { margin:0 0 30px; color:var(--aob-muted); font-size:.96rem; line-height:1.7; }
.cohort-section li { font-size:.8rem; }

.fit-section { max-width:none; }
.fit-section>div { display:grid; grid-template-columns:1fr 1fr; max-width:1240px; margin:auto; border:1px solid var(--aob-line); }
.fit-section article { min-height:340px; padding:clamp(32px,4vw,52px); background:var(--aob-white); }
.fit-section article+article { border-left:1px solid var(--aob-line); }
.fit-section .fit-section__yes { color:white; background:var(--aob-navy); }
.fit-section small { display:block; margin-bottom:28px; color:#8c9094; font-size:.63rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.fit-section__yes small { color:var(--aob-gold-light); }
.fit-section__yes li { color:rgba(255,255,255,.69); }

/* Shared content blocks on inner pages */
.editorial-section { padding:clamp(82px,10vw,138px) clamp(24px,7vw,112px); background:var(--aob-paper); }
.editorial-section--dark { background:var(--aob-navy); }
.editorial-section__head { grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr); max-width:1240px; margin:0 auto clamp(44px,6vw,72px); }
.editorial-section__head h2 { font-size:clamp(2.5rem,4.5vw,4.8rem); }
.editorial-section__head p { color:var(--aob-muted); font-size:clamp(.96rem,1.15vw,1.08rem); }
.programme-showcase { min-height:78svh; }
.programme-panel { min-height:660px; padding:clamp(38px,5vw,74px); }
.programme-panel h2 { font-size:clamp(2.6rem,4.2vw,4.8rem); }

.discipline-grid,.module-list,.outcome-columns,.month-grid,.milestone-board,.community-feature-grid,.comparison-grid { max-width:1240px; margin-inline:auto; }
.discipline-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--aob-line); }
.discipline-grid article { min-height:170px; padding:25px; border-right:1px solid var(--aob-line); border-bottom:1px solid var(--aob-line); background:rgba(255,255,255,.55); }
.discipline-grid article:nth-child(4n){border-right:0}.discipline-grid article:nth-last-child(-n+4){border-bottom:0}
.discipline-grid span { color:#976313; font-size:.61rem; font-weight:850; letter-spacing:.12em; }
.discipline-grid h3 { margin:38px 0 0; font:500 1.38rem/1.12 var(--aob-serif); }
.discipline-grid--dark { border-color:rgba(255,255,255,.13); }
.discipline-grid--dark article { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.025); }
.discipline-grid--dark span { color:var(--aob-gold-light); }

.module-list { border-top:1px solid var(--aob-line); }
.module-list article { display:grid; grid-template-columns:70px minmax(220px,.85fr) minmax(260px,1.15fr); gap:28px; align-items:start; padding:28px 0; border-bottom:1px solid var(--aob-line); }
.module-list span { color:#986413; font-size:.63rem; font-weight:850; }
.module-list h3 { margin:0; font:500 1.55rem/1.15 var(--aob-serif); }
.module-list p { margin:0; color:var(--aob-muted); font-size:.83rem; line-height:1.64; }
.outcome-columns { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.13); }
.outcome-columns article { min-height:270px; padding:32px; border-right:1px solid rgba(255,255,255,.12); }
.outcome-columns article:last-child { border-right:0; }
.outcome-columns b { color:var(--aob-gold-light); font-size:.61rem; letter-spacing:.15em; text-transform:uppercase; }
.outcome-columns h3 { margin:40px 0 14px; font:500 1.65rem/1.12 var(--aob-serif); }
.outcome-columns p { color:rgba(255,255,255,.58); font-size:.79rem; line-height:1.62; }

.comparison-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--aob-line); }
.comparison-grid article { min-height:330px; padding:clamp(32px,4vw,54px); background:var(--aob-white); }
.comparison-grid article+article { border-left:1px solid var(--aob-line); }
.comparison-grid small { color:#8d9094; font-size:.62rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.comparison-grid h3 { margin:19px 0 25px; font:500 clamp(1.9rem,3vw,3rem)/1.04 var(--aob-serif); }
.comparison-grid p,.comparison-grid li { color:var(--aob-muted); font-size:.84rem; line-height:1.65; }
.comparison-grid ul { display:grid; gap:12px; padding-left:18px; }
.comparison-grid .is-featured { color:white; background:var(--aob-navy); }
.comparison-grid .is-featured small { color:var(--aob-gold-light); }
.comparison-grid .is-featured li { color:rgba(255,255,255,.68); }
.comparison-grid--dark { border-color:rgba(255,255,255,.14); }
.comparison-grid--dark article { color:white; border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.025); }
.comparison-grid--dark small { color:var(--aob-gold-light); }
.comparison-grid--dark p { color:rgba(255,255,255,.58); }

.launch-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1280px;
  margin: 0 auto clamp(40px, 6vw, 80px);
  background: var(--aob-paper);
  border: 1px solid var(--aob-line);
  border-radius: 20px;
  overflow: hidden;
  box-sizing: border-box;
}
.launch-steps article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 380px;
  padding: clamp(24px, 3.2vw, 44px);
  border-right: 1px solid var(--aob-line);
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden;
}
.launch-steps article:last-child { border-right: 0; }
.launch-steps>article>span { color: #a36b16; font-size: .62rem; font-weight: 850; letter-spacing: .16em; }
.launch-steps article div { margin-top: 40px; }
.launch-steps small { color: #8d9297; font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.launch-steps h2 { margin: 10px 0 14px; font: 500 clamp(2.2rem, 3.2vw, 3.8rem)/1 var(--aob-serif); word-break: break-word; }
.launch-steps p { color: var(--aob-muted); font-size: .8rem; line-height: 1.62; word-break: break-word; }

.month-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.13); }
.month-grid article { min-height:240px; padding:30px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.month-grid article:nth-child(3n){border-right:0}.month-grid article:nth-child(n+4){border-bottom:0}
.month-grid span { color:var(--aob-gold-light); font-size:.6rem; font-weight:850; letter-spacing:.13em; }
.month-grid h3 { margin:36px 0 13px; font:500 1.65rem/1.1 var(--aob-serif); }
.month-grid p { color:rgba(255,255,255,.57); font-size:.77rem; line-height:1.62; }

.milestone-board { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--aob-line); }
.milestone-board article { min-height:170px; padding:23px; border-right:1px solid var(--aob-line); border-bottom:1px solid var(--aob-line); background:rgba(255,255,255,.5); }
.milestone-board article:nth-child(5n){border-right:0}.milestone-board article:nth-child(n+6){border-bottom:0}
.milestone-board span { color:#956012; font-size:.58rem; font-weight:850; }
.milestone-board h3 { margin:38px 0 0; font:500 1.22rem/1.15 var(--aob-serif); }

.method-line { display:grid; grid-template-columns:repeat(8, minmax(0, 1fr)); max-width:1240px; margin:auto; border-top:1px solid var(--aob-line); }
.method-line article { position:relative; min-height:150px; padding:25px 10px 15px 0; min-width:0; overflow:hidden; }
.method-line article::before { content:""; position:absolute; top:-4px; left:0; width:7px; height:7px; border-radius:50%; background:var(--aob-gold); }
.method-line span { color:#986413; font-size:.58rem; font-weight:850; }
.method-line p { margin:35px 0 0; font:500 clamp(.85rem, 1.1vw, 1.02rem)/1.2 var(--aob-serif); word-break:break-word; }

.ecosystem-orbit { position:relative; display:grid; grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr); align-items:center; gap:clamp(20px, 3vw, 40px); max-width:1240px; margin:0 auto; min-height:520px; padding:clamp(48px,5vw,70px) clamp(20px,4vw,40px); color:white; background:linear-gradient(145deg, #071526, #030a14); border-radius:24px; border:1px solid rgba(255,255,255,.08); box-shadow:inset 0 0 100px rgba(0,0,0,.6); box-sizing:border-box; overflow:hidden; }
.ecosystem-orbit::before { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:min(90%, 680px); aspect-ratio:1; border:1px solid rgba(239,201,130,.12); border-radius:50%; pointer-events:none; }
.ecosystem-orbit__col { display:flex; flex-direction:column; gap:20px; z-index:2; }
.ecosystem-orbit__left { align-items:flex-end; }
.ecosystem-orbit__right { align-items:flex-start; }
.ecosystem-orbit__centre { position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; width:180px; height:180px; border:1.5px solid rgba(239,201,130,.45); border-radius:50%; background:#081a2e; box-shadow:0 0 50px rgba(239,201,130,.15), inset 0 0 30px rgba(0,0,0,.5); text-align:center; margin:0 auto; }
.ecosystem-orbit__centre span { color:var(--aob-gold-light); font:600 2.2rem/1.1 var(--aob-serif); }
.ecosystem-orbit__centre b { color:#ffffff; font-size:.75rem; letter-spacing:.16em; margin-top:2px; }
.ecosystem-orbit__centre small { color:rgba(255,255,255,.55); font-size:.6rem; letter-spacing:.05em; margin-top:4px; }
.ecosystem-orbit article { position:relative; z-index:2; width:100%; max-width:320px; padding:18px 22px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.04); backdrop-filter:blur(12px); transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ecosystem-orbit article:hover { border-color:rgba(239,201,130,.4); transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,0,0,.4); }
.ecosystem-orbit article b { display:block; color:var(--aob-gold-light); font:500 1.2rem/1.2 var(--aob-serif); }
.ecosystem-orbit article span { display:block; margin-top:6px; color:rgba(255,255,255,.65); font-size:.75rem; line-height:1.4; }

.leader-profile { display:grid; grid-template-columns:1.06fr .94fr; max-width:1240px; margin:clamp(40px, 6vw, 80px) auto; min-height:600px; background:var(--aob-paper-2); border-radius:24px; overflow:hidden; border:1px solid var(--aob-line); }
.leader-profile>img { width:100%; height:100%; min-height:400px; object-fit:cover; }
.leader-profile>div { align-self:center; padding:clamp(36px,5vw,80px); }
.leader-profile h2 { margin:0; font:500 clamp(2.4rem,3.8vw,4.2rem)/1 var(--aob-serif); letter-spacing:-.045em; }
.leader-profile h3 { margin:12px 0 22px; color:#956012; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }
.leader-profile p { color:var(--aob-muted); font-size:.9rem; line-height:1.68; }
.leader-profile blockquote { margin:24px 0 0; padding:20px 0 0; border-top:1px solid var(--aob-line); font:italic 500 1.25rem/1.4 var(--aob-serif); }

.community-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:1px solid var(--aob-line); }
.community-feature-grid article { min-height:220px; padding:24px; border:1px solid var(--aob-line); border-radius:22px; background:rgba(255,255,255,.56); overflow-wrap:anywhere; }.community-feature-grid article:nth-child(3n){border-right:1px solid var(--aob-line)}.community-feature-grid article:nth-child(n+4){border-bottom:1px solid var(--aob-line)}
.community-feature-grid span{color:#956012;font-size:.59rem;font-weight:850}.community-feature-grid h3{margin:56px 0 10px;font:500 1.5rem/1.1 var(--aob-serif)}.community-feature-grid p{color:var(--aob-muted);font-size:.92rem;line-height:1.6}

.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:clamp(72px,9vw,120px) clamp(24px,7vw,112px); background:var(--aob-paper); }
.insight-grid article { min-height:330px; padding:clamp(28px,3.4vw,46px); border:1px solid var(--aob-line); margin:-1px 0 0 -1px; background:var(--aob-white); }
.insight-grid small { color:#956012;font-size:.59rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.insight-grid h2{margin:45px 0 16px;font:500 2rem/1 var(--aob-serif)}.insight-grid p{color:var(--aob-muted);font-size:.82rem;line-height:1.65}.insight-grid a{display:inline-block;margin-top:28px;padding-bottom:5px;border-bottom:1px solid var(--aob-line);font-size:.69rem;font-weight:820}

.application-page { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,6vw,90px); padding:clamp(72px,10vw,140px) clamp(20px,6vw,80px); background:var(--aob-paper); }
.application-page>div { max-width:500px; min-width:0; }
.application-page h2 { margin:0 0 24px;font:500 clamp(2.5rem,4.5vw,4.8rem)/1 var(--aob-serif);letter-spacing:-.05em}.application-page>div>p{color:var(--aob-muted);line-height:1.7;overflow-wrap:anywhere}.application-page ul{display:grid;gap:11px;margin-top:30px;padding-left:19px;color:#4f5a65;font-size:.82rem}
.application-page form { display:grid; gap:18px; padding:clamp(24px,3vw,40px); border:1px solid var(--aob-line); background:var(--aob-white); box-shadow:var(--aob-shadow); min-width:0; }
.application-page form>label,.form-row label{display:grid;gap:8px;color:#4f5964;font-size:.68rem;font-weight:780;min-width:0}.application-page input,.application-page select,.application-page textarea{width:100%;min-width:0;min-height:52px;padding:0 14px;border:1px solid var(--aob-line);border-radius:8px;color:var(--aob-ink);background:#fbfaf7;outline:none}.application-page textarea{padding-top:13px;resize:vertical;min-height:110px}.application-page input:focus,.application-page select:focus,.application-page textarea:focus{border-color:var(--aob-gold);box-shadow:0 0 0 4px rgba(199,140,47,.1)}
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.application-page .form-consent { display:flex; grid-template-columns:none; align-items:flex-start; gap:9px; color:var(--aob-muted);font-size:.66rem;line-height:1.5}.application-page .form-consent input{width:16px;min-height:16px;margin-top:2px;accent-color:var(--aob-gold)}.application-page form>p{margin:0;color:#80868c;font-size:.62rem;line-height:1.5;overflow-wrap:anywhere}

.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:clamp(72px,10vw,140px) clamp(20px,6vw,80px); background:var(--aob-paper); }
.contact-grid article { min-height:260px; padding:28px; border:1px solid var(--aob-line); min-width:0; background:var(--aob-white); }.contact-grid small{color:#956012;font-size:.59rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.contact-grid h2{margin:36px 0 16px;font:500 1.85rem/1.05 var(--aob-serif)}.contact-grid p{color:var(--aob-muted);font-size:.82rem;line-height:1.64;overflow-wrap:anywhere}.contact-grid a{display:inline-block;margin-top:24px;padding-bottom:5px;border-bottom:1px solid var(--aob-line);font-size:.7rem;font-weight:820}

.apply-band { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr); align-items:end; gap:50px; padding:clamp(72px,9vw,120px) clamp(24px,7vw,112px); color:white; background:linear-gradient(135deg,#0d2238,#061321 68%); }
.apply-band>div:first-child { max-width:850px; }
.apply-band>div>span { color:var(--aob-gold-light);font-size:.62rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.apply-band h2{margin:17px 0 21px;font:500 clamp(2.8rem,5.2vw,5.5rem)/.98 var(--aob-serif);letter-spacing:-.05em}.apply-band p{max-width:680px;color:rgba(255,255,255,.58);font-size:.88rem;line-height:1.67}.apply-band__actions{display:grid;justify-items:start;gap:20px}.apply-band__actions>a:last-child{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78);font-size:.72rem;font-weight:780}

.mfooter { display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(110px,1fr));gap:clamp(22px,3vw,40px);padding:72px clamp(20px,6vw,80px) 28px;color:white;background:#040e19; }
.mfooter__brand { grid-column:auto; min-width:0; }.mfooter__brand p{max-width:300px;margin-top:24px;color:rgba(255,255,255,.43);font:italic 500 1.2rem/1.45 var(--aob-serif);overflow-wrap:anywhere}
.mfooter>div:not(.mfooter__brand):not(.mfooter__bottom){display:grid;align-content:start;gap:13px;min-width:0}.mfooter>div>b{margin-bottom:8px;color:var(--aob-gold-light);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase}.mfooter>div>a{color:rgba(255,255,255,.58);font-size:.72rem;overflow-wrap:anywhere}.mfooter>div>a:hover{color:white}.mfooter__bottom{grid-column:1/-1;display:flex!important;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.33);font-size:.57rem;letter-spacing:.08em;text-transform:uppercase;gap:16px;flex-wrap:wrap}

/* Maverick Circle: same materials, calmer density, all existing features preserved. */
.circle-login,.circle-shell {
  --circle-ink:var(--aob-ink);
  --circle-navy:var(--aob-navy);
  --circle-gold:#d8a44c;
  --circle-gold-dark:#946016;
  --circle-paper:var(--aob-paper);
  --circle-line:var(--aob-line);
  --circle-muted:var(--aob-muted);
  font-family:var(--aob-sans);
}
.circle-login { background:radial-gradient(circle at 24% 52%,rgba(212,160,74,.16),transparent 32%),radial-gradient(circle at 63% 3%,rgba(61,98,135,.18),transparent 30%),#05111e; }
.circle-login__panel { background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.018)); }
.login-card input[type="email"],.login-password,.circle-login__submit { border-radius:9px; }
.circle-login__submit { background:linear-gradient(135deg,#f7dfae,#d8a44c 55%,#bd7f22); }
.circle-shell {
  display:flex;
  grid-template-columns:none;
  align-items:stretch;
  gap:0;
  min-height:100svh;
  padding:0;
  overflow:visible;
  border-radius:0;
  color:var(--aob-ink);
  background:var(--aob-paper);
}
.circle-sidebar { background:var(--aob-navy); }
.circle-sidebar__brand { border-bottom-color:rgba(255,255,255,.08); }
.circle-sidebar nav a { border-radius:8px; }
.circle-sidebar nav a.is-active { color:white; background:rgba(255,255,255,.085); box-shadow:inset 3px 0 var(--aob-gold-light); }
.circle-sidebar__cohort { border-radius:10px; background:rgba(255,255,255,.045); }
.circle-topbar { border-bottom:1px solid var(--aob-line); background:rgba(248,245,239,.92); backdrop-filter:blur(17px); }
.circle-search,.circle-menu,.circle-bell { border-radius:8px; background:var(--aob-white); }
.circle-avatar {
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  height:auto;
  border-radius:0;
  color:inherit;
  background:transparent;
  font-weight:inherit;
}
.member-avatar--initials {
  display:grid;
  place-items:center;
  color:#2a1a05;
  background:linear-gradient(135deg,#f7dfae,#d8a44c);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
}
.circle-content { max-width:1440px; padding-top:48px; }
.circle-page-intro { margin-bottom:28px; }
.circle-page-intro h1 { color:var(--aob-navy); font-size:clamp(2.7rem,4.4vw,4.7rem); }
.circle-page-intro p { max-width:650px; color:var(--aob-muted); font-size:.78rem; line-height:1.6; }
.post-composer,.feed-post,.member-card,.discussion-list,.discussion-form,.event-grid article,.past-events article,.resource-grid article,.resource-upload,.profile-editor,.settings-layout,.admin-section { border:1px solid var(--aob-line); border-radius:12px; background:var(--aob-white); box-shadow:0 14px 42px rgba(7,20,35,.055); }
.post-composer textarea { font-size:.84rem; }
.feed-post__image { background:#e8e3da; }
.feed-post__image img { object-fit:cover; }
.member-card { min-height:310px; }
.member-card:hover { transform:translateY(-4px); box-shadow:0 20px 52px rgba(7,20,35,.1); }
.circle-primary { border-radius:8px; background:var(--aob-navy); }
.event-feature article { border-radius:12px; background:linear-gradient(135deg,#071423,#122a42); box-shadow:0 18px 50px rgba(7,20,35,.13); }
.resource-icon { color:var(--aob-navy); background:#d8a44c; box-shadow:8px 8px 0 #f3e2bf; }
.notification-panel,.search-modal,.profile-modal article { border-radius:12px; }
.circle-toast { border-radius:8px; background:var(--aob-navy); }

@media (max-width:1180px) {
  .mnav__links { gap:14px; }
  .mnav__links> a,.mnav-more>summary { font-size:.66rem; }
  .home-hero { grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); }
  .home-proof { grid-template-columns:repeat(2,1fr); row-gap:20px; }
  .launch-visual { width:min(42vw,510px); }
  .method-line { grid-template-columns:repeat(4,1fr); }
  .milestone-board { grid-template-columns:repeat(3,1fr); }
  .milestone-board article,.milestone-board article:nth-child(5n),.milestone-board article:nth-child(n+6){border-right:1px solid var(--aob-line);border-bottom:1px solid var(--aob-line)}
  .milestone-board article:nth-child(3n){border-right:0}.milestone-board article:nth-last-child(-n+1){border-bottom:0}
}

@media (max-width:980px) {
  .mnav { inset-inline:12px; }
  .mnav__links,.mnav__login { display:none; }
  .mnav__actions { margin-left:auto; }
  .mnav__burger { display:block; }
  .mnav-drawer { padding-top:104px; }
  .mnav-drawer__sub { padding-left:22px!important; color:rgba(255,255,255,.52); font-size:.86rem!important; }
  .home-hero { grid-template-columns:1fr; min-height:100svh; padding-top:135px; }
  .home-hero__copy { max-width:760px; }
  .launch-visual { position:absolute; right:-90px; bottom:10px; width:430px; opacity:.37; pointer-events:none; }
  .home-section-head,.editorial-section__head { grid-template-columns:1fr; gap:24px; }
  .home-section-head p,.editorial-section__head p { max-width:720px; }
  .journey-line { grid-template-columns:repeat(2,1fr); }
  .journey-line article:nth-child(3) { border-left:0; }
  .journey-line article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
  .support-months,.month-grid { grid-template-columns:repeat(2,1fr); }
  .support-months article,.support-months article:nth-child(3n),.support-months article:nth-child(n+4),.month-grid article,.month-grid article:nth-child(3n),.month-grid article:nth-child(n+4){border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
  .support-months article:nth-child(2n),.month-grid article:nth-child(2n){border-right:0}.support-months article:nth-last-child(-n+2),.month-grid article:nth-last-child(-n+2){border-bottom:0}
  .discipline-grid { grid-template-columns:repeat(2,1fr); }
  .discipline-grid article,.discipline-grid article:nth-child(4n),.discipline-grid article:nth-last-child(-n+4){border-right:1px solid var(--aob-line);border-bottom:1px solid var(--aob-line)}
  .discipline-grid article:nth-child(2n){border-right:0}.discipline-grid article:nth-last-child(-n+2){border-bottom:0}
  .launch-steps { grid-template-columns:repeat(2,1fr); }
  .launch-steps article:nth-child(2){border-right:0}.launch-steps article:nth-child(-n+2){border-bottom:1px solid var(--aob-line)}
  .outcome-columns { grid-template-columns:1fr; }
  .outcome-columns article { min-height:200px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }.outcome-columns article:last-child{border-bottom:0}
  .community-feature-grid,.insight-grid { grid-template-columns:repeat(2,1fr); }
  .community-feature-grid article,.community-feature-grid article:nth-child(3n),.community-feature-grid article:nth-child(n+4){border-right:1px solid var(--aob-line);border-bottom:1px solid var(--aob-line)}.community-feature-grid article:nth-child(2n){border-right:0}.community-feature-grid article:nth-last-child(-n+2){border-bottom:0}
  .ecosystem-orbit { grid-template-columns:1fr; gap:20px; padding:50px 20px; }
  .ecosystem-orbit__col { align-items:stretch; }
  .ecosystem-orbit__left, .ecosystem-orbit__right { align-items:stretch; }
  .ecosystem-orbit article { max-width:none; }
  .ecosystem-orbit__centre { margin:0 auto; grid-row:1; }
  .apply-band { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  .mnav { top:10px; height:58px; border-radius:14px; }
  .mnav.is-stuck { height:56px; }
  .mnav .premium-button--small { display:none; }
  .mbrand b { font-size:.79rem; }.mbrand small{font-size:.41rem}
  .page-hero { min-height:760px; padding:126px 22px 82px; align-items:end; }
  .page-hero__content { width:100%; }
  .page-hero h1 { font-size:clamp(2.9rem,13vw,4.6rem); }
  .page-hero__veil { background:linear-gradient(0deg,rgba(3,12,22,.98) 0%,rgba(3,12,22,.64) 70%,rgba(3,12,22,.22)); }
  .page-hero__actions { display:grid; }.page-hero__actions .premium-button{width:100%}
  .page-hero__scroll { display:none; }
  .home-hero { min-height:860px; padding:118px 22px 100px; align-items:start; }
  .home-hero h1 { font-size:clamp(3.35rem,15.8vw,5.2rem); }
  .home-hero__copy>p { font-size:.94rem; }
  .home-hero__actions { align-items:stretch; gap:10px; }.home-hero__actions .premium-button{width:100%}.home-text-link{justify-content:center}
  .home-proof { grid-template-columns:1fr 1fr; margin-top:36px; }
  .launch-visual { right:-145px; bottom:-25px; width:390px; opacity:.27; }
  .home-hero__scroll { display:none; }
  .home-story,.home-journey,.home-carousel-intro,.home-founders-intro,.fit-section,.support-system,.editorial-section { padding:72px 22px; }
  .home-section-head h2,.editorial-section__head h2 { font-size:clamp(2.55rem,12vw,3.8rem); }
  .home-comparison,.fit-section>div,.comparison-grid { grid-template-columns:1fr; }
  .home-comparison article+article,.fit-section article+article,.comparison-grid article+article { border-left:0; border-top:1px solid var(--aob-line); }
  .journey-line { grid-template-columns:1fr; }
  .journey-line article,.journey-line article+article { min-height:230px; padding:30px 0; border-left:0; border-top:1px solid rgba(255,255,255,.12); }.journey-line article:first-child{border-top:0}.journey-line article+article::before{left:0}.journey-line h3{margin-top:38px}
  .home-programmes { padding:72px 12px; }
  .home-programmes>header { padding:0 10px; }
  .home-programmes__grid { grid-template-columns:1fr; }
  .home-programmes__grid>a { min-height:610px; }
  .support-months,.month-grid { grid-template-columns:1fr; }
  .support-months article,.support-months article:nth-child(2n),.support-months article:nth-last-child(-n+2),.month-grid article,.month-grid article:nth-child(2n),.month-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.support-months article:last-child,.month-grid article:last-child{border-bottom:0}
  .bleed-carousel { min-height:660px; height:82svh; }.bleed-slide__copy{left:22px;right:22px;bottom:114px}.bleed-slide__copy h2{font-size:clamp(2.7rem,12vw,4.2rem)}.bleed-slide__number{top:98px;font-size:5rem}.bleed-carousel__controls{left:20px;right:20px}.bleed-carousel__meter{margin-inline:4px}
  .founder-reel { padding:62px 0 78px; }.founder-reel__head{display:flex;align-items:end;gap:20px;padding-inline:22px}.founder-card{flex-basis:calc(100vw - 58px)}.founder-card__image{height:420px}
  .cohort-section,.leader-profile { grid-template-columns:1fr; }.cohort-section__media{min-height:520px}.cohort-section__copy,.leader-profile>div{padding:54px 22px}.leader-profile>img{height:520px}
  .programme-showcase { grid-template-columns:1fr; }.programme-panel{min-height:650px}.programme-panel+.programme-panel{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .module-list article { grid-template-columns:48px 1fr; gap:16px; }.module-list p{grid-column:2}
  .launch-steps { grid-template-columns:1fr; }.launch-steps article,.launch-steps article:nth-child(2){min-height:310px;border-right:0;border-bottom:1px solid var(--aob-line)}.launch-steps article:last-child{border-bottom:0}.launch-steps article div{margin-top:62px}
  .milestone-board { grid-template-columns:repeat(2,1fr); }.milestone-board article,.milestone-board article:nth-child(3n),.milestone-board article:nth-last-child(-n+1){border-right:1px solid var(--aob-line);border-bottom:1px solid var(--aob-line)}.milestone-board article:nth-child(2n){border-right:0}.milestone-board article:nth-last-child(-n+2){border-bottom:0}
  .method-line { grid-template-columns:repeat(2,1fr); }
  .ecosystem-orbit { grid-template-columns:1fr; padding:48px 20px; }
  .community-feature-grid,.insight-grid { grid-template-columns:1fr; }.community-feature-grid article,.community-feature-grid article:nth-child(2n),.community-feature-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--aob-line)}.community-feature-grid article:last-child{border-bottom:0}
  .application-page { grid-template-columns:1fr; gap:42px; padding:72px 22px; }.application-page form{padding:26px 18px}.form-row{grid-template-columns:1fr}
  .contact-grid { grid-template-columns:1fr;padding:72px 22px}.contact-grid article{min-height:270px;margin:-1px 0 0}
  .apply-band { padding:72px 22px; }.apply-band h2{font-size:clamp(2.8rem,12vw,4rem)}.apply-band__actions,.apply-band__actions .premium-button{width:100%}
  .mfooter { grid-template-columns:1fr 1fr;padding:58px 22px 24px}.mfooter__brand{grid-column:1/-1}.mfooter>div:nth-child(4){grid-column:1/-1}.mfooter__bottom{display:grid!important;gap:8px}
}

@media (max-width:480px) {
  .home-hero h1 { font-size:3.45rem; }
  .home-proof { gap:20px 12px; }
  .home-proof li { padding-right:6px; }
  .home-programmes__grid>a { min-height:560px; }
  .founder-card__image { height:370px; }
  .cohort-section__media,.leader-profile>img { min-height:0;height:410px; }
  .discipline-grid,.milestone-board { grid-template-columns:1fr; }.discipline-grid article,.discipline-grid article:nth-child(2n),.discipline-grid article:nth-last-child(-n+2),.milestone-board article,.milestone-board article:nth-child(2n),.milestone-board article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--aob-line)}.discipline-grid article:last-child,.milestone-board article:last-child{border-bottom:0}
  .mfooter { grid-template-columns:1fr; }.mfooter__brand,.mfooter>div:nth-child(4){grid-column:auto}
}

@media (prefers-reduced-motion: reduce) {
  .launch-visual__halo,.launch-visual__orbit,.launch-visual__signal,.home-marquee>div { animation:none!important; }
}

/* ========================================================================
   FINAL AOB LAUNCH THEME
   The original rocket-console hero is the single visual source of truth.
   ======================================================================== */

.maverick-pages {
  --launch-ink-950:#04101f;
  --launch-ink-900:#071a31;
  --launch-ink-850:#0a2140;
  --launch-ink-800:#0e2a50;
  --launch-gold-200:#ffebc4;
  --launch-gold-300:#f7d08a;
  --launch-gold-400:#efbb63;
  --launch-gold-500:#e3a93f;
  --launch-gold-600:#c4881f;
  --launch-bone:#f7f4ee;
  --launch-white:#fff;
  --launch-text:#101c2c;
  --launch-muted:#5d6876;
  --launch-line:rgba(16,28,44,.11);
  --launch-display:Inter,"Segoe UI",Arial,sans-serif;
  --launch-serif:Georgia,"Times New Roman",serif;
  color:var(--launch-text);
  background:var(--launch-bone);
  font-family:var(--launch-display);
}

.maverick-pages h1,
.maverick-pages h2,
.maverick-pages h3 { font-family:var(--launch-display); }

.mnav {
  top:clamp(10px,1.5vw,20px);
  right:max(18px,calc((100vw - 1440px)/2 + 22px));
  left:max(18px,calc((100vw - 1440px)/2 + 22px));
  height:68px;
  padding:0 12px 0 20px;
  border-color:rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(4,16,31,.5);
  box-shadow:0 18px 50px -30px rgba(0,0,0,.9),inset 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(1.35);
}
.mnav.is-stuck { top:8px;height:62px;background:rgba(4,16,31,.9); }
.mbrand b { font-weight:800;letter-spacing:.18em; }
.mbrand small { color:var(--launch-gold-400);letter-spacing:.25em; }
.mnav__links>a,.mnav-more>summary { color:rgba(255,255,255,.68);font-size:.74rem;font-weight:650; }
.mnav__links>a::after { height:2px;border-radius:2px;background:linear-gradient(90deg,var(--launch-gold-400),var(--launch-gold-600)); }
.mnav__links>a:hover,.mnav__links>a.is-active,.mnav-more[open]>summary { color:#fff; }
.mnav-more>div { border-radius:20px;background:rgba(7,26,49,.96); }

.premium-button {
  min-height:52px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--launch-gold-200),var(--launch-gold-400) 52%,var(--launch-gold-600));
  box-shadow:inset 0 1px rgba(255,255,255,.62),0 16px 42px -17px rgba(227,169,63,.85);
  font-weight:800;
}
.premium-button--small { min-height:44px; }
.premium-button--glass { border-color:rgba(255,255,255,.22);color:#fff!important;background:rgba(255,255,255,.055);box-shadow:none;backdrop-filter:blur(12px); }

/* Original launch-console hero rebuilt as native React and CSS. */
.launch-hero {
  position:relative;
  min-height:max(800px,100svh);
  padding:clamp(122px,12vw,158px) 0 clamp(52px,6vw,78px);
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 88% 25%,rgba(227,169,63,.14),transparent 34%),
    linear-gradient(138deg,#04101f 0%,#071a31 53%,#04101f 100%);
  isolation:isolate;
}
.launch-hero__atmosphere { position:absolute;inset:0;z-index:-1;pointer-events:none; }
.launch-hero__atmosphere>span { position:absolute;inset:0;opacity:.48;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:88px 88px;mask-image:radial-gradient(110% 90% at 50% 0,#000,transparent 72%); }
.launch-hero__atmosphere>i { position:absolute;border-radius:50%;filter:blur(86px); }
.launch-hero__atmosphere>i:nth-child(1){width:52vw;height:52vw;left:-15vw;top:-18vw;background:rgba(20,72,140,.38);animation:launchAuraOne 25s ease-in-out infinite alternate}
.launch-hero__atmosphere>i:nth-child(2){width:45vw;height:45vw;right:-8vw;top:3vw;background:rgba(227,169,63,.18);animation:launchAuraTwo 29s ease-in-out infinite alternate}
.launch-hero__atmosphere>i:nth-child(3){width:58vw;height:30vw;left:24vw;bottom:-18vw;background:rgba(12,52,110,.52)}
.launch-hero__inner { position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);gap:clamp(28px,4vw,62px);align-items:center;width:min(1440px,100%);margin:auto;padding-inline:clamp(22px,4vw,58px); }
.launch-hero__copy { min-width:0; }
.launch-pill { display:inline-flex;align-items:center;gap:9px;padding:7px 8px 7px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:rgba(255,255,255,.63);background:rgba(255,255,255,.055);font-size:.7rem;letter-spacing:.035em;backdrop-filter:blur(10px); }
.launch-pill>i { width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:launchPing 2.4s infinite; }
.launch-pill b { color:#fff; }
.launch-pill em { padding:4px 9px;border-radius:999px;color:var(--launch-gold-300);background:rgba(227,169,63,.15);font-size:.61rem;font-style:normal;font-weight:800;letter-spacing:.07em;text-transform:uppercase; }
.launch-hero h1 { margin:24px 0 0;font-size:clamp(3.5rem,6.1vw,6.55rem);font-weight:900;line-height:.9;letter-spacing:-.062em;text-transform:uppercase;text-wrap:balance; }
.launch-hero h1>span,.launch-hero h1>strong { display:block; }
.launch-hero h1>strong { color:transparent;background:linear-gradient(100deg,#ffebc4 0%,#efbb63 48%,#c4881f 100%);background-clip:text;-webkit-background-clip:text;font-weight:900; }
.launch-hero__copy>p:not(.launch-hero__note) { max-width:620px;margin:28px 0 0;color:rgba(255,255,255,.67);font-size:clamp(.98rem,1.2vw,1.14rem);line-height:1.7; }
.launch-hero__copy>p b { color:#fff;font-weight:700; }
.launch-hero__actions { display:flex;flex-wrap:wrap;gap:13px;margin-top:33px; }
.launch-hero__note { display:flex;align-items:center;gap:8px;margin:14px 0 0;color:rgba(255,255,255,.42);font-size:.68rem; }
.launch-hero__note span { display:grid;place-items:center;width:16px;height:16px;border:1px solid rgba(239,187,99,.5);border-radius:50%;color:var(--launch-gold-400);font-size:.56rem; }
.launch-trust { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:clamp(32px,4vw,46px) 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.12);list-style:none; }
.launch-trust li { display:grid;gap:5px; }
.launch-trust b { color:#fff;font-size:clamp(.88rem,1.1vw,1.05rem);line-height:1.15; }
.launch-trust span { color:rgba(255,255,255,.4);font-size:.59rem;line-height:1.38;letter-spacing:.06em;text-transform:uppercase; }

.launch-console { position:relative;width:min(100%,580px);aspect-ratio:1;margin-inline:auto;perspective:1200px; }
.launch-console__stage { position:absolute;inset:0;transform-style:preserve-3d;animation:launchConsoleDrift 7s ease-in-out infinite alternate; }
.launch-console__ring { position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%; }
.launch-console__ring::after { content:"";position:absolute;top:8%;left:18%;width:6px;height:6px;border-radius:50%;background:var(--launch-gold-400);box-shadow:0 0 18px 5px rgba(239,187,99,.25); }
.launch-console__ring--outer { inset:5%;border-style:dashed;border-color:rgba(239,187,99,.3);animation:launchConsoleSpin 44s linear infinite; }
.launch-console__ring--inner { inset:18%;border-style:dashed;animation:launchConsoleSpin 32s linear infinite reverse; }
.launch-console__glow { position:absolute;left:50%;bottom:15%;width:64%;height:25%;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse,rgba(239,187,99,.48),rgba(227,169,63,.1) 46%,transparent 72%);filter:blur(23px);animation:launchGlow 4.6s ease-in-out infinite alternate; }
.launch-console__art { position:absolute;z-index:2;inset:7%;width:86%;height:86%;filter:drop-shadow(0 30px 58px rgba(0,0,0,.58)); }
.launch-chip { position:absolute;z-index:3;display:flex;align-items:center;gap:10px;min-width:174px;padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(145deg,rgba(18,48,83,.86),rgba(5,18,34,.8));box-shadow:0 18px 42px -21px rgba(0,0,0,.95),inset 0 1px rgba(255,255,255,.13);backdrop-filter:blur(16px);animation:launchChipFloat 7s ease-in-out infinite alternate; }
.launch-chip>span { display:grid;place-items:center;width:31px;height:31px;flex:none;border:1px solid rgba(227,169,63,.25);border-radius:9px;color:var(--launch-gold-300);background:rgba(227,169,63,.13); }
.launch-chip svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.launch-chip div { display:grid;gap:3px; }
.launch-chip b { color:#fff;font-size:.69rem;line-height:1.1; }
.launch-chip small { color:rgba(255,255,255,.4);font-size:.54rem;line-height:1.28; }
.launch-chip--1 { left:-2%;top:21%;animation-delay:-1s }.launch-chip--2{right:-3%;top:10%;animation-delay:-3s}.launch-chip--3{left:-5%;bottom:31%;animation-delay:-5s}.launch-chip--4{right:-5%;bottom:23%;animation-delay:-2s}
@keyframes launchAuraOne{to{transform:translate3d(7vw,4vw,0) scale(1.12)}}
@keyframes launchAuraTwo{to{transform:translate3d(-5vw,6vw,0) scale(1.08)}}
@keyframes launchPing{70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}}
@keyframes launchConsoleSpin{to{transform:rotate(360deg)}}
@keyframes launchConsoleDrift{to{transform:translateY(-9px) rotateX(1deg)}}
@keyframes launchGlow{to{opacity:.55;transform:scale(1.12)}}
@keyframes launchChipFloat{to{transform:translateY(-14px)}}

/* Typography and surface hierarchy inherited from the hero. */
.home-marquee { color:rgba(255,255,255,.7);background:var(--launch-ink-900);border-color:rgba(255,255,255,.09); }
.home-marquee>div { padding:15px 0; }
.home-marquee span { font-weight:700; }
.home-marquee i { color:var(--launch-gold-500); }
.home-story,.home-carousel-intro,.fit-section,.editorial-section { background:var(--launch-bone); }
.home-section-head h2,.editorial-section__head h2 { font-family:var(--launch-display);font-weight:850;line-height:.97;letter-spacing:-.052em; }
.home-section-head h2 em { color:var(--launch-gold-600);font-family:var(--launch-serif);font-weight:400; }
.home-section-head p,.editorial-section__head p { color:var(--launch-muted); }
.page-eyebrow--dark { color:var(--launch-gold-600); }
.page-eyebrow { font-family:var(--launch-display);font-weight:850; }
.home-comparison { gap:14px;border:0;background:transparent;box-shadow:none; }
.home-comparison article { border:1px solid var(--launch-line);border-radius:28px;background:#fff;box-shadow:0 18px 48px -34px rgba(10,18,32,.42); }
.home-comparison article+article { border-left:1px solid var(--launch-line); }
.home-comparison h3 { font-family:var(--launch-display);font-weight:800; }
.home-comparison .is-maverick { border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,var(--launch-ink-850),var(--launch-ink-950)); }

.home-journey { position:relative;background:linear-gradient(145deg,var(--launch-ink-850),var(--launch-ink-950));overflow:hidden; }
.home-journey::before { content:"";position:absolute;right:-16%;top:-70%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(227,169,63,.2),transparent 67%);filter:blur(30px); }
.home-journey>* { position:relative; }
.journey-line h3 { font-family:var(--launch-display);font-weight:800; }

.home-programmes { background:var(--launch-bone);color:var(--launch-text); }
.home-programmes>header h2 { font-family:var(--launch-display);font-weight:850; }
.home-programmes>header p { color:var(--launch-muted); }
.home-programmes .page-eyebrow { color:var(--launch-gold-600); }
.home-programmes__grid { gap:18px; }
.home-programmes__grid>a { min-height:min(68vw,680px);border-radius:30px;box-shadow:0 28px 70px -38px rgba(4,16,31,.65); }
.home-programmes__shade { background:linear-gradient(0deg,rgba(4,16,31,.96),rgba(4,16,31,.08) 72%); }
.home-programmes h3 { font-family:var(--launch-display);font-weight:850; }

.support-system { position:relative;background:linear-gradient(142deg,var(--launch-ink-900),var(--launch-ink-950));overflow:hidden; }
.support-system::before { content:"";position:absolute;left:-18%;bottom:-90%;width:65%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(20,72,140,.42),transparent 65%);filter:blur(44px); }
.support-system>* { position:relative; }
.support-months { gap:12px;border:0; }
.support-months article { border:1px solid rgba(255,255,255,.1)!important;border-radius:22px;background:rgba(255,255,255,.035);backdrop-filter:blur(10px); }
.support-months h3 { font-family:var(--launch-display);font-weight:800; }

.bleed-carousel { background:var(--launch-ink-950); }
.bleed-slide__copy h2 { font-family:var(--launch-display);font-weight:850;line-height:.93; }
.bleed-carousel__controls button,.reel-buttons button { border-radius:999px; }
.founder-reel { background:var(--launch-bone); }
.founder-reel__head h2 { font-family:var(--launch-display);font-weight:850; }
.founder-reel__head h2 em { color:var(--launch-gold-600);font-family:var(--launch-serif);font-weight:400; }
.founder-card { overflow:hidden;border-radius:24px;box-shadow:0 20px 58px -42px rgba(10,18,32,.48); }
.founder-card__body h3 { font-family:var(--launch-display);font-weight:850; }
.founder-card__body blockquote { font-family:var(--launch-serif); }

.cohort-section { margin-bottom:clamp(72px,9vw,124px);overflow:hidden;border-radius:32px;background:#fff;box-shadow:0 32px 80px -48px rgba(4,16,31,.55); }
.cohort-section h2 { font-family:var(--launch-display);font-weight:850; }
.fit-section>div { gap:14px;border:0; }
.fit-section article { border:1px solid var(--launch-line);border-radius:26px; }
.fit-section article+article { border-left:1px solid var(--launch-line); }
.fit-section .fit-section__yes { background:linear-gradient(145deg,var(--launch-ink-850),var(--launch-ink-950)); }

/* Inner-page heroes use the same midnight atmosphere and gold control language. */
.page-hero {
  min-height:min(88svh,900px);
  padding-top:clamp(150px,15vw,190px);
  background:var(--launch-ink-950);
}
.page-hero::before { content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 84% 18%,rgba(227,169,63,.18),transparent 32%),radial-gradient(circle at 8% 16%,rgba(20,72,140,.32),transparent 38%); }
.page-hero__image { object-position:center;filter:saturate(.82) contrast(1.04); }
.page-hero__veil { background:linear-gradient(90deg,rgba(4,16,31,.98) 0%,rgba(4,16,31,.9) 40%,rgba(4,16,31,.34) 76%),linear-gradient(0deg,rgba(4,16,31,.88),transparent 58%); }
.page-hero__content { max-width:930px; }
.page-hero h1 { font-family:var(--launch-display);font-size:clamp(3rem,5.7vw,6rem);font-weight:900;line-height:.93;letter-spacing:-.062em; }
.page-hero p { color:rgba(255,255,255,.66); }

.programme-panel { border-radius:0; }
.programme-panel h2 { font-family:var(--launch-display);font-weight:850; }
.discipline-grid { gap:12px;border:0; }
.discipline-grid article { border:1px solid var(--launch-line)!important;border-radius:20px;background:#fff;box-shadow:0 18px 44px -38px rgba(10,18,32,.5); }
.discipline-grid h3,.module-list h3,.outcome-columns h3,.comparison-grid h3,.launch-steps h2,.month-grid h3,.milestone-board h3,.method-line p,.leader-profile h2,.community-feature-grid h3,.insight-grid h2,.application-page h2,.contact-grid h2,.apply-band h2 { font-family:var(--launch-display);font-weight:800; }
.editorial-section--dark { background:linear-gradient(145deg,var(--launch-ink-900),var(--launch-ink-950)); }
.outcome-columns,.month-grid,.comparison-grid--dark { gap:12px;border:0; }
.outcome-columns article,.month-grid article,.comparison-grid--dark article { border:1px solid rgba(255,255,255,.1)!important;border-radius:21px;background:rgba(255,255,255,.035); }
.comparison-grid { gap:14px;border:0; }
.comparison-grid article { border:1px solid var(--launch-line);border-radius:25px; }
.comparison-grid article+article { border-left:1px solid var(--launch-line); }
.comparison-grid .is-featured { background:linear-gradient(145deg,var(--launch-ink-850),var(--launch-ink-950)); }
.launch-steps { gap:1px;padding:clamp(72px,9vw,116px) clamp(22px,5vw,76px);background:#e5dfd4; }
.launch-steps article { border:0!important;background:var(--launch-bone); }
.launch-steps article:first-child { border-radius:24px 0 0 24px; }
.launch-steps article:last-child { border-radius:0 24px 24px 0; }
.milestone-board,.community-feature-grid { gap:12px;border:0; }
.milestone-board article,.community-feature-grid article { border:1px solid var(--launch-line)!important;border-radius:19px;background:#fff; }
.method-line p { font-size:.95rem; }
.ecosystem-orbit { background:linear-gradient(145deg,var(--launch-ink-900),var(--launch-ink-950)); }
.ecosystem-orbit article { border-radius:18px; }
.leader-profile { margin:clamp(70px,9vw,120px) clamp(20px,5vw,74px);overflow:hidden;border-radius:32px; }
.insight-grid { gap:14px; }
.insight-grid article { margin:0;border-radius:22px; }
.application-page form { border-radius:26px; }
.contact-grid { gap:14px; }
.contact-grid article { margin:0;border-radius:24px; }
.apply-band { background:linear-gradient(138deg,var(--launch-ink-850),var(--launch-ink-950)); }
.mfooter { background:#030c17; }

/* Circle uses the same launch vocabulary without reducing product clarity. */
.circle-login { background:radial-gradient(circle at 24% 52%,rgba(227,169,63,.16),transparent 32%),radial-gradient(circle at 67% 5%,rgba(20,72,140,.2),transparent 30%),#04101f; }
.circle-login__story h1,.login-card header h2,.circle-page-intro h1,.event-feature h2 { font-family:var(--launch-display);font-weight:850; }
.circle-sidebar { background:radial-gradient(circle at 25% 0,rgba(227,169,63,.12),transparent 24%),#04101f; }
.circle-sidebar nav a.is-active { color:#1c1408;background:linear-gradient(120deg,var(--launch-gold-200),var(--launch-gold-400));box-shadow:0 12px 30px rgba(196,136,31,.18); }
.circle-sidebar nav a.is-active i { color:#1c1408; }
.circle-topbar { background:rgba(247,244,238,.9); }
.circle-page-intro h1 { letter-spacing:-.055em; }
.post-composer,.feed-post,.member-card,.discussion-list,.discussion-form,.event-grid article,.past-events article,.resource-grid article,.resource-upload,.profile-editor,.settings-layout,.admin-section { border-radius:17px; }

@media (max-width:1180px) {
  .launch-hero__inner { grid-template-columns:minmax(0,1fr) minmax(390px,.8fr); }
  .launch-console { width:min(44vw,520px); }
  .launch-chip { min-width:152px; }
}

@media (max-width:980px) {
  .launch-hero { min-height:960px; }
  .launch-hero__inner { grid-template-columns:1fr; }
  .launch-hero__copy { position:relative;z-index:3;max-width:770px; }
  .launch-console { position:absolute;right:-90px;bottom:-80px;width:520px;opacity:.38;pointer-events:none; }
  .launch-chip { display:none; }
}

@media (max-width:760px) {
  .mnav { left:12px;right:12px;border-radius:18px; }
  .launch-hero { min-height:900px;padding:112px 0 70px; }
  .launch-hero__inner { padding-inline:22px; }
  .launch-pill { font-size:.59rem; }.launch-pill em{font-size:.52rem}
  .launch-hero h1 { margin-top:20px;font-size:clamp(3.3rem,15.7vw,5.2rem); }
  .launch-hero__copy>p:not(.launch-hero__note) { font-size:.93rem; }
  .launch-hero__actions { display:grid; }.launch-hero__actions .premium-button{width:100%}
  .launch-trust { grid-template-columns:1fr 1fr;row-gap:22px; }
  .launch-console { right:-155px;bottom:-25px;width:430px;opacity:.28; }
  .home-comparison,.fit-section>div { gap:12px; }
  .home-comparison article+article,.fit-section article+article,.comparison-grid article+article { border-left:1px solid var(--launch-line); }
  .home-programmes__grid>a { border-radius:22px; }
  .cohort-section { margin-inline:12px;border-radius:24px; }
  .launch-steps { padding:72px 22px;gap:10px; }
  .launch-steps article,.launch-steps article:first-child,.launch-steps article:last-child { border-radius:18px; }
  .leader-profile { margin:70px 12px;border-radius:24px; }
  .page-hero h1 { font-size:clamp(3rem,13vw,4.6rem); }
}

@media (max-width:480px) {
  .launch-hero h1 { font-size:3.35rem; }
  .launch-pill em { display:none; }
  .launch-trust b { font-size:.84rem; }
}

@media (prefers-reduced-motion:reduce) {
  .launch-hero__atmosphere>i,.launch-pill>i,.launch-console__stage,.launch-console__ring,.launch-console__glow,.launch-chip { animation:none!important; }
}

/* Final responsive polish: navigation, readable surfaces and selective motion. */
.mnav__links { gap:clamp(10px,1.25vw,20px); }
.mnav__home-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-right:2px;
  padding:9px 13px!important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.055);
}
.mnav__home-link::after { display:none; }
.mnav__home-link>span { color:var(--launch-gold-400);font-size:.92rem;line-height:1; }
.mnav__home-link:hover,.mnav__home-link.is-active {
  color:#fff;
  border-color:rgba(239,187,99,.38);
  background:rgba(239,187,99,.12);
  box-shadow:inset 0 1px rgba(255,255,255,.06);
}

.page-hero { overflow:hidden; }
.page-hero__image {
  inset:-7% 0;
  height:114%;
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);
  transition:filter .35s ease;
  will-change:transform;
}
.launch-hero__atmosphere { transform:translate3d(0,calc(var(--parallax-y,0) * .34),0);will-change:transform; }
.scroll-reveal {
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:opacity .72s cubic-bezier(.2,.72,.2,1),transform .78s cubic-bezier(.2,.72,.2,1);
  transition-delay:calc(var(--reveal-order,0) * 45ms);
}
.scroll-reveal.is-visible { opacity:1;transform:none; }

.application-page form { position:relative;overflow:hidden; }
.application-page form::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--launch-gold-200),var(--launch-gold-500),#2466ad);
}
.form-intro { display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--launch-line); }
.form-intro>span { display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;color:#5b3b08;background:#f8e7c4;font-size:.7rem;font-weight:900; }
.form-intro>div { display:grid;gap:3px; }
.form-intro b { color:var(--launch-text);font-size:.83rem; }
.form-intro small { color:var(--launch-muted);font-size:.68rem; }
.application-page form>label,.form-row label { gap:9px;color:#3e4a57;font-size:.73rem; }
.application-page input,.application-page select,.application-page textarea {
  border-radius:12px;
  border-color:rgba(16,28,44,.14);
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.application-page input:hover,.application-page select:hover,.application-page textarea:hover { border-color:rgba(196,136,31,.42); }
.application-page input:focus,.application-page select:focus,.application-page textarea:focus { transform:translateY(-1px); }
.application-page button:disabled { cursor:wait;filter:saturate(.55);opacity:.76;transform:none; }
.form-status { min-height:20px;padding-left:0;transition:color .2s ease,padding-left .2s ease; }
.form-status.is-active { padding-left:13px;color:#6b4a14!important;border-left:2px solid var(--launch-gold-500); }

.home-comparison article,.support-months article,.founder-card,.cohort-section,.fit-section article,
.discipline-grid article,.module-list article,.outcome-columns article,.comparison-grid article,
.launch-steps article,.month-grid article,.milestone-board article,.community-feature-grid article,
.insight-grid article,.contact-grid article,.application-page form {
  transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease,background-color .32s ease;
}
.journey-line p,.support-months p,.module-list p,.outcome-columns p,.month-grid p,
.community-feature-grid p,.contact-grid p,.insight-grid p,.home-comparison li,.fit-section li,.cohort-section li {
  font-size:clamp(.84rem,.76rem + .16vw,.94rem);
  line-height:1.68;
}
.bleed-carousel__controls button,.reel-buttons button { min-width:44px;min-height:44px;transition:transform .2s ease,background-color .2s ease,border-color .2s ease; }
.bleed-carousel__meter i { transition:background-color .3s ease,transform .3s ease;transform-origin:left; }
.bleed-carousel__meter i.is-active { transform:scaleY(1.6); }
.founder-reel__viewport { scroll-behavior:smooth; }

@media (hover:hover) and (pointer:fine) {
  .home-comparison article:hover,.support-months article:hover,.founder-card:hover,.fit-section article:hover,
  .discipline-grid article:hover,.module-list article:hover,.outcome-columns article:hover,
  .comparison-grid article:hover,.launch-steps article:hover,.month-grid article:hover,
  .milestone-board article:hover,.community-feature-grid article:hover,.insight-grid article:hover,
  .contact-grid article:hover {
    transform:translateY(-6px);
    border-color:rgba(196,136,31,.32)!important;
    box-shadow:0 26px 58px -34px rgba(4,16,31,.42);
  }
  .bleed-carousel__controls button:hover,.reel-buttons button:hover { transform:translateY(-2px) scale(1.04); }
  .programme-panel:hover img,.cohort-section__media:hover img,.leader-profile:hover>img { transform:scale(1.035); }
}
.programme-panel img,.cohort-section__media img,.leader-profile>img { transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease; }

@media (max-width:1180px) {
  .mnav { padding-left:14px;gap:16px; }
  .mnav__links { gap:10px; }
  .mnav__links>a,.mnav-more>summary { font-size:.62rem; }
  .mnav__home-link { padding:8px 10px!important; }
}

@media (max-width:760px) {
  .mnav-drawer nav { padding-bottom:max(28px,env(safe-area-inset-bottom)); }
  .mnav-drawer a { min-height:52px;display:flex;align-items:center; }
  .mnav-drawer .premium-button { justify-content:center;margin-top:12px; }
  .page-hero__image { inset:0;height:100%;transform:translate3d(0,calc(var(--parallax-y,0) * .35),0) scale(1.08); }
  .application-page form { border-radius:20px;padding:27px 18px; }
  .application-page input,.application-page select { min-height:56px; }
  .application-page textarea { min-height:132px; }
  .founder-reel__head { align-items:center; }
  .journey-line p,.support-months p,.module-list p,.outcome-columns p,.month-grid p,
  .community-feature-grid p,.contact-grid p,.insight-grid p,.home-comparison li,.fit-section li,.cohort-section li { font-size:.91rem; }
}

@media (prefers-reduced-motion:reduce) {
  .scroll-reveal,.scroll-reveal.is-visible { opacity:1;transform:none;transition:none; }
  .page-hero__image,.launch-hero__atmosphere { transform:none;will-change:auto; }
}

/* ---------------------------------------------------------------------
   LEGAL CENTRE (public site)
   Each legal route renders its own document; unpublished documents show
   an explicit pending state rather than placeholder policy text.
   --------------------------------------------------------------------- */
.legal-section { max-width: 1100px; margin: 0 auto; padding: 4rem 1.5rem; }
.legal-section h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); color: #fff; margin-bottom: 0.75rem; }
.legal-intro { color: #93a9c6; font-size: 1.02rem; line-height: 1.65; max-width: 68ch; }
.legal-breadcrumb { font-size: 0.85rem; color: #93a9c6; margin-bottom: 1.25rem; }
.legal-breadcrumb a { color: #efbb63; text-decoration: none; }
.legal-breadcrumb a:hover { text-decoration: underline; }
.legal-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2.5rem; }
.legal-card { border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 1.5rem; background: rgba(10,33,64,0.4); display: flex; flex-direction: column; gap: 0.5rem; }
.legal-card h3 { font-size: 1.15rem; color: #efbb63; margin: 0; }
.legal-card p { font-size: 0.94rem; color: #93a9c6; margin: 0; flex: 1; }
.legal-card a { color: #fff; font-weight: 600; text-decoration: none; margin-top: 0.5rem; }
.legal-card a:hover { color: #efbb63; }
.legal-body { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.75rem; max-width: 74ch; }
.legal-body h3 { font-size: 1.15rem; color: #fff; margin-bottom: 0.5rem; }
.legal-body p { color: #c3d1e2; line-height: 1.75; }
.legal-pending { margin-top: 2rem; padding: 2rem; border: 1px dashed rgba(239,187,99,0.4); border-radius: 14px; background: rgba(239,187,99,0.06); max-width: 74ch; display: flex; flex-direction: column; gap: 1rem; }
.legal-pending h3 { font-size: 1.15rem; color: #efbb63; margin: 0; }
.legal-pending p { color: #c3d1e2; line-height: 1.7; margin: 0; }
.legal-pending a { color: #efbb63; }
.legal-links-back { margin-top: 2.5rem; }
.legal-links-back a { color: #93a9c6; text-decoration: none; font-size: 0.92rem; }
.legal-links-back a:hover { color: #fff; }
@media (max-width: 600px) { .legal-section { padding: 2.5rem 1.1rem; } .legal-pending { padding: 1.35rem; } }

/* ---------------------------------------------------------------------
   ACCESSIBILITY FLOOR
   Preserve the approved visual system while keeping essential navigation,
   form, and footer text readable and interactive targets touch-friendly.
   --------------------------------------------------------------------- */
.mbrand small {
  font-size: .75rem;
  letter-spacing: .1em;
}
.mnav__links > a,
.mnav-more > summary,
.mnav-more > div a,
.mnav__login,
.premium-button--small,
.page-eyebrow,
.section-link,
.form-intro > span,
.form-intro small,
.application-page form > label,
.form-row label,
.mfooter > div > b,
.mfooter > div > a,
.mfooter__bottom {
  font-size: .75rem;
}
.mnav__login,
.mfooter > div > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Collapse before desktop links need to be shrunk below a readable size. */
@media (max-width: 1180px) {
  .mnav__links,
  .mnav__login { display: none; }
  .mnav__actions { margin-left: auto; }
  .mnav__burger { display: block; }
  .mnav-drawer { padding-top: 104px; }
}

@media (max-width: 480px) {
  .mnav .mbrand small { display: none; }
}

/* =====================================================================
   MASTER CONTENT ADDITIONS
   Approved copy from the AOB Maverick master content document, styled in
   the existing editorial language (no new visual system introduced).
   ===================================================================== */

/* HOME S3 — the Maverick question */
.maverick-question {
  padding: clamp(3.5rem, 7vw, 6rem) 1.5rem;
  background: linear-gradient(168deg, #071c33, #04101f 72%);
  color: #f4f7fb;
}
.maverick-question__inner { max-width: 880px; margin: 0 auto; }
.maverick-question h2 {
  font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3rem);
  line-height: 1.12;
  margin: 0.6rem 0 2rem;
  color: #fff;
}
.maverick-question__traits,
.maverick-question__not { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.maverick-question__traits li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.85rem;
  font-size: clamp(1rem, 0.96rem + 0.3vw, 1.12rem);
  line-height: 1.6;
  color: #e6edf6;
}
.maverick-question__traits li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 10px;
  height: 1px;
  background: #efbb63;
}
.maverick-question__not li {
  margin-bottom: 0.5rem;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #93a9c6;
}
.maverick-question__need {
  margin: 0.5rem 0 2rem;
  font-size: clamp(1.02rem, 0.98rem + 0.3vw, 1.15rem);
  font-weight: 600;
  color: #fff;
}
.maverick-question__quote {
  margin: 0;
  padding: 1.35rem 0 0 1.5rem;
  border-left: 2px solid #efbb63;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.1rem, 1rem + 0.7vw, 1.45rem);
  line-height: 1.45;
  color: #efbb63;
}

/* Site-wide FAQ */
.faq-section { padding: clamp(3rem, 6vw, 5.5rem) 1.5rem; max-width: 900px; margin: 0 auto; }
.faq-section__head { margin-bottom: 2.25rem; }
.faq-section__head h2 {
  font-size: clamp(1.7rem, 1.2rem + 2vw, 2.5rem);
  line-height: 1.15;
  margin: 0.5rem 0 0.75rem;
}
.faq-section__head p { color: #5b6472; font-size: 1rem; line-height: 1.6; max-width: 60ch; }
.faq-list { display: flex; flex-direction: column; gap: 0.75rem; }
.faq-item {
  border: 1px solid rgba(11, 26, 46, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.6);
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.faq-item[open] { border-color: rgba(217, 159, 60, 0.55); box-shadow: 0 8px 24px rgba(11, 26, 46, 0.07); }
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 56px;
  padding: 1rem 1.25rem;
  font-size: 1.02rem;
  font-weight: 650;
  color: #0b1a2e;
  cursor: pointer;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:focus-visible { outline: 2px solid #d99f3c; outline-offset: -2px; }
.faq-item__icon {
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}
.faq-item__icon::before,
.faq-item__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #d99f3c;
  transform: translate(-50%, -50%);
  transition: transform 200ms ease, opacity 200ms ease;
}
.faq-item__icon::before { width: 14px; height: 2px; }
.faq-item__icon::after { width: 2px; height: 14px; }
.faq-item[open] .faq-item__icon::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.faq-item__body { padding: 0 1.25rem 1.15rem; }
.faq-item__body p {
  margin: 0 0 0.7rem;
  font-size: 0.98rem;
  line-height: 1.68;
  color: #46505f;
  max-width: 70ch;
}
.faq-item__body p:last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  .faq-item, .faq-item__icon::before, .faq-item__icon::after { transition: none; }
}

@media (max-width: 480px) {
  .maverick-question { padding-left: 1.1rem; padding-right: 1.1rem; }
  .faq-section { padding-left: 1.1rem; padding-right: 1.1rem; }
  .faq-item summary { font-size: 0.96rem; padding: 0.9rem 1rem; }
  .maverick-question__quote { padding-left: 1.1rem; }
}

/* Approved primary brand line in the footer */
.mfooter__signature {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.05rem, 0.95rem + 0.6vw, 1.4rem);
  letter-spacing: 0.01em;
  color: #efbb63;
  text-align: center;
}
@media (max-width: 480px) { .mfooter__signature { font-size: 1.02rem; } }


/* ===== SOURCE: app/maverick-2026.css ===== */
/* ==========================================================================
   AOB Maverick — 2026 design layer
   --------------------------------------------------------------------------
   Loaded AFTER globals.css and redesign.css. Those two files disagreed with
   each other on gold, spacing and radii, which is what produced the mismatched
   accents and ragged alignment. This file is the single reconciled system:

     * one gold ramp, with a hard rule about which tint is legal on which
       background (light gold on navy, deep gold on paper — never the reverse,
       because #edc982 on #f8f5ef fails contrast badly)
     * one spacing scale driving every section's vertical rhythm
     * one radius + border + shadow set
     * one motion system, fully gated behind prefers-reduced-motion

   Everything is scoped under .maverick-pages so the Community app is
   untouched.
   ========================================================================== */

.maverick-pages {
  /* ---- ink -------------------------------------------------------------- */
  --mv-navy-900: #04101f;
  --mv-navy-800: #071423;
  --mv-navy-700: #0b1d31;
  --mv-navy-600: #12293f;
  --mv-navy-500: #1b3a56;

  /* ---- gold ramp -------------------------------------------------------- */
  --mv-gold-300: #f3dcae;
  --mv-gold-400: #edc982;  /* legal on navy only */
  --mv-gold-500: #d5a24a;  /* legal on both, use for rules + strokes */
  --mv-gold-600: #b8801f;  /* legal on paper only */
  --mv-gold-700: #8f6414;

  /* ---- paper ------------------------------------------------------------ */
  --mv-paper: #f8f5ef;
  --mv-paper-2: #f2ede3;
  --mv-paper-3: #e9e2d4;
  --mv-ink: #101a26;
  --mv-ink-2: #2b3947;

  /* ---- contextual (re-pointed by .mv-dark / .mv-light) ------------------ */
  --mv-bg: var(--mv-paper);
  --mv-fg: var(--mv-ink);
  --mv-fg-muted: #57626f;
  --mv-accent: var(--mv-gold-600);
  --mv-rule: rgba(16, 26, 38, 0.12);
  --mv-rule-strong: rgba(16, 26, 38, 0.2);
  --mv-surface: #fffdf9;
  --mv-surface-2: #f4efe5;

  /* ---- spacing scale ---------------------------------------------------- */
  --mv-1: 4px;
  --mv-2: 8px;
  --mv-3: 12px;
  --mv-4: 16px;
  --mv-5: 24px;
  --mv-6: 32px;
  --mv-7: 44px;
  --mv-8: 60px;
  --mv-9: 80px;
  --mv-10: 110px;

  /* Vertical rhythm — every section uses this, which is what removes the
     "random gaps between sections" problem. */
  --mv-sec-y: clamp(64px, 8vw, 128px);
  --mv-sec-y-tight: clamp(44px, 5.5vw, 84px);
  --mv-gutter: clamp(20px, 5vw, 72px);
  --mv-shell: 1240px;
  --mv-shell-narrow: 940px;
  --mv-measure: 68ch;

  /* ---- radii ------------------------------------------------------------ */
  --mv-r-xs: 8px;
  --mv-r-sm: 12px;
  --mv-r-md: 18px;
  --mv-r-lg: 26px;
  --mv-r-xl: 34px;
  --mv-r-pill: 999px;

  /* ---- elevation -------------------------------------------------------- */
  --mv-shadow-sm: 0 2px 8px rgba(7, 20, 35, 0.06);
  --mv-shadow-md: 0 14px 38px rgba(7, 20, 35, 0.1);
  --mv-shadow-lg: 0 34px 80px rgba(7, 20, 35, 0.16);
  --mv-shadow-dark: 0 30px 70px rgba(0, 0, 0, 0.38);

  /* ---- type ------------------------------------------------------------- */
  --mv-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, sans-serif;
  --mv-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
    "Times New Roman", serif;

  --mv-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --mv-ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  background: var(--mv-paper);
  color: var(--mv-ink);
  font-family: var(--mv-sans);
  /* clip (not hidden) keeps position:sticky working inside sections */
  overflow-x: clip;
}

/* Theme contexts. Setting --mv-accent here is what guarantees gold is never
   used at an illegal contrast: components just reference var(--mv-accent). */
.maverick-pages .mv-light {
  --mv-bg: var(--mv-paper);
  --mv-fg: var(--mv-ink);
  --mv-fg-muted: #57626f;
  --mv-accent: var(--mv-gold-600);
  --mv-rule: rgba(16, 26, 38, 0.12);
  --mv-rule-strong: rgba(16, 26, 38, 0.2);
  --mv-surface: #fffdf9;
  --mv-surface-2: #f4efe5;
  background: var(--mv-bg);
  color: var(--mv-fg);
}

.maverick-pages .mv-tint {
  --mv-bg: var(--mv-paper-2);
  --mv-fg: var(--mv-ink);
  --mv-fg-muted: #57626f;
  --mv-accent: var(--mv-gold-600);
  --mv-rule: rgba(16, 26, 38, 0.13);
  --mv-rule-strong: rgba(16, 26, 38, 0.22);
  --mv-surface: #fffdf9;
  --mv-surface-2: #ece5d8;
  background: var(--mv-bg);
  color: var(--mv-fg);
}

.maverick-pages .mv-dark {
  --mv-bg: var(--mv-navy-800);
  --mv-fg: #f4f7fb;
  --mv-fg-muted: rgba(228, 236, 245, 0.68);
  --mv-accent: var(--mv-gold-400);
  --mv-rule: rgba(255, 255, 255, 0.13);
  --mv-rule-strong: rgba(255, 255, 255, 0.24);
  --mv-surface: rgba(255, 255, 255, 0.045);
  --mv-surface-2: rgba(255, 255, 255, 0.075);
  background: var(--mv-bg);
  color: var(--mv-fg);
}

.maverick-pages .mv-deep {
  --mv-bg: var(--mv-navy-900);
  --mv-fg: #f4f7fb;
  --mv-fg-muted: rgba(228, 236, 245, 0.66);
  --mv-accent: var(--mv-gold-400);
  --mv-rule: rgba(255, 255, 255, 0.1);
  --mv-rule-strong: rgba(255, 255, 255, 0.2);
  --mv-surface: rgba(255, 255, 255, 0.04);
  --mv-surface-2: rgba(255, 255, 255, 0.07);
  background: var(--mv-bg);
  color: var(--mv-fg);
}

/* ------------------------------------------------------------ primitives */

.maverick-pages .mv-section {
  position: relative;
  padding: var(--mv-sec-y) var(--mv-gutter);
  isolation: isolate;
}

.maverick-pages .mv-section--tight { padding-block: var(--mv-sec-y-tight); }
.maverick-pages .mv-section--flush-top { padding-top: 0; }
.maverick-pages .mv-section--flush-bottom { padding-bottom: 0; }

.maverick-pages .mv-shell {
  width: 100%;
  max-width: var(--mv-shell);
  margin-inline: auto;
}

.maverick-pages .mv-shell--narrow { max-width: var(--mv-shell-narrow); }

/* Section header — one component, so every section title on the site sits on
   the same baseline grid and uses the same measure. */
.maverick-pages .mv-head {
  display: grid;
  gap: var(--mv-4);
  max-width: 900px;
  margin-bottom: var(--mv-8);
}

.maverick-pages .mv-head--center {
  justify-items: center;
  text-align: center;
  margin-inline: auto;
}

.maverick-pages .mv-head > h2 {
  margin: 0;
  font-size: clamp(1.85rem, 4.1vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -0.022em;
  font-weight: 700;
  color: var(--mv-fg);
  text-wrap: balance;
}

.maverick-pages .mv-head > p {
  margin: 0;
  max-width: var(--mv-measure);
  font-size: clamp(1rem, 1.35vw, 1.11rem);
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

.maverick-pages .mv-head--center > p { margin-inline: auto; }

/* Eyebrow */
.maverick-pages .mv-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--mv-accent);
}

.maverick-pages .mv-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
  opacity: 0.85;
}

/* Body prose */
.maverick-pages .mv-prose { display: grid; gap: var(--mv-4); max-width: var(--mv-measure); }
.maverick-pages .mv-prose p {
  margin: 0;
  font-size: clamp(1rem, 1.3vw, 1.08rem);
  line-height: 1.72;
  color: var(--mv-fg-muted);
}
.maverick-pages .mv-prose strong { color: var(--mv-fg); font-weight: 650; }

/* --------------------------------------------------------------- buttons */

.maverick-pages .mv-btn {
  --btn-bg: linear-gradient(135deg, var(--mv-gold-300), var(--mv-gold-500));
  --btn-fg: #29200a;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: var(--mv-r-pill);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: 0.93rem;
  font-weight: 700;
  letter-spacing: 0.005em;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(184, 128, 31, 0.26);
  transition: transform 0.4s var(--mv-ease), box-shadow 0.4s var(--mv-ease),
    filter 0.3s ease;
}

.maverick-pages .mv-btn > span { transition: transform 0.4s var(--mv-ease); }

/* Sheen sweep on hover — the one flourish the primary button gets. */
.maverick-pages .mv-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 20%,
    rgba(255, 255, 255, 0.5) 46%,
    transparent 72%
  );
  transform: translateX(-120%);
  transition: transform 0.75s var(--mv-ease-out);
  pointer-events: none;
}

.maverick-pages .mv-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(184, 128, 31, 0.34);
}
.maverick-pages .mv-btn:hover::after { transform: translateX(120%); }
.maverick-pages .mv-btn:hover > span { transform: translateX(3px); }
.maverick-pages .mv-btn:active { transform: translateY(0); }

.maverick-pages .mv-btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--mv-fg);
  border-color: var(--mv-rule-strong);
  box-shadow: none;
}
.maverick-pages .mv-btn--ghost:hover {
  border-color: var(--mv-accent);
  background: color-mix(in srgb, var(--mv-accent) 10%, transparent);
  box-shadow: none;
}

.maverick-pages .mv-btn--quiet {
  --btn-bg: transparent;
  --btn-fg: var(--mv-fg);
  min-height: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 0.9rem;
}
.maverick-pages .mv-btn--quiet::after { display: none; }
.maverick-pages .mv-btn--quiet:hover { transform: none; box-shadow: none; color: var(--mv-accent); }

.maverick-pages .mv-btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.maverick-pages .mv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-3);
  align-items: center;
}

/* Text link with an animated rule. */
.maverick-pages .mv-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 3px;
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--mv-accent);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.42s var(--mv-ease-out);
}
.maverick-pages .mv-link:hover { background-size: 100% 1px; }
.maverick-pages .mv-link span { transition: transform 0.35s var(--mv-ease); }
.maverick-pages .mv-link:hover span { transform: translate(3px, -3px); }

/* ----------------------------------------------------------------- cards */

.maverick-pages .mv-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--mv-3);
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-surface);
  color: var(--mv-fg);
  overflow: hidden;
  transition: transform 0.5s var(--mv-ease), border-color 0.5s ease,
    box-shadow 0.5s var(--mv-ease), background 0.5s ease;
}

.maverick-pages .mv-light .mv-card,
.maverick-pages .mv-tint .mv-card { box-shadow: var(--mv-shadow-sm); }

/* Gold hairline that draws in from the left on hover — the shared card
   signature, so every card on the site reacts the same way. */
.maverick-pages .mv-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, var(--mv-gold-400), var(--mv-gold-600));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.5s var(--mv-ease-out);
}

.maverick-pages .mv-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--mv-accent) 42%, transparent);
  box-shadow: var(--mv-shadow-md);
}
.maverick-pages .mv-dark .mv-card:hover,
.maverick-pages .mv-deep .mv-card:hover {
  background: var(--mv-surface-2);
  box-shadow: var(--mv-shadow-dark);
}
.maverick-pages .mv-card:hover::before { transform: scaleY(1); }

.maverick-pages .mv-card h3 {
  margin: 0;
  font-size: clamp(1.08rem, 1.7vw, 1.32rem);
  line-height: 1.24;
  letter-spacing: -0.012em;
  font-weight: 700;
  color: var(--mv-fg);
}

.maverick-pages .mv-card p {
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.66;
  color: var(--mv-fg-muted);
}

.maverick-pages .mv-card__index {
  font-family: var(--mv-serif);
  font-size: 0.95rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
  color: var(--mv-accent);
}

/* Card grids — a single auto-fit rule so no page invents its own columns. */
.maverick-pages .mv-grid {
  display: grid;
  gap: var(--mv-5);
  grid-template-columns: repeat(auto-fit, minmax(min(268px, 100%), 1fr));
  align-items: stretch;
}
.maverick-pages .mv-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); }
.maverick-pages .mv-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.maverick-pages .mv-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }

/* ------------------------------------------------------- highlight quote */

/* The editorial pull-quote. Serif, large, gold rule above. Used for every
   "### Highlight" block in the master copy, so the reader learns to
   recognise it as the brand's voice. */
.maverick-pages .mv-highlight {
  position: relative;
  display: grid;
  gap: var(--mv-4);
  max-width: 1000px;
  margin-inline: auto;
  padding: clamp(30px, 4vw, 56px) clamp(22px, 3.4vw, 54px);
  border-radius: var(--mv-r-xl);
  border: 1px solid var(--mv-rule);
  background: var(--mv-surface);
  text-align: center;
  overflow: hidden;
}

.maverick-pages .mv-highlight::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--mv-gold-500),
    transparent
  );
}

.maverick-pages .mv-highlight q,
.maverick-pages .mv-highlight p {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1.32rem, 3vw, 2.24rem);
  line-height: 1.28;
  letter-spacing: -0.012em;
  font-weight: 400;
  color: var(--mv-fg);
  quotes: none;
  text-wrap: balance;
}

.maverick-pages .mv-highlight em {
  font-style: italic;
  color: var(--mv-accent);
}

.maverick-pages .mv-highlight--plain {
  border: 0;
  background: none;
  padding-inline: 0;
}
.maverick-pages .mv-highlight--plain::before {
  left: 50%;
  width: 74px;
  translate: -50% 0;
  background: var(--mv-gold-500);
}

/* --------------------------------------------------------- the rail (signature) */

/* A continuous gold hairline threading numbered stages. Used wherever the
   content is genuinely ordered — the 5 launch stages, the 5 learning phases,
   the 6 support months, the 10 milestones. Order carries meaning in all four,
   which is the test for whether numbering is honest. */
.maverick-pages .mv-rail {
  position: relative;
  display: grid;
  gap: var(--mv-5);
  padding-left: 0;
  list-style: none;
  margin: 0;
}

.maverick-pages .mv-rail__item {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: clamp(14px, 2.2vw, 30px);
  align-items: start;
  padding-bottom: var(--mv-5);
}

.maverick-pages .mv-rail__item:last-child { padding-bottom: 0; }

/* The connecting line lives on the marker column so it stays glued to the
   dots at every breakpoint instead of drifting like an absolute overlay. */
.maverick-pages .mv-rail__marker {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  height: 100%;
}

.maverick-pages .mv-rail__dot {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mv-accent) 46%, transparent);
  background: var(--mv-bg);
  color: var(--mv-accent);
  font-family: var(--mv-serif);
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
  flex: 0 0 auto;
  transition: background 0.45s ease, color 0.45s ease, box-shadow 0.45s ease,
    transform 0.45s var(--mv-ease);
}

.maverick-pages .mv-rail__line {
  width: 1px;
  flex: 1;
  min-height: 26px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--mv-accent) 44%, transparent),
    transparent
  );
}

.maverick-pages .mv-rail__item:last-child .mv-rail__line { display: none; }

.maverick-pages .mv-rail__body { display: grid; gap: var(--mv-3); padding-top: 8px; }
.maverick-pages .mv-rail__body > h3 {
  margin: 0;
  font-size: clamp(1.18rem, 2.2vw, 1.62rem);
  line-height: 1.2;
  letter-spacing: -0.016em;
  font-weight: 700;
  color: var(--mv-fg);
}
.maverick-pages .mv-rail__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--mv-accent);
}
.maverick-pages .mv-rail__body > p {
  margin: 0;
  max-width: 62ch;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

.maverick-pages .mv-rail__item:hover .mv-rail__dot {
  background: var(--mv-accent);
  color: var(--mv-navy-900);
  transform: scale(1.06);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--mv-accent) 15%, transparent);
}

/* ------------------------------------------------------------- ledger list */

/* Dense checklist content ("what you actually build", "what every programme
   includes"). Two/three columns of hairline-separated rows — reads as a
   prospectus rather than a bulleted blob. */
.maverick-pages .mv-ledger {
  display: grid;
  gap: 0 clamp(18px, 3vw, 48px);
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.maverick-pages .mv-ledger li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 13px 0;
  border-top: 1px solid var(--mv-rule);
  font-size: 0.97rem;
  line-height: 1.5;
  color: var(--mv-fg);
}

.maverick-pages .mv-ledger li::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: 7px;
  border-radius: 50%;
  background: var(--mv-accent);
  opacity: 0.75;
}

.maverick-pages .mv-ledger--numbered { counter-reset: mvledger; }
.maverick-pages .mv-ledger--numbered li::before {
  counter-increment: mvledger;
  content: counter(mvledger, decimal-leading-zero);
  width: auto;
  height: auto;
  margin: 0;
  border-radius: 0;
  background: none;
  font-family: var(--mv-serif);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--mv-accent);
  opacity: 1;
}

/* --------------------------------------------------------------- chip row */

.maverick-pages .mv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.maverick-pages .mv-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-pill);
  background: var(--mv-surface);
  font-size: 0.86rem;
  line-height: 1.3;
  color: var(--mv-fg);
  transition: border-color 0.35s ease, transform 0.35s var(--mv-ease),
    background 0.35s ease;
}

.maverick-pages .mv-chip:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--mv-accent) 50%, transparent);
  background: var(--mv-surface-2);
}

/* ------------------------------------------------------------ stat strip */

.maverick-pages .mv-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-rule);
  overflow: hidden;
}

.maverick-pages .mv-stats li {
  display: grid;
  gap: 6px;
  padding: clamp(18px, 2.2vw, 28px);
  background: var(--mv-bg);
}

.maverick-pages .mv-stats b {
  font-size: clamp(1.16rem, 2.1vw, 1.6rem);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--mv-fg);
}

.maverick-pages .mv-stats span {
  font-size: 0.79rem;
  line-height: 1.45;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: var(--mv-fg-muted);
}

/* -------------------------------------------------------------- split bed */

.maverick-pages .mv-split {
  display: grid;
  gap: clamp(28px, 4.4vw, 72px);
  align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
}

.maverick-pages .mv-split--media-right > .mv-split__media { order: 2; }

.maverick-pages .mv-split__copy { display: grid; gap: var(--mv-4); align-content: start; }
.maverick-pages .mv-split__copy > h2 {
  margin: 0;
  font-size: clamp(1.7rem, 3.5vw, 2.72rem);
  line-height: 1.1;
  letter-spacing: -0.022em;
  font-weight: 700;
  text-wrap: balance;
}

/* One image treatment for the whole site: fixed ratio, gold hairline, soft
   inner vignette. Consistent borders were a specific complaint. */
.maverick-pages .mv-figure {
  position: relative;
  margin: 0;
  border-radius: var(--mv-r-xl);
  border: 1px solid var(--mv-rule);
  overflow: hidden;
  background: var(--mv-surface-2);
  box-shadow: var(--mv-shadow-md);
  isolation: isolate;
}

.maverick-pages .mv-figure img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 1.1s var(--mv-ease-out);
}

.maverick-pages .mv-figure--tall img { aspect-ratio: 3 / 4; }
.maverick-pages .mv-figure--wide img { aspect-ratio: 16 / 9; }
.maverick-pages .mv-figure--square img { aspect-ratio: 1 / 1; }

.maverick-pages .mv-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.09),
    inset 0 -70px 90px -60px rgba(4, 16, 31, 0.75);
  pointer-events: none;
}

.maverick-pages .mv-figure:hover img { transform: scale(1.045); }

.maverick-pages .mv-figure__tag {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  border-radius: var(--mv-r-pill);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(6, 18, 32, 0.66);
  backdrop-filter: blur(12px);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 650;
  letter-spacing: 0.05em;
}

/* --------------------------------------------------------- logo plates */

/* Venture logos arrive as nine different aspect ratios and ink colours. A
   fixed-height plate with contained fit is the only way they line up. */
.maverick-pages .mv-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--mv-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.maverick-pages .mv-logo-plate {
  display: grid;
  place-items: center;
  /* min-height, NOT height. A fixed height plus `height:100%` on the image
     resolves circularly: the percentage has no definite basis, the browser
     falls back to the image's intrinsic ratio, and a 1200x480 asset rendered
     145px tall inside a 104px plate and spilled over the row below. Sizing
     from the image's width instead is fully deterministic. */
  min-height: 104px;
  padding: 16px 20px;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-md);
  background: #fffdf9;
  transition: transform 0.45s var(--mv-ease), border-color 0.45s ease,
    box-shadow 0.45s ease;
}

.maverick-pages .mv-logo-plate img {
  /* Every venture logo ships on an identical 600x240 canvas, so constraining
     width alone gives all nine the same rendered height and the same optical
     weight. `height: auto` keeps the box definite. */
  display: block;
  width: min(100%, 210px);
  height: auto;
}

.maverick-pages .mv-logo-plate:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--mv-gold-500) 55%, transparent);
  box-shadow: var(--mv-shadow-md);
}

/* ------------------------------------------------------ compare columns */

.maverick-pages .mv-compare {
  display: grid;
  gap: var(--mv-5);
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

.maverick-pages .mv-compare__col {
  display: grid;
  gap: var(--mv-4);
  align-content: start;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-surface);
}

.maverick-pages .mv-compare__col--accent {
  border-color: color-mix(in srgb, var(--mv-gold-500) 46%, transparent);
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--mv-gold-500) 12%, var(--mv-surface)),
    var(--mv-surface)
  );
  box-shadow: var(--mv-shadow-md);
}

.maverick-pages .mv-compare__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--mv-fg-muted);
}
.maverick-pages .mv-compare__col--accent .mv-compare__label { color: var(--mv-accent); }

.maverick-pages .mv-compare ol,
.maverick-pages .mv-compare ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }

.maverick-pages .mv-compare li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 12px 0;
  border-top: 1px solid var(--mv-rule);
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--mv-fg);
}
.maverick-pages .mv-compare li:first-child { border-top: 0; }
.maverick-pages .mv-compare li::before {
  content: "→";
  color: var(--mv-fg-muted);
  font-size: 0.85rem;
}
.maverick-pages .mv-compare__col--accent li::before { content: "✓"; color: var(--mv-accent); }
.maverick-pages .mv-compare__col--deny li::before { content: "×"; color: #b4553f; }

/* ----------------------------------------------------------------- flow */

/* Arrowed sequence used for the AI value chain and the ecosystem flywheel. */
.maverick-pages .mv-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--mv-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.maverick-pages .mv-flow li {
  display: inline-flex;
  align-items: center;
  gap: var(--mv-3);
  font-size: clamp(0.9rem, 1.5vw, 1.06rem);
  font-weight: 650;
  color: var(--mv-fg);
}

.maverick-pages .mv-flow li > span {
  padding: 11px 20px;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-pill);
  background: var(--mv-surface);
}

.maverick-pages .mv-flow li:not(:last-child)::after {
  content: "→";
  color: var(--mv-accent);
  font-size: 1.05rem;
}

/* -------------------------------------------------------------- FAQ list */

.maverick-pages .mv-faq { display: grid; gap: var(--mv-2); max-width: 900px; margin-inline: auto; }

.maverick-pages .mv-faq details {
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-md);
  background: var(--mv-surface);
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease;
}
.maverick-pages .mv-faq details[open] {
  border-color: color-mix(in srgb, var(--mv-accent) 42%, transparent);
}

.maverick-pages .mv-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mv-4);
  padding: clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 26px);
  font-size: clamp(0.98rem, 1.5vw, 1.08rem);
  font-weight: 650;
  line-height: 1.4;
  color: var(--mv-fg);
  cursor: pointer;
  list-style: none;
}
.maverick-pages .mv-faq summary::-webkit-details-marker { display: none; }

.maverick-pages .mv-faq summary::after {
  content: "";
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border-right: 2px solid var(--mv-accent);
  border-bottom: 2px solid var(--mv-accent);
  rotate: 45deg;
  translate: 0 -3px;
  transition: rotate 0.4s var(--mv-ease), translate 0.4s var(--mv-ease);
}
.maverick-pages .mv-faq details[open] summary::after { rotate: 225deg; translate: 0 3px; }

.maverick-pages .mv-faq__body {
  padding: 0 clamp(18px, 2.2vw, 26px) clamp(18px, 2.2vw, 24px);
  max-width: 68ch;
}
.maverick-pages .mv-faq__body p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

/* --------------------------------------------------------------- notice */

/* Compliance / disclaimer block. Deliberately quiet but clearly delineated —
   it must read as a statement of fact, not fine print to be skimmed. */
.maverick-pages .mv-notice {
  display: grid;
  gap: var(--mv-2);
  padding: clamp(18px, 2.3vw, 28px) clamp(20px, 2.6vw, 32px);
  border: 1px solid var(--mv-rule);
  border-left: 3px solid var(--mv-gold-500);
  border-radius: var(--mv-r-sm);
  background: var(--mv-surface);
}

.maverick-pages .mv-notice b {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mv-accent);
}

.maverick-pages .mv-notice p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.62;
  color: var(--mv-fg-muted);
}

/* ------------------------------------------------------------- motion */

/* Scroll reveal. Transform + opacity only, so it stays on the compositor. */
.maverick-pages .mv-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.8s var(--mv-ease-out),
    transform 0.8s var(--mv-ease-out);
  transition-delay: calc(var(--mv-reveal-order, 0) * 90ms);
  will-change: opacity, transform;
}

.maverick-pages .mv-reveal.is-in {
  opacity: 1;
  transform: none;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  .maverick-pages *,
  .maverick-pages *::before,
  .maverick-pages *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .maverick-pages .mv-reveal { opacity: 1; transform: none; }
}

/* --------------------------------------------------------- focus states */

.maverick-pages :focus-visible {
  outline: 3px solid var(--mv-gold-500);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Skip link — keyboard users should not have to tab the whole nav. */
.maverick-pages .mv-skip {
  position: absolute;
  left: 50%;
  top: 8px;
  z-index: 200;
  translate: -50% -160%;
  padding: 12px 22px;
  border-radius: var(--mv-r-pill);
  background: var(--mv-gold-400);
  color: var(--mv-navy-900);
  font-weight: 700;
  transition: translate 0.3s var(--mv-ease);
}
.maverick-pages .mv-skip:focus { translate: -50% 0; }

/* ---------------------------------------------------------- responsive */

@media (max-width: 900px) {
  .maverick-pages .mv-head { margin-bottom: var(--mv-7); }
  .maverick-pages .mv-split--media-right > .mv-split__media { order: 0; }
}

@media (max-width: 640px) {
  .maverick-pages .mv-rail__item {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
  }
  .maverick-pages .mv-rail__dot { width: 42px; height: 42px; font-size: 0.88rem; }
  .maverick-pages .mv-btn { width: 100%; }
  .maverick-pages .mv-actions { gap: var(--mv-2); }
  .maverick-pages .mv-highlight { border-radius: var(--mv-r-lg); }
  .maverick-pages .mv-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maverick-pages .mv-logo-plate { min-height: 76px; padding: 12px; }
  .maverick-pages .mv-logo-plate img { width: min(100%, 150px); }
  .maverick-pages .mv-flow li:not(:last-child)::after { content: "↓"; }
  .maverick-pages .mv-flow { flex-direction: column; align-items: stretch; }
  .maverick-pages .mv-flow li { flex-direction: column; align-items: stretch; text-align: center; }
}

/* Anything the site renders inside a print context should stay legible. */
@media print {
  .maverick-pages .mv-reveal { opacity: 1; transform: none; }
  .maverick-pages .mv-dark,
  .maverick-pages .mv-deep { background: #fff; color: #000; }
}

/* ==========================================================================
   FOUNDER REEL — nine flip cards on a seamless loop
   --------------------------------------------------------------------------
   Front: portrait + venture. Back: logo, role, quote, LinkedIn.
   The track holds the nine cards followed by an aria-hidden duplicate, and
   animates to exactly -50%, so the wrap-around is invisible.
   ========================================================================== */

.maverick-pages .mv-reel {
  position: relative;
  padding: var(--mv-sec-y) 0;
  background:
    radial-gradient(120% 80% at 12% 0%, rgba(213, 162, 74, 0.14), transparent 58%),
    linear-gradient(180deg, var(--mv-navy-900), var(--mv-navy-800) 55%, var(--mv-navy-900));
  color: #f4f7fb;
  overflow: hidden;
  isolation: isolate;
}

.maverick-pages .mv-reel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--mv-5);
  width: min(var(--mv-shell), 100%);
  margin: 0 auto var(--mv-8);
  padding-inline: var(--mv-gutter);
}

.maverick-pages .mv-reel__head h2 {
  margin: 12px 0 0;
  font-size: clamp(1.85rem, 4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.022em;
  font-weight: 700;
  color: #fff;
}

.maverick-pages .mv-reel__head em {
  font-family: var(--mv-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--mv-gold-400);
}

.maverick-pages .mv-reel__pause {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--mv-r-pill);
  background: rgba(255, 255, 255, 0.06);
  color: #f4f7fb;
  font-size: 0.84rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s var(--mv-ease);
}

.maverick-pages .mv-reel__pause:hover {
  transform: translateY(-2px);
  border-color: var(--mv-gold-400);
  background: rgba(237, 201, 130, 0.16);
}

/* Fade the reel into the section edges so cards enter and leave softly
   instead of being guillotined by the viewport edge. */
.maverick-pages .mv-reel__viewport {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.maverick-pages .mv-reel__viewport::-webkit-scrollbar { display: none; }

/* The leading inset lives here, NOT on the track: padding on the track would
   be counted by the -50% translate and break the seamless wrap. */
.maverick-pages .mv-reel__viewport { padding-left: var(--mv-gutter); }

.maverick-pages .mv-reel__track {
  display: flex;
  align-items: stretch;
  gap: var(--mv-5);
  width: max-content;
  padding: 0;
  animation-name: mv-marquee;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Exactly two of these, identical in width. */
.maverick-pages .mv-reel__group {
  display: flex;
  align-items: stretch;
  gap: var(--mv-5);
}

@keyframes mv-marquee {
  from { transform: translate3d(0, 0, 0); }
  /* -50% minus half the joining gap keeps card spacing identical across
     the seam; without the calc the loop visibly stutters every cycle. */
  to { transform: translate3d(calc(-50% - (var(--mv-5) / 2)), 0, 0); }
}

/* ------------------------------------------------------------- the card */

.maverick-pages .mv-founder {
  position: relative;
  flex: 0 0 auto;
  width: clamp(272px, 25vw, 330px);
  aspect-ratio: 3 / 4;
  perspective: 1400px;
}

.maverick-pages .mv-founder__inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.78s var(--mv-ease-out);
}

.maverick-pages .mv-founder.is-flipped .mv-founder__inner {
  transform: rotateY(180deg);
}

.maverick-pages .mv-founder__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  border-radius: var(--mv-r-xl);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: var(--mv-navy-700);
  overflow: hidden;
  /* Safari still needs the prefix or the reverse face bleeds through. */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: var(--mv-shadow-dark);
}

.maverick-pages .mv-founder__face--back {
  transform: rotateY(180deg);
  pointer-events: none;
  gap: var(--mv-3);
  padding: clamp(20px, 2.2vw, 28px);
  justify-content: flex-start;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(213, 162, 74, 0.2), transparent 62%),
    linear-gradient(165deg, var(--mv-navy-600), var(--mv-navy-900));
  border-color: color-mix(in srgb, var(--mv-gold-500) 46%, transparent);
}

/* Browsers can keep the visually hidden 3D face in their hit-test tree.
   Explicitly hand pointer input to the face currently shown so the outbound
   link is never blocked by the portrait layer. */
.maverick-pages .mv-founder.is-flipped .mv-founder__face--front {
  pointer-events: none;
}

.maverick-pages .mv-founder.is-flipped .mv-founder__face--back {
  pointer-events: auto;
}

/* ------------------------------------------------------------ card front */

.maverick-pages .mv-founder__image {
  position: relative;
  flex: 1;
  overflow: hidden;
}

.maverick-pages .mv-founder__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  transition: transform 1.1s var(--mv-ease-out);
}

.maverick-pages .mv-founder:hover .mv-founder__image img { transform: scale(1.06); }

/* Gradient scrim so the name stays legible over any portrait. */
.maverick-pages .mv-founder__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 26%,
    rgba(4, 16, 31, 0.5) 55%,
    rgba(4, 16, 31, 0.88) 78%,
    rgba(4, 16, 31, 0.96) 100%
  );
}

.maverick-pages .mv-founder__index {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(237, 201, 130, 0.5);
  background: rgba(6, 18, 32, 0.6);
  backdrop-filter: blur(10px);
  color: var(--mv-gold-400);
  font-family: var(--mv-serif);
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.maverick-pages .mv-founder__front-copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  display: grid;
  gap: 4px;
  padding: clamp(18px, 2vw, 24px);
}

.maverick-pages .mv-founder__front-copy h3 {
  margin: 0;
  font-size: clamp(1.16rem, 1.9vw, 1.4rem);
  line-height: 1.16;
  letter-spacing: -0.014em;
  font-weight: 700;
  color: #fff;
}

.maverick-pages .mv-founder__front-copy > p {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mv-gold-400);
}

.maverick-pages .mv-founder__cue {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: rgba(244, 247, 251, 0.72);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.4s ease, transform 0.4s var(--mv-ease);
}

.maverick-pages .mv-founder__cue i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(237, 201, 130, 0.55);
  color: var(--mv-gold-400);
  font-style: normal;
  font-size: 0.72rem;
}

.maverick-pages .mv-founder:hover .mv-founder__cue,
.maverick-pages .mv-founder__toggle:focus-visible ~ .mv-founder__inner .mv-founder__cue {
  opacity: 1;
  transform: none;
}

/* ------------------------------------------------------------- card back */

.maverick-pages .mv-founder__logo {
  display: grid;
  place-items: center;
  min-height: 88px;
  padding: 12px 16px;
  border-radius: var(--mv-r-md);
  background: #fffdf9;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.maverick-pages .mv-founder__logo img {
  display: block;
  width: min(100%, 190px);
  height: auto;
}

.maverick-pages .mv-founder__back-copy { display: grid; gap: 8px; }

.maverick-pages .mv-founder__back-copy h3 {
  margin: 0;
  font-size: 1.24rem;
  line-height: 1.16;
  font-weight: 700;
  color: #fff;
}

.maverick-pages .mv-founder__role { margin: 0; display: grid; gap: 3px; }
.maverick-pages .mv-founder__role b {
  font-size: 0.86rem;
  font-weight: 650;
  color: var(--mv-gold-400);
}
.maverick-pages .mv-founder__role em {
  font-style: normal;
  font-size: 0.78rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(228, 236, 245, 0.6);
}

.maverick-pages .mv-founder__face--back blockquote {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-family: var(--mv-serif);
  font-size: 0.98rem;
  line-height: 1.5;
  color: rgba(244, 247, 251, 0.9);
}

.maverick-pages .mv-founder__face--back blockquote::before { content: "“"; }
.maverick-pages .mv-founder__face--back blockquote::after { content: "”"; }

.maverick-pages .mv-founder__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: var(--mv-3);
  position: relative;
  z-index: 4;
  pointer-events: none;
}

.maverick-pages .mv-founder.is-flipped .mv-founder__links {
  pointer-events: auto;
}

.maverick-pages .mv-founder__links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--mv-r-pill);
  background: rgba(255, 255, 255, 0.07);
  color: #f4f7fb;
  font-size: 0.84rem;
  font-weight: 650;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s var(--mv-ease);
}

.maverick-pages .mv-founder__links a:hover {
  transform: translateY(-2px);
  border-color: var(--mv-gold-400);
  background: rgba(237, 201, 130, 0.18);
}

.maverick-pages .mv-founder__links svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  stroke: none;
}
.maverick-pages .mv-founder__links a:last-child svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

/* --------------------------------------------------------------- toggle */

/* Invisible hit area over the whole card. Sits above the front face, and is
   switched off once flipped so the LinkedIn link underneath is clickable. */
.maverick-pages .mv-founder__toggle {
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 0;
  border-radius: var(--mv-r-xl);
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.maverick-pages .mv-founder.is-flipped .mv-founder__toggle {
  /* Keep the top strip tappable so a pinned card can be closed again. */
  inset: 0 0 62% 0;
}

.maverick-pages .mv-founder__toggle:focus-visible {
  outline: 3px solid var(--mv-gold-400);
  outline-offset: 4px;
}

.maverick-pages .mv-reel__hint {
  width: min(var(--mv-shell), 100%);
  margin: var(--mv-6) auto 0;
  padding-inline: var(--mv-gutter);
  font-size: 0.86rem;
  color: rgba(228, 236, 245, 0.6);
}

@media (max-width: 640px) {
  .maverick-pages .mv-founder { width: 74vw; max-width: 300px; }
  .maverick-pages .mv-reel__head { align-items: flex-start; }
}

/* Manual control instead of automatic motion. */
@media (prefers-reduced-motion: reduce) {
  .maverick-pages .mv-reel__track { animation: none; }
  .maverick-pages .mv-founder__inner { transition: none; }
}

/* ==========================================================================
   PAGE COMPOSITION HELPERS
   ========================================================================== */

/* Consistent gap between a section's lead block and whatever follows it.
   Previously each page hand-rolled its own margin, which is what made the
   vertical rhythm look random from section to section. */
.maverick-pages .mv-section-foot { margin-top: var(--mv-7); }

.maverick-pages .mv-list-label {
  margin: 0 0 var(--mv-3);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mv-accent);
}

.maverick-pages .mv-emphasis {
  margin: 0;
  max-width: var(--mv-measure);
  font-size: clamp(1.02rem, 1.5vw, 1.16rem);
  line-height: 1.6;
  font-weight: 600;
  color: var(--mv-fg);
}

.maverick-pages .mv-centered { margin-inline: auto; text-align: center; }

.maverick-pages .mv-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 90;
  height: 3px;
  background: transparent;
  pointer-events: none;
}

.maverick-pages .mv-progress i {
  display: block;
  height: 100%;
  transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--mv-gold-600), var(--mv-gold-300));
}

/* -------------------------------------------------------- programme card */

.maverick-pages .programme-cards {
  display: grid;
  gap: var(--mv-5);
  grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
}

.maverick-pages .programme-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-xl);
  background: var(--mv-surface);
  overflow: hidden;
  box-shadow: var(--mv-shadow-sm);
  transition: transform 0.5s var(--mv-ease), box-shadow 0.5s var(--mv-ease),
    border-color 0.5s ease;
}

.maverick-pages .programme-card:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--mv-accent) 45%, transparent);
  box-shadow: var(--mv-shadow-lg);
}

.maverick-pages .programme-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.maverick-pages .programme-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s var(--mv-ease-out);
}

.maverick-pages .programme-card:hover .programme-card__media img { transform: scale(1.05); }

.maverick-pages .programme-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 16, 31, 0.1) 20%, rgba(4, 16, 31, 0.72));
}

.maverick-pages .programme-card__code {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 8px 15px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--mv-r-pill);
  background: rgba(6, 18, 32, 0.6);
  backdrop-filter: blur(12px);
  color: var(--mv-gold-300);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.maverick-pages .programme-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--mv-3);
  flex: 1;
  padding: clamp(22px, 2.6vw, 34px);
}

.maverick-pages .programme-card__body h3 { margin: 0; }
.maverick-pages .programme-card__body h3 a {
  font-size: clamp(1.24rem, 2vw, 1.55rem);
  line-height: 1.16;
  letter-spacing: -0.018em;
  font-weight: 700;
  color: var(--mv-fg);
}
.maverick-pages .programme-card__body h3 a:hover { color: var(--mv-accent); }

.maverick-pages .programme-card__headline {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: 1.06rem;
  line-height: 1.36;
  color: var(--mv-accent);
}

.maverick-pages .programme-card__body > p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.66;
  color: var(--mv-fg-muted);
}

.maverick-pages .programme-card__facts {
  display: grid;
  gap: 0;
  margin: var(--mv-2) 0 0;
}

.maverick-pages .programme-card__facts > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 0;
  border-top: 1px solid var(--mv-rule);
}

.maverick-pages .programme-card__facts dt {
  font-size: 0.76rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--mv-fg-muted);
}

.maverick-pages .programme-card__facts dd {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  text-align: right;
  color: var(--mv-fg);
}

.maverick-pages .programme-card__includes { margin-top: var(--mv-2); }
.maverick-pages .programme-card__includes .mv-ledger {
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
}
.maverick-pages .programme-card__includes .mv-ledger li { padding: 9px 0; font-size: 0.9rem; }

.maverick-pages .programme-card .mv-link { margin-top: auto; padding-top: var(--mv-4); }

/* ----------------------------------------------------------- transformation */

.maverick-pages .transformation {
  display: grid;
  gap: var(--mv-4);
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-xl);
  background: var(--mv-surface);
}

.maverick-pages .transformation span {
  display: block;
  margin-bottom: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--mv-fg-muted);
}

.maverick-pages .transformation p {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1.05rem, 2vw, 1.42rem);
  line-height: 1.32;
  color: var(--mv-fg);
}

.maverick-pages .transformation__to span { color: var(--mv-accent); }
.maverick-pages .transformation__to p { color: var(--mv-fg); font-weight: 500; }
.maverick-pages .transformation__from p { color: var(--mv-fg-muted); }

.maverick-pages .transformation__arrow {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mv-accent) 45%, transparent);
  color: var(--mv-accent);
  font-size: 1.2rem;
}

@media (max-width: 760px) {
  .maverick-pages .transformation { grid-template-columns: 1fr; justify-items: start; }
  .maverick-pages .transformation__arrow { rotate: 90deg; }
}

/* ------------------------------------------------------------- why pairs */

.maverick-pages .why-pairs {
  display: grid;
  gap: var(--mv-4);
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}

.maverick-pages .why-pair {
  display: grid;
  gap: 10px;
  padding: clamp(22px, 2.6vw, 32px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-surface);
  transition: transform 0.45s var(--mv-ease), border-color 0.45s ease;
}
.maverick-pages .why-pair:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--mv-accent) 42%, transparent);
}

.maverick-pages .why-pair__a { margin: 0; font-size: 1rem; color: var(--mv-fg-muted); }
.maverick-pages .why-pair__b {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1.14rem, 2vw, 1.44rem);
  line-height: 1.3;
  color: var(--mv-accent);
}

.maverick-pages .why-options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.maverick-pages .why-options li {
  padding: 14px 26px;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-pill);
  background: var(--mv-surface);
  font-family: var(--mv-serif);
  font-size: clamp(1rem, 1.7vw, 1.24rem);
  color: var(--mv-fg);
}

.maverick-pages .why-options li:last-child {
  border-color: color-mix(in srgb, var(--mv-accent) 55%, transparent);
  background: color-mix(in srgb, var(--mv-accent) 12%, var(--mv-surface));
  color: var(--mv-accent);
}

/* -------------------------------------------------------- outcome chain */

.maverick-pages .outcome-chain {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: chain;
}

.maverick-pages .outcome-chain li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--mv-4);
  align-items: center;
  padding: clamp(16px, 2vw, 22px) 0;
  border-top: 1px solid var(--mv-rule);
  font-family: var(--mv-serif);
  font-size: clamp(1.05rem, 2.1vw, 1.5rem);
  line-height: 1.3;
  color: var(--mv-fg);
}

.maverick-pages .outcome-chain li::before {
  counter-increment: chain;
  content: counter(chain, decimal-leading-zero);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--mv-accent);
}

/* ------------------------------------------------------- stage output */

.maverick-pages .stage-output {
  margin-top: var(--mv-4);
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-md);
  background: var(--mv-surface);
}

.maverick-pages .stage-output__highlight {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1.02rem, 1.9vw, 1.26rem);
  line-height: 1.36;
  color: var(--mv-accent);
}

/* --------------------------------------------------------- ecosystem list */

.maverick-pages .ecosystem-list { display: grid; gap: var(--mv-5); }

.maverick-pages .ecosystem-entry {
  display: grid;
  gap: var(--mv-3);
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-surface);
  box-shadow: var(--mv-shadow-sm);
  transition: border-color 0.45s ease, box-shadow 0.45s ease, transform 0.45s var(--mv-ease);
}

.maverick-pages .ecosystem-entry:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--mv-accent) 40%, transparent);
  box-shadow: var(--mv-shadow-md);
}

.maverick-pages .ecosystem-entry__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-5);
}

.maverick-pages .ecosystem-entry__logo {
  flex: 0 0 auto;
  width: 200px;
  min-height: 84px;
}
.maverick-pages .ecosystem-entry__logo img { width: min(100%, 160px); }

.maverick-pages .ecosystem-entry__wordmark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 190px;
  height: 84px;
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-md);
  background: var(--mv-surface-2);
  font-family: var(--mv-serif);
  font-size: 1.2rem;
  color: var(--mv-fg);
}

.maverick-pages .ecosystem-entry__head h3 {
  margin: 0;
  font-size: clamp(1.16rem, 2vw, 1.5rem);
  letter-spacing: -0.016em;
  font-weight: 700;
  color: var(--mv-fg);
}

.maverick-pages .ecosystem-entry__tagline {
  margin: 4px 0 0;
  font-family: var(--mv-serif);
  font-size: 1.02rem;
  color: var(--mv-accent);
}

.maverick-pages .ecosystem-entry > p {
  margin: 0;
  max-width: var(--mv-measure);
  font-size: 0.99rem;
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

.maverick-pages .ecosystem-entry__lesson {
  margin-top: var(--mv-2);
  padding: clamp(16px, 2vw, 22px);
  border-left: 3px solid var(--mv-gold-500);
  border-radius: var(--mv-r-sm);
  background: var(--mv-surface-2);
}

.maverick-pages .ecosystem-entry__lesson p {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.38;
  color: var(--mv-fg);
}

/* ---------------------------------------------------------------- flywheel */

.maverick-pages .flywheel {
  display: grid;
  gap: var(--mv-3);
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: fly;
}

.maverick-pages .flywheel li {
  display: grid;
  gap: 8px;
  padding: clamp(18px, 2.2vw, 26px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-md);
  background: var(--mv-surface);
  transition: transform 0.45s var(--mv-ease), border-color 0.45s ease;
}

.maverick-pages .flywheel li:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--mv-accent) 50%, transparent);
}

.maverick-pages .flywheel span {
  font-family: var(--mv-serif);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--mv-accent);
}

.maverick-pages .flywheel b {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 650;
  color: var(--mv-fg);
}

.maverick-pages .mentor-roles { display: grid; gap: 3px; margin: 0; }
.maverick-pages .mentor-roles span {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mv-accent);
}

/* ---------------------------------------------------------------- final cta */

.maverick-pages .final-cta {
  display: grid;
  justify-items: center;
  gap: var(--mv-3);
  text-align: center;
}

.maverick-pages .final-cta p {
  margin: 0;
  max-width: 58ch;
  font-size: clamp(1rem, 1.5vw, 1.14rem);
  line-height: 1.62;
  color: var(--mv-fg-muted);
}

.maverick-pages .final-cta .mv-actions { margin-top: var(--mv-5); justify-content: center; }

.maverick-pages .final-cta__signature,
.maverick-pages .application-confirmation__signature {
  margin-top: var(--mv-5);
  font-family: var(--mv-serif);
  font-size: 1.06rem;
  letter-spacing: 0.02em;
  color: var(--mv-accent);
}

/* ------------------------------------------------------------ application */

.maverick-pages .application-layout {
  display: grid;
  gap: clamp(28px, 4vw, 56px);
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  align-items: start;
}

.maverick-pages .application-aside {
  position: sticky;
  top: 110px;
  display: grid;
  gap: var(--mv-4);
  padding: clamp(24px, 2.8vw, 34px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-xl);
  background: var(--mv-surface);
  box-shadow: var(--mv-shadow-sm);
}

.maverick-pages .application-aside h2 {
  margin: 0;
  font-size: clamp(1.24rem, 2.1vw, 1.6rem);
  line-height: 1.18;
  letter-spacing: -0.016em;
  font-weight: 700;
}

.maverick-pages .application-aside .mv-rail__item {
  grid-template-columns: 46px minmax(0, 1fr);
  padding-bottom: var(--mv-4);
}
.maverick-pages .application-aside .mv-rail__dot { width: 38px; height: 38px; font-size: 0.8rem; }
.maverick-pages .application-aside .mv-rail__body > h3 { font-size: 1rem; }

.maverick-pages .application-form {
  display: grid;
  gap: var(--mv-5);
  padding: clamp(24px, 3vw, 44px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-xl);
  background: var(--mv-surface);
  box-shadow: var(--mv-shadow-md);
}

.maverick-pages .form-section { margin: 0; padding: 0; border: 0; }

.maverick-pages .form-section legend {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin-bottom: var(--mv-4);
  padding-bottom: var(--mv-3);
  border-bottom: 1px solid var(--mv-rule);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--mv-fg);
}

.maverick-pages .form-section__index {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mv-accent) 48%, transparent);
  font-family: var(--mv-serif);
  font-size: 0.8rem;
  color: var(--mv-accent);
}

.maverick-pages .form-section__grid {
  display: grid;
  gap: var(--mv-4);
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.maverick-pages .form-field { display: grid; gap: 7px; }
.maverick-pages .form-field--wide { grid-column: 1 / -1; }

.maverick-pages .form-field label {
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
  color: var(--mv-fg);
}
.maverick-pages .form-field label em { font-style: normal; color: #b4553f; }

.maverick-pages .form-field input,
.maverick-pages .form-field select,
.maverick-pages .form-field textarea {
  width: 100%;
  /* 16px minimum stops iOS Safari zooming the viewport on focus. */
  font-size: 16px;
  font-family: inherit;
  line-height: 1.5;
  color: var(--mv-fg);
  padding: 13px 15px;
  border: 1px solid var(--mv-rule-strong);
  border-radius: var(--mv-r-sm);
  background: #fff;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.maverick-pages .form-field textarea { resize: vertical; min-height: 92px; }

.maverick-pages .form-field input:focus,
.maverick-pages .form-field select:focus,
.maverick-pages .form-field textarea:focus {
  outline: none;
  border-color: var(--mv-gold-600);
  box-shadow: 0 0 0 3px rgba(184, 128, 31, 0.18);
}

.maverick-pages .form-field input:user-invalid,
.maverick-pages .form-field textarea:user-invalid {
  border-color: #b4553f;
}

.maverick-pages .form-hint { font-size: 0.8rem; line-height: 1.45; color: var(--mv-fg-muted); }

.maverick-pages .form-investment {
  display: grid;
  gap: var(--mv-2);
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid var(--mv-rule);
  border-left: 3px solid var(--mv-gold-500);
  border-radius: var(--mv-r-sm);
  background: var(--mv-surface-2);
}

.maverick-pages .form-investment p { display: grid; gap: 2px; margin: 0; }
.maverick-pages .form-investment b { font-size: 0.92rem; color: var(--mv-fg); }
.maverick-pages .form-investment span { font-size: 0.9rem; color: var(--mv-accent); }

.maverick-pages .form-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: var(--mv-4);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-sm);
  background: var(--mv-surface-2);
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--mv-fg-muted);
}

.maverick-pages .form-consent input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--mv-gold-600);
}

.maverick-pages .form-consent a { color: var(--mv-accent); text-decoration: underline; }

.maverick-pages .form-submit { display: grid; gap: var(--mv-3); justify-items: start; }

.maverick-pages .form-status {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--mv-fg-muted);
}
.maverick-pages .form-status.is-active { color: var(--mv-fg); font-weight: 600; }

.maverick-pages .application-confirmation {
  display: grid;
  justify-items: center;
  gap: var(--mv-3);
  max-width: 720px;
  margin-inline: auto;
  padding: clamp(30px, 4vw, 56px);
  border: 1px solid color-mix(in srgb, var(--mv-accent) 42%, transparent);
  border-radius: var(--mv-r-xl);
  background: var(--mv-surface);
  text-align: center;
  box-shadow: var(--mv-shadow-md);
}

.maverick-pages .application-confirmation h2 {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  letter-spacing: -0.02em;
  font-weight: 700;
}

.maverick-pages .application-confirmation p {
  margin: 0;
  max-width: 56ch;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

@media (max-width: 1000px) {
  .maverick-pages .application-layout { grid-template-columns: minmax(0, 1fr); }
  .maverick-pages .application-aside { position: static; }
}

/* --------------------------------------------------------------- legal */

.maverick-pages .legal-breadcrumb {
  margin-bottom: var(--mv-5);
  font-size: 0.86rem;
  color: var(--mv-fg-muted);
}
.maverick-pages .legal-breadcrumb a { color: var(--mv-accent); }

.maverick-pages .legal-body { display: grid; gap: var(--mv-5); }
.maverick-pages .legal-body h3 { margin: 0 0 8px; font-size: 1.16rem; font-weight: 700; }
.maverick-pages .legal-body p { margin: 0; line-height: 1.72; color: var(--mv-fg-muted); }

.maverick-pages .legal-pending {
  display: grid;
  gap: var(--mv-3);
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid var(--mv-rule);
  border-left: 3px solid var(--mv-gold-500);
  border-radius: var(--mv-r-md);
  background: var(--mv-surface);
}
.maverick-pages .legal-pending h3 { margin: 0; font-size: 1.12rem; font-weight: 700; }
.maverick-pages .legal-pending p { margin: 0; line-height: 1.7; color: var(--mv-fg-muted); }
.maverick-pages .legal-pending a { color: var(--mv-accent); text-decoration: underline; }

.maverick-pages .legal-links-back { margin-top: var(--mv-6); }
.maverick-pages .legal-links-back a { color: var(--mv-accent); font-weight: 650; }


/* ==========================================================================
   WIDE SECTION HEAD
   On wide viewports a heading with an intro splits into two columns so the
   right half of the shell is not left empty. Below 1080px it stacks.
   ========================================================================== */
@media (min-width: 1080px) {
  .maverick-pages .mv-head:not(.mv-head--center):has(> p) {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    grid-template-areas:
      "eyebrow eyebrow"
      "title   intro";
    column-gap: clamp(32px, 5vw, 84px);
    row-gap: var(--mv-4);
    align-items: end;
    max-width: var(--mv-shell);
  }
  .maverick-pages .mv-head:not(.mv-head--center):has(> p) > .mv-eyebrow { grid-area: eyebrow; }
  .maverick-pages .mv-head:not(.mv-head--center):has(> p) > h2 { grid-area: title; }
  .maverick-pages .mv-head:not(.mv-head--center):has(> p) > p {
    grid-area: intro;
    padding-bottom: 6px;
  }
}

/* Back-face footer. Always present so a card whose LinkedIn URL has not been
   supplied yet still reads as complete rather than half-built. */
.maverick-pages .mv-founder__foot {
  margin-top: auto;
  padding-top: var(--mv-3);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.maverick-pages .mv-founder__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(228, 236, 245, 0.58);
}

.maverick-pages .mv-founder__tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mv-gold-400);
}

/* With a footer present the links row no longer needs to claim the slack. */
.maverick-pages .mv-founder__links { margin-top: 0; padding-top: var(--mv-2); }

/* ==========================================================================
   HOME HERO — narrow-screen legibility
   Below 980px the rocket console is repositioned behind the copy. At 0.28
   opacity the gold "MAVERICK" plinth lettering still collided with the stat
   labels, so the numbers sat on top of artwork and became hard to read.
   A scrim inside the copy's own stacking context puts clean ground under the
   text without moving or redesigning the approved hero.
   ========================================================================== */
@media (max-width: 980px) {
  .maverick-pages .launch-hero__copy { position: relative; z-index: 3; }
  .maverick-pages .launch-hero__copy::after {
    content: "";
    position: absolute;
    inset: -24px -26px -30px;
    z-index: -1;
    border-radius: var(--mv-r-xl);
    background: linear-gradient(
      180deg,
      rgba(4, 16, 31, 0.42) 0%,
      rgba(4, 16, 31, 0.8) 42%,
      rgba(4, 16, 31, 0.93) 100%
    );
    pointer-events: none;
  }
  .maverick-pages .launch-console { opacity: 0.22; }
}

/* Stat rail: hairline separators so the four figures read as one set rather
   than four loose fragments, and tabular figures so they align. */
.maverick-pages .launch-trust b { font-variant-numeric: tabular-nums; }

@media (max-width: 760px) {
  .maverick-pages .launch-trust {
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }
  .maverick-pages .launch-trust li {
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .maverick-pages .launch-trust li:nth-child(odd) { padding-right: 14px; }
  .maverick-pages .launch-trust li:nth-child(even) {
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
  }
}

/* ==========================================================================
   FOOTER — proper five-column arrangement
   --------------------------------------------------------------------------
   The legacy `.mfooter` grid is `1.4fr repeat(3, 1fr)` — four columns. The
   approved footer has a brand block plus FOUR link groups, so the fifth child
   (Legal) wrapped onto a second row beneath the brand and the signature landed
   beside it, leaving a large dead area. This restates the grid for the real
   child count and gives the signature its own full-width band.
   ========================================================================== */

.maverick-pages .mfooter {
  grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 2.6vw, 44px) clamp(28px, 3.4vw, 56px);
  padding: clamp(52px, 5.2vw, 78px) var(--mv-gutter) 26px;
  background: var(--mv-navy-900);
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  align-items: start;
}

.maverick-pages .mfooter__brand { display: grid; gap: var(--mv-4); align-content: start; }

.maverick-pages .mfooter__brand p {
  max-width: 34ch;
  margin: 0;
  font: italic 400 1.06rem/1.55 var(--mv-serif);
  color: rgba(255, 255, 255, 0.56);
}

.maverick-pages .mfooter__phone {
  justify-self: start;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: var(--mv-gold-400);
  transition: color 0.3s ease;
}
.maverick-pages .mfooter__phone:hover { color: var(--mv-gold-300); }

.maverick-pages .mfooter > div:not(.mfooter__brand):not(.mfooter__bottom) {
  display: grid;
  align-content: start;
  gap: 11px;
}

.maverick-pages .mfooter > div > b {
  margin-bottom: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mv-gold-400);
}

/* Larger than the legacy 0.72rem, which was close to unreadable, and with an
   animated underline so links feel alive without shifting layout. */
.maverick-pages .mfooter > div > a {
  width: fit-content;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.62);
  background-image: linear-gradient(var(--mv-gold-400), var(--mv-gold-400));
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: color 0.3s ease, background-size 0.4s var(--mv-ease-out);
}
.maverick-pages .mfooter > div > a:hover {
  color: #fff;
  background-size: 100% 1px;
}

/* Full-width signature band, centred, with hairlines either side. */
.maverick-pages .mfooter__signature {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: var(--mv-5);
  /* The legacy rule adds its own border-top and padding, which stacked with
     this band's own hairlines and produced two rules plus a dead gap. */
  border-top: 0;
  padding-top: 0;
  margin-top: clamp(16px, 2vw, 30px);
  font-family: var(--mv-serif);
  font-size: clamp(1.05rem, 2vw, 1.5rem);
  letter-spacing: 0.01em;
  color: var(--mv-gold-400);
  text-align: center;
  white-space: nowrap;
}

.maverick-pages .mfooter__signature::before,
.maverick-pages .mfooter__signature::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(237, 201, 130, 0.42), transparent);
}

.maverick-pages .mfooter__bottom {
  grid-column: 1 / -1;
  margin-top: clamp(20px, 2.4vw, 32px);
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
}

@media (max-width: 1080px) {
  .maverick-pages .mfooter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maverick-pages .mfooter__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .maverick-pages .mfooter { grid-template-columns: minmax(0, 1fr); }
  .maverick-pages .mfooter__signature { white-space: normal; }
  .maverick-pages .mfooter__signature::before,
  .maverick-pages .mfooter__signature::after { display: none; }
  .maverick-pages .mfooter__bottom { flex-direction: column; gap: 10px; }
}

/* ==========================================================================
   LOGO PLATE — bulletproof uniform sizing
   Fixed plate height gives `max-height: 100%` a definite basis (the earlier
   `height: 100%` had none and fell back to the intrinsic ratio). Constraining
   by BOTH axes means any logo, whatever its aspect ratio, is letterboxed
   inside an identical plate instead of setting the plate's height itself.
   ========================================================================== */
.maverick-pages .mv-logos { align-items: stretch; }
.maverick-pages .mv-logos > li { display: grid; }

.maverick-pages .mv-logo-plate {
  height: 124px;
  min-height: 0;
  padding: 18px 22px;
}

.maverick-pages .mv-logo-plate img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.maverick-pages .mv-founder__logo { height: 92px; min-height: 0; }
.maverick-pages .mv-founder__logo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.maverick-pages .ecosystem-entry__logo { height: 92px; min-height: 0; }
.maverick-pages .ecosystem-entry__logo img { width: auto; max-width: 100%; max-height: 100%; }

@media (max-width: 640px) {
  .maverick-pages .mv-logo-plate { height: 92px; padding: 14px 16px; }
}

/* ==========================================================================
   PROGRAMME CARD — image first, detail on hover
   ========================================================================== */

.maverick-pages .programme-card {
  position: relative;
  display: block;
  min-height: 520px;
  border-radius: var(--mv-r-xl);
  border: 1px solid var(--mv-rule);
  background: var(--mv-navy-800);
  overflow: hidden;
  isolation: isolate;
}

.maverick-pages .programme-card__media {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  z-index: 0;
}

.maverick-pages .programme-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--mv-ease-out), filter 0.7s ease;
}

.maverick-pages .programme-card:hover .programme-card__media img,
.maverick-pages .programme-card:focus-within .programme-card__media img {
  transform: scale(1.06);
}

/* Two-stop scrim: light at rest so the photograph reads, deepening on hover
   so the revealed detail text always has ground under it. */
.maverick-pages .programme-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(4, 16, 31, 0.12) 0%,
    rgba(4, 16, 31, 0.42) 44%,
    rgba(4, 16, 31, 0.93) 82%,
    rgba(4, 16, 31, 0.98) 100%
  );
  transition: opacity 0.6s ease;
}

/* Hover overlay. The revealed panel starts roughly 40% down the card, so the
   gradient has to be substantially opaque by then - a bottom-weighted scrim
   left the summary paragraph sitting on the photograph at about 2:1 contrast. */
.maverick-pages .programme-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(4, 16, 31, 0.42) 0%,
    rgba(4, 16, 31, 0.78) 20%,
    rgba(4, 16, 31, 0.92) 42%,
    rgba(4, 16, 31, 0.97) 70%
  );
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.maverick-pages .programme-card:hover::after,
.maverick-pages .programme-card:focus-within::after { opacity: 1; }

.maverick-pages .programme-card__code {
  position: absolute;
  z-index: 3;
  top: 20px;
  left: 20px;
  bottom: auto;
  padding: 8px 15px;
  border: 1px solid rgba(237, 201, 130, 0.42);
  border-radius: var(--mv-r-pill);
  background: rgba(6, 18, 32, 0.62);
  backdrop-filter: blur(12px);
  color: var(--mv-gold-300);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.maverick-pages .programme-card__body {
  position: absolute;
  z-index: 3;
  inset: auto 0 0;
  display: grid;
  gap: var(--mv-3);
  padding: clamp(22px, 2.6vw, 34px);
}

.maverick-pages .programme-card__peek { display: grid; gap: 8px; }

.maverick-pages .programme-card__body h3 { margin: 0; }
/* Static positioning is deliberate: it makes the ::after below resolve
   against `.programme-card` (the nearest positioned ancestor) so the hit area
   is exactly the card. The previous approach used an inset:-100vh child,
   which worked but inflated the heading's scrollWidth enough to look like
   clipped text to any automated check. */
.maverick-pages .programme-card__body h3 a {
  position: static;
  font-size: clamp(1.3rem, 2.1vw, 1.68rem);
  line-height: 1.14;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #fff;
}

/* Whole-card hit area (stretched link). */
.maverick-pages .programme-card__body h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
}

.maverick-pages .programme-card__headline {
  margin: 0;
  font-family: var(--mv-serif);
  font-size: clamp(1rem, 1.6vw, 1.14rem);
  line-height: 1.34;
  color: var(--mv-gold-400);
}

.maverick-pages .programme-card__summary {
  margin: 0 0 var(--mv-4);
  font-size: 0.96rem;
  line-height: 1.62;
  color: rgba(228, 236, 245, 0.78);
}

.maverick-pages .programme-card__facts { display: grid; gap: 0; margin: 0 0 var(--mv-4); }

.maverick-pages .programme-card__facts > div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.maverick-pages .programme-card__facts dt {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(228, 236, 245, 0.55);
}

.maverick-pages .programme-card__facts dd {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 650;
  text-align: right;
  color: var(--mv-gold-300);
}

.maverick-pages .programme-card__includes .mv-ledger {
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
}
.maverick-pages .programme-card__includes .mv-ledger li {
  padding: 8px 0;
  font-size: 0.86rem;
  border-color: rgba(255, 255, 255, 0.13);
  color: rgba(228, 236, 245, 0.86);
}
.maverick-pages .programme-card__includes .mv-ledger li::before { background: var(--mv-gold-400); }
.maverick-pages .programme-card__includes .mv-list-label { color: var(--mv-gold-400); }

.maverick-pages .programme-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--mv-gold-400);
}
.maverick-pages .programme-card__cta i {
  font-style: normal;
  transition: transform 0.4s var(--mv-ease);
}
.maverick-pages .programme-card:hover .programme-card__cta i { transform: translate(3px, -3px); }

/* ---- the reveal ---- */

/* Touch-first default: everything visible, nothing hidden behind a hover that
   will never happen. The collapse below only applies where hover exists. */
.maverick-pages .programme-card__detail > div { min-height: 0; }

@media (hover: hover) and (pointer: fine) {
  .maverick-pages .programme-card__detail {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.62s var(--mv-ease-out), opacity 0.45s ease;
  }
  .maverick-pages .programme-card__detail > div { overflow: hidden; }

  .maverick-pages .programme-card:hover .programme-card__detail,
  .maverick-pages .programme-card:focus-within .programme-card__detail {
    grid-template-rows: 1fr;
    opacity: 1;
  }

  /* Lift the resting card so the reveal feels like it grew from the card. */
  .maverick-pages .programme-card {
    transition: transform 0.55s var(--mv-ease), border-color 0.55s ease,
      box-shadow 0.55s var(--mv-ease);
  }
  .maverick-pages .programme-card:hover,
  .maverick-pages .programme-card:focus-within {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--mv-gold-500) 52%, transparent);
    box-shadow: var(--mv-shadow-lg);
  }

  /* A quiet nudge that there is more under the card. */
  .maverick-pages .programme-card__peek::after {
    content: "";
    display: block;
    margin-top: 6px;
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(228, 236, 245, 0.5);
    transition: opacity 0.35s ease;
  }
  .maverick-pages .programme-card:hover .programme-card__peek::after,
  .maverick-pages .programme-card:focus-within .programme-card__peek::after { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .maverick-pages .programme-card__detail { transition: none; }
}

@media (max-width: 640px) {
  .maverick-pages .programme-card { min-height: 0; }
  .maverick-pages .programme-card__media { position: relative; aspect-ratio: 16 / 11; }
  .maverick-pages .programme-card__body { position: static; }
  .maverick-pages .programme-card__shade,
  .maverick-pages .programme-card::after { display: none; }
  .maverick-pages .programme-card__code { position: absolute; }
}

/* ---- programme card: fit the revealed panel ----------------------------
   Measured worst case for the expanded body was 740px inside a 520px card
   (a 221px clip at the top). Two changes fix it deterministically:
   two columns only above 1200px, so cards are never narrow-and-tall, and a
   card tall enough to contain the widest measured panel.                  */

.maverick-pages .programme-cards { grid-template-columns: minmax(0, 1fr); }

@media (min-width: 1200px) {
  .maverick-pages .programme-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 641px) {
  .maverick-pages .programme-card { min-height: 700px; }
}

.maverick-pages .programme-card__includes .mv-chip {
  padding: 7px 13px;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.07);
  font-size: 0.8rem;
  color: rgba(240, 245, 251, 0.9);
}
.maverick-pages .programme-card__includes .mv-chip:hover {
  border-color: color-mix(in srgb, var(--mv-gold-400) 60%, transparent);
  background: rgba(237, 201, 130, 0.14);
}
.maverick-pages .programme-card__includes .mv-chips { gap: 7px; }

/* ---- logo sizing: explicit pixel caps -----------------------------------
   `max-height: 100%` proved unreliable here (the plate is a grid container
   with centred items, and the percentage did not constrain the image on wide
   viewports - measured 144px of image inside a 124px plate). Explicit pixel
   caps equal to the plate's inner height remove the percentage entirely, so
   the result is identical in every engine.                                 */

.maverick-pages .mv-logo-plate img { max-height: 88px; }          /* 124 - 36 */
.maverick-pages .mv-founder__logo img { max-height: 68px; }       /*  92 - 24 */
.maverick-pages .ecosystem-entry__logo img { max-height: 68px; }  /*  92 - 24 */

@media (max-width: 640px) {
  .maverick-pages .mv-logo-plate img { max-height: 64px; }        /*  92 - 28 */
}

/* ==========================================================================
   MOTION REFINEMENT
   Shorter travel, a touch of scale, and a softer curve. The previous 26px
   rise read as a jump on long pages; 16px plus a 0.985 scale settles more
   like the content is arriving than being thrown in.
   ========================================================================== */

.maverick-pages .mv-reveal {
  opacity: 0;
  transform: translate3d(0, 16px, 0) scale(0.988);
  transition:
    opacity 0.72s var(--mv-ease-out),
    transform 0.86s var(--mv-ease-out);
  transition-delay: calc(var(--mv-reveal-order, 0) * 75ms);
}

.maverick-pages .mv-reveal.is-in {
  opacity: 1;
  transform: none;
}

/* Standalone blocks rise a little further so they register as their own beat. */
.maverick-pages .mv-reveal--lift { transform: translate3d(0, 26px, 0) scale(0.985); }

/* The gold rule under an eyebrow draws itself in. */
.maverick-pages .mv-reveal .mv-eyebrow::before {
  width: 0;
  transition: width 0.7s var(--mv-ease-out) 0.16s;
}
.maverick-pages .mv-reveal.is-in .mv-eyebrow::before { width: 28px; }

/* Figures settle from a slight zoom, so images feel placed rather than
   pasted. Runs once, then hands the transform back to the hover rule. */
.maverick-pages .mv-reveal.mv-figure img { transform: scale(1.07); }
.maverick-pages .mv-reveal.mv-figure.is-in img { transform: none; }

/* Highlight quotes get a hairline that expands across the card. */
.maverick-pages .mv-reveal.mv-highlight::before {
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform 0.9s var(--mv-ease-out) 0.1s;
}
.maverick-pages .mv-reveal.mv-highlight.is-in::before { transform: scaleX(1); }

/* Rail: the connecting line grows downward as the stage arrives. */
.maverick-pages .mv-rail .mv-reveal .mv-rail__line {
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.7s var(--mv-ease-out) 0.2s;
}
.maverick-pages .mv-rail .mv-reveal.is-in .mv-rail__line { transform: scaleY(1); }

@media (prefers-reduced-motion: reduce) {
  .maverick-pages .mv-reveal,
  .maverick-pages .mv-reveal--lift { opacity: 1; transform: none; }
  .maverick-pages .mv-reveal .mv-eyebrow::before { width: 28px; transition: none; }
  .maverick-pages .mv-reveal.mv-figure img { transform: none; }
  .maverick-pages .mv-reveal.mv-highlight::before { transform: none; }
  .maverick-pages .mv-rail .mv-reveal .mv-rail__line { transform: none; }
}

/* ==========================================================================
   ROUND 3 FIXES
   ========================================================================== */

/* ---- 1. Inner-page hero fact rail -------------------------------------
   `.page-hero__facts` had NO css anywhere, so the value and its label ran
   together as one string: "Artificial IntelligenceProgramme 01". Styled here
   to match the home hero's stat rail. */

.maverick-pages .page-hero__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
  gap: 0;
  margin: clamp(26px, 3vw, 40px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* `1fr auto` pins every label to the bottom of its cell, so a value that
   wraps to two lines does not push its label out of line with the others. */
.maverick-pages .page-hero__facts li {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 5px;
  padding: 16px 20px 16px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.maverick-pages .page-hero__facts li:last-child { border-right: 0; }

.maverick-pages .page-hero__facts b {
  font-size: clamp(0.98rem, 1.5vw, 1.2rem);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: -0.012em;
  font-variant-numeric: tabular-nums;
  color: #fff;
}

.maverick-pages .page-hero__facts span {
  font-size: 0.72rem;
  line-height: 1.4;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.maverick-pages .page-hero__lede {
  max-width: 62ch;
  font-size: clamp(0.98rem, 1.4vw, 1.06rem);
  line-height: 1.66;
  color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 640px) {
  .maverick-pages .page-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maverick-pages .page-hero__facts li { padding: 13px 14px 13px 0; }
  .maverick-pages .page-hero__facts li:nth-child(2n) { border-right: 0; }
  .maverick-pages .page-hero__facts li:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
}

/* ---- 2. Scroll cue arrow direction -------------------------------------
   The cue uses `writing-mode: vertical-rl`, which rotates its glyphs too, so
   the down arrow rendered pointing left. Resetting the icon to horizontal
   flow restores it, and a soft bounce makes the affordance obvious. */

.maverick-pages .page-hero__scroll i {
  writing-mode: horizontal-tb;
  animation: mv-cue-bounce 2.1s var(--mv-ease) infinite;
}

@keyframes mv-cue-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

.maverick-pages .page-hero__scroll:hover i {
  border-color: var(--mv-gold-400);
  color: var(--mv-gold-400);
}

/* ---- 3. Footer height -------------------------------------------------
   Reported as too tall. The row was as tall as the longest column while the
   others ended early, leaving dead space. Columns now sit tighter, the link
   rhythm is denser, and the signature band is slimmer. */

.maverick-pages .mfooter {
  padding: clamp(40px, 4vw, 60px) var(--mv-gutter) 20px;
  gap: clamp(18px, 2vw, 32px) clamp(24px, 3vw, 48px);
}

.maverick-pages .mfooter > div:not(.mfooter__brand):not(.mfooter__bottom) { gap: 7px; }
.maverick-pages .mfooter > div > a { font-size: 0.85rem; line-height: 1.4; }
.maverick-pages .mfooter > div > b { margin-bottom: 3px; }
.maverick-pages .mfooter__brand { gap: var(--mv-3); }
.maverick-pages .mfooter__brand p { font-size: 0.98rem; line-height: 1.5; }

.maverick-pages .mfooter__signature {
  margin-top: clamp(10px, 1.4vw, 18px);
  font-size: clamp(0.98rem, 1.6vw, 1.24rem);
}

.maverick-pages .mfooter__bottom { margin-top: clamp(12px, 1.6vw, 20px); padding-top: 16px; }

/* ---- 4. Programme card: two facts at rest ------------------------------ */

.maverick-pages .programme-card__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: 12px 0 0;
  padding: 12px 0 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.maverick-pages .programme-card__quick li { display: grid; gap: 2px; }
.maverick-pages .programme-card__quick b {
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--mv-gold-300);
}
.maverick-pages .programme-card__quick span {
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(228, 236, 245, 0.58);
}

/* The two quick facts are redundant once the full panel is open. */
@media (hover: hover) and (pointer: fine) {
  .maverick-pages .programme-card__quick {
    transition: opacity 0.4s ease, max-height 0.5s var(--mv-ease-out),
      margin 0.5s var(--mv-ease-out), padding 0.5s var(--mv-ease-out);
    max-height: 90px;
    overflow: hidden;
  }
  .maverick-pages .programme-card:hover .programme-card__quick,
  .maverick-pages .programme-card:focus-within .programme-card__quick {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    border-top-color: transparent;
  }
}

/* ---- 5. Light sections: give the cream ground some life -----------------
   Reported as looking thin wherever the background is cream with text on it.
   A very low-contrast paper grain plus a soft gold bloom in one corner gives
   the eye something to rest on without competing with the copy. */

.maverick-pages .mv-light,
.maverick-pages .mv-tint {
  position: relative;
  isolation: isolate;
}

.maverick-pages .mv-light::before,
.maverick-pages .mv-tint::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(52% 42% at 88% 6%, rgba(213, 162, 74, 0.13), transparent 62%),
    radial-gradient(46% 40% at 4% 96%, rgba(27, 58, 86, 0.075), transparent 64%);
  pointer-events: none;
}

/* A hairline top edge so consecutive light sections still read as separate
   beats rather than one long undifferentiated field. */
.maverick-pages .mv-light + .mv-light::after,
.maverick-pages .mv-light + .mv-tint::after,
.maverick-pages .mv-tint + .mv-light::after {
  content: "";
  position: absolute;
  inset: 0 var(--mv-gutter) auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(16, 26, 38, 0.14), transparent);
}

/* ---- 6. Founder reel: seam and interaction ----------------------------- */

/* The left fade was wide enough to slice the leading card in half. A much
   narrower fade keeps the "there is more" cue without eating a card. */
.maverick-pages .mv-reel__viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 2.5%, #000 97.5%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 2.5%, #000 97.5%, transparent);
}

/* ---- 7. Outbound links: make the redirect legible ---------------------- */

.maverick-pages .mv-founder__links a {
  position: relative;
  overflow: hidden;
}

/* A travelling sheen plus an arrow that lifts away on hover, so it reads as
   "this leaves the site" rather than an ordinary button. */
.maverick-pages .mv-founder__links a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 25%,
    rgba(237, 201, 130, 0.32) 50%,
    transparent 72%
  );
  transform: translateX(-130%);
  transition: transform 0.75s var(--mv-ease-out);
}
.maverick-pages .mv-founder__links a:hover::before { transform: translateX(130%); }

.maverick-pages .mv-founder__links a::after {
  content: "↗";
  font-size: 0.82rem;
  transition: transform 0.4s var(--mv-ease);
}
.maverick-pages .mv-founder__links a:hover::after { transform: translate(3px, -3px); }

/* ==========================================================================
   LAUNCH SYSTEM — five-stage progression (flagship)
   A single gold line runs the height of the track and fills as the reader
   advances. Stage lighting is latched in JS so a stage sitting on the
   observer boundary cannot flicker on and off during small scroll moves.
   ========================================================================== */

.maverick-pages .stage-track {
  position: relative;
  display: grid;
  gap: clamp(30px, 4vw, 58px);
  margin: 0;
  padding: 0 0 0 clamp(56px, 6vw, 92px);
  list-style: none;
}

/* Unfilled rail. */
.maverick-pages .stage-track::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: clamp(26px, 3vw, 44px);
  width: 2px;
  border-radius: 2px;
  background: var(--mv-rule);
}

/* Filled portion. Transform-only so it stays on the compositor. */
.maverick-pages .stage-track__fill {
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: clamp(26px, 3vw, 44px);
  width: 2px;
  border-radius: 2px;
  transform-origin: top;
  transform: scaleY(0);
  background: linear-gradient(180deg, var(--mv-gold-300), var(--mv-gold-600));
  box-shadow: 0 0 14px rgba(213, 162, 74, 0.5);
  transition: transform 0.85s var(--mv-ease-out);
}

.maverick-pages .stage-item { position: relative; display: block; }

.maverick-pages .stage-item__marker {
  position: absolute;
  top: 0;
  left: calc(clamp(26px, 3vw, 44px) - clamp(56px, 6vw, 92px) - 21px);
  display: grid;
  place-items: center;
}

.maverick-pages .stage-item__dot {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--mv-rule-strong);
  background: var(--mv-bg);
  color: var(--mv-fg-muted);
  font-family: var(--mv-serif);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
  transition: color 0.55s ease, border-color 0.55s ease, background 0.55s ease,
    box-shadow 0.55s ease, transform 0.55s var(--mv-ease);
}

.maverick-pages .stage-item.is-lit .stage-item__dot {
  border-color: var(--mv-gold-500);
  background: linear-gradient(160deg, var(--mv-gold-300), var(--mv-gold-500));
  color: var(--mv-navy-900);
  transform: scale(1.06);
  box-shadow: 0 0 0 7px rgba(213, 162, 74, 0.14);
}

.maverick-pages .stage-item__body {
  display: grid;
  gap: var(--mv-3);
  padding: clamp(20px, 2.4vw, 30px) clamp(20px, 2.6vw, 34px);
  border: 1px solid var(--mv-rule);
  border-radius: var(--mv-r-lg);
  background: var(--mv-surface);
  transition: border-color 0.55s ease, box-shadow 0.55s ease, transform 0.55s var(--mv-ease);
}

.maverick-pages .stage-item.is-lit .stage-item__body {
  border-color: color-mix(in srgb, var(--mv-gold-500) 40%, transparent);
  box-shadow: var(--mv-shadow-md);
}

.maverick-pages .stage-item__kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--mv-accent);
}

.maverick-pages .stage-item h3 {
  display: grid;
  gap: 6px;
  margin: 0;
}

.maverick-pages .stage-item h3 em {
  font-family: var(--mv-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  line-height: 1.06;
  color: var(--mv-accent);
}

.maverick-pages .stage-item h3 span {
  font-size: clamp(1.06rem, 1.8vw, 1.32rem);
  line-height: 1.2;
  letter-spacing: -0.014em;
  font-weight: 700;
  color: var(--mv-fg);
}

.maverick-pages .stage-item p {
  margin: 0;
  max-width: 66ch;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--mv-fg-muted);
}

@media (max-width: 640px) {
  .maverick-pages .stage-track { padding-left: 52px; gap: 26px; }
  .maverick-pages .stage-track::before,
  .maverick-pages .stage-track__fill { left: 21px; }
  .maverick-pages .stage-item__marker { left: -52px; }
  .maverick-pages .stage-item__dot { width: 42px; height: 42px; font-size: 0.82rem; }
}

/* No animation: every stage reads as complete and lit. */
@media (prefers-reduced-motion: reduce) {
  .maverick-pages .stage-track__fill { transform: scaleY(1) !important; transition: none; }
  .maverick-pages .stage-item__dot,
  .maverick-pages .stage-item__body { transition: none; }
}

/* ==========================================================================
   FOUNDER MONOGRAM — used when no verified portrait exists
   ========================================================================== */
.maverick-pages .mv-founder__monogram {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(70% 60% at 50% 34%, rgba(213, 162, 74, 0.24), transparent 68%),
    linear-gradient(165deg, var(--mv-navy-600), var(--mv-navy-900));
  color: var(--mv-gold-300);
  font-family: var(--mv-serif);
  font-size: clamp(4rem, 9vw, 6.4rem);
  line-height: 1;
}

/* ==========================================================================
   ICON + TOUCH-TARGET PASS
   Optical sizing rather than one blanket pixel size, and a 44px minimum on
   anything that is tapped.
   ========================================================================== */

.maverick-pages .mnav__links a,
.maverick-pages .mnav-more > summary { min-height: 44px; display: inline-flex; align-items: center; }

.maverick-pages .page-hero__scroll i { width: 40px; height: 40px; font-size: 1rem; }

.maverick-pages .mv-founder__links a { min-height: 44px; }
.maverick-pages .mv-founder__links svg { width: 17px; height: 17px; }

.maverick-pages .mv-link span,
.maverick-pages .programme-card__cta i { font-size: 0.92rem; }

.maverick-pages .mfooter > div > a { min-height: 30px; display: inline-flex; align-items: center; }

/* Nothing interactive or informative below 12px. */
.maverick-pages .mv-stats span,
.maverick-pages .page-hero__facts span,
.maverick-pages .programme-card__quick span,
.maverick-pages .mv-founder__tag,
.maverick-pages .mfooter__bottom { font-size: max(0.75rem, 12px); }

/* ==========================================================================
   READABILITY + TOUCH FLOOR
   Final QA at 320-430px found label text rendering at 9.4-11.2px and inline
   links only 20px tall. Both fail on a phone. The legacy stylesheets shrink
   uppercase labels with viewport units and have no lower bound, so the floor
   is enforced here rather than by editing each legacy rule.
   ========================================================================== */

.maverick-pages .launch-pill,
.maverick-pages .launch-trust span,
.maverick-pages .home-marquee span,
.maverick-pages .programme-card__code,
.maverick-pages .apply-band > div > span,
.maverick-pages .page-eyebrow,
.maverick-pages .mv-eyebrow,
.maverick-pages .mv-compare__label,
.maverick-pages .mv-list-label,
.maverick-pages .mv-notice b,
.maverick-pages .stage-item__kicker,
.maverick-pages .mv-rail__kicker,
.maverick-pages .form-section__index,
.maverick-pages .mfooter > div > b {
  font-size: max(0.72rem, 12px);
}

.maverick-pages .mv-stats span,
.maverick-pages .page-hero__facts span,
.maverick-pages .programme-card__quick span,
.maverick-pages .mv-founder__tag,
.maverick-pages .mv-founder__front-copy > p,
.maverick-pages .mv-founder__role em,
.maverick-pages .mfooter__bottom,
.maverick-pages .mfooter__bottom span,
.maverick-pages .form-hint,
.maverick-pages .mv-reel__hint {
  font-size: max(0.75rem, 12px);
}

/* Inline text links are real tap targets on touch devices. Padding rather
   than height keeps them inline within a paragraph. */
@media (max-width: 500px) {
  .maverick-pages .mv-link,
  .maverick-pages .legal-breadcrumb a,
  .maverick-pages .legal-links-back a,
  .maverick-pages .legal-pending a,
  .maverick-pages .apply-band__actions a,
  .maverick-pages .mv-btn--quiet {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .maverick-pages .form-consent input[type="checkbox"] {
    width: 24px;
    height: 24px;
  }

  /* Marquee text was 9.9px; give the strip room to carry legible type. */
  .maverick-pages .home-marquee span { font-size: max(0.74rem, 12px); }
}

/* ==========================================================================
   MOBILE BRAND LINE
   `LEARN · BUILD · LAUNCH` sits under the wordmark on desktop but the legacy
   mobile rules hide the whole <small>. It is part of the approved brand
   lockup, so it is restored at a legible size rather than dropped.
   ========================================================================== */
@media (max-width: 900px) {
  .maverick-pages .mnav .mbrand small {
    display: block !important;
    font-size: max(0.66rem, 11px);
    letter-spacing: 0.16em;
    line-height: 1.3;
    color: var(--mv-gold-400);
  }
}

/* ---- final readability/touch sweep ------------------------------------- */

/* Hero console chips sat at 11px. They are decorative labels but still read
   as product claims, so they get the same 12px floor. */
.maverick-pages .launch-chip b,
.maverick-pages .launch-chip small { font-size: max(0.72rem, 12px); line-height: 1.35; }

/* Programme card title is the card's primary link on touch: give the anchor
   a proper target height rather than relying on the stretched ::after. */
@media (max-width: 500px) {
  .maverick-pages .programme-card__body h3 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* Consent checkbox and its policy link. */
  .maverick-pages .form-consent input[type="checkbox"] { width: 26px; height: 26px; }
  .maverick-pages .form-consent a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
  }
}

/* ==========================================================================
   ROUND 4
   ========================================================================== */

/* ---- 1. Inner-page hero headline legibility ----------------------------
   `.page-hero h1` was set at up to 5.9rem with line-height .98 and
   letter-spacing -.052em. That is fine for three words and unreadable for a
   sentence: the Launch System headline ("Learning Gives You Knowledge. The
   Maverick Launch System Helps You Turn It Into a Business.") and the About
   headline both collide with themselves. Looser tracking, real leading, and a
   lower ceiling. */

.maverick-pages .page-hero h1 {
  max-width: 20ch;
  font-size: clamp(2.15rem, 4.3vw, 4.35rem);
  line-height: 1.06;
  letter-spacing: -0.028em;
  text-wrap: balance;
}

/* Long sentence headlines get a wider measure so they do not stack into a
   narrow column of six one-word lines. */
.maverick-pages .page-hero__content > h1 { max-width: 18ch; }

@media (min-width: 900px) {
  .maverick-pages .page-hero__content > h1 { max-width: 22ch; }
}

@media (max-width: 640px) {
  .maverick-pages .page-hero h1 {
    font-size: clamp(1.95rem, 8.4vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.022em;
    max-width: 100%;
  }
}

/* ---- 2. Cream sections: ink weight -------------------------------------
   Reported repeatedly as looking thin. The body colour on cream was a light
   slate that measured well below the ink used on dark sections, so the copy
   read as washed out. These are the working values for text on paper. */

.maverick-pages .mv-light,
.maverick-pages .mv-tint {
  --mv-fg: #0d1620;
  --mv-fg-muted: #414d5b;
  --mv-rule: rgba(13, 22, 32, 0.14);
  --mv-rule-strong: rgba(13, 22, 32, 0.24);
}

.maverick-pages .mv-light .mv-prose p,
.maverick-pages .mv-tint .mv-prose p,
.maverick-pages .mv-light .mv-head > p,
.maverick-pages .mv-tint .mv-head > p {
  color: #3a4653;
}

/* Ledger and compare rows on cream carry real weight rather than hairline
   grey, so a long list stops looking like filler. */
.maverick-pages .mv-light .mv-ledger li,
.maverick-pages .mv-tint .mv-ledger li,
.maverick-pages .mv-light .mv-compare li,
.maverick-pages .mv-tint .mv-compare li {
  color: #16202c;
  font-weight: 500;
}

.maverick-pages .mv-light .mv-chip,
.maverick-pages .mv-tint .mv-chip {
  color: #16202c;
  border-color: rgba(13, 22, 32, 0.18);
  background: #fffdf9;
}

/* ---- 3. Mobile hero fact rail — cards, not a table --------------------- */

@media (max-width: 640px) {
  .maverick-pages .page-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    border-top: 0;
  }
  .maverick-pages .page-hero__facts li {
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--mv-r-md);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(8px);
  }
  .maverick-pages .page-hero__facts li:nth-child(2n),
  .maverick-pages .page-hero__facts li:nth-child(n + 3) {
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }
  /* A gold tick reads as a benefit; a bare row reads as a spreadsheet. */
  .maverick-pages .page-hero__facts b::before {
    content: "◆";
    margin-right: 7px;
    font-size: 0.6em;
    color: var(--mv-gold-400);
    vertical-align: middle;
  }

  /* Home hero stat rail gets the same treatment. */
  .maverick-pages .launch-trust {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    border-top: 0;
  }
  .maverick-pages .launch-trust li {
    padding: 13px 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: var(--mv-r-md);
    background: rgba(255, 255, 255, 0.05);
  }
}

/* ---- 4. Mobile programme cards: tap to expand -------------------------
   On touch there is no hover, so the panel was simply always open and the
   card became a wall of text with no motion at all. A real toggle restores
   the reveal — and the same animation — using a tap. */

@media (hover: none), (pointer: coarse) {
  .maverick-pages .programme-card__detail {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.55s var(--mv-ease-out), opacity 0.4s ease;
  }
  .maverick-pages .programme-card__detail > div { overflow: hidden; }

  .maverick-pages .programme-card.is-open .programme-card__detail {
    grid-template-rows: 1fr;
    opacity: 1;
  }

  .maverick-pages .programme-card__more {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    margin-top: 12px;
    padding: 0 16px;
    border: 1px solid rgba(237, 201, 130, 0.4);
    border-radius: var(--mv-r-pill);
    background: rgba(237, 201, 130, 0.1);
    color: var(--mv-gold-300);
    font-size: max(0.82rem, 13px);
    font-weight: 700;
    cursor: pointer;
  }
  .maverick-pages .programme-card__more i {
    font-style: normal;
    transition: transform 0.4s var(--mv-ease);
  }
  .maverick-pages .programme-card.is-open .programme-card__more i {
    transform: rotate(180deg);
  }
  .maverick-pages .programme-card.is-open .programme-card__quick { display: none; }
}

/* The toggle is meaningless where hover exists. */
@media (hover: hover) and (pointer: fine) {
  .maverick-pages .programme-card__more { display: none; }
}

/* ---- 5. Mobile founder card back: logo + links ------------------------- */

@media (max-width: 640px) {
  .maverick-pages .mv-founder__face--back {
    padding: 16px;
    gap: 10px;
  }
  .maverick-pages .mv-founder__logo {
    min-height: 68px;
    height: 68px;
    padding: 10px 14px;
  }
  .maverick-pages .mv-founder__logo img { max-height: 46px; }
  .maverick-pages .mv-founder__back-copy h3 { font-size: 1.08rem; }
  .maverick-pages .mv-founder__face--back blockquote {
    font-size: 0.9rem;
    line-height: 1.45;
  }
  /* Links were wrapping into a cramped stack; give them a real row. */
  .maverick-pages .mv-founder__links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 8px;
  }
  .maverick-pages .mv-founder__links a {
    justify-content: center;
    min-height: 42px;
    padding: 0 10px;
    font-size: max(0.78rem, 12px);
  }
  /* The toggle must not cover the links on a flipped card. */
  .maverick-pages .mv-founder.is-flipped .mv-founder__toggle { inset: 0 0 72% 0; }
}

/* Home uses the stage rail on a DARK section, so the dot and card surfaces
   must follow the section theme rather than the light page defaults. */
.maverick-pages .mv-dark .stage-item__dot,
.maverick-pages .mv-deep .stage-item__dot { background: var(--mv-bg); }

.maverick-pages .mv-dark .stage-item__body,
.maverick-pages .mv-deep .stage-item__body { background: var(--mv-surface); }

/* Spacing matters here: with four compact steps crammed into one screen every
   stage entered the viewport simultaneously and all four lit at once, so there
   was no progression to see. Spreading them over more scroll distance is what
   makes the effect legible. */
.maverick-pages .mv-dark .stage-track { gap: clamp(34px, 5vw, 74px); }
.maverick-pages .mv-dark .stage-item__body { padding: clamp(24px, 3vw, 38px); }
.maverick-pages .mv-dark .stage-item p { font-size: clamp(1rem, 1.5vw, 1.08rem); }

/* ---- 6. Mobile navigation drawer --------------------------------------
   Reported as poorly arranged. Grouped, scrollable, with real tap targets and
   a clear visual hierarchy between group labels, links and the CTA. */

@media (max-width: 900px) {
  .maverick-pages .mnav-drawer nav {
    display: grid;
    gap: 2px;
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
  }

  .maverick-pages .mnav-drawer__label {
    margin: 16px 0 4px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: max(0.66rem, 11px);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mv-gold-400);
  }
  .maverick-pages .mnav-drawer__label:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  .maverick-pages .mnav-drawer nav > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 0 14px;
    border-radius: var(--mv-r-sm);
    font-size: max(0.95rem, 15px);
    font-weight: 600;
    color: rgba(244, 247, 251, 0.88);
    transition: background 0.25s ease, color 0.25s ease;
  }

  /* A chevron on every row makes it obvious each line is tappable. */
  .maverick-pages .mnav-drawer nav > a:not(.mnav-drawer__cta)::after {
    content: "›";
    font-size: 1.2rem;
    color: rgba(244, 247, 251, 0.34);
  }

  .maverick-pages .mnav-drawer nav > a:active,
  .maverick-pages .mnav-drawer nav > a.is-active {
    background: rgba(237, 201, 130, 0.14);
    color: #fff;
  }
  .maverick-pages .mnav-drawer nav > a.is-active::after { color: var(--mv-gold-400); }

  .maverick-pages .mnav-drawer__sub {
    padding-left: 26px !important;
    font-size: max(0.88rem, 14px) !important;
    font-weight: 500 !important;
    color: rgba(244, 247, 251, 0.7) !important;
  }
  /* Hairline connector so sub-items read as children, not siblings. */
  .maverick-pages .mnav-drawer__sub::before {
    content: "";
    position: absolute;
    left: 14px;
    width: 1px;
    height: 22px;
    background: rgba(237, 201, 130, 0.34);
  }
  .maverick-pages .mnav-drawer__sub { position: relative; }

  .maverick-pages .mnav-drawer__cta {
    justify-content: center !important;
    min-height: 54px !important;
    margin-top: 18px;
    font-size: max(0.95rem, 15px) !important;
  }
  .maverick-pages .mnav-drawer__cta::after { content: none !important; }
}

/* ---- 7. Icons -----------------------------------------------------------
   Rows that were plain text now carry a small consistent mark. Sized
   optically (a circular glyph reads larger than a square one at the same
   pixel height), not by one blanket dimension. */

.maverick-pages .mv-ledger li::before { opacity: 0.9; }

/* Section-foot text links get an explicit outbound/inbound affordance. */
.maverick-pages .mv-link::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 2px;
  border-radius: 50%;
  border: 1px solid currentColor;
  opacity: 0.4;
  background:
    linear-gradient(currentColor, currentColor) center / 8px 1px no-repeat;
  flex: 0 0 auto;
  transition: opacity 0.3s ease, transform 0.35s var(--mv-ease);
}
.maverick-pages .mv-link:hover::before { opacity: 1; transform: translateX(2px); }

/* Contact cards read as actions, not paragraphs. */
.maverick-pages .mv-card__index {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.maverick-pages .mv-card__index::before {
  content: "◆";
  font-size: 0.62em;
  opacity: 0.8;
}

/* Notice blocks get an information mark so they are not mistaken for body. */
.maverick-pages .mv-notice b { display: inline-flex; align-items: center; gap: 8px; }
.maverick-pages .mv-notice b::before {
  content: "i";
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid currentColor;
  font-family: var(--mv-serif);
  font-size: 11px;
  font-style: italic;
}

/* ---- 8. Laptop: raise the scroll cue -----------------------------------
   On short laptop viewports the cue sat too low and read as page furniture.
   Anchoring it higher keeps it inside the hero composition. */
@media (min-width: 901px) and (max-height: 900px) {
  .maverick-pages .page-hero__scroll { bottom: 76px; }
}
@media (min-width: 901px) and (min-height: 901px) {
  .maverick-pages .page-hero__scroll { bottom: 48px; }
}

/* ==========================================================================
   HOME SECTION 2 — editorial composition
   Row 1 (head) is full width. Row 2 pairs the image against the remaining
   copy AND both comparison columns, so neither side is left with a tall
   empty column. The image is 16:10 — close to the source's own proportions,
   so `cover` trims rather than gouges.
   ========================================================================== */

.maverick-pages .mv-figure--editorial img { aspect-ratio: 16 / 10; }

.maverick-pages .gap-editorial {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  grid-template-areas:
    "media copy"
    "media compare";
  grid-template-rows: auto 1fr;
  gap: clamp(22px, 2.8vw, 40px) clamp(26px, 3.4vw, 54px);
  align-items: start;
  margin-top: var(--mv-7);
}

.maverick-pages .gap-editorial__media { grid-area: media; position: sticky; top: 104px; }
.maverick-pages .gap-editorial__copy { grid-area: copy; }
.maverick-pages .gap-editorial__compare { grid-area: compare; }

.maverick-pages .gap-editorial__media .mv-figure img {
  /* Faces sit in the upper third of this photograph. */
  object-position: center 32%;
}

/* Two short lists side by side would be cramped inside the right column, so
   they stack there and stay compact rather than becoming large empty cards. */
.maverick-pages .gap-editorial .mv-compare {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--mv-4);
}

.maverick-pages .gap-editorial .mv-compare__col {
  padding: clamp(18px, 2vw, 26px);
  gap: var(--mv-3);
}

.maverick-pages .gap-editorial .mv-compare li { padding: 9px 0; font-size: 0.95rem; }

/* Side by side from 1200px up. Stacked, the two lists made the right column
   roughly 700px against a 321px image — the tall empty gap under the picture
   that made this section look unresolved. Two columns brings the right side to
   a similar height, which is what "balanced visual mass" actually requires. */
@media (min-width: 1200px) {
  .maverick-pages .gap-editorial .mv-compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--mv-3);
  }
  .maverick-pages .gap-editorial .mv-compare__col { padding: clamp(16px, 1.5vw, 22px); }
  .maverick-pages .gap-editorial .mv-compare li { padding: 8px 0; font-size: 0.9rem; }
}

/* The image can carry more height now that the copy side is shorter. */
@media (min-width: 1024px) {
  .maverick-pages .gap-editorial .mv-figure--editorial img { aspect-ratio: 4 / 3; }
}

/* Tablet and below: copy, then image, then comparison — the requested order. */
@media (max-width: 1023px) {
  .maverick-pages .gap-editorial {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "copy"
      "media"
      "compare";
    grid-template-rows: auto auto auto;
    gap: var(--mv-6);
  }
  .maverick-pages .gap-editorial__media { position: static; }
  .maverick-pages .mv-figure--editorial img { aspect-ratio: 16 / 9; }
  .maverick-pages .gap-editorial .mv-compare {
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  }
}

@media (max-width: 520px) {
  .maverick-pages .mv-figure--editorial img { aspect-ratio: 4 / 3; }
}

/* ==========================================================================
   TYPOGRAPHY STANDARDISATION — client QA, 2026-08-31
   One consistent scale and three purposeful weights across public pages.
   This final layer intentionally overrides older one-off component sizes.
   ========================================================================== */
.maverick-pages.maverick-pages {
  --mv-type-label: 0.8125rem;   /* 13px */
  --mv-type-small: 0.875rem;    /* 14px */
  --mv-type-body: 1rem;         /* 16px */
  --mv-type-lead: 1.125rem;     /* 18px */
  --mv-type-card: 1.375rem;     /* 22px */
  --mv-type-section: clamp(2rem, 3.8vw, 3.25rem);
  --mv-type-display: clamp(2.5rem, 5.8vw, 4.5rem);
  --mv-weight-regular: 400;
  --mv-weight-semibold: 600;
  --mv-weight-bold: 700;
}

/* Body copy: a single dependable reading size. */
.maverick-pages.maverick-pages p,
.maverick-pages.maverick-pages li,
.maverick-pages.maverick-pages dd,
.maverick-pages.maverick-pages dt,
.maverick-pages.maverick-pages input,
.maverick-pages.maverick-pages textarea,
.maverick-pages.maverick-pages select,
.maverick-pages.maverick-pages label {
  font-size: var(--mv-type-body);
  font-weight: var(--mv-weight-regular);
}
.maverick-pages.maverick-pages strong,
.maverick-pages.maverick-pages b { font-weight: var(--mv-weight-semibold); }

/* Display + section hierarchy. */
.maverick-pages.maverick-pages .launch-hero__copy h1,
.maverick-pages.maverick-pages .page-hero__content h1 {
  font-size: var(--mv-type-display);
  line-height: 1.02;
  font-weight: var(--mv-weight-bold);
  letter-spacing: -0.035em;
}
.maverick-pages.maverick-pages .launch-hero__copy h1 strong {
  font-size: inherit;
  font-weight: var(--mv-weight-bold);
}
.maverick-pages.maverick-pages .mv-head > h2,
.maverick-pages.maverick-pages .mv-split__copy > h2,
.maverick-pages.maverick-pages .mv-highlight,
.maverick-pages.maverick-pages .mv-reel__head h2,
.maverick-pages.maverick-pages .apply-band h2 {
  font-size: var(--mv-type-section);
  line-height: 1.08;
  font-weight: var(--mv-weight-bold);
  letter-spacing: -0.025em;
}
.maverick-pages.maverick-pages .mv-card h3,
.maverick-pages.maverick-pages .programme-card h3,
.maverick-pages.maverick-pages .mv-rail__body > h3,
.maverick-pages.maverick-pages .ecosystem-entry h3,
.maverick-pages.maverick-pages .legal-body h3,
.maverick-pages.maverick-pages .legal-pending h3 {
  font-size: var(--mv-type-card);
  line-height: 1.22;
  font-weight: var(--mv-weight-semibold);
  letter-spacing: -0.015em;
}

/* Lead copy is reserved for hero / section intros only. */
.maverick-pages.maverick-pages .launch-hero__copy > p,
.maverick-pages.maverick-pages .page-hero__content > p:not(.page-hero__lede),
.maverick-pages.maverick-pages .mv-head > p,
.maverick-pages.maverick-pages .apply-band > div > p {
  font-size: var(--mv-type-lead);
  font-weight: var(--mv-weight-regular);
  line-height: 1.65;
}
.maverick-pages.maverick-pages .page-hero__lede,
.maverick-pages.maverick-pages .mv-prose p,
.maverick-pages.maverick-pages .mv-split__copy > p,
.maverick-pages.maverick-pages .stage-item p,
.maverick-pages.maverick-pages .programme-card__summary,
.maverick-pages.maverick-pages .mv-rail__body > p,
.maverick-pages.maverick-pages .mv-notice p {
  font-size: var(--mv-type-body);
  font-weight: var(--mv-weight-regular);
  line-height: 1.68;
}

/* Labels, metadata, navigation and controls share one compact scale. */
.maverick-pages.maverick-pages .mv-eyebrow,
.maverick-pages.maverick-pages .page-eyebrow,
.maverick-pages.maverick-pages .launch-pill,
.maverick-pages.maverick-pages .home-marquee span,
.maverick-pages.maverick-pages .mv-list-label,
.maverick-pages.maverick-pages .mv-compare__label,
.maverick-pages.maverick-pages .programme-card__code,
.maverick-pages.maverick-pages .programme-card__quick span,
.maverick-pages.maverick-pages .programme-card__facts dt,
.maverick-pages.maverick-pages .page-hero__facts span,
.maverick-pages.maverick-pages .stage-item__kicker,
.maverick-pages.maverick-pages .mv-rail__kicker,
.maverick-pages.maverick-pages .mv-founder__tag,
.maverick-pages.maverick-pages .form-section__index,
.maverick-pages.maverick-pages .form-hint,
.maverick-pages.maverick-pages .mfooter > div > b,
.maverick-pages.maverick-pages .mfooter__bottom,
.maverick-pages.maverick-pages .mnav__links a,
.maverick-pages.maverick-pages .mnav-more > summary,
.maverick-pages.maverick-pages .mnav__login,
.maverick-pages.maverick-pages .premium-button,
.maverick-pages.maverick-pages .mv-btn,
.maverick-pages.maverick-pages .mv-link,
.maverick-pages.maverick-pages button {
  font-size: var(--mv-type-label);
  font-weight: var(--mv-weight-semibold);
}
.maverick-pages.maverick-pages .mbrand b { font-weight: var(--mv-weight-bold); }
.maverick-pages.maverick-pages .mbrand small {
  font-size: var(--mv-type-label);
  font-weight: var(--mv-weight-regular);
}

/* Facts stay compact and aligned instead of introducing new one-off sizes. */
.maverick-pages.maverick-pages .page-hero__facts b,
.maverick-pages.maverick-pages .programme-card__quick b,
.maverick-pages.maverick-pages .programme-card__facts dd,
.maverick-pages.maverick-pages .mv-stats b {
  font-size: var(--mv-type-lead);
  font-weight: var(--mv-weight-semibold);
}
.maverick-pages.maverick-pages .mv-ledger li,
.maverick-pages.maverick-pages .mv-chip,
.maverick-pages.maverick-pages .why-options li,
.maverick-pages.maverick-pages .programme-card__headline,
.maverick-pages.maverick-pages .form-investment b,
.maverick-pages.maverick-pages .form-investment span {
  font-size: var(--mv-type-body);
}

/* Keep the intentional serif accent, but avoid another font-weight tier. */
.maverick-pages.maverick-pages .stage-item h3 em {
  font-size: var(--mv-type-card);
  font-weight: var(--mv-weight-regular);
}
.maverick-pages.maverick-pages .stage-item h3 span {
  font-size: var(--mv-type-lead);
  font-weight: var(--mv-weight-semibold);
}

/* The correction deck removes the mobile 'view details' line. On touch,
   details therefore remain readable without a hidden hover-only state. */
@media (hover: none), (pointer: coarse) {
  .maverick-pages.maverick-pages .programme-card__detail {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .maverick-pages.maverick-pages .programme-card__detail > div { overflow: visible; }
  .maverick-pages.maverick-pages .programme-card__more { display: none !important; }
}

@media (max-width: 640px) {
  .maverick-pages.maverick-pages {
    --mv-type-lead: 1.0625rem;
    --mv-type-card: 1.25rem;
    --mv-type-section: clamp(1.85rem, 9vw, 2.55rem);
    --mv-type-display: clamp(2.35rem, 11vw, 3.35rem);
  }
}

/* Final semantic type guard: every public heading now uses the same three
   levels, including forms, founder cards, FAQs and legal pages that previously
   retained one-off component sizes. */
.maverick-pages.maverick-pages h1 {
  font-size: var(--mv-type-display);
  line-height: 1.02;
  font-weight: var(--mv-weight-bold);
  letter-spacing: -0.035em;
}
.maverick-pages.maverick-pages h2 {
  font-size: var(--mv-type-section);
  line-height: 1.08;
  font-weight: var(--mv-weight-bold);
  letter-spacing: -0.025em;
}
.maverick-pages.maverick-pages h3,
.maverick-pages.maverick-pages h4 {
  font-size: var(--mv-type-card);
  line-height: 1.22;
  font-weight: var(--mv-weight-semibold);
  letter-spacing: -0.015em;
}
.maverick-pages.maverick-pages blockquote,
.maverick-pages.maverick-pages figcaption,
.maverick-pages.maverick-pages .mv-founder__role,
.maverick-pages.maverick-pages .mv-founder__front-copy > p,
.maverick-pages.maverick-pages .mfooter p,
.maverick-pages.maverick-pages .mfooter a {
  font-size: var(--mv-type-small);
  font-weight: var(--mv-weight-regular);
  line-height: 1.55;
}
.maverick-pages.maverick-pages .mv-founder__front-copy h3,
.maverick-pages.maverick-pages .mv-founder__back-copy h3,
.maverick-pages.maverick-pages .form-section h2,
.maverick-pages.maverick-pages .mv-faq h3 {
  font-size: var(--mv-type-card);
  font-weight: var(--mv-weight-semibold);
}


/* ===== SOURCE: app/final-pages.css ===== */
.final-copy__bridge {
  margin: 0;
  padding: clamp(36px, 5vw, 64px) max(22px, calc((100vw - 940px) / 2));
  color: #fff;
  background: #0a2140;
  font: 500 clamp(1.3rem, 2.3vw, 2rem)/1.45 Georgia, "Times New Roman", serif;
  text-align: center;
}

.final-copy { background: #f7f4ee; color: #101c2c; }
.final-copy__section { padding: clamp(48px, 6vw, 88px) 22px; border-top: 1px solid rgba(16, 28, 44, .1); }
.final-copy__section--standard:nth-child(even), .final-copy__section--summary { background: #fff; }
.final-copy__section--feature, .final-copy__section--stage, .final-copy__section.is-intro { background: linear-gradient(145deg, #0a2140, #04101f); color: #fff; }
.final-copy__section--story { padding-block: clamp(42px, 5vw, 70px); background: linear-gradient(90deg, #fff, #fbf6eb); }
.final-copy__inner { width: min(920px, 100%); margin: 0 auto; }
.final-copy__inner > h2:first-child, .final-copy__inner > .final-copy__kicker:first-child { margin-top: 0; }
.final-copy__kicker { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.1rem; color: #e3a93f; font-size: max(.76rem, 12px); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.final-copy__kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.final-copy__title { max-width: 16ch; margin: 0 0 1.2rem; font-size: clamp(2.3rem, 4.35vw, 4.35rem); line-height: 1.03; letter-spacing: -.045em; text-wrap: balance; }
.final-copy__subtitle { max-width: 25ch; margin: 1.8rem 0 1rem; font-size: clamp(1.5rem, 2.5vw, 2.35rem); line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.final-copy__label { margin: 2rem 0 .65rem; color: #a66f13; font-size: max(.92rem, 14px); line-height: 1.4; letter-spacing: .025em; }
.final-copy p, .final-copy li, .final-copy td, .final-copy th { font-size: clamp(1rem, .96rem + .16vw, 1.1rem); line-height: 1.78; }
.final-copy p { max-width: 76ch; margin: 0 0 1.15rem; }
.final-copy ul { display: grid; gap: .5rem; margin: 1.2rem 0 1.8rem; padding: 0; list-style: none; }
.final-copy li { position: relative; padding-left: 1.5rem; }
.final-copy li::before { content: ""; position: absolute; left: 0; top: .75em; width: 7px; height: 7px; border-radius: 50%; background: #e3a93f; }
.final-copy blockquote { margin: 1.7rem 0; padding: 1.25rem 1.5rem; border-left: 3px solid #e3a93f; background: rgba(227, 169, 63, .09); font: 500 clamp(1.12rem, 1.5vw, 1.35rem)/1.62 Georgia, "Times New Roman", serif; }
.final-copy__section--feature p, .final-copy__section--feature li, .final-copy__section--stage p, .final-copy__section--stage li, .final-copy__section.is-intro p { color: rgba(255,255,255,.78); }
.final-copy__section--feature .final-copy__label, .final-copy__section--stage .final-copy__label, .final-copy__section.is-intro .final-copy__label { color: #f7d08a; }
.final-copy__section--feature blockquote, .final-copy__section--stage blockquote, .final-copy__section.is-intro blockquote { color: #fff; background: rgba(255,255,255,.06); }
.final-copy__section--stage .final-copy__subtitle { color: #fff; }
.final-copy__section--story .final-copy__subtitle { color: #0a2140; }
.final-copy__section.is-intro { text-align: center; }
.final-copy__section.is-intro .final-copy__inner { width: min(760px, 100%); }
.final-copy__section.is-intro p { margin-inline: auto; }
.final-copy__table-wrap { margin: 2rem 0; overflow-x: auto; border: 1px solid rgba(16,28,44,.12); border-radius: 18px; }
.final-copy table { width: 100%; border-collapse: collapse; background: #fff; }
.final-copy th, .final-copy td { padding: 1rem 1.1rem; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(16,28,44,.1); }
.final-copy th { color: #fff; background: #0a2140; }
.final-copy tr:last-child td { border-bottom: 0; }
.final-copy__action { width: fit-content; margin: .45rem .65rem .45rem 0; vertical-align: middle; }

.maverick-pages .mfooter .mfooter__social {
  width: min(100%, 340px);
  margin-top: 1.25rem;
}

.maverick-pages .mfooter .mfooter__social > b {
  font-size: max(.7rem, 12px);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #efbb63;
}

.maverick-pages .mfooter .mfooter__social-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
  margin-top: .6rem;
}

.maverick-pages .mfooter .mfooter__social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 0;
  min-height: 44px;
  padding: .55rem .4rem;
  color: rgba(255, 255, 255, .8);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  font-size: max(.72rem, 12px);
  line-height: 1;
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}

.maverick-pages .mfooter .mfooter__social-links a:hover {
  color: #fff;
  border-color: rgba(239, 187, 99, .55);
  background: rgba(239, 187, 99, .1);
  transform: translateY(-2px);
}

.maverick-pages .mfooter .mfooter__social-links a:focus-visible {
  outline: 2px solid #efbb63;
  outline-offset: 3px;
}

.maverick-pages .mfooter .mfooter__social-links svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.maverick-pages .mfooter .mfooter__social-links .mfooter__social-dot {
  fill: currentColor;
  stroke: none;
}

.maverick-pages .mfooter .mfooter__social-links a:last-child path {
  fill: currentColor;
  stroke: none;
}

@media (max-width: 1080px) {
  .mfooter { grid-template-columns: 1fr 1fr 1fr; }
  .mfooter__brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .final-copy__section { padding-inline: 20px; }
  .final-copy blockquote { margin-inline: 0; padding-inline: 1.1rem; }
  .final-copy th, .final-copy td { min-width: 180px; }
  .mfooter { grid-template-columns: 1fr 1fr; }
  .maverick-pages .mfooter .mfooter__social-links {
    gap: .4rem;
  }
  .maverick-pages .mfooter .mfooter__social-links a {
    gap: .35rem;
    padding-inline: .45rem;
    font-size: .72rem;
  }
  .maverick-pages .mfooter .mfooter__social-links svg {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
}

/* ======================================================================
   Public-only redesign: Launch System + Insights
   ====================================================================== */

.final-copy__bridge {
  margin: 0;
  padding: clamp(26px, 3.5vw, 40px) max(22px, calc((100vw - 1180px) / 2));
  color: rgba(255,255,255,.9);
  background:
    radial-gradient(circle at 12% 14%, rgba(239, 187, 99, .16), transparent 24%),
    linear-gradient(180deg, #07172d, #0a2140);
  font-size: clamp(1.02rem, 1.2rem + .15vw, 1.22rem);
  line-height: 1.7;
  text-align: center;
}

.structured-page {
  background: linear-gradient(180deg, #f8f4ed 0%, #fdfbf8 100%);
  color: #111f31;
}

.structured-intro,
.structured-accordion {
  padding: clamp(38px, 5vw, 68px) max(22px, calc((100vw - 1180px) / 2));
}

.structured-intro {
  background:
    radial-gradient(circle at 88% 12%, rgba(213, 162, 74, .14), transparent 30%),
    linear-gradient(180deg, #fbf8f2 0%, #f6f1e8 100%);
  border-top: 1px solid rgba(17, 31, 49, .08);
  border-bottom: 1px solid rgba(17, 31, 49, .08);
}

.structured-intro__inner {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 26px;
  align-items: start;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.structured-intro__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: .8rem;
  color: #a66f13;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.structured-intro__eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
}

.structured-intro h2 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.03;
  letter-spacing: -.04em;
  max-width: 14ch;
  text-wrap: balance;
}

.structured-accordion {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.structured-card {
  border: 1px solid rgba(17, 31, 49, .1);
  border-radius: 30px;
  overflow: clip;
  background: #fff;
  box-shadow: 0 18px 40px rgba(9, 26, 48, .06);
}

.structured-card--stage,
.structured-card--feature,
.structured-card--story {
  background: linear-gradient(135deg, #07172d 0%, #0c2241 54%, #0b1d37 100%);
  color: #fff;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 24px 54px rgba(2, 11, 24, .26);
}

.structured-card__trigger {
  width: 100%;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  gap: 18px;
  padding: 28px 30px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.structured-card__number {
  align-self: start;
  color: rgba(17, 31, 49, .22);
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.05em;
}

.structured-card--stage .structured-card__number,
.structured-card--feature .structured-card__number,
.structured-card--story .structured-card__number {
  color: rgba(255,255,255,.22);
}

.structured-card__content { min-width: 0; }

.structured-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.structured-card__eyebrow,
.structured-card__tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(17,31,49,.12);
  background: rgba(17,31,49,.04);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #0a2140;
}

.structured-card--stage .structured-card__eyebrow,
.structured-card--feature .structured-card__eyebrow,
.structured-card--story .structured-card__eyebrow,
.structured-card--stage .structured-card__tag,
.structured-card--feature .structured-card__tag,
.structured-card--story .structured-card__tag {
  color: #fff;
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
}

.structured-card h3 {
  margin: 0;
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  line-height: 1.06;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.structured-card__subtitle {
  margin: .55rem 0 0;
  font-size: clamp(1rem, 1rem + .15vw, 1.18rem);
  font-weight: 700;
  line-height: 1.45;
  color: inherit;
  opacity: .92;
}

.structured-card__lead {
  margin: .7rem 0 0;
  max-width: 68ch;
  font-size: 1rem;
  line-height: 1.68;
  color: rgba(17,31,49,.74);
}

.structured-card--stage .structured-card__lead,
.structured-card--feature .structured-card__lead,
.structured-card--story .structured-card__lead {
  color: rgba(255,255,255,.74);
}

.structured-card__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  align-self: center;
  border-radius: 50%;
  border: 1px solid rgba(17,31,49,.12);
  background: rgba(17,31,49,.04);
  font-size: 1.2rem;
  font-weight: 700;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}

.structured-card--stage .structured-card__icon,
.structured-card--feature .structured-card__icon,
.structured-card--story .structured-card__icon {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

.structured-card.is-open .structured-card__icon { transform: rotate(180deg); }

.structured-card__panel {
  padding: 0 30px 30px 126px;
}

.structured-card__panel-inner {
  border-top: 1px solid rgba(17,31,49,.1);
  padding-top: 24px;
}

.structured-card--stage .structured-card__panel-inner,
.structured-card--feature .structured-card__panel-inner,
.structured-card--story .structured-card__panel-inner {
  border-top-color: rgba(255,255,255,.12);
}

.structured-prose .final-copy__kicker,
.structured-prose .final-copy__title {
  display: none;
}

.structured-prose .final-copy__subtitle {
  margin: 0 0 1rem;
  font-size: clamp(1.3rem, 1.4rem + .3vw, 1.9rem);
  line-height: 1.18;
  letter-spacing: -.025em;
  color: inherit;
}

.structured-prose .final-copy__label {
  margin: 1.5rem 0 .65rem;
  color: #a66f13;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.structured-card--stage .structured-prose .final-copy__label,
.structured-card--feature .structured-prose .final-copy__label,
.structured-card--story .structured-prose .final-copy__label {
  color: #f7d08a;
}

.structured-prose p,
.structured-prose li,
.structured-prose td,
.structured-prose th {
  font-size: clamp(1rem, .98rem + .15vw, 1.08rem);
  line-height: 1.78;
}

.structured-prose p {
  max-width: 76ch;
  margin: 0 0 1rem;
  color: #3a4654;
}

.structured-card--stage .structured-prose p,
.structured-card--feature .structured-prose p,
.structured-card--story .structured-prose p,
.structured-card--stage .structured-prose li,
.structured-card--feature .structured-prose li,
.structured-card--story .structured-prose li {
  color: rgba(255,255,255,.82);
}

.structured-prose ul {
  display: grid;
  gap: .55rem;
  margin: 1.15rem 0 1.5rem;
  padding: 0;
  list-style: none;
}

.structured-prose li {
  position: relative;
  padding-left: 1.45rem;
}

.structured-prose li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .78em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e3a93f;
}

.structured-prose blockquote {
  margin: 1.35rem 0;
  padding: 1.1rem 1.2rem;
  border-left: 3px solid #e3a93f;
  background: rgba(227, 169, 63, .08);
  color: #111f31;
  font-size: clamp(1.05rem, 1.05rem + .2vw, 1.22rem);
  line-height: 1.65;
}

.structured-card--stage .structured-prose blockquote,
.structured-card--feature .structured-prose blockquote,
.structured-card--story .structured-prose blockquote {
  background: rgba(255,255,255,.06);
  color: #fff;
}

.structured-prose .final-copy__table-wrap {
  margin: 1.4rem 0;
  overflow-x: auto;
  border: 1px solid rgba(17,31,49,.12);
  border-radius: 18px;
  background: #fff;
}

.structured-prose table { width: 100%; border-collapse: collapse; }
.structured-prose th,
.structured-prose td {
  padding: .9rem 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(17,31,49,.08);
}

.structured-prose th {
  color: #fff;
  background: #0a2140;
}

.structured-prose tr:last-child td { border-bottom: 0; }

.structured-prose .final-copy__action {
  margin-top: .35rem;
}

.maverick-pages .page-hero__facts li {
  padding: 25px 18px 25px 0;
}

@media (max-width: 900px) {
  .structured-intro__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .structured-intro,
  .structured-accordion {
    padding-inline: 18px;
  }

  .structured-card__trigger {
    grid-template-columns: 1fr auto;
    gap: 14px;
    padding: 22px 18px;
  }

  .structured-card__number {
    grid-column: 1 / -1;
    font-size: 2rem;
  }

  .structured-card__panel {
    padding: 0 18px 22px;
  }

  .structured-card__panel-inner {
    padding-top: 18px;
  }

  .structured-card__icon {
    width: 44px;
    height: 44px;
  }

  .maverick-pages .page-hero__facts li {
    padding: 25px;
  }
}

/* ======================================================================
   Public programme cards — mobile tap interaction
   Desktop keeps the existing hover reveal. Touch devices get an explicit
   tap control because hover is not a reliable interaction on mobile.
   ====================================================================== */

.maverick-pages .programme-card__more {
  display: none;
}

@media (hover: none), (pointer: coarse) {
  .maverick-pages.maverick-pages .programme-card__more {
    position: relative;
    z-index: 6;
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 46px;
    margin-top: 10px;
    padding: 0 16px;
    border: 1px solid rgba(237, 201, 130, .42);
    border-radius: 999px;
    background: rgba(237, 201, 130, .08);
    color: #f1c978;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
  }

  .maverick-pages.maverick-pages .programme-card__more:active {
    transform: scale(.985);
  }

  .maverick-pages.maverick-pages .programme-card__more i {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    font-style: normal;
    font-size: 18px;
    line-height: 1;
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
  }

  .maverick-pages.maverick-pages .programme-card__detail {
    display: grid;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
    visibility: hidden;
    transform: translateY(-6px);
    transition:
      grid-template-rows .55s cubic-bezier(.2,.8,.2,1),
      opacity .35s ease,
      transform .45s cubic-bezier(.2,.8,.2,1),
      visibility 0s linear .55s;
  }

  .maverick-pages.maverick-pages .programme-card__detail > div {
    min-height: 0;
    overflow: hidden !important;
  }

  .maverick-pages.maverick-pages .programme-card.is-open .programme-card__detail {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }

  .maverick-pages.maverick-pages .programme-card.is-open .programme-card__more {
    border-color: rgba(237, 201, 130, .68);
    background: rgba(237, 201, 130, .14);
  }

  .maverick-pages.maverick-pages .programme-card.is-open .programme-card__more i {
    transform: rotate(180deg);
  }

  .maverick-pages.maverick-pages .programme-card.is-open .programme-card__quick {
    display: none;
  }

  .maverick-pages.maverick-pages .programme-card.is-open {
    border-color: rgba(213, 162, 74, .5);
    box-shadow: 0 18px 44px rgba(4, 16, 31, .18);
  }

  .maverick-pages.maverick-pages .programme-card.is-open .programme-card__media img {
    transform: scale(1.045);
  }
}

@media (hover: hover) and (pointer: fine) {
  .maverick-pages.maverick-pages .programme-card__more {
    display: none !important;
  }
}

/* ======================================================================
   Final polish pass — Launch System + Insights only
   Compact by default; one section expands only after an explicit click.
   ====================================================================== */

.public-detail-page .page-hero__image {
  filter: saturate(.96) contrast(1.04) brightness(1.02);
}

.public-detail-page .page-hero__veil {
  background:
    linear-gradient(90deg, rgba(4,16,31,.96) 0%, rgba(4,16,31,.82) 42%, rgba(4,16,31,.18) 78%),
    linear-gradient(0deg, rgba(4,16,31,.72), transparent 58%);
}

.public-detail-page .page-hero__facts li {
  padding-top: 25px;
  padding-bottom: 25px;
}

.launch-overview {
  padding: clamp(42px, 5vw, 72px) max(22px, calc((100vw - 1180px) / 2));
  background:
    radial-gradient(circle at 90% 0%, rgba(213,162,74,.15), transparent 30%),
    linear-gradient(180deg, #fbf8f2 0%, #f5efe5 100%);
  border-top: 1px solid rgba(17,31,49,.08);
  border-bottom: 1px solid rgba(17,31,49,.08);
}

.launch-overview__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.launch-overview__heading {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: end;
  margin-bottom: clamp(26px, 3.2vw, 42px);
}

.launch-overview__heading .structured-intro__eyebrow {
  margin: 0;
  align-self: start;
}

.launch-overview__heading h2 {
  margin: 0;
  max-width: 18ch;
  font-size: clamp(2rem, 3.5vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.launch-overview__questions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.launch-overview__question {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid rgba(17,31,49,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 24px rgba(9,26,48,.045);
}

.launch-overview__question > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #0a2140;
  background: #f4dfb5;
  font-size: .73rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.launch-overview__question p {
  margin: 0;
  color: #1d2a39;
  font-size: .96rem;
  font-weight: 650;
  line-height: 1.4;
}

.launch-overview__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 18px 36px;
  margin-top: clamp(26px, 3.5vw, 44px);
  padding-top: clamp(24px, 3vw, 38px);
  border-top: 1px solid rgba(17,31,49,.12);
}

.launch-overview__copy p,
.launch-overview__summary > p {
  margin: 0 0 .8rem;
  max-width: 70ch;
  color: #3d4855;
  font-size: 1.02rem;
  line-height: 1.72;
}

.launch-overview__framework {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 142px;
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(239,187,99,.32);
  border-radius: 22px;
  background: linear-gradient(135deg, #07172d, #0a2140);
  color: #f7d08a;
  text-align: center;
  font-size: clamp(1.08rem, 1.4vw, 1.34rem);
  line-height: 1.55;
  box-shadow: 0 18px 36px rgba(7,23,45,.14);
}

/* Compact, standardised rows. */
.structured-accordion {
  gap: 14px;
}

.structured-card {
  border-radius: 24px;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.structured-card:not(.is-open):hover {
  transform: translateY(-2px);
  border-color: rgba(166,111,19,.22);
  box-shadow: 0 20px 44px rgba(9,26,48,.09);
}

.structured-card__trigger {
  grid-template-columns: 70px minmax(0, 1fr) 48px;
  gap: 20px;
  min-height: 142px;
  padding: 24px 28px;
  align-items: center;
}

.structured-card__number {
  align-self: center;
  font-size: clamp(2.25rem, 3.4vw, 3.5rem);
}

.structured-card__meta {
  gap: 8px;
  margin-bottom: 8px;
}

.structured-card__eyebrow,
.structured-card__tag {
  min-height: 28px;
  padding: 0 11px;
  font-size: max(.66rem, 11px);
  letter-spacing: .1em;
}

.structured-card h3 {
  font-size: clamp(1.34rem, 1.65vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -.03em;
}

.structured-card__preview {
  display: -webkit-box;
  margin: .48rem 0 0;
  max-width: 74ch;
  overflow: hidden;
  color: rgba(17,31,49,.68);
  font-size: .94rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.structured-card--stage .structured-card__preview,
.structured-card--feature .structured-card__preview,
.structured-card--story .structured-card__preview {
  color: rgba(255,255,255,.7);
}

.structured-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  font-size: 1.4rem;
  line-height: 1;
}

.structured-card__icon > span {
  display: block;
  transform: translateY(-1px);
}

.structured-card.is-open .structured-card__icon {
  transform: none;
  border-color: rgba(227,169,63,.5);
  background: rgba(227,169,63,.12);
  color: #d99e32;
}

/* Smooth accordion without pre-opening any content. */
.structured-card__panel {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 28px 0 118px;
  opacity: 0;
  pointer-events: none;
  transition:
    grid-template-rows .46s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    padding-bottom .46s cubic-bezier(.2,.8,.2,1);
}

.structured-card.is-open .structured-card__panel {
  grid-template-rows: 1fr;
  padding-bottom: 28px;
  opacity: 1;
  pointer-events: auto;
}

.structured-card__panel-inner {
  min-height: 0;
  overflow: hidden;
  padding-top: 0;
  border-top: 0;
}

.structured-card.is-open .structured-card__panel-inner {
  padding-top: 24px;
  border-top: 1px solid rgba(17,31,49,.1);
}

.structured-card--stage.is-open .structured-card__panel-inner,
.structured-card--feature.is-open .structured-card__panel-inner,
.structured-card--story.is-open .structured-card__panel-inner {
  border-top-color: rgba(255,255,255,.12);
}

@media (max-width: 900px) {
  .launch-overview__heading,
  .launch-overview__summary {
    grid-template-columns: 1fr;
  }

  .launch-overview__framework {
    grid-column: auto;
    grid-row: auto;
  }

  .launch-overview__questions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .public-detail-page .page-hero__facts li {
    padding: 25px;
  }

  .launch-overview {
    padding-inline: 18px;
  }

  .launch-overview__questions {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .launch-overview__question {
    min-height: 66px;
    padding: 13px 14px;
  }

  .structured-card__trigger {
    grid-template-columns: 48px minmax(0, 1fr) 42px;
    gap: 12px;
    min-height: 126px;
    padding: 18px 16px;
  }

  .structured-card__number {
    grid-column: auto;
    font-size: 1.65rem;
  }

  .structured-card__content {
    align-self: center;
  }

  .structured-card__meta {
    margin-bottom: 6px;
  }

  .structured-card__eyebrow,
  .structured-card__tag {
    min-height: 25px;
    padding: 0 9px;
    font-size: 10px;
  }

  .structured-card h3 {
    font-size: 1.16rem;
  }

  .structured-card__preview {
    -webkit-line-clamp: 2;
    font-size: .86rem;
  }

  .structured-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  .structured-card__panel,
  .structured-card.is-open .structured-card__panel {
    padding-left: 16px;
    padding-right: 16px;
  }

  .structured-card.is-open .structured-card__panel {
    padding-bottom: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .structured-card,
  .structured-card__panel,
  .structured-card__icon {
    transition: none !important;
  }
}

/* ======================================================================
   Hierarchy-aware Launch System + Insights structure
   Only stages/playbooks are accordions. Supporting content follows its
   natural content type instead of becoming a generic numbered card.
   ====================================================================== */

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #a66f13;
  font-size: max(.7rem, 11px);
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.section-kicker::before {
  content: "";
  width: 30px;
  height: 1px;
  background: currentColor;
}

.hierarchy-section {
  padding: clamp(58px, 7vw, 96px) max(22px, calc((100vw - 1180px) / 2));
  background:
    radial-gradient(circle at 94% 4%, rgba(213,162,74,.11), transparent 24%),
    linear-gradient(180deg, #f8f4ed 0%, #fdfbf8 100%);
}

.hierarchy-section__head {
  width: min(820px, 100%);
  margin: 0 auto clamp(28px, 4vw, 46px);
  text-align: center;
}

.hierarchy-section__head .section-kicker { justify-content: center; }
.hierarchy-section__head h2 {
  margin: 14px auto 0;
  max-width: 18ch;
  color: #101f33;
  font-size: clamp(2rem, 3.5vw, 3.6rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.hierarchy-section__head p {
  max-width: 64ch;
  margin: 16px auto 0;
  color: #526071;
  font-size: 1.02rem;
  line-height: 1.72;
}

.stage-ribbon {
  width: min(1050px, 100%);
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 28px rgba(7,23,45,.05);
}

.stage-ribbon span {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 16px 18px;
  align-content: center;
  border-right: 1px solid rgba(13,34,64,.08);
  color: #132239;
  font-size: .84rem;
  font-weight: 750;
  text-align: center;
}

.stage-ribbon span:last-child { border-right: 0; }
.stage-ribbon b {
  color: #bd8120;
  font-size: .68rem;
  letter-spacing: .14em;
}

.hierarchy-accordion {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.hierarchy-card {
  overflow: hidden;
  border: 1px solid rgba(13,34,64,.11);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(7,23,45,.055);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.hierarchy-card:not(.is-open):hover {
  transform: translateY(-2px);
  border-color: rgba(189,129,32,.25);
  box-shadow: 0 18px 42px rgba(7,23,45,.09);
}

.hierarchy-card--stage.is-open {
  border-color: rgba(239,187,99,.24);
  background: linear-gradient(145deg, #07172d 0%, #0a2140 100%);
  color: #fff;
  box-shadow: 0 24px 60px rgba(4,16,31,.2);
}

.hierarchy-card--playbook.is-open {
  border-color: rgba(189,129,32,.2);
  box-shadow: 0 24px 60px rgba(7,23,45,.11);
}

.hierarchy-card__trigger {
  width: 100%;
  min-height: 128px;
  display: grid;
  grid-template-columns: 72px minmax(0,1fr) 48px;
  gap: 22px;
  align-items: center;
  padding: 22px 28px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.hierarchy-card__number {
  color: rgba(13,34,64,.18);
  font-size: clamp(2.45rem, 4vw, 3.7rem);
  font-weight: 850;
  line-height: .9;
  letter-spacing: -.055em;
  font-variant-numeric: tabular-nums;
}

.hierarchy-card--stage.is-open .hierarchy-card__number { color: rgba(255,255,255,.18); }

.hierarchy-card__copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.hierarchy-card__eyebrow {
  width: fit-content;
  padding: 5px 10px;
  border: 1px solid rgba(13,34,64,.11);
  border-radius: 999px;
  background: rgba(13,34,64,.035);
  color: #173252;
  font-size: max(.66rem, 10px);
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hierarchy-card--stage.is-open .hierarchy-card__eyebrow {
  color: #f7d08a;
  border-color: rgba(247,208,138,.25);
  background: rgba(247,208,138,.08);
}

.hierarchy-card__copy strong {
  color: #101f33;
  font-size: clamp(1.4rem, 1.8vw, 2rem);
  line-height: 1.08;
  letter-spacing: -.032em;
}

.hierarchy-card--stage.is-open .hierarchy-card__copy strong { color: #fff; }

.hierarchy-card__copy small {
  overflow: hidden;
  color: #667284;
  font-size: .93rem;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hierarchy-card--stage.is-open .hierarchy-card__copy small { color: rgba(255,255,255,.7); }

.hierarchy-card__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  justify-self: end;
  border: 1px solid rgba(13,34,64,.13);
  border-radius: 14px;
  background: rgba(13,34,64,.03);
  color: #0d2240;
  font-size: 1.3rem;
  font-weight: 500;
}

.hierarchy-card.is-open .hierarchy-card__icon {
  border-color: rgba(227,169,63,.34);
  background: rgba(227,169,63,.11);
  color: #d99e32;
}

.hierarchy-card__panel {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 28px 0 122px;
  opacity: 0;
  pointer-events: none;
  transition: grid-template-rows .45s cubic-bezier(.2,.8,.2,1), opacity .25s ease, padding-bottom .45s cubic-bezier(.2,.8,.2,1);
}

.hierarchy-card.is-open .hierarchy-card__panel {
  grid-template-rows: 1fr;
  padding-bottom: 30px;
  opacity: 1;
  pointer-events: auto;
}

.hierarchy-card__panel-inner {
  min-height: 0;
  overflow: hidden;
  padding-top: 0;
  border-top: 0;
}

.hierarchy-card.is-open .hierarchy-card__panel-inner {
  padding-top: 26px;
  border-top: 1px solid rgba(13,34,64,.1);
}

.hierarchy-card--stage.is-open .hierarchy-card__panel-inner { border-top-color: rgba(255,255,255,.12); }

.stage-detail__blocks,
.playbook-detail__blocks {
  display: grid;
  gap: 16px;
}

.stage-detail__block,
.playbook-detail__block {
  padding: clamp(20px, 2.7vw, 30px);
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 20px;
  background: #f8f5ef;
}

.hierarchy-card--stage .stage-detail__block {
  border-color: rgba(255,255,255,.11);
  background: rgba(255,255,255,.055);
}

.stage-detail__block.is-story {
  border-color: rgba(227,169,63,.2);
  background: rgba(227,169,63,.07);
}

.stage-detail__block.is-foundation {
  border-style: dashed;
}

.stage-detail__block-head,
.playbook-detail__block-head {
  margin-bottom: 16px;
}

.stage-detail__block-head span,
.playbook-detail__block-head span {
  display: block;
  margin-bottom: 6px;
  color: #a66f13;
  font-size: max(.68rem, 11px);
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hierarchy-card--stage .stage-detail__block-head span { color: #f7d08a; }

.stage-detail__block-head h4,
.playbook-detail__block-head h4 {
  margin: 0;
  color: #102039;
  font-size: clamp(1.2rem, 1.55vw, 1.55rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.hierarchy-card--stage .stage-detail__block-head h4 { color: #fff; }

.hierarchy-card--stage .structured-prose p,
.hierarchy-card--stage .structured-prose li { color: rgba(255,255,255,.8); }
.hierarchy-card--stage .structured-prose blockquote { color: #fff; background: rgba(255,255,255,.055); }
.hierarchy-card--stage .structured-prose .final-copy__label { color: #f7d08a; }

.playbook-detail__block.is-step {
  background: #fff;
  box-shadow: 0 8px 24px rgba(7,23,45,.04);
}

.playbook-detail__block.is-rule {
  border-color: rgba(189,129,32,.24);
  background: linear-gradient(135deg, #fbf5e9, #fff);
}

.launch-support-flow { background: #fffdf9; }

.launch-support-section,
.launch-support-pair,
.launch-closing,
.insights-mentor,
.playbook-library-intro,
.insights-more,
.insights-closing {
  padding: clamp(58px, 7vw, 96px) max(22px, calc((100vw - 1180px) / 2));
}

.launch-support-section__head,
.insights-more__head {
  width: min(760px, 100%);
  margin-bottom: 30px;
}

.launch-support-section__head h2,
.insights-more__head h2,
.playbook-library-intro h2,
.insights-closing h2,
.launch-closing h2 {
  margin: 12px 0 0;
  max-width: 18ch;
  color: #101f33;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.launch-support-section__head > p,
.insights-more__head > p {
  margin: 12px 0 0;
  color: #5b6878;
  font-size: 1rem;
  line-height: 1.65;
}

.launch-support-section--ecosystem {
  background: linear-gradient(145deg, #07172d, #0a2140);
  color: #fff;
}
.launch-support-section--ecosystem .section-kicker { color: #f7d08a; }
.launch-support-section--ecosystem .launch-support-section__head h2 { color: #fff; }
.launch-support-section--ecosystem .launch-support-section__head > p { color: rgba(255,255,255,.68); }
.launch-support-section--ecosystem .structured-prose p,
.launch-support-section--ecosystem .structured-prose li { color: rgba(255,255,255,.78); }
.launch-support-section--ecosystem .structured-prose blockquote { color: #fff; background: rgba(255,255,255,.06); }
.launch-support-section--ecosystem .final-copy__table-wrap { border-color: rgba(255,255,255,.12); }

.launch-support-section--problems { background: #f7f3ec; }
.launch-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.launch-problem {
  min-height: 112px;
  padding: 18px;
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 18px;
  background: #fff;
}
.launch-problem span {
  display: block;
  margin-bottom: 12px;
  color: #bf8426;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
}
.launch-problem p {
  margin: 0;
  color: #17263a;
  font-size: .94rem;
  font-weight: 680;
  line-height: 1.45;
}
.launch-support-section__foot {
  max-width: 72ch;
  margin: 24px 0 0;
  color: #4c5969;
  font-size: 1rem;
  line-height: 1.7;
}

.launch-support-section--outcomes .structured-prose ul {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px 18px;
}
.launch-support-section--outcomes .structured-prose li {
  min-height: 54px;
  display: flex;
  align-items: center;
  padding: 12px 14px 12px 34px;
  border: 1px solid rgba(13,34,64,.09);
  border-radius: 14px;
  background: #fff;
}
.launch-support-section--outcomes .structured-prose li::before { left: 16px; }

.launch-support-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  background: #f7f3ec;
}
.launch-support-card {
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 24px;
  background: #fff;
}
.launch-support-card--dark {
  background: linear-gradient(145deg, #07172d, #0a2140);
  color: #fff;
}
.launch-support-card h2 {
  margin: 12px 0 0;
  color: #102039;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.launch-support-card--dark h2 { color: #fff; }
.launch-support-card__subtitle { margin: 10px 0 20px; color: #687487; font-weight: 650; line-height: 1.5; }
.launch-support-card--dark .launch-support-card__subtitle,
.launch-support-card--dark .structured-prose p,
.launch-support-card--dark .structured-prose li { color: rgba(255,255,255,.76); }
.launch-support-card--dark .structured-prose blockquote { color: #fff; background: rgba(255,255,255,.06); }

.launch-closing,
.insights-closing {
  color: #fff;
  background:
    radial-gradient(circle at 84% 20%, rgba(239,187,99,.16), transparent 28%),
    linear-gradient(145deg, #06162c, #0a2140);
}
.launch-closing__inner,
.insights-closing__inner { width: min(900px, 100%); margin: 0 auto; text-align: center; }
.launch-closing .section-kicker,
.insights-closing .section-kicker { color: #f7d08a; justify-content: center; }
.launch-closing h2,
.insights-closing h2 { margin-inline: auto; color: #fff; }
.launch-closing .structured-prose p,
.insights-closing .structured-prose p { margin-inline: auto; color: rgba(255,255,255,.8); }
.launch-closing .structured-prose blockquote,
.insights-closing .structured-prose blockquote { color: #fff; background: rgba(255,255,255,.06); }
.launch-closing .final-copy__action,
.insights-closing .final-copy__action { margin: 8px 6px; }

.insights-mentor {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
  background: #fbf8f2;
}
.insights-mentor__media {
  overflow: hidden;
  min-height: 520px;
  border-radius: 28px;
  background: #0a2140;
  box-shadow: 0 28px 60px rgba(7,23,45,.14);
}
.insights-mentor__media img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: center top; }
.insights-mentor__copy h2 {
  margin: 12px 0 22px;
  max-width: 15ch;
  color: #101f33;
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.playbook-library-intro {
  text-align: center;
  background: #fff;
}
.playbook-library-intro .section-kicker { justify-content: center; }
.playbook-library-intro h2 { margin-inline: auto; }
.playbook-library-intro .structured-prose p { margin-inline: auto; }

.hierarchy-section--insights { background: #f7f3ec; }

.insights-more { background: #fff; }
.insights-more__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.insights-more__grid article {
  min-height: 180px;
  padding: 24px;
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 20px;
  background: #fbf8f2;
}
.insights-more__grid article > span {
  color: #b97e22;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .14em;
}
.insights-more__grid h3 {
  margin: 14px 0 8px;
  color: #11213a;
  font-size: 1.18rem;
  line-height: 1.2;
}
.insights-more__grid p {
  margin: 0;
  color: #5d6878;
  font-size: .94rem;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .launch-problem-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .launch-support-section--outcomes .structured-prose ul { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .insights-more__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .insights-mentor { grid-template-columns: 1fr; }
  .insights-mentor__media { min-height: 420px; max-height: 560px; }
  .insights-mentor__media img { min-height: 420px; }
}

@media (max-width: 720px) {
  .hierarchy-section,
  .launch-support-section,
  .launch-support-pair,
  .launch-closing,
  .insights-mentor,
  .playbook-library-intro,
  .insights-more,
  .insights-closing { padding-inline: 18px; }

  .stage-ribbon {
    grid-template-columns: repeat(5, minmax(92px, 1fr));
    overflow-x: auto;
    justify-content: start;
  }
  .stage-ribbon span { min-width: 92px; padding-inline: 10px; }

  .hierarchy-card__trigger {
    min-height: 116px;
    grid-template-columns: 46px minmax(0,1fr) 40px;
    gap: 12px;
    padding: 18px 16px;
  }
  .hierarchy-card__number { font-size: 1.7rem; }
  .hierarchy-card__copy strong { font-size: 1.18rem; }
  .hierarchy-card__copy small { font-size: .82rem; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .hierarchy-card__icon { width: 40px; height: 40px; border-radius: 12px; }
  .hierarchy-card__panel,
  .hierarchy-card.is-open .hierarchy-card__panel { padding-left: 16px; padding-right: 16px; }
  .hierarchy-card.is-open .hierarchy-card__panel { padding-bottom: 18px; }
  .hierarchy-card.is-open .hierarchy-card__panel-inner { padding-top: 18px; }

  .stage-detail__block,
  .playbook-detail__block { padding: 18px 16px; border-radius: 16px; }

  .launch-problem-grid,
  .launch-support-pair,
  .insights-more__grid { grid-template-columns: 1fr; }
  .launch-support-section--outcomes .structured-prose ul { grid-template-columns: 1fr; }
  .launch-problem { min-height: 84px; }
  .insights-mentor__media,
  .insights-mentor__media img { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .hierarchy-card,
  .hierarchy-card__panel { transition: none !important; }
}

/* Content navigation: stages/playbooks link directly to their real groups. */
.stage-ribbon a {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 16px 18px;
  align-content: center;
  border-right: 1px solid rgba(13,34,64,.08);
  color: #132239;
  font-size: .84rem;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.stage-ribbon a:last-child { border-right: 0; }
.stage-ribbon a:hover,
.stage-ribbon a:focus-visible { background: #fbf5e9; color: #9a6415; }
.stage-ribbon a b { color: #bd8120; font-size: .68rem; letter-spacing: .14em; }
/* neutralise the older span-only rule now that this is a navigation row */
.stage-ribbon > span { display: none; }

.playbook-index {
  width: min(1050px, 100%);
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
}
.playbook-index a {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 15px 14px;
  border: 1px solid rgba(13,34,64,.1);
  border-radius: 16px;
  background: #fbf8f2;
  color: #11213a;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.playbook-index a:hover,
.playbook-index a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(189,129,32,.28);
  box-shadow: 0 12px 28px rgba(7,23,45,.07);
}
.playbook-index span { color: #b97e22; font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.playbook-index b { font-size: .86rem; line-height: 1.32; }

.playbook-detail__block .final-copy__label {
  margin: 20px 0 8px;
  padding: 10px 12px;
  border-left: 2px solid #d9a242;
  background: rgba(217,162,66,.07);
  color: #213047;
  font-size: .9rem;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 900px) {
  .playbook-index { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .stage-ribbon a { min-width: 92px; padding-inline: 10px; }
  .playbook-index { grid-template-columns: 1fr; }
  .playbook-index a { min-height: 72px; }
}

/* ======================================================================
   DESIGNER PASS V3 — Public Launch System + Insights only
   Content hierarchy first: 5 stages, 5 playbooks, editorial support.
   ====================================================================== */

.structured-page--launch,
.structured-page--insights {
  --dp-navy: #07172d;
  --dp-navy-2: #0b213d;
  --dp-ink: #132136;
  --dp-muted: #687487;
  --dp-paper: #fbf8f2;
  --dp-cream: #f4efe6;
  --dp-gold: #d9a54b;
  --dp-gold-soft: #f3d697;
  --dp-rule: rgba(19, 33, 54, .12);
  background: var(--dp-paper);
  color: var(--dp-ink);
}

/* Launch opening: editorial question wall, not nine detached cards. */
.launch-overview {
  padding: clamp(64px, 7vw, 104px) max(22px, calc((100vw - 1180px) / 2));
  background:
    radial-gradient(70% 75% at 100% 0%, rgba(217,165,75,.14), transparent 58%),
    linear-gradient(180deg, #fbf8f2 0%, #f6f0e7 100%);
}
.launch-overview__inner { width: min(1180px, 100%); margin: 0 auto; }
.launch-overview__heading {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: end;
  padding-bottom: clamp(32px, 4vw, 50px);
  border-bottom: 1px solid var(--dp-rule);
}
.launch-overview__heading h2 {
  margin: 0;
  max-width: 15ch;
  font-size: clamp(2.15rem, 4vw, 4.15rem);
  line-height: 1.02;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.launch-overview__heading::after {
  content: "The questions that usually stop first-time founders are exactly what the system is designed to structure.";
  display: block;
  max-width: 52ch;
  color: #4f5d70;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.75;
}
.launch-overview__questions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 12px;
  border-top: 1px solid var(--dp-rule);
  border-left: 1px solid var(--dp-rule);
}
.launch-overview__question {
  min-height: 112px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  align-items: start;
  padding: 24px 22px;
  border-right: 1px solid var(--dp-rule);
  border-bottom: 1px solid var(--dp-rule);
  background: rgba(255,255,255,.46);
}
.launch-overview__question > span {
  color: #b47d22;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.6;
}
.launch-overview__question p {
  margin: 0;
  color: var(--dp-ink);
  font-size: clamp(.98rem, 1.05vw, 1.08rem);
  font-weight: 700;
  line-height: 1.45;
}
.launch-overview__summary {
  margin-top: clamp(34px, 4vw, 54px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.launch-overview__copy { max-width: 64ch; }
.launch-overview__copy p,
.launch-overview__summary > p {
  margin: 0 0 12px;
  color: #4d596a;
  font-size: 1.05rem;
  line-height: 1.75;
}
.launch-overview__framework {
  grid-row: span 2;
  margin: 0;
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid rgba(217,165,75,.28);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(217,165,75,.24), transparent 34%),
    linear-gradient(145deg, var(--dp-navy-2), var(--dp-navy));
  box-shadow: 0 26px 58px rgba(7,23,45,.18);
  font-size: clamp(1.42rem, 2.2vw, 2rem);
  line-height: 1.45;
}

/* Section architecture. */
.hierarchy-section {
  padding: clamp(70px, 8vw, 118px) max(22px, calc((100vw - 1180px) / 2));
}
.hierarchy-section--launch {
  color: #fff;
  background:
    radial-gradient(55% 60% at 100% 0%, rgba(217,165,75,.14), transparent 62%),
    linear-gradient(180deg, #07172d, #091c34 75%, #07172d);
}
.hierarchy-section--insights { background: #f5f0e8; }
.hierarchy-section__head {
  width: min(920px, 100%);
  margin: 0 auto clamp(30px, 4vw, 54px);
  text-align: center;
}
.hierarchy-section--launch .section-kicker { color: var(--dp-gold-soft); }
.hierarchy-section__head h2 {
  margin: 12px auto 14px;
  max-width: 17ch;
  font-size: clamp(2.15rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.hierarchy-section--launch .hierarchy-section__head h2 { color: #fff; }
.hierarchy-section__head p {
  max-width: 62ch;
  margin: 0 auto;
  color: var(--dp-muted);
  line-height: 1.72;
}
.hierarchy-section--launch .hierarchy-section__head p { color: rgba(255,255,255,.65); }

/* Five-stage ribbon acts as navigation, not as another card grid. */
.stage-ribbon {
  width: min(1100px, 100%);
  margin: 0 auto clamp(30px, 4vw, 48px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  border: 0;
  border-top: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.stage-ribbon a {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 14px;
  color: rgba(255,255,255,.72);
  border-right: 1px solid rgba(255,255,255,.12);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .035em;
  transition: color .2s ease, background-color .2s ease;
}
.stage-ribbon a:last-child { border-right: 0; }
.stage-ribbon a b { color: var(--dp-gold-soft); font-size: .72rem; letter-spacing: .1em; }
.stage-ribbon a:hover,
.stage-ribbon a:focus-visible { color: #fff; background: rgba(255,255,255,.05); }

.hierarchy-accordion {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 14px;
}
.hierarchy-card {
  overflow: hidden;
  border: 1px solid rgba(19,33,54,.12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(13,31,53,.05);
  transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.hierarchy-section--launch .hierarchy-card {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  box-shadow: none;
}
.hierarchy-card:not(.is-open):hover { border-color: rgba(217,165,75,.55); }
.hierarchy-card--stage.is-open {
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border-color: rgba(217,165,75,.48);
}
.hierarchy-card--playbook.is-open {
  border-color: rgba(180,125,34,.36);
  box-shadow: 0 22px 50px rgba(19,33,54,.09);
}
.hierarchy-card__trigger {
  width: 100%;
  min-height: 128px;
  display: grid;
  grid-template-columns: 64px 50px minmax(0,1fr) 46px;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.hierarchy-card__number {
  color: rgba(19,33,54,.2);
  font-size: clamp(2.2rem, 3.4vw, 3.6rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.055em;
}
.hierarchy-section--launch .hierarchy-card__number { color: rgba(255,255,255,.2); }
.hierarchy-card__journey-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(19,33,54,.12);
  border-radius: 15px;
  color: #a66f13;
  background: #faf6ef;
}
.hierarchy-section--launch .hierarchy-card__journey-icon {
  color: var(--dp-gold-soft);
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.hierarchy-card__journey-icon svg { width: 23px; height: 23px; }
.hierarchy-card__copy { display: grid; gap: 6px; min-width: 0; }
.hierarchy-card__eyebrow {
  color: #a66f13;
  font-size: max(.7rem, 11px);
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hierarchy-section--launch .hierarchy-card__eyebrow { color: var(--dp-gold-soft); }
.hierarchy-card__copy strong {
  color: var(--dp-ink);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.hierarchy-section--launch .hierarchy-card__copy strong { color: #fff; }
.hierarchy-card__copy small {
  color: var(--dp-muted);
  font-size: .94rem;
  line-height: 1.5;
}
.hierarchy-section--launch .hierarchy-card__copy small { color: rgba(255,255,255,.6); }
.hierarchy-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(19,33,54,.14);
  border-radius: 14px;
  color: var(--dp-ink);
  background: rgba(19,33,54,.025);
  font-size: 1.15rem;
  font-weight: 650;
}
.hierarchy-section--launch .hierarchy-card__icon {
  color: #fff;
  border-color: rgba(255,255,255,.15);
  background: rgba(255,255,255,.04);
}
.hierarchy-card.is-open .hierarchy-card__icon {
  color: #fff;
  border-color: #b47d22;
  background: #b47d22;
}
.hierarchy-card__panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  padding: 0 26px;
  transition: grid-template-rows .42s cubic-bezier(.2,.8,.2,1), opacity .28s ease, padding .35s ease;
}
.hierarchy-card__panel > * { min-height: 0; overflow: hidden; }
.hierarchy-card.is-open .hierarchy-card__panel {
  grid-template-rows: 1fr;
  opacity: 1;
  padding-bottom: 28px;
}
.hierarchy-card__panel-inner {
  padding: 30px 0 0;
  border-top: 1px solid var(--dp-rule);
}
.hierarchy-section--launch .hierarchy-card__panel-inner { border-top-color: rgba(255,255,255,.12); }

/* Expanded Launch stage: editorial flow. Build stories are distinct content,
   not a stack of generic cards. */
.stage-detail__prelude { max-width: 780px; }
.stage-detail__blocks { display: grid; gap: 0; }
.stage-detail__block {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: clamp(24px, 4vw, 54px);
  padding: clamp(28px, 4vw, 48px) 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: transparent;
}
.stage-detail__block:last-child { border-bottom: 0; }
.stage-detail__block-head { align-self: start; position: sticky; top: 98px; }
.stage-detail__block-head > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dp-gold-soft);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.stage-detail__block-head > span::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.stage-detail__block-head h4 {
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(1.32rem, 2vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -.03em;
}
.stage-detail__block.is-story .structured-prose { position: relative; }
.stage-detail__block.is-foundation {
  margin: 20px 0;
  padding: clamp(30px, 4vw, 46px);
  grid-template-columns: 220px minmax(0,1fr);
  border: 1px solid rgba(217,165,75,.24);
  border-radius: 22px;
  background: rgba(217,165,75,.065);
}

/* Playbook index is a slim navigational strip, not duplicate large cards. */
.playbook-library-intro {
  padding: clamp(66px, 8vw, 110px) max(22px, calc((100vw - 1180px) / 2));
  color: #fff;
  background:
    radial-gradient(55% 60% at 100% 0%, rgba(217,165,75,.17), transparent 60%),
    linear-gradient(150deg, #07172d, #0b213d);
}
.playbook-library-intro > * { width: min(1100px, 100%); margin-left: auto; margin-right: auto; }
.playbook-library-intro .section-kicker { color: var(--dp-gold-soft); }
.playbook-library-intro h2 {
  margin-top: 12px;
  max-width: 16ch;
  color: #fff;
  font-size: clamp(2.15rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}
.playbook-library-intro .structured-prose p { color: rgba(255,255,255,.72); }
.playbook-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  margin-top: 36px;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.playbook-index a {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 20px 16px;
  border-right: 1px solid rgba(255,255,255,.1);
  color: #fff;
  text-decoration: none;
}
.playbook-index a:last-child { border-right: 0; }
.playbook-index a span { color: var(--dp-gold-soft); font-size: .72rem; font-weight: 800; letter-spacing: .11em; }
.playbook-index a b { font-size: .86rem; line-height: 1.35; }

/* Expanded playbook is a readable workbook/timeline, not cards inside cards. */
.playbook-detail__prelude { max-width: 780px; margin-bottom: 20px; }
.playbook-detail__blocks {
  position: relative;
  display: grid;
  gap: 0;
  padding-left: 42px;
}
.playbook-detail__blocks::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 20px;
  left: 15px;
  width: 1px;
  background: linear-gradient(180deg, #d9a54b, rgba(19,33,54,.12));
}
.playbook-detail__block {
  position: relative;
  display: grid;
  grid-template-columns: minmax(160px, .42fr) minmax(0, 1.58fr);
  gap: clamp(24px, 4vw, 48px);
  padding: 28px 0 34px;
  border-bottom: 1px solid var(--dp-rule);
  background: transparent;
}
.playbook-detail__block:last-child { border-bottom: 0; }
.playbook-detail__block::before {
  content: "";
  position: absolute;
  left: -33px;
  top: 34px;
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #c58b2d;
  box-shadow: 0 0 0 1px rgba(197,139,45,.28);
}
.playbook-detail__block-head { align-self: start; }
.playbook-detail__block-head span {
  color: #a66f13;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.playbook-detail__block-head h4 {
  margin: 7px 0 0;
  color: var(--dp-ink);
  font-size: clamp(1.15rem, 1.6vw, 1.55rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.playbook-detail__block.is-rule {
  margin: 20px 0;
  padding: 28px 30px;
  grid-template-columns: 190px minmax(0,1fr);
  border: 1px solid rgba(180,125,34,.22);
  border-radius: 20px;
  background: #faf4e9;
}
.playbook-detail__block.is-rule::before { left: -33px; top: 36px; }

/* Mentor: strong opening feature with readable body, not an endless column. */
.insights-mentor {
  width: min(1180px, calc(100% - 44px));
  margin: clamp(64px, 8vw, 108px) auto;
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  gap: clamp(34px, 6vw, 76px);
  align-items: start;
}
.insights-mentor__media {
  position: sticky;
  top: 96px;
  overflow: hidden;
  min-height: 560px;
  border-radius: 30px;
  background: var(--dp-navy);
  box-shadow: 0 26px 70px rgba(7,23,45,.15);
}
.insights-mentor__media img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: center top; }
.insights-mentor__copy { padding-top: 12px; }
.insights-mentor__copy h2 {
  margin: 12px 0 24px;
  max-width: 14ch;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}
.insights-mentor__copy .structured-prose blockquote {
  margin: 26px 0;
  padding: 22px 24px;
  border-left: 3px solid var(--dp-gold);
  border-radius: 0 16px 16px 0;
  color: var(--dp-ink);
  background: #f7f0e4;
}

/* Support content uses editorial bands with cards only where comparison is useful. */
.launch-support-flow { background: #fffdf9; }
.launch-support-section {
  padding: clamp(72px, 8vw, 112px) max(22px, calc((100vw - 1180px) / 2));
}
.launch-support-section__head {
  width: min(900px,100%);
  margin: 0 auto clamp(32px, 4vw, 48px);
  text-align: center;
}
.launch-support-section__head h2 {
  margin: 10px auto 12px;
  max-width: 18ch;
  font-size: clamp(2.05rem, 3.8vw, 3.65rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.launch-support-section--ecosystem {
  color: #fff;
  background: linear-gradient(150deg, #07172d, #0b213d);
}
.launch-support-section--ecosystem .launch-support-section__body { width: min(980px,100%); margin: 0 auto; }
.launch-support-section--problems { background: #f4efe6; }
.launch-problem-grid {
  width: min(1040px,100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--dp-rule);
}
.launch-problem {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  padding: 22px 18px;
  border-bottom: 1px solid var(--dp-rule);
}
.launch-problem:nth-child(odd) { border-right: 1px solid var(--dp-rule); }
.launch-problem span { color: #a66f13; font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.launch-problem p { margin: 0; color: var(--dp-ink); font-weight: 680; line-height: 1.5; }
.launch-support-section--outcomes .structured-prose ul {
  width: min(1040px,100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  border-top: 1px solid var(--dp-rule);
  border-left: 1px solid var(--dp-rule);
}
.launch-support-section--outcomes .structured-prose li {
  min-height: 110px;
  padding: 24px 24px 24px 46px;
  border-right: 1px solid var(--dp-rule);
  border-bottom: 1px solid var(--dp-rule);
  background: #fff;
}
.launch-support-section--outcomes .structured-prose li::before { left: 24px; top: 31px; }
.launch-support-pair {
  padding: clamp(68px, 8vw, 104px) max(22px, calc((100vw - 1180px) / 2));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  background: #f4efe6;
}
.launch-support-card {
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid var(--dp-rule);
  border-radius: 26px;
  background: #fff;
}
.launch-support-card--dark {
  color: #fff;
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(145deg,#07172d,#0b213d);
}
.launch-closing,
.insights-closing {
  padding: clamp(72px, 9vw, 124px) max(22px, calc((100vw - 1040px) / 2));
  text-align: center;
  color: #fff;
  background:
    radial-gradient(55% 100% at 50% 0%, rgba(217,165,75,.2), transparent 62%),
    #07172d;
}
.launch-closing__inner,
.insights-closing__inner { width: min(860px,100%); margin: 0 auto; }
.launch-closing h2,
.insights-closing h2 { margin: 12px auto 24px; max-width: 18ch; font-size: clamp(2.2rem,4.2vw,4rem); line-height: 1.03; letter-spacing: -.05em; }
.launch-closing .structured-prose p,
.insights-closing .structured-prose p { margin-left: auto; margin-right: auto; color: rgba(255,255,255,.74); }
.launch-closing .structured-prose blockquote,
.insights-closing .structured-prose blockquote { color: #fff; background: rgba(255,255,255,.06); }

/* More insights remains a topic library but lighter and less card-heavy. */
.insights-more {
  padding: clamp(72px, 8vw, 110px) max(22px, calc((100vw - 1180px) / 2));
  background: #fffdf9;
}
.insights-more__head { width: min(800px,100%); margin-bottom: 38px; }
.insights-more__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--dp-rule);
  border-left: 1px solid var(--dp-rule);
}
.insights-more__grid article {
  min-height: 190px;
  padding: 26px;
  border-right: 1px solid var(--dp-rule);
  border-bottom: 1px solid var(--dp-rule);
  background: transparent;
}
.insights-more__grid article > span { color: #a66f13; font-size: .72rem; font-weight: 850; letter-spacing: .11em; }
.insights-more__grid h3 { margin: 16px 0 8px; font-size: 1.2rem; letter-spacing: -.02em; }
.insights-more__grid p { margin: 0; color: var(--dp-muted); line-height: 1.65; }

/* Hero facts requested at 25px: exactly four facts on these pages. */
.launch-system-page .page-hero__facts li,
.insights-page .page-hero__facts li { padding-top: 25px; padding-bottom: 25px; }

/* Keep anchor navigation clear of the fixed header when a stage or playbook
   is opened from its index. */
.launch-system-page .hierarchy-card,
.insights-page .hierarchy-card { scroll-margin-top: 104px; }

.stage-detail__logo {
  display: block;
  width: min(150px, 100%);
  height: 46px;
  margin: 16px 0 14px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 960px) {
  .launch-overview__heading,
  .launch-overview__summary,
  .insights-mentor { grid-template-columns: 1fr; }
  .launch-overview__questions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stage-ribbon,
  .playbook-index { grid-template-columns: repeat(5, minmax(150px,1fr)); overflow-x: auto; }
  .hierarchy-card__trigger { grid-template-columns: 54px 46px minmax(0,1fr) 44px; }
  .stage-detail__block,
  .stage-detail__block.is-foundation { grid-template-columns: 180px minmax(0,1fr); }
  .stage-detail__block-head { position: static; }
  .playbook-detail__block,
  .playbook-detail__block.is-rule { grid-template-columns: 170px minmax(0,1fr); }
  .launch-support-section--outcomes .structured-prose ul,
  .insights-more__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .insights-mentor__media { position: relative; top: auto; min-height: 440px; max-height: 620px; }
  .insights-mentor__media img { min-height: 440px; }
}

@media (max-width: 680px) {
  .launch-overview,
  .hierarchy-section,
  .launch-support-section,
  .launch-support-pair,
  .playbook-library-intro,
  .insights-more { padding-left: 18px; padding-right: 18px; }
  .launch-overview__questions { grid-template-columns: 1fr; border-left: 0; }
  .stage-ribbon { grid-template-columns: repeat(5,minmax(0,1fr)); overflow: visible; }
  .stage-ribbon a {
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 14px 3px;
    font-size: .66rem;
    letter-spacing: 0;
    text-align: center;
  }
  .playbook-index { grid-template-columns: 1fr; overflow: visible; }
  .launch-overview__question { min-height: auto; padding: 18px 4px; border-right: 0; background: transparent; }
  .launch-overview__summary { grid-template-columns: 1fr; }
  .launch-overview__framework { grid-row: auto; border-radius: 22px; }
  .hierarchy-card { border-radius: 18px; }
  .hierarchy-card__trigger {
    min-height: 112px;
    grid-template-columns: 42px minmax(0,1fr) 40px;
    gap: 12px;
    padding: 20px 16px;
  }
  .hierarchy-card__number { font-size: 1.55rem; align-self: start; margin-top: 4px; }
  .hierarchy-card__journey-icon { display: none; }
  .hierarchy-card__copy strong { font-size: 1.2rem; }
  .hierarchy-card__copy small { font-size: .82rem; line-height: 1.42; }
  .hierarchy-card__icon { width: 38px; height: 38px; border-radius: 12px; }
  .hierarchy-card__panel { padding-left: 16px; padding-right: 16px; }
  .hierarchy-card.is-open .hierarchy-card__panel { padding-bottom: 20px; }
  .hierarchy-card__panel-inner { padding-top: 20px; }
  .stage-detail__block,
  .stage-detail__block.is-foundation,
  .playbook-detail__block,
  .playbook-detail__block.is-rule { grid-template-columns: 1fr; gap: 16px; }
  .stage-detail__block { padding: 28px 0; }
  .stage-detail__block.is-foundation { padding: 22px 18px; }
  .stage-detail__logo { width: 128px; height: 38px; margin-block: 13px 10px; }
  .playbook-detail__blocks { padding-left: 30px; }
  .playbook-detail__blocks::before { left: 9px; }
  .playbook-detail__block::before,
  .playbook-detail__block.is-rule::before { left: -26px; }
  .playbook-detail__block.is-rule { margin: 12px 0; padding: 20px 18px; }
  .launch-problem-grid,
  .launch-support-section--outcomes .structured-prose ul,
  .launch-support-pair,
  .insights-more__grid { grid-template-columns: 1fr; }
  .launch-problem:nth-child(odd) { border-right: 0; }
  .launch-support-section--outcomes .structured-prose ul { border-left: 0; }
  .launch-support-section--outcomes .structured-prose li { min-height: auto; border-left: 1px solid var(--dp-rule); }
  .insights-more__grid { border-left: 0; }
  .insights-more__grid article { min-height: auto; border-left: 1px solid var(--dp-rule); }
  .insights-mentor { width: calc(100% - 36px); margin-top: 58px; margin-bottom: 58px; }
  .insights-mentor__media,
  .insights-mentor__media img { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .hierarchy-card__panel { transition: none; }
}

/* ======================================================================
   FINAL V4 REPAIR — Launch System + Insights only
   Resolves the production cascade conflicts reported after deployment.
   ====================================================================== */

/* Ecosystem table: the dark section previously inherited white text into
   the white table body. Give every table layer an explicit colour. */
.launch-system-page .launch-support-section--ecosystem .final-copy__table-wrap {
  overflow: hidden;
  border-color: rgba(255,255,255,.22);
  border-radius: 18px;
  background: #fff;
}
.launch-system-page .launch-support-section--ecosystem table { background: #fff; }
.launch-system-page .launch-support-section--ecosystem th {
  color: #fff;
  background: #102c50;
  border-bottom-color: rgba(255,255,255,.12);
}
.launch-system-page .launch-support-section--ecosystem td {
  color: #243247;
  background: #fff;
  border-bottom-color: #e4e8ed;
}
.launch-system-page .launch-support-section--ecosystem tbody tr:nth-child(even) td { background: #f7f8fa; }

/* Keep supporting copy aligned with the same content column as its grid. */
.launch-system-page .launch-support-section__foot {
  width: min(1040px,100%);
  margin: 28px auto 0;
}
.launch-system-page .launch-support-section--outcomes .launch-support-section__body > p {
  width: min(1040px,100%);
  margin: 0 auto 28px;
  text-align: center;
}

/* Venture marks already contain their names, so they replace the duplicate
   text title and receive a consistent visual area. */
.launch-system-page .stage-detail__block.is-story .stage-detail__block-head {
  display: grid;
  align-content: start;
  gap: 12px;
}
.launch-system-page .stage-detail__block.is-story .stage-detail__block-head > span { margin: 0; }
.launch-system-page .stage-detail__logo {
  width: min(190px,100%);
  height: 58px;
  margin: 0;
}

/* Chief Mentor: use the available desktop width and flow the long note into
   two readable editorial columns. Collapse to one column on phones. */
.structured-page--insights .insights-mentor {
  grid-template-columns: minmax(310px,.62fr) minmax(0,1.38fr);
  gap: clamp(38px,4.5vw,64px);
  align-items: start;
}
.structured-page--insights .insights-mentor__copy { min-width: 0; padding-top: 8px; }
.structured-page--insights .insights-mentor__copy h2 { max-width: 18ch; }
.structured-page--insights .insights-mentor__copy .structured-prose {
  column-count: 2;
  column-gap: clamp(28px,3vw,42px);
  column-rule: 1px solid rgba(19,33,54,.1);
}
.structured-page--insights .insights-mentor__copy .structured-prose > * {
  break-inside: avoid;
}
.structured-page--insights .insights-mentor__copy .structured-prose > :first-child { margin-top: 0; }

/* Playbook index: resolve white-on-cream links inside the dark library band. */
.insights-page .playbook-library-intro .playbook-index {
  gap: 0;
  border-color: rgba(255,255,255,.16);
}
.insights-page .playbook-library-intro .playbook-index a {
  min-height: 108px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.13);
  border-radius: 0;
  color: #fff;
  background: rgba(255,255,255,.045);
  box-shadow: none;
}

/* Mentor feature: treat the note as the editorial anchor of Insights rather
   than as another long-form content block. */
.structured-page--insights .insights-mentor {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: start;
  padding-top: clamp(76px, 9vw, 132px);
  padding-bottom: clamp(82px, 10vw, 144px);
  color: #17263a;
  background: #fbf8f2;
  isolation: isolate;
}
.structured-page--insights .insights-mentor::before {
  content: "01 / THE MENTOR'S NOTE";
  position: absolute;
  top: clamp(24px, 4vw, 48px);
  left: max(22px, calc((100vw - 1180px) / 2));
  color: #edc982;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
}
.structured-page--insights .insights-mentor::after {
  content: none;
}
.structured-page--insights .insights-mentor__media {
  position: sticky;
  top: 116px;
  min-height: 0;
  aspect-ratio: 3 / 5;
  border: 1px solid rgba(23, 38, 58, .12);
  border-radius: 26px;
  box-shadow: 18px 18px 0 rgba(189, 129, 32, .12), 0 28px 60px rgba(23, 38, 58, .12);
}
.structured-page--insights .insights-mentor__media::after {
  content: "PRAVEEN KUMAR\A CHIEF MENTOR";
  position: absolute;
  right: 18px;
  bottom: 16px;
  padding: 10px 12px;
  white-space: pre;
  color: #071426;
  background: #edc982;
  font-size: .62rem;
  font-weight: 850;
  line-height: 1.45;
  letter-spacing: .1em;
}
.structured-page--insights .insights-mentor__media img {
  min-height: 0;
  object-fit: contain;
  filter: saturate(.82) contrast(1.04);
}
.structured-page--insights .insights-mentor__copy { padding-top: 0; }
.structured-page--insights .insights-mentor__copy .section-kicker {
  color: #edc982;
  letter-spacing: .14em;
}
.structured-page--insights .insights-mentor__copy h2 {
  max-width: 18ch;
  margin: 14px 0 28px;
  color: #101f33;
  font-size: clamp(2.35rem, 4.5vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.structured-page--insights .insights-mentor__copy .structured-prose {
  max-width: 72ch;
  column-count: 1;
  column-rule: 0;
}
.structured-page--insights .insights-mentor__copy .structured-prose p,
.structured-page--insights .insights-mentor__copy .structured-prose li {
  color: #4f5d6d;
}
.structured-page--insights .insights-mentor__copy .structured-prose > p:first-child {
  margin-top: 0;
  color: #edc982 !important;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.structured-page--insights .insights-mentor__copy .structured-prose > p:first-child strong {
  color: inherit !important;
}
.structured-page--insights .insights-mentor__copy .structured-prose blockquote {
  margin: 34px 0;
  padding: 24px 26px;
  border-left: 2px solid #edc982;
  color: #17263a;
  background: #f4eee4;
  font-family: var(--mv-serif, Georgia, serif);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.18;
}
.structured-page--insights .insights-mentor__copy .structured-prose ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 22px 0 30px;
  padding: 18px 0;
  border-top: 1px solid rgba(23,38,58,.14);
  border-bottom: 1px solid rgba(23,38,58,.14);
}
.structured-page--insights .insights-mentor__copy .structured-prose li { padding: 7px 0 7px 22px; }
.structured-page--insights .insights-mentor__copy .structured-prose li::before { left: 0; color: #edc982; }
.structured-page--insights .insights-mentor__copy .structured-prose h3,
.structured-page--insights .insights-mentor__copy .structured-prose .final-copy__subtitle {
  margin-top: 38px;
  color: #17263a;
  font-size: 1.25rem;
  letter-spacing: -.015em;
}
.structured-page--insights .insights-mentor__copy .structured-prose h3::before {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin-bottom: 14px;
  background: #edc982;
}
.structured-page--insights .insights-mentor__copy .structured-prose h3 + p:last-child,
.structured-page--insights .insights-mentor__copy .structured-prose h3 ~ blockquote:last-child {
  color: #17263a;
  font-family: var(--mv-serif, Georgia, serif);
  font-size: 1.2rem;
}

@media (max-width: 960px) {
  .structured-page--insights .insights-mentor { grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 34px; }
  .structured-page--insights .insights-mentor__media { position: relative; top: auto; }
}

@media (max-width: 680px) {
  .structured-page--insights .insights-mentor {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 78px;
  }
  .structured-page--insights .insights-mentor::before { left: 18px; }
  .structured-page--insights .insights-mentor__media { width: min(100%, 360px); aspect-ratio: 3 / 5; }
  .structured-page--insights .insights-mentor__copy h2 { max-width: 11ch; font-size: clamp(2.55rem, 12vw, 4rem); }
  .structured-page--insights .insights-mentor__copy .structured-prose ul { grid-template-columns: 1fr; }
}
.insights-page .playbook-library-intro .playbook-index a:last-child { border-right: 0; }
.insights-page .playbook-library-intro .playbook-index a:hover,
.insights-page .playbook-library-intro .playbook-index a:focus-visible {
  color: #fff;
  background: rgba(217,165,75,.13);
  border-color: rgba(255,255,255,.13);
  transform: none;
  box-shadow: inset 0 -2px #d9a54b;
}

/* The closing action words are one sequence, not six isolated paragraphs. */
.insights-page .insights-closing {
  padding-top: clamp(68px,7vw,96px);
  padding-bottom: clamp(68px,7vw,96px);
}
.insights-page .insights-closing .structured-prose > blockquote:first-of-type ~ p {
  display: inline-block;
  margin: 10px 6px 24px;
  color: #fff;
  font-weight: 750;
}
.insights-page .insights-closing .structured-prose > blockquote:first-of-type ~ p::after {
  content: " ·";
  margin-left: 12px;
  color: #d9a54b;
}
.insights-page .insights-closing .structured-prose > blockquote:first-of-type ~ p:nth-last-of-type(1)::after { content: ""; margin: 0; }
.insights-page .insights-closing .final-copy__action { margin-top: 12px; }

@media (max-width: 1180px) {
  .insights-page .insights-mentor {
    grid-template-columns: 1fr;
    width: min(920px,calc(100% - 44px));
  }
  .insights-page .insights-mentor__media {
    position: relative;
    top: auto;
    width: 100%;
    min-height: 460px;
    max-height: 620px;
  }
  .insights-page .insights-mentor__media img { min-height: 460px; }
}

@media (max-width: 760px) {
  .launch-system-page .launch-support-section--ecosystem .final-copy__table-wrap { overflow-x: auto; }
  .launch-system-page .launch-support-section--ecosystem table { min-width: 620px; }
  .launch-system-page .stage-detail__logo { width: min(165px,100%); height: 50px; }
  .insights-page .insights-mentor { width: calc(100% - 36px); }
  .insights-page .insights-mentor__copy .structured-prose {
    column-count: 1;
    column-rule: 0;
  }
  .insights-page .playbook-library-intro .playbook-index { gap: 8px; border: 0; }
  .insights-page .playbook-library-intro .playbook-index a {
    min-height: 76px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
  }
  .insights-page .insights-closing .structured-prose > blockquote:first-of-type ~ p {
    margin-bottom: 14px;
  }
  .insights-page .insights-closing .final-copy__action {
    width: 100%;
    margin: 7px 0;
  }
}

/* ======================================================================
   V5 PATCH - Insights + Launch System definitive cascade corrections
   Must be the very last rules in the file (highest specificity wins).
   ====================================================================== */

/* Playbook library intro: force dark navy background on the Insights page
   regardless of the earlier white-background rules at line ~1483. */
.insights-page .playbook-library-intro {
  color: #fff;
  background:
    radial-gradient(55% 60% at 100% 0%, rgba(217,165,75,.17), transparent 60%),
    linear-gradient(150deg, #07172d, #0b213d);
}
.insights-page .playbook-library-intro .section-kicker { color: #f3d697; }
.insights-page .playbook-library-intro h2 { color: #fff; }
.insights-page .playbook-library-intro .structured-prose p { color: rgba(255,255,255,.72); }

/* Playbook index: always white text on dark band. */
.insights-page .playbook-library-intro .playbook-index {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  gap: 0;
  border: none;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: transparent;
  box-shadow: none;
}
.insights-page .playbook-library-intro .playbook-index a {
  min-height: 104px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.1);
  border-radius: 0;
  color: #fff;
  background: rgba(255,255,255,.03);
  box-shadow: none;
  transform: none;
}
.insights-page .playbook-library-intro .playbook-index a:last-child { border-right: 0; }
.insights-page .playbook-library-intro .playbook-index a span { color: #f3d697; }
.insights-page .playbook-library-intro .playbook-index a b { color: rgba(255,255,255,.9); }
.insights-page .playbook-library-intro .playbook-index a:hover,
.insights-page .playbook-library-intro .playbook-index a:focus-visible {
  color: #fff;
  background: rgba(217,165,75,.1);
  box-shadow: inset 0 -2px 0 #d9a54b;
  transform: none;
}

/* Closing section: collapse single-word paragraphs into one horizontal line. */
.insights-page .insights-closing {
  padding-top: clamp(64px,7vw,92px);
  padding-bottom: clamp(64px,7vw,92px);
}
.insights-page .insights-closing .structured-prose > blockquote ~ p {
  display: inline-block;
  margin: 4px 6px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1;
  max-width: none;
}
.insights-page .insights-closing .structured-prose > blockquote ~ p::after {
  content: " \00B7";
  margin-left: 6px;
  color: #d9a54b;
}
.insights-page .insights-closing .structured-prose > blockquote ~ p:last-of-type::after {
  content: "";
  margin: 0;
}
.insights-page .insights-closing .final-copy__action { margin-top: 28px; }

/* Ecosystem table: ensure td text is always dark, never white. */
.launch-system-page .launch-support-section--ecosystem .final-copy__table-wrap {
  overflow: hidden;
  border-color: rgba(255,255,255,.18);
  border-radius: 16px;
  background: #fff;
}
.launch-system-page .launch-support-section--ecosystem table { background: #fff; }
.launch-system-page .launch-support-section--ecosystem td {
  color: #1d2f43;
  background: #fff;
  border-bottom-color: #dde2e8;
}
.launch-system-page .launch-support-section--ecosystem tbody tr:nth-child(even) td {
  background: #f5f7f9;
}
.launch-system-page .launch-support-section--ecosystem th {
  color: #fff;
  background: #0d2645;
}

/* Venture logo: no duplicate text heading below the logo image. */
.launch-system-page .stage-detail__block.is-story .stage-detail__block-head {
  display: grid;
  align-content: start;
  gap: 10px;
}
.launch-system-page .stage-detail__logo {
  display: block;
  width: min(180px,100%);
  height: 52px;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}

/* Responsive: tablet */
@media (max-width: 900px) {
  .insights-page .playbook-library-intro .playbook-index {
    grid-template-columns: repeat(2, minmax(0,1fr));
    overflow-x: visible;
  }
  .insights-page .playbook-library-intro .playbook-index a {
    border-right: 1px solid rgba(255,255,255,.1);
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .insights-page .playbook-library-intro .playbook-index a:nth-child(2n) {
    border-right: 0;
  }
}

/* Responsive: phone */
@media (max-width: 680px) {
  .insights-page .playbook-library-intro .playbook-index {
    grid-template-columns: 1fr;
  }
  .insights-page .playbook-library-intro .playbook-index a {
    min-height: 72px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .insights-page .playbook-library-intro .playbook-index a:nth-child(2n) {
    border-right: 0;
  }
  .insights-page .insights-mentor__copy .structured-prose {
    column-count: 1;
    column-rule: none;
  }
  .insights-page .insights-closing .final-copy__action {
    width: 100%;
    margin: 8px 0;
  }
  .launch-system-page .launch-support-section--ecosystem .final-copy__table-wrap {
    overflow-x: auto;
  }
  .launch-system-page .launch-support-section--ecosystem table {
    min-width: 580px;
  }
  .launch-system-page .stage-detail__logo {
    width: min(145px,100%);
    height: 44px;
  }
}

.launch-system-page .launch-overview__inner,
.insights-page .playbook-library-intro .playbook-index,
.insights-page .insights-more__grid {
  width: min(1100px, 100%);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1180px) {
  .insights-page .insights-mentor__copy .structured-prose {
    column-count: 1;
    column-rule: none;
  }
}

@media (min-width: 900px) {
  .launch-system-page .stage-detail__prelude {
    width: min(1100px, 100%);
    max-width: none;
    margin: 0 auto 34px;
  }

  .launch-system-page .stage-detail__prelude blockquote {
    width: 100%;
    margin: 24px 0 0;
    white-space: nowrap;
  }

  .launch-system-page .stage-detail__block-head {
    min-width: 220px;
  }

  .launch-system-page .stage-detail__logo {
    width: min(210px, 100%);
    height: 64px;
    opacity: 1;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,.22));
  }

  .insights-page .hierarchy-section__head {
    width: min(1100px, 100%);
  }

  .insights-page .hierarchy-section__head h2 {
    max-width: none;
    font-size: clamp(2.35rem, 3.6vw, 3.5rem);
    white-space: nowrap;
  }

  .insights-page .playbook-library-intro h2 {
    max-width: none;
    font-size: clamp(2.35rem, 3.6vw, 3.5rem);
    white-space: nowrap;
  }

  .insights-page .playbook-detail__block:not(.is-rule) {
    grid-template-columns: minmax(320px, .52fr) minmax(0, 1.48fr);
  }

  .insights-page .playbook-detail__prelude {
    max-width: none;
    margin-bottom: 26px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--dp-rule);
  }

  .insights-page .playbook-detail__prelude .structured-prose {
    max-width: 78ch;
  }

  .insights-page .playbook-detail__block.is-step .playbook-detail__block-head h4 {
    white-space: nowrap;
  }

  .insights-page .hierarchy-section--insights .hierarchy-section__head {
    margin-bottom: clamp(46px, 5vw, 68px);
  }

  .launch-system-page .launch-closing__inner {
    width: min(1100px, 100%);
  }

  .launch-system-page .launch-closing h2 {
    max-width: none;
    font-size: clamp(2rem, 3.4vw, 3.4rem);
    white-space: nowrap;
  }
}

@media (min-width: 641px) {
  .public-detail-page .page-hero__facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
  }

  .public-detail-page .page-hero__facts li {
    min-width: 0;
    padding: 25px;
  }

  .public-detail-page .page-hero__facts b,
  .public-detail-page .page-hero__facts span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px) {
  .public-detail-page .page-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    border-top: 0;
  }

  .public-detail-page .page-hero__facts li {
    min-width: 0;
    padding: 14px;
  }
}

@media (max-width: 899px) {
  .insights-page .playbook-detail__block:not(.is-rule) {
    grid-template-columns: minmax(230px, .48fr) minmax(0, 1.52fr);
  }

  .insights-page .playbook-detail__block.is-step .playbook-detail__block-head h4 {
    white-space: normal;
  }

  .launch-system-page .stage-detail__prelude blockquote,
  .launch-system-page .launch-closing h2 {
    white-space: normal;
  }
}

/* Keep the Chief Mentor narrative in the supplied reading order. The copy
   is long-form guidance, so parallel newspaper columns split the argument
   and make the questions, market answers, and mindset feel disconnected. */
.insights-page .insights-mentor__copy .structured-prose {
  column-count: 1;
  column-rule: none;
  max-width: 72ch;
}

.insights-page .insights-mentor__copy .structured-prose > p:first-child {
  margin-top: 0;
  color: #17243a;
  font-weight: 650;
}

.insights-page .insights-mentor__copy .structured-prose > blockquote {
  max-width: 64ch;
  margin-block: 28px;
}

.insights-page .insights-mentor__copy .structured-prose > ul {
  max-width: 64ch;
  margin-block: 18px 28px;
}

.insights-page .insights-mentor__copy .structured-prose > h4 {
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid var(--dp-rule);
}

/* ===== Plain HTML/CSS/JS conversion compatibility ===== */
html { scroll-behavior: smooth; }
body.static-conversion-ready { min-height: 100%; }
/* Avoid any element remaining hidden if a browser blocks IntersectionObserver. */
.no-js .mv-reveal { opacity: 1 !important; transform: none !important; }
/* Static programme cards use JS for the same mobile click behaviour as React. */
.programme-card.is-open .programme-card__detail { grid-template-rows: 1fr; }
.programme-card.is-open .programme-card__more i { transform: rotate(180deg); }
/* Keep accordion panel semantics explicit in static output. */
.hierarchy-card__panel[aria-hidden="true"] { pointer-events: none; }
.hierarchy-card.is-open .hierarchy-card__panel[aria-hidden="false"] { pointer-events: auto; }
