:root {
  --ink: #0c1016;
  --ink-2: #151b24;
  --paper: #f1f3f5;
  --paper-2: #c8ced7;
  --blue: #1556ad;
  --electric: #4b83d6;
  --gold: #99b7df;
  --red: #8e3f43;
  --olive: #53604a;
  --line: rgba(241, 243, 245, .18);
  --display: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}


/* V6 - kinetic hero, tighter NextGen copy, document preview and portrait cards */
.live-dot {
  width: 1.8rem;
  height: 1px;
  border-radius: 0;
  background: linear-gradient(90deg,#87aee5,transparent);
  box-shadow: none;
}
.hero-motion { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; mix-blend-mode: screen; }
.hero-motion::before { content: ""; position: absolute; inset: -20% -45%; background: linear-gradient(108deg,transparent 40%,rgba(108,159,226,.15) 48%,rgba(255,255,255,.1) 50%,rgba(108,159,226,.06) 53%,transparent 61%); transform: translateX(-35%); animation: hero-sweep 8s cubic-bezier(.55,0,.2,1) infinite; }
.hero-motion span { position: absolute; left: -20vw; width: 145vw; height: 1px; background: linear-gradient(90deg,transparent,rgba(137,181,238,.38) 30%,rgba(255,255,255,.12) 58%,transparent); transform: rotate(-9deg); transform-origin: center; animation: hero-drift 11s ease-in-out infinite alternate; }
.hero-motion span:nth-child(1) { top: 24%; }
.hero-motion span:nth-child(2) { top: 53%; opacity: .52; animation-delay: -3.5s; animation-duration: 14s; }
.hero-motion span:nth-child(3) { top: 78%; opacity: .32; animation-delay: -7s; animation-duration: 17s; }
@keyframes hero-sweep { 0%,18% { transform: translateX(-38%); opacity: 0; } 40%,70% { opacity: 1; } 100% { transform: translateX(42%); opacity: 0; } }
@keyframes hero-drift { from { transform: translate3d(-4%,0,0) rotate(-9deg); } to { transform: translate3d(8%,2.4rem,0) rotate(-4deg); } }

.origin-statement h3 { font-size: clamp(2.55rem,5.2vw,5.6rem); max-width: 15ch; }
html[lang="fr"] .pilot-gallery .gallery-heading { grid-column: 1 / 13; max-width: 70rem; margin-bottom: 6.5rem; }
html[lang="fr"] .pilot-gallery .gallery-heading h3 { font-size: clamp(3rem,6.5vw,6.2rem); max-width: 15ch; }
html[lang="fr"] .pilot-gallery .tile-b { margin-top: -3rem; }

.notion-badge img { width: 2.2rem; height: 2.2rem; object-fit: contain; }
.current-year-photo img { width: 100%; max-width: none; transform: none; object-position: 24% center; }
.cpvl-copy h3 { font-size: clamp(2.35rem,4.15vw,4.45rem); max-width: 13ch; }

.cpvl-analysis .pdf-preview { position: relative; grid-column: 1 / -1; display: block; width: 100%; margin: 1.2rem 0 0; padding: 0; overflow: hidden; border-color: rgba(255,255,255,.32); background: #211d1e; }
.pdf-preview > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .4s; }
.pdf-preview > span { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; background: linear-gradient(transparent,rgba(8,10,12,.96)); }
.pdf-preview b { font-size: clamp(.72rem,1.25vw,1rem); }
.pdf-preview small { color: #8fb6eb; opacity: 1; white-space: nowrap; }
.pdf-preview:hover { background: #211d1e; color: white; transform: translateY(-.25rem); }
.pdf-preview:hover > img { transform: scale(1.025); filter: brightness(1.08); }

.person-card { grid-template-columns: 4.7rem 1fr; min-height: 11.5rem; }
.person-photo { width: 4.5rem; height: 4.5rem; border: 1px solid rgba(49,95,157,.45); border-radius: 50%; object-fit: cover; object-position: center 52%; background: #0b0f15; }
.person-photo.romain { object-position: center 50%; }
.person-photo.matthieu { object-position: center 55%; }
.person-photo.jerome { object-position: center 54%; }
.person-photo.nathan, .person-photo.antoine { object-position: center 54%; }
.person-card.linked:hover .person-photo { border-color: #9fc3f1; }

@media (max-width: 900px) {
  .origin-statement h3 { font-size: clamp(2.35rem,10vw,3.45rem); }
  html[lang="fr"] .pilot-gallery .gallery-heading { margin-bottom: 3rem; }
  html[lang="fr"] .pilot-gallery .gallery-heading h3 { font-size: clamp(2.35rem,10.5vw,3.1rem); max-width: none; }
  html[lang="fr"] .pilot-gallery .tile-b { margin-top: 0; }
  .current-year-photo img { width: 100%; transform: none; object-position: 24% center; }
  .cpvl-copy h3 { max-width: none; font-size: clamp(2.2rem,9.2vw,3rem); }
  .pdf-preview > span { align-items: flex-end; }
}

@media (max-width: 520px) {
  .hero-motion span { width: 180vw; left: -45vw; }
  .hero-motion::before { inset: -10% -95%; }
  .origin-statement h3 { font-size: clamp(2.15rem,9.6vw,2.85rem); }
  .current-year-photo img { width: 100%; transform: none; object-position: 23% center; }
  .pdf-preview > span { display: grid; gap: .35rem; padding: .9rem; }
  .person-card { grid-template-columns: 4.4rem 1fr; min-height: 9.5rem; }
  .person-photo { width: 4.1rem; height: 4.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-motion::before, .hero-motion span { animation: none; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
[id] { scroll-margin-top: 5rem; }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: var(--sans); overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; opacity: .18; pointer-events: none; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: .8rem 1rem; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.cursor-glow { position: fixed; width: 24rem; height: 24rem; border-radius: 50%; background: radial-gradient(circle, rgba(74,130,214,.18), transparent 68%); transform: translate(-50%,-50%); pointer-events: none; z-index: 0; }

.nav-shell { position: fixed; top: 0; left: 0; right: 0; z-index: 30; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 1rem 2.5vw; border-bottom: 1px solid transparent; transition: .3s ease; }
.nav-shell.scrolled { background: rgba(12,16,22,.88); border-color: var(--line); backdrop-filter: blur(18px); }
.wordmark { display: flex; align-items: center; gap: .55rem; font: 900 1rem/1 var(--display); letter-spacing: -.03em; }
.wordmark i { width: 1.7rem; height: 1px; background: var(--gold); }
nav { display: flex; gap: 2rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; }
nav a, .nav-contact { position: relative; }
nav a::after, .nav-contact::after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -.35rem; background: var(--paper); transition: right .3s; }
nav a:hover::after, .nav-contact:hover::after { right: 0; }
.nav-actions { justify-self: end; display: flex; align-items: center; gap: 1.2rem; }
.lang-toggle { display: flex; gap: .25rem; border: 1px solid var(--line); border-radius: 99px; padding: .2rem; background: transparent; color: var(--paper); cursor: pointer; }
.lang-toggle span { padding: .35rem .52rem; border-radius: 99px; font-size: .68rem; }
.lang-toggle .active { background: var(--paper); color: var(--ink); }
.nav-contact { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }

.hero { min-height: 100svh; position: relative; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 4vw; padding: 8rem 6vw 5rem; overflow: hidden; isolation: isolate; }
.hero::after { content: ""; position: absolute; width: 52vw; height: 52vw; right: -13vw; top: -20vw; border-radius: 50%; background: #6c493b; filter: blur(80px); opacity: .25; z-index: -2; }
.hero-grid { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: radial-gradient(ellipse 70% 55% at 84% 15%, rgba(75,131,214,.25), transparent 68%), radial-gradient(ellipse 55% 48% at 8% 90%, rgba(134,91,66,.22), transparent 70%), linear-gradient(135deg,#101318 0%,#17191e 48%,#0a1018 100%); }
.hero-grid::before, .hero-grid::after { content: ""; position: absolute; width: 78vw; height: 36vw; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transform: rotate(-12deg); }
.hero-grid::before { left: -22vw; top: 18%; }
.hero-grid::after { right: -25vw; bottom: 5%; transform: rotate(14deg); }
.eyebrow, .section-kicker { font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 750; }
.eyebrow { display: flex; gap: .6rem; align-items: center; }
.live-dot { width: .5rem; height: .5rem; border-radius: 50%; background: #87aee5; box-shadow: 0 0 0 .28rem rgba(74,130,214,.15); }
.hero h1 { margin: 2rem 0; font: 900 clamp(4.6rem, 10.4vw, 10rem)/.74 var(--display); letter-spacing: -.065em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 .outline { color: transparent; -webkit-text-stroke: 1.5px var(--paper); margin-left: 6vw; }
.hero-statement { display: grid; grid-template-columns: minmax(0,34rem) auto; align-items: end; gap: 2rem; }
.hero-statement p { font-size: clamp(1.25rem, 2vw, 2rem); line-height: 1.25; margin: 0; max-width: 26ch; }
.draft-flag, .permission-note { border: 1px solid rgba(213,164,73,.6); color: var(--gold); padding: .55rem .7rem; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; max-width: 15rem; }
.hero-visual { margin: 0; position: relative; transform: rotate(1.2deg); }
.image-frame { overflow: hidden; border-radius: 40vw 40vw 1rem 1rem; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 2rem 7rem rgba(0,0,0,.45); }
.hero-image { height: min(70vh, 48rem); }
.hero-image img { height: 100%; object-fit: cover; object-position: 48% center; }
.hero-visual figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem .2rem; font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; }
.hero-visual figcaption b { color: var(--gold); }
.scroll-cue { position: absolute; left: 6vw; bottom: 1.8rem; display: flex; gap: 1rem; align-items: center; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.scroll-cue i { display: block; width: 5rem; height: 1px; background: var(--paper); animation: cue 2s ease-in-out infinite; transform-origin: left; }
@keyframes cue { 50% { transform: scaleX(.4); opacity: .45; } }

.manifesto { min-height: 85vh; display: grid; align-content: center; padding: 10vw 8vw; background: #f3f5f7; color: var(--ink); }
.manifesto-text { margin: 3rem 0 5rem; font: 800 clamp(3rem, 7vw, 7.7rem)/.92 var(--display); letter-spacing: -.055em; max-width: 13ch; text-transform: uppercase; }
.manifesto-note { display: flex; align-items: center; gap: 1rem; font-size: .62rem; letter-spacing: .15em; }
.manifesto-note i { height: 1px; flex: 1; background: rgba(6,17,38,.28); }

.case-study { position: relative; }
.nextgen { padding-top: 8rem; background: linear-gradient(180deg,#071324 0%,#0b1b31 28%,#0e1723 72%,#10151d 100%); }
.case-header { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; padding: 0 6vw 7rem; align-items: end; }
.case-header h2 { margin: 1rem 0 0; font: 900 clamp(5rem, 13vw, 13rem)/.75 var(--display); letter-spacing: -.075em; }
.case-header h2 span { color: var(--electric); }
.nextgen-lockup { margin: 2rem 0 0; width: min(48rem, 100%); border: 1px solid var(--line); overflow: hidden; background: var(--blue); }
.nextgen-lockup img { aspect-ratio: 16/9; object-fit: cover; }
.case-intro > p { font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.45; color: var(--paper-2); }
.case-intro dl { margin: 2.2rem 0 0; }
.case-intro dl div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.case-intro dt { color: var(--gold); text-transform: uppercase; font-size: .6rem; letter-spacing: .12em; }
.case-intro dd { margin: 0; font-size: .8rem; }
.full-bleed { margin: 0; position: relative; }
.proof-photo img { height: 78vh; min-height: 34rem; object-fit: cover; object-position: center 45%; filter: saturate(.86) contrast(1.04); }
.proof-photo::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(33,23,16,.9)); }
.proof-photo figcaption { position: absolute; z-index: 2; left: 6vw; right: 6vw; bottom: 3rem; display: flex; align-items: end; justify-content: space-between; text-transform: uppercase; letter-spacing: .11em; font-size: .68rem; }
.proof-photo strong { font: 900 clamp(3rem,7vw,7rem)/.8 var(--display); color: var(--gold); display: flex; align-items: end; gap: .8rem; }
.proof-photo small { font: 700 .62rem/1.2 var(--sans); color: var(--paper); max-width: 8rem; }
.metric-ribbon { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric-ribbon div { padding: 2.5rem 3vw; border-right: 1px solid var(--line); }
.metric-ribbon div:last-child { border: 0; }
.metric-ribbon strong { display: block; font: 900 clamp(2.8rem,5vw,5rem)/1 var(--display); }
.metric-ribbon span { display: block; margin-top: .65rem; color: var(--paper-2); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.metric-ribbon .honesty { background: var(--red); }
.data-note { margin: 1rem 6vw 0 auto; width: min(38rem,88vw); text-align: right; color: rgba(245,240,229,.48); font-size: .62rem; }

.year-map { display: grid; grid-template-columns: repeat(4,1fr); margin: 0 6vw 8rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.year-map div { padding: 1.35rem 1rem; border-right: 1px solid var(--line); }
.year-map div:last-child { border: 0; }
.year-map strong, .year-map span { display: block; }
.year-map strong { color: var(--gold); font: 800 1.15rem/1 var(--display); }
.year-map span { margin-top: .55rem; color: var(--paper-2); font-size: .58rem; letter-spacing: .13em; }

.phase-block { padding: 2rem 6vw 10rem; }
.phase-label { display: flex; align-items: center; gap: 1rem; color: var(--gold); font-size: .65rem; letter-spacing: .13em; }
.phase-label::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.origin-statement { display: grid; grid-template-columns: .55fr 1.45fr; column-gap: 6vw; align-items: start; margin-top: 5rem; }
.origin-statement h3 { grid-column: 2; margin: 0; font: 850 clamp(3rem,6.5vw,7rem)/.9 var(--display); letter-spacing: -.05em; text-transform: uppercase; max-width: 13ch; }
.origin-statement > p:last-of-type { grid-column: 2; max-width: 45rem; margin: 2.5rem 0 0; color: var(--paper-2); font-size: 1.08rem; line-height: 1.7; }
.voice-note { grid-column: 2; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: rgba(242,234,220,.52); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }

.phase-banner { display: grid; grid-template-columns: .5fr 1.5fr; gap: 6vw; padding: 8rem 6vw 5rem; align-items: start; background: linear-gradient(110deg,rgba(54,100,230,.94),rgba(0,65,141,.96)), url("assets/nextgen-gradient.png") center/cover; }
.phase-banner > span { color: var(--gold); font: 850 clamp(3rem,6vw,6rem)/1 var(--display); }
.phase-banner h3 { margin: .8rem 0 0; font: 850 clamp(2.8rem,5.6vw,6rem)/.92 var(--display); letter-spacing: -.045em; text-transform: uppercase; max-width: 14ch; }

.pilot-funnel { display: grid; grid-template-columns: repeat(11,auto); align-items: stretch; justify-content: space-between; gap: .6rem; padding: 3.5rem 6vw; background: #0c356d; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pilot-funnel div { min-width: 7rem; }
.pilot-funnel strong, .pilot-funnel span { display: block; }
.pilot-funnel strong { font: 900 clamp(2.4rem,4.5vw,4.8rem)/1 var(--display); }
.pilot-funnel span { margin-top: .6rem; color: var(--paper-2); font-size: .57rem; letter-spacing: .1em; }
.pilot-funnel i { align-self: center; color: var(--gold); font-style: normal; }

.pilot-gallery { background: var(--paper); }
.lessons-section { padding: 9rem 6vw; background: #e4e8ed; color: var(--ink); }
.lessons-head { display: grid; grid-template-columns: .5fr 1.5fr; gap: 6vw; align-items: start; margin-bottom: 5rem; }
.lessons-head h3 { margin: 0; font: 850 clamp(3rem,6vw,6.5rem)/.9 var(--display); letter-spacing: -.05em; text-transform: uppercase; max-width: 14ch; }
.lesson-grid { border-top: 1px solid rgba(12,16,22,.2); }
.lesson { display: grid; grid-template-columns: 3rem 1fr auto 1fr; gap: 3vw; align-items: start; padding: 2.5rem 0; border-bottom: 1px solid rgba(12,16,22,.2); }
.lesson > span { color: #315f9d; font: 800 1rem/1 var(--display); }
.lesson b { display: block; margin-bottom: .75rem; color: #315f9d; font-size: .56rem; letter-spacing: .14em; }
.lesson h4 { margin: 0; font: 800 clamp(1.8rem,3.2vw,3.4rem)/1 var(--display); text-transform: uppercase; letter-spacing: -.035em; max-width: 16ch; }
.lesson p { margin: 0; max-width: 31rem; line-height: 1.65; }
.lesson i { align-self: center; color: #315f9d; font-size: 1.5rem; font-style: normal; }

.story-grid { display: grid; grid-template-columns: 16rem minmax(0,1fr); gap: 8vw; padding: 10rem 6vw; }
.story-index { position: sticky; top: 7rem; align-self: start; display: grid; gap: 1.2rem; color: rgba(245,240,229,.4); font-size: .6rem; letter-spacing: .13em; }
.story-panels { display: grid; gap: 8rem; }
.story-panel { max-width: 52rem; padding-left: 2.5rem; border-left: 1px solid var(--line); }
.story-panel h3 { margin: 1rem 0 1.8rem; font: 800 clamp(2.5rem,5vw,5.2rem)/.95 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.story-panel p:last-child { font-size: 1.05rem; line-height: 1.7; color: var(--paper-2); max-width: 45rem; }
.panel-number { color: var(--gold); font: 800 1rem/1 var(--display); }
.story-panel.impact { padding: 3rem; border: 0; background: var(--red); transform: rotate(-1deg); }
.story-panel.impact p:last-child { color: var(--paper); }

.system-section { padding: 8rem 6vw 10rem; background: #111923; }
.system-copy { display: grid; grid-template-columns: .6fr 1fr 1fr; gap: 4vw; align-items: start; }
.system-copy h3 { margin: 0; font: 800 clamp(2.5rem,5vw,5rem)/.95 var(--display); text-transform: uppercase; letter-spacing: -.04em; }
.system-copy > p:last-child { margin: 0; color: var(--paper-2); line-height: 1.7; }
.loop { display: grid; grid-template-columns: repeat(9,auto); align-items: center; justify-content: space-between; gap: 1rem; margin: 6rem 0 3rem; }
.loop div { width: 8.8rem; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; display: grid; place-content: center; text-align: center; background: rgba(255,255,255,.035); }
.loop b { color: var(--gold); font: 900 2.2rem/1 var(--display); }
.loop span { margin-top: .55rem; font-size: .62rem; text-transform: uppercase; letter-spacing: .09em; }
.loop i { color: var(--gold); font-style: normal; }
.system-shot { margin: 0; border: 1px solid var(--line); background: #151515; padding: 1rem; box-shadow: 0 2rem 6rem rgba(0,0,0,.25); }
.system-shot figcaption { padding: .9rem .2rem 0; font-size: .62rem; color: var(--paper-2); letter-spacing: .1em; text-transform: uppercase; }
.dashboard-heading { display: grid; grid-template-columns: .7fr 1fr; gap: 6vw; align-items: start; margin: 6rem 0 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.dashboard-heading > p:last-child { margin: 0; color: var(--paper-2); line-height: 1.65; max-width: 42rem; }
.dashboard-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.dashboard-card { margin: 0; padding: .75rem; background: #0b0f15; border: 1px solid var(--line); overflow: hidden; }
.dashboard-card img { aspect-ratio: 16/10; object-fit: cover; object-position: top center; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.dashboard-card:hover img { transform: scale(1.025); }
.dashboard-card figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem .25rem .25rem; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-card figcaption b { color: #7fa9e0; }
.dashboard-card figcaption span { color: var(--paper-2); text-align: right; }

.current-year { display: grid; grid-template-columns: .9fr 1.1fr; background: linear-gradient(135deg,#0e2c53,#101923 75%); }
.current-year-photo { min-height: 48rem; }
.current-year-photo img { height: 100%; object-fit: cover; object-position: center; }
.current-year-copy { padding: 8rem 6vw; align-self: center; }
.current-year-copy h3 { margin: 1rem 0 3rem; font: 900 clamp(3.2rem,6vw,6.5rem)/.88 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.current-year-copy ol { list-style: none; counter-reset: objectives; padding: 0; margin: 0; }
.current-year-copy li { counter-increment: objectives; display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); line-height: 1.5; }
.current-year-copy li::before { content: "0" counter(objectives); color: var(--gold); font: 800 .85rem/1.7 var(--display); }
.current-status { margin-top: 3rem; padding: 1.2rem; border-left: 3px solid var(--gold); background: rgba(0,0,0,.14); color: var(--paper-2); font-size: .78rem; line-height: 1.6; }

.field-gallery { padding: 10rem 6vw; display: grid; grid-template-columns: repeat(12,1fr); gap: 1.2rem; background: var(--paper); color: var(--ink); }
.gallery-heading { grid-column: 1 / 8; margin-bottom: 5rem; }
.gallery-heading h3 { margin: 1rem 0 0; font: 900 clamp(4rem,8vw,8rem)/.85 var(--display); text-transform: uppercase; letter-spacing: -.05em; }
.tile { margin: 0; position: relative; overflow: hidden; background: var(--ink); }
.tile img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.tile:hover img { transform: scale(1.035); }
.tile figcaption { position: absolute; left: 1rem; bottom: 1rem; background: var(--paper); padding: .55rem .7rem; font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; }
.tile-a { grid-column: 1 / 8; height: 34rem; }
.tile-b { grid-column: 8 / 13; height: 34rem; margin-top: -8rem; }
.tile-c { grid-column: 1 / 6; height: 30rem; }
.tile-d { grid-column: 6 / 13; height: 30rem; }

.student-output { padding: 9rem 6vw 11rem; background: #1554a5; }
.output-heading { max-width: 75rem; }
.output-heading h3 { font: 900 clamp(3.5rem,7vw,7rem)/.9 var(--display); letter-spacing: -.055em; text-transform: uppercase; margin: 1.2rem 0; }
.output-heading > p:last-child { max-width: 47rem; line-height: 1.6; color: rgba(255,255,255,.78); }
.project-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; margin-top: 5rem; }
.project-card { background: var(--ink); border: 1px solid rgba(255,255,255,.18); overflow: hidden; }
.project-card img { aspect-ratio: 16/10; object-fit: cover; filter: saturate(.9); transition: .6s ease; }
.project-card:hover img { transform: scale(1.04); }
.project-card > div { padding: 1.5rem; position: relative; }
.project-card span { position: absolute; right: 1.5rem; top: 1.5rem; color: var(--gold); font-size: .7rem; }
.project-card h4 { font: 800 2rem/1 var(--display); margin: 0 0 .6rem; text-transform: uppercase; }
.project-card p { margin: 0; color: var(--paper-2); font-size: .72rem; }

.memories { background: #ede9dd; color: #173322; padding: 10rem 6vw; }
.split-case { display: grid; grid-template-columns: 1fr .85fr; gap: 7vw; align-items: center; }
.memories h2 { font: 800 clamp(4rem,8vw,8rem)/.84 Georgia, serif; letter-spacing: -.06em; margin: 1.5rem 0 2rem; }
.memories .lead { font-size: clamp(1.15rem,2vw,1.75rem); line-height: 1.45; max-width: 34rem; }
.memories-logo { margin: 0; background: #f2efe8; border-radius: 50% 50% 1rem 1rem; overflow: hidden; box-shadow: 0 2rem 5rem rgba(23,51,34,.14); }
.memories-logo img { aspect-ratio: 4/3; object-fit: contain; padding: 3rem; }
.contribution-list { margin-top: 3rem; }
.contribution-list div { display: grid; grid-template-columns: 3rem 1fr; padding: 1rem 0; border-top: 1px solid rgba(23,51,34,.2); }
.contribution-list b { color: #7e5a2a; }
.unfinished-grid { margin-top: 8rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.failure-card { background: #173322; color: var(--paper); padding: 3.5rem; }
.failure-card h3 { font: 800 clamp(2.4rem,4vw,4.4rem)/.95 var(--display); text-transform: uppercase; margin: 1.5rem 0; }
.failure-card p:last-child { color: var(--paper-2); line-height: 1.65; }
.survey-card { margin: 0; background: white; padding: 1rem; }
.survey-card figcaption { padding: .8rem .2rem 0; font-size: .65rem; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }
.copy-slot { grid-column: 1 / -1; border: 1px dashed rgba(23,51,34,.4); padding: 2.5rem; display: grid; grid-template-columns: .5fr 1fr; gap: 3rem; }
.copy-slot span { font-size: .62rem; letter-spacing: .16em; color: #7e5a2a; }
.copy-slot p { margin: 0; font: italic 1.3rem/1.45 Georgia, serif; }

.selected-work { padding: 10rem 6vw; background: #11151c; }
.work-heading h2 { font: 900 clamp(4rem,9vw,9rem)/.85 var(--display); text-transform: uppercase; letter-spacing: -.06em; margin: 1rem 0 6rem; }
.bank-case { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; padding: 1rem; border: 1px solid var(--line); background: #19202a; }
.bank-case figure { margin: 0; overflow: hidden; }
.bank-case figure img { aspect-ratio: 4/5; object-fit: cover; }
.bank-case h3 { font: 800 clamp(2.5rem,5vw,5rem)/.92 var(--display); text-transform: uppercase; letter-spacing: -.04em; margin: 1.2rem 0; }
.bank-case p { color: var(--paper-2); line-height: 1.65; max-width: 34rem; }
.bank-case .permission-note { display: inline-block; margin-top: 1rem; }
.external-link { display: inline-block; margin: 1.1rem 0 0 1rem; color: #8fb6eb; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.drone-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin: 1.2rem 0; }
.video-card { border: 1px solid var(--line); background: #19202a; transition: transform .35s, background .35s; }
.video-card:hover { transform: translateY(-.4rem); background: #202a37; }
.video-thumb { height: 22rem; position: relative; background-size: cover; background-position: center; }
.video-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 35%,rgba(0,0,0,.68)); }
.video-thumb.pont { background-image: url("https://img.youtube.com/vi/O65DxXpy0D0/maxresdefault.jpg"); }
.video-thumb.phalempin { background-image: url("https://img.youtube.com/vi/ABY1pMj9sD4/maxresdefault.jpg"); }
.play { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 4.5rem; height: 4.5rem; display: grid; place-content: center; border-radius: 50%; background: rgba(245,240,229,.92); color: var(--ink); }
.video-card > div:last-child { padding: 1.5rem; position: relative; }
.video-card p { margin: 0 0 .7rem; color: var(--gold); font-size: .6rem; letter-spacing: .14em; }
.video-card h3 { margin: 0; font: 800 2rem/1 var(--display); text-transform: uppercase; }
.video-card > div:last-child > span { position: absolute; right: 1.5rem; top: 1.5rem; font-size: .7rem; }
.comms-strip { margin-top: 1.2rem; padding: 3rem; border: 1px solid var(--line); display: grid; grid-template-columns: .8fr 1fr; gap: 6vw; }
.comms-strip span { color: var(--gold); font-size: .65rem; }
.comms-strip h3 { font: 800 clamp(2rem,4vw,4rem)/.95 var(--display); text-transform: uppercase; margin: .8rem 0 0; }
.comms-strip > p { margin: 0; color: var(--paper-2); line-height: 1.7; }

.cpvl-case { display: grid; grid-template-columns: .72fr 1.28fr; gap: 5vw; margin: 1.2rem 0; padding: 4rem; background: #e1e6ec; color: var(--ink); }
.cpvl-copy h3 { margin: 1rem 0 2rem; font: 850 clamp(2.8rem,5vw,5.3rem)/.9 var(--display); text-transform: uppercase; letter-spacing: -.045em; }
.cpvl-copy > p:last-child { line-height: 1.7; max-width: 34rem; }
.cpvl-images { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; align-content: center; }
.cpvl-images img { height: 100%; min-height: 24rem; object-fit: cover; }

.about { min-height: 80vh; display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; padding: 10rem 6vw; background: #c9d7e9; color: var(--ink); }
.about h2 { font: 900 clamp(4rem,8vw,8rem)/.84 var(--display); letter-spacing: -.06em; margin: 1rem 0; }
.about h2 em { color: transparent; -webkit-text-stroke: 1.5px var(--ink); font-style: normal; }
.about-content > p { font-size: clamp(1.15rem,2vw,1.55rem); line-height: 1.55; }
.copy-slot.compact { display: block; margin-top: 3rem; border-color: rgba(6,17,38,.4); }
.copy-slot.compact span { color: var(--ink); }
.copy-slot.compact p { margin-top: 1rem; font-size: 1rem; }

.acknowledgements { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; padding: 9rem 6vw; background: #f0f2f5; color: var(--ink); }
.ack-title h2 { margin: 1rem 0 0; font: 900 clamp(3.5rem,7vw,7rem)/.88 var(--display); text-transform: uppercase; letter-spacing: -.05em; }
.ack-groups { border-top: 1px solid rgba(12,16,22,.22); }
.ack-groups p { display: grid; grid-template-columns: 10rem 1fr; gap: 2rem; margin: 0; padding: 1.5rem 0; border-bottom: 1px solid rgba(12,16,22,.22); line-height: 1.6; }
.ack-groups b { color: #315f9d; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }

.contact { padding: 10rem 6vw 5rem; background: linear-gradient(135deg,#0b2341,#101720); }
.contact h2 { font: 900 clamp(5rem,13vw,13rem)/.75 var(--display); text-transform: uppercase; letter-spacing: -.07em; margin: 2rem 0 7rem; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 7rem; }
.contact-form label { display: grid; gap: .65rem; color: #91b7e7; font-size: .58rem; letter-spacing: .13em; }
.contact-form .message-field { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea { width: 100%; padding: 1rem 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.4); border-radius: 0; outline: none; resize: vertical; background: transparent; color: var(--paper); font: 1rem/1.5 var(--sans); }
.contact-form input:focus, .contact-form textarea:focus { border-color: #8fb6eb; }
.contact-form button { justify-self: start; padding: .95rem 1.3rem; border: 1px solid #8fb6eb; background: #8fb6eb; color: #081321; cursor: pointer; font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.contact-form button:hover { background: transparent; color: #8fb6eb; }
.form-status { margin: 0; align-self: center; color: rgba(241,243,245,.58); font-size: .62rem; line-height: 1.5; }
.contact-row { display: flex; justify-content: space-between; align-items: end; border-top: 1px solid rgba(255,255,255,.35); padding-top: 1.2rem; text-transform: uppercase; font-size: .68rem; letter-spacing: .12em; }
.contact-row p { margin: 0; }
footer { display: flex; justify-content: space-between; padding: 1.2rem 2.5vw; background: var(--ink); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem 1.2rem; }
.footer-links a { color: var(--paper-2); transition: color .2s ease; }
.footer-links a:hover, .footer-links a:focus-visible { color: var(--paper); }
.funnel-method { max-width: 60rem; margin: 1.2rem auto .45rem; padding: 0 1.25rem; color: rgba(241,243,245,.65); font: 500 .7rem/1.55 var(--sans); text-align: center; }
.funnel-method-link { display: block; width: max-content; max-width: calc(100% - 2rem); margin: 0 auto 3rem; color: #a9c8ef; font: 800 .65rem/1.2 var(--sans); letter-spacing: .12em; text-align: center; }

/* Editorial transparency and legal pages */
.info-page { min-height: 100vh; background: var(--ink); color: var(--paper); }
.info-page .nav-shell { background: rgba(12,16,22,.9); border-color: var(--line); backdrop-filter: blur(18px); }
.info-nav-title { justify-self: center; color: var(--paper-2); font: 750 .65rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.info-page .nav-actions { justify-self: end; }
.info-page-main { width: min(100% - 2rem, 78rem); margin: 0 auto; padding: clamp(8rem,14vw,12rem) 0 6rem; }
.info-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(16rem,.65fr); gap: 3rem; align-items: end; padding-bottom: 3rem; border-bottom: 1px solid var(--line); }
.info-kicker { margin: 0 0 1.1rem; color: #91b7e7; font: 800 .68rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.info-hero h1 { max-width: 11ch; margin: 0; font: 900 clamp(3.4rem,8vw,7.8rem)/.82 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.info-hero .info-intro { margin: 0; color: var(--paper-2); font: 450 clamp(1rem,1.55vw,1.25rem)/1.6 var(--sans); }
.info-meta { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 1.35rem; color: rgba(241,243,245,.58); font: 650 .65rem/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.info-grid { display: grid; grid-template-columns: 16rem minmax(0,1fr); gap: clamp(2rem,6vw,7rem); padding-top: 4rem; }
.info-toc { position: sticky; top: 7rem; align-self: start; display: grid; gap: .8rem; }
.info-toc b { margin-bottom: .55rem; color: rgba(241,243,245,.45); font: 800 .62rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.info-toc a { color: var(--paper-2); font: 650 .76rem/1.35 var(--sans); }
.info-toc a:hover, .info-toc a:focus-visible { color: #a9c8ef; }
.info-content { min-width: 0; }
.info-section { padding: 0 0 3.2rem; margin-bottom: 3.2rem; border-bottom: 1px solid var(--line); scroll-margin-top: 7rem; }
.info-section:last-child { margin-bottom: 0; border-bottom: 0; }
.info-section h2 { margin: 0 0 1.3rem; font: 850 clamp(1.9rem,3.5vw,3.4rem)/.95 var(--display); letter-spacing: -.025em; text-transform: uppercase; }
.info-section h3 { margin: 2rem 0 .7rem; color: #aac9ef; font: 800 .75rem/1.25 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.info-section p, .info-section li { color: var(--paper-2); font: 450 .98rem/1.75 var(--sans); }
.info-section p { margin: 0 0 1rem; }
.info-section ul, .info-section ol { margin: 1rem 0 0; padding-left: 1.25rem; }
.info-section li + li { margin-top: .65rem; }
.info-section a { color: #b7d4f7; text-decoration: underline; text-decoration-color: rgba(183,212,247,.35); text-underline-offset: .2em; }
.info-note { margin: 1.6rem 0; padding: 1.2rem 1.3rem; border-left: 2px solid #91b7e7; background: rgba(145,183,231,.07); }
.metric-ledger { display: grid; margin-top: 1.5rem; border-top: 1px solid var(--line); }
.metric-row { display: grid; grid-template-columns: 7rem minmax(10rem,.75fr) minmax(0,1.25fr); gap: 1.3rem; align-items: baseline; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.metric-row strong { color: #b7d4f7; font: 900 clamp(2rem,4vw,3.4rem)/1 var(--display); }
.metric-row b { font: 800 .72rem/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.metric-row span { color: var(--paper-2); font: 450 .82rem/1.55 var(--sans); }
.info-back { display: inline-flex; margin-top: 3rem; color: var(--paper); font: 800 .68rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.info-page footer { border-top: 1px solid var(--line); }
html[lang="en"] [data-lang="fr"], html[lang="fr"] [data-lang="en"] { display: none !important; }

@media (max-width: 900px) {
  footer { align-items: flex-start; gap: 1rem 2rem; flex-wrap: wrap; }
  .footer-links { order: 3; flex-basis: 100%; justify-content: flex-start; }
  .info-nav-title { display: none; }
  .info-page .nav-shell { grid-template-columns: 1fr auto; }
  .info-hero { grid-template-columns: 1fr; gap: 2rem; }
  .info-grid { grid-template-columns: 1fr; padding-top: 2.5rem; }
  .info-toc { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
  .info-toc b { grid-column: 1 / -1; }
  .metric-row { grid-template-columns: 5rem 1fr; }
  .metric-row span { grid-column: 2; }
}

@media (max-width: 520px) {
  .info-page-main { width: min(100% - 1.4rem,78rem); padding-top: 7rem; }
  .info-hero h1 { font-size: clamp(2.8rem,16vw,4.8rem); }
  .info-toc { grid-template-columns: 1fr; }
  .metric-row { grid-template-columns: 4.2rem 1fr; gap: .8rem; }
}

.reveal { opacity: 0; transform: translateY(2.5rem); transition: opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  main, section { max-width: 100vw; }
  section > *, .origin-statement > *, .lessons-head > *, .current-year > *, .unfinished-grid > *, .acknowledgements > * { min-width: 0; }
  h1, h2, h3, h4, .section-kicker { overflow-wrap: anywhere; }
  .cursor-glow { display: none; }
  .nav-shell { grid-template-columns: auto 1fr; padding: .9rem 1rem; }
  nav { display: none; }
  .nav-actions { gap: .7rem; }
  .nav-contact { display: none; }
  .wordmark { font-size: .72rem; letter-spacing: .04em; }
  .hero { grid-template-columns: 1fr; padding: 7rem 1.1rem 5rem; }
  .hero-copy, .hero-visual, .case-header > *, .case-intro { min-width: 0; max-width: 100%; }
  .hero-copy { z-index: 2; }
  .hero h1 { font-size: clamp(3.7rem,17vw,6.2rem); }
  .hero h1 .outline { margin-left: 0; }
  .hero-statement { grid-template-columns: 1fr; }
  .hero-visual { width: 72%; margin: -1rem 0 0 auto; }
  .hero-image { height: 55vh; }
  .scroll-cue { left: 1.1rem; }
  .manifesto { padding: 7rem 1.1rem; }
  .manifesto-note { display: grid; grid-template-columns: auto 1fr; }
  .case-header, .split-case, .bank-case, .about { grid-template-columns: 1fr; }
  .case-header, .system-section, .student-output, .memories, .selected-work, .about, .contact { padding-left: 1.1rem; padding-right: 1.1rem; }
  .case-header h2 { font-size: 17vw; }
  .nextgen-lockup { margin-top: 1.5rem; }
  .year-map { grid-template-columns: 1fr 1fr; margin: 0 1.1rem 6rem; }
  .year-map div:nth-child(2) { border-right: 0; }
  .year-map div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .phase-block { padding: 1rem 1.1rem 7rem; }
  .origin-statement, .phase-banner, .lessons-head { grid-template-columns: minmax(0,1fr); }
  .origin-statement { margin-top: 3rem; }
  .origin-statement h3, .origin-statement > p:last-of-type, .voice-note { grid-column: 1; }
  .origin-statement h3 { margin-top: 1.2rem; font-size: clamp(2.8rem, 13vw, 4rem); }
  .phase-banner { padding: 6rem 1.1rem 3rem; }
  .phase-banner h3 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .pilot-funnel { display: flex; overflow-x: auto; padding: 2rem 1.1rem; }
  .pilot-funnel div { min-width: 8.5rem; }
  .lessons-section { padding: 7rem 1.1rem; }
  .lessons-head h3 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .lesson { grid-template-columns: 2rem 1fr; gap: 1rem; }
  .lesson i { display: none; }
  .lesson > div:last-child { grid-column: 2; padding-top: 1rem; border-top: 1px dashed rgba(33,23,16,.25); }
  .proof-photo img { height: 62vh; }
  .proof-photo figcaption { left: 1.1rem; right: 1.1rem; }
  .metric-ribbon { grid-template-columns: 1fr 1fr; }
  .metric-ribbon div:nth-child(2) { border-right: 0; }
  .metric-ribbon div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .story-grid { grid-template-columns: 1fr; padding: 7rem 1.1rem; }
  .story-index { display: none; }
  .story-panels { gap: 5rem; }
  .story-panel { padding-left: 1.2rem; }
  .story-panel h3 { font-size: clamp(2.2rem, 11vw, 3rem); }
  .story-panel.impact { padding: 2rem; }
  .system-copy { grid-template-columns: 1fr; }
  .dashboard-heading, .dashboard-gallery { grid-template-columns: 1fr; }
  .dashboard-heading { margin-top: 4rem; }
  .dashboard-card { margin-bottom: .8rem; }
  .loop { display: flex; overflow-x: auto; justify-content: flex-start; padding-bottom: 1rem; }
  .loop div { min-width: 7.5rem; }
  .field-gallery { padding: 7rem 1.1rem; display: block; }
  .gallery-heading { margin-bottom: 3rem; }
  .gallery-heading h3, .output-heading h3 { font-size: clamp(2.7rem, 12vw, 3.2rem); }
  .tile { height: 24rem; margin: 0 0 1rem; }
  .project-cards, .drone-grid { grid-template-columns: 1fr; }
  .current-year, .cpvl-case { grid-template-columns: minmax(0,1fr); }
  .current-year-photo { min-height: 34rem; }
  .current-year-copy { padding: 6rem 1.1rem; }
  .current-year-copy h3 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .cpvl-case { grid-template-columns: minmax(0,1fr); padding: 2rem 1rem; }
  .cpvl-case > *, .cpvl-copy, .cpvl-images { min-width: 0; max-width: 100%; }
  .cpvl-copy h3 { font-size: clamp(2.4rem, 10vw, 3rem); overflow-wrap: anywhere; }
  .cpvl-images { grid-template-columns: 1fr; }
  .cpvl-images img { min-height: 17rem; }
  .project-card img { aspect-ratio: 16/9; }
  .unfinished-grid { grid-template-columns: minmax(0,1fr); }
  .copy-slot { grid-column: auto; grid-template-columns: 1fr; }
  .memories-logo { order: -1; }
  .memories-logo img { padding: 1.2rem; }
  .bank-case { padding: .8rem; }
  .bank-case > div { padding: 1rem; }
  .video-thumb { height: 17rem; }
  .comms-strip { grid-template-columns: 1fr; padding: 2rem; }
  .acknowledgements { grid-template-columns: minmax(0,1fr); padding: 7rem 1.1rem; }
  .ack-groups p { grid-template-columns: 1fr; gap: .6rem; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form .message-field { grid-column: 1; }
  .about h2, .contact h2 { font-size: 15vw; overflow-wrap: anywhere; }
  .contact-row { align-items: start; gap: 2rem; }
}

/* V3 — expanded navigation, orbital motion and evidence-led case studies */
.wordmark { gap: .22rem; font-size: .82rem; letter-spacing: -.045em; }
.wordmark-outline { color: transparent; -webkit-text-stroke: .75px var(--paper); }
.wordmark i { margin-left: .45rem; }
.project-nav { position: relative; }
.menu-trigger { display: flex; align-items: center; gap: .7rem; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 99px; color: var(--paper); background: rgba(12,16,22,.58); cursor: pointer; font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.menu-trigger i, .menu-trigger i::before, .menu-trigger i::after { display: block; width: 1.1rem; height: 1px; background: currentColor; transition: transform .3s; }
.menu-trigger i { position: relative; }
.menu-trigger i::before, .menu-trigger i::after { content: ""; position: absolute; left: 0; }
.menu-trigger i::before { top: -.3rem; }
.menu-trigger i::after { top: .3rem; }
.mega-menu { position: absolute; top: calc(100% + .8rem); left: 50%; width: min(52rem,82vw); padding: 1.3rem; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1rem; background: rgba(12,16,22,.96); border: 1px solid var(--line); box-shadow: 0 2rem 5rem rgba(0,0,0,.4); backdrop-filter: blur(22px); opacity: 0; visibility: hidden; transform: translate(-50%,-.7rem) scale(.98); transform-origin: top center; transition: .3s cubic-bezier(.2,.8,.2,1); }
.project-nav.open .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%,0) scale(1); }
.project-nav.open .menu-trigger i { background: transparent; }
.project-nav.open .menu-trigger i::before { top: 0; transform: rotate(45deg); }
.project-nav.open .menu-trigger i::after { top: 0; transform: rotate(-45deg); }
@media (hover:hover) and (min-width:901px) {
  .project-nav:hover .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%,0) scale(1); }
  .project-nav:hover .menu-trigger i { background: transparent; }
  .project-nav:hover .menu-trigger i::before { top: 0; transform: rotate(45deg); }
  .project-nav:hover .menu-trigger i::after { top: 0; transform: rotate(-45deg); }
}
.menu-column { display: grid; align-content: start; gap: .15rem; padding: .8rem; border-left: 1px solid var(--line); }
.menu-column b { color: #89afe2; padding: .45rem .6rem .8rem; font-size: .62rem; letter-spacing: .12em; }
.menu-column a { padding: .48rem .6rem; color: var(--paper-2); font-size: .75rem; letter-spacing: .03em; transition: .2s; }
.menu-column a:hover { color: white; background: rgba(255,255,255,.06); transform: translateX(.2rem); }

.orbit { position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.orbit i { position: absolute; left: 50%; top: -.35rem; width: .68rem; height: .68rem; border-radius: 50%; background: #9fc3f1; box-shadow: 0 0 1.4rem .35rem rgba(93,154,235,.55); }
.orbit-one { width: 63vw; height: 29vw; left: -12vw; top: 18%; transform: rotate(-12deg); animation: orbit-drift-one 15s linear infinite; }
.orbit-two { width: 55vw; height: 24vw; right: -14vw; bottom: 5%; transform: rotate(14deg); animation: orbit-drift-two 19s linear infinite reverse; }
@keyframes orbit-drift-one { to { transform: rotate(348deg); } }
@keyframes orbit-drift-two { to { transform: rotate(374deg); } }

.manifesto { min-height: 70vh; position: relative; justify-items: center; text-align: center; overflow: hidden; }
.manifesto-text { max-width: 15ch; margin: 2.2rem auto 3.2rem; font-size: clamp(2.8rem,5vw,5.8rem); }
.manifesto-note { width: min(58rem,88vw); }
.manifesto-orbit { position: absolute; width: 62vw; height: 22vw; left: 19vw; top: 24%; border: 1px solid rgba(6,17,38,.12); border-radius: 50%; transform: rotate(-8deg); }
.manifesto-orbit span { position: absolute; width: .6rem; height: .6rem; left: 12%; top: 6%; border-radius: 50%; background: var(--blue); box-shadow: 0 0 1.1rem .2rem rgba(21,86,173,.35); animation: manifesto-pulse 2.6s ease-in-out infinite; }
@keyframes manifesto-pulse { 50% { transform: scale(1.7); opacity: .45; } }

.nextgen-brand { position: relative; display: flex; align-items: center; gap: 2.5rem; margin-top: 2.5rem; min-height: 16rem; }
.nextgen-lockup { width: min(40rem,75%); margin: 0; border: 0; background: none; }
.nextgen-lockup img { aspect-ratio: auto; }
.nextgen-monogram { width: clamp(5rem,9vw,9rem); opacity: .14; transform: scale(1.8); }
.proof-photo img { object-position: center 68%; }
.current-year-photo img { object-position: 27% center; }

.lesson-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; border: 0; }
.lesson { min-height: 38rem; position: relative; display: flex; flex-direction: column; gap: 0; padding: 2rem; border: 1px solid rgba(12,16,22,.18); background: rgba(255,255,255,.62); overflow: hidden; }
.lesson::after { content: ""; position: absolute; width: 15rem; height: 15rem; right: -8rem; top: -8rem; border: 1px solid rgba(49,95,157,.18); border-radius: 50%; }
.lesson-number { color: #315f9d; font: 900 4.5rem/.8 var(--display); }
.lesson-problem { margin-top: 3rem; }
.lesson h4 { font-size: clamp(1.8rem,2.4vw,2.8rem); max-width: none; }
.lesson-change { margin-top: auto; padding: 1.4rem 0; border-top: 1px solid rgba(12,16,22,.2); }
.lesson-change p { font-size: .92rem; }
.lesson-proof { margin: 0 -2rem -2rem; padding: 1.4rem 2rem; background: #173b6b; color: white; }
.lesson-proof b { color: #9fc3f1; }
.lesson-proof strong { display: block; font: 800 1.15rem/1.2 var(--display); text-transform: uppercase; }

.expectations-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 5vw; align-items: start; margin-top: 7rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.expectations-heading h3 { margin: 0; font: 850 clamp(2.8rem,5vw,5rem)/.9 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.expectation-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .8rem; margin-top: 3rem; }
.expectation-card { min-width: 0; min-height: 24rem; position: relative; display: flex; flex-direction: column; padding: .7rem; border: 1px solid var(--line); background: #0b0f15; color: white; text-align: left; overflow: hidden; cursor: pointer; }
.expectation-card img { height: 17rem; object-fit: cover; object-position: top; filter: saturate(.82); transition: transform .55s, filter .55s; }
.expectation-card:hover img { transform: scale(1.035); filter: saturate(1); }
.expectation-card > span { display: grid; grid-template-columns: auto 1fr; gap: .3rem .7rem; margin-top: auto; padding: 1rem .35rem .35rem; }
.expectation-card b { grid-row: 1 / 3; color: #8eb5e8; font: 900 2.1rem/1 var(--display); }
.expectation-card em { align-self: end; font: 800 .78rem/1 var(--display); font-style: normal; letter-spacing: .07em; }
.expectation-card small { color: var(--paper-2); font-size: .56rem; letter-spacing: .1em; }
.expectation-card.building { cursor: default; background: linear-gradient(145deg,#111923,#0a0d12); }
.construction-motion { flex: 1; position: relative; min-height: 18rem; background: repeating-linear-gradient(135deg,transparent 0 18px,rgba(98,153,225,.08) 18px 20px); }
.construction-motion::after { content: ""; position: absolute; inset: 0; }
.construction-motion i { position: absolute; left: 18%; right: 18%; bottom: 28%; height: 2px; background: #6594d3; animation: construction-line 2.2s ease-in-out infinite; }
.construction-motion span { position: absolute; width: .75rem; height: .75rem; left: 48%; bottom: calc(28% - .32rem); background: #d3e3f7; border-radius: 50%; box-shadow: 0 0 1rem #6397dc; animation: construction-point 2.2s ease-in-out infinite; }
.construction-motion.delay i, .construction-motion.delay span { animation-delay: -.9s; }
@keyframes construction-line { 50% { left: 37%; right: 37%; opacity: .45; } }
@keyframes construction-point { 50% { transform: translateY(-3.2rem); } }
.dashboard-image { position: relative; }
.jury-dashboard .dashboard-image i { position: absolute; left: 50.7%; width: 8.2%; top: 65%; bottom: 2%; background: #171717; filter: blur(2px); opacity: .96; }

.breakline-logo { width: min(19rem,65%); margin: 0 0 3rem; }
.cpvl-logo { width: min(20rem,75%); max-height: 5rem; object-fit: contain; object-position: left center; margin-bottom: 3rem; padding: .8rem 1rem; background: #111923; }
.cpvl-case { grid-template-columns: .8fr 1.2fr; padding: 5rem; }
.cpvl-images img { min-height: 32rem; }
.pdf-link { display: flex; align-items: center; gap: 1rem; width: fit-content; margin-top: 2rem; padding: .8rem 1rem; border: 1px solid rgba(12,16,22,.25); transition: .3s; }
.pdf-link:hover { background: var(--ink); color: white; transform: translateY(-.2rem); }
.pdf-link img { width: 2.8rem; height: 2.8rem; object-fit: contain; }
.pdf-link span { display: grid; gap: .3rem; }
.pdf-link b { font-size: .7rem; letter-spacing: .08em; }
.pdf-link small { font-size: .58rem; opacity: .6; }
.cpvl-service-label { display: flex; align-items: center; gap: 1rem; margin: 4rem 0 1rem; color: #8fb6eb; font-size: .65rem; letter-spacing: .13em; }
.cpvl-service-label i { height: 1px; flex: 1; background: var(--line); }
.cpvl-drone-grid { margin-top: 0; }
.cpvl-analysis { border-color: rgba(143,182,235,.35); }

.acknowledgements { display: block; padding: 9rem 0; overflow: hidden; }
.ack-title, .thanks-intro, .thanks-notes { margin-left: 6vw; margin-right: 6vw; }
.ack-title { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: end; }
.thanks-intro { width: min(42rem,88vw); margin-top: 3rem; font-size: 1.1rem; line-height: 1.65; }
.thanks-marquees { margin-top: 5rem; border-top: 1px solid rgba(12,16,22,.2); }
.thanks-row { display: grid; grid-template-columns: 8rem minmax(0,1fr); align-items: center; overflow: hidden; border-bottom: 1px solid rgba(12,16,22,.2); }
.thanks-row > span { position: relative; z-index: 2; align-self: stretch; display: grid; align-content: center; padding-left: 1.5rem; color: #315f9d; background: #f0f2f5; border-right: 1px solid rgba(12,16,22,.2); font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.marquee-track { min-width: max-content; display: flex; animation: thanks-scroll 32s linear infinite; }
.thanks-row.reverse .marquee-track { animation-direction: reverse; animation-duration: 28s; }
.thanks-row:hover .marquee-track { animation-play-state: paused; }
.marquee-track p { margin: 0; padding: 1.2rem 0; font: 900 clamp(1.8rem,3vw,3.4rem)/1 var(--display); letter-spacing: -.025em; white-space: nowrap; }
@keyframes thanks-scroll { to { transform: translateX(-50%); } }
.thanks-notes { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-top: 4rem; }
.thanks-notes p { margin: 0; padding-top: 1rem; border-top: 1px solid rgba(12,16,22,.25); }
.thanks-notes b, .thanks-notes span { display: block; }
.thanks-notes b { color: #315f9d; font-size: .65rem; letter-spacing: .08em; }
.thanks-notes span { margin-top: .5rem; font-size: .78rem; line-height: 1.45; }

.worksheet-dialog { width: min(38rem,calc(100vw - 2rem)); padding: 3rem; border: 1px solid rgba(255,255,255,.18); background: #0b1626; color: white; box-shadow: 0 2rem 8rem rgba(0,0,0,.6); overflow: hidden; }
.worksheet-dialog::backdrop { background: rgba(4,8,13,.82); backdrop-filter: blur(10px); }
.worksheet-dialog > img { width: 4.5rem; margin-bottom: 3rem; }
.worksheet-dialog h2 { margin: 1rem 0; font: 900 clamp(2.8rem,6vw,4.2rem)/.88 var(--display); text-transform: uppercase; letter-spacing: -.05em; overflow-wrap: anywhere; }
.worksheet-dialog > p:last-of-type { color: var(--paper-2); line-height: 1.6; }
.worksheet-dialog > a { display: inline-block; margin-top: 1.5rem; padding: .8rem 1rem; border: 1px solid #8fb6eb; color: #8fb6eb; font-size: .68rem; letter-spacing: .1em; }
.dialog-close { position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 1.5rem; }

@media (max-width: 900px) {
  .nav-shell { grid-template-columns: minmax(0,1fr) auto auto; gap: .45rem; }
  .wordmark { font-size: .63rem; }
  .wordmark i { display: none; }
  .nav-actions { gap: 0; }
  .project-nav { display: block; justify-self: center; }
  .menu-trigger { padding: .6rem .75rem; }
  .mega-menu { position: fixed; top: 4.2rem; left: 1rem; right: 1rem; width: auto; max-height: calc(100vh - 5.5rem); overflow-y: auto; grid-template-columns: 1fr; transform: translateY(-.7rem) scale(.98); }
  .project-nav.open .mega-menu { transform: translateY(0) scale(1); }
  .menu-column { border-left: 0; border-top: 1px solid var(--line); }
  .orbit-one { width: 125vw; height: 68vw; }
  .orbit-two { width: 115vw; height: 55vw; }
  .manifesto { min-height: 62vh; padding-top: 6rem; padding-bottom: 6rem; }
  .manifesto-text { font-size: clamp(2.25rem,10vw,3.4rem); }
  .manifesto-note { grid-template-columns: 1fr; gap: .7rem; }
  .manifesto-note i { width: 3rem; flex: none; justify-self: center; }
  .nextgen-brand { min-height: 10rem; gap: 1rem; }
  .nextgen-lockup { width: 78%; }
  .nextgen-monogram { width: 4rem; }
  .lesson-grid { grid-template-columns: 1fr; }
  .lesson { min-height: 34rem; }
  .lesson > div:last-child { grid-column: auto; padding-top: 1.4rem; border-top: 0; }
  .expectations-heading { grid-template-columns: 1fr; }
  .expectation-grid { display: flex; overflow-x: auto; padding-bottom: 1rem; }
  .expectation-card { min-width: 76vw; }
  .cpvl-case { padding: 2rem 1rem; }
  .cpvl-images img { min-height: 22rem; }
  .ack-title { grid-template-columns: 1fr; gap: 1rem; margin: 0 1.1rem; }
  .thanks-intro, .thanks-notes { margin-left: 1.1rem; margin-right: 1.1rem; }
  .thanks-row { grid-template-columns: 5rem minmax(0,1fr); }
  .thanks-row > span { padding-left: .7rem; }
  .thanks-notes { grid-template-columns: 1fr 1fr; }
  .worksheet-dialog { padding: 2rem; }
}

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

/* V4 — precise orbital motion, chronological selector and unified CPVL case */
.hero-grid::before, .hero-grid::after { display: none; }
.wordmark { min-width: 7.6rem; gap: .7rem; }
.wordmark-name { display: grid; gap: .02rem; color: var(--paper); font: 900 .8rem/.82 var(--display); letter-spacing: .035em; }
.wordmark-name b:last-child { color: #91b7e7; }
.wordmark i { flex: 1; }
.hero-statement { grid-template-columns: minmax(0,34rem); }

.orbit-one { width: 63vw; height: 29vw; left: -12vw; top: 18%; transform: rotate(-12deg); animation: none; }
.orbit-one > span { position: absolute; inset: -1px; border-radius: 50%; animation: orbit-run 13s linear infinite; }
.orbit-one i { left: 50%; top: -.35rem; }
.orbit-two { display: none; }
@keyframes orbit-run { to { transform: rotate(360deg); } }

.manifesto .section-kicker { position: relative; z-index: 2; padding: .55rem 1rem; background: rgba(243,245,247,.82); }
.manifesto-orbit { transform: rotate(-8deg); }
.manifesto-orbit > span { position: absolute; inset: -1px; width: auto; height: auto; border-radius: 50%; background: none; box-shadow: none; animation: manifesto-run 11s linear infinite; }
.manifesto-orbit span i { position: absolute; width: .6rem; height: .6rem; left: 50%; top: -.28rem; border-radius: 50%; background: var(--blue); box-shadow: 0 0 1.1rem .2rem rgba(21,86,173,.35); }
@keyframes manifesto-run { to { transform: rotate(360deg); } }

.nextgen-brand { display: block; min-height: auto; }
.nextgen-lockup { width: min(40rem,92%); }
.nextgen-slogan { margin: 1.4rem 0 0; color: #a9c9f1; font: 850 clamp(1.8rem,3.1vw,3.1rem)/1 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.nextgen-monogram { display: none; }

.year-map { display: none; }
.timeline-wheel { display: grid; grid-template-columns: minmax(18rem,.8fr) minmax(0,1.2fr); gap: 5vw; margin: 0 6vw 8rem; padding: 2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.025); perspective: 1000px; }
.timeline-options { position: relative; min-height: 24rem; display: grid; align-content: center; overflow: hidden; }
.timeline-options::before, .timeline-options::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; height: 6rem; pointer-events: none; }
.timeline-options::before { top: 0; background: linear-gradient(#0b1a2f,transparent); }
.timeline-options::after { bottom: 0; background: linear-gradient(transparent,#0b1a2f); }
.timeline-options button { position: relative; display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; width: 100%; padding: 1.15rem 1.2rem; border: 0; border-top: 1px solid rgba(255,255,255,.08); color: rgba(242,234,220,.32); background: transparent; text-align: left; cursor: pointer; transform: perspective(35rem) rotateX(-17deg) scale(.92); transition: .38s cubic-bezier(.2,.8,.2,1); }
.timeline-options button:first-child { border-top: 0; }
.timeline-options button strong { font: 850 1.2rem/1 var(--display); }
.timeline-options button span { font-size: .62rem; letter-spacing: .14em; }
.timeline-options button.is-active { z-index: 3; color: white; background: linear-gradient(90deg,rgba(49,95,157,.42),rgba(49,95,157,.06)); box-shadow: inset 3px 0 #d5a449; transform: scale(1.045); }
.timeline-detail { align-self: center; padding: 3rem; border-left: 1px solid var(--line); }
.timeline-year { color: var(--gold); font: 900 clamp(3rem,6vw,6.5rem)/.8 var(--display); }
.timeline-detail h3 { margin: 1.5rem 0; font: 900 clamp(2.7rem,5vw,5.2rem)/.85 var(--display); letter-spacing: -.05em; }
.timeline-detail p { max-width: 35rem; color: var(--paper-2); font-size: 1rem; line-height: 1.65; }
.timeline-detail small { display: block; margin-top: 3rem; color: #719bd2; font-size: .58rem; letter-spacing: .15em; }

.discovery-montage { height: 78vh; min-height: 40rem; }
.discovery-images { height: 100%; display: grid; grid-template-columns: 1.15fr .85fr; gap: .35rem; background: #050a11; }
.discovery-montage .discovery-images img { width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: saturate(.86) contrast(1.04); }
.discovery-montage .discovery-images img:first-child { object-position: center 64%; }
.discovery-montage .discovery-images img:last-child { object-position: center 38%; }

.construction-motion::after { inset: auto 16% 48% auto; color: rgba(255,255,255,.28); font-size: .82rem; line-height: 1.2; letter-spacing: .18em; transform: rotate(-11deg); }
.construction-motion i { height: 1px; background: linear-gradient(90deg,transparent,#6594d3,#d3e3f7,#6594d3,transparent); box-shadow: 0 0 .7rem rgba(99,151,220,.38); }
.construction-motion span { width: .55rem; height: .55rem; bottom: calc(28% - .24rem); }
@keyframes construction-line { 50% { left: 28%; right: 28%; opacity: .55; transform: translateY(-.35rem); } }
@keyframes construction-point { 25% { transform: translate(2.7rem,-2rem); } 50% { transform: translate(0,-4.2rem); } 75% { transform: translate(-2.7rem,-2rem); } }

.notion-badge { display: grid; grid-template-columns: 2.7rem auto 1fr; align-items: center; gap: .8rem; width: fit-content; margin: 0 0 1.2rem auto; padding: .55rem .8rem; border: 1px solid var(--line); background: #0b0f15; }
.notion-badge span { display: grid; place-content: center; width: 2.1rem; height: 2.1rem; border: 2px solid white; border-radius: .15rem; font: 900 1.15rem Georgia,serif; transform: rotate(-2deg); }
.notion-badge b { font-size: .62rem; letter-spacing: .12em; }
.notion-badge small { color: var(--paper-2); font-size: .52rem; letter-spacing: .1em; }
.role-roadmap { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.role-roadmap article { position: relative; min-height: 8rem; display: grid; grid-template-columns: auto 1fr; align-content: center; gap: .25rem 1rem; padding: 1.5rem; border: 1px dashed rgba(143,182,235,.35); background: linear-gradient(120deg,rgba(49,95,157,.12),transparent); overflow: hidden; }
.role-roadmap span { grid-row: 1/3; color: #719bd2; font: 900 2.6rem/1 var(--display); }
.role-roadmap b { font-size: .82rem; letter-spacing: .1em; }
.role-roadmap small { color: var(--paper-2); font-size: .55rem; letter-spacing: .12em; }
.role-roadmap i { position: absolute; width: 8rem; height: 8rem; right: -4rem; top: -4rem; border: 1px solid rgba(143,182,235,.18); border-radius: 50%; animation: role-pulse 3s ease-in-out infinite; }
.role-roadmap article:last-child i { animation-delay: -1.2s; }
@keyframes role-pulse { 50% { transform: scale(.65); opacity: .3; } }

.current-year { grid-template-columns: 1fr 1fr; }
.current-year-photo { position: relative; overflow: hidden; }
.current-year-photo img { width: 122%; max-width: none; object-position: 31% center; transform: translateX(-4%); }
.current-year-copy ol { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.current-year-copy li { min-height: 9rem; display: grid; grid-template-columns: 2.5rem 1fr; align-content: start; padding: 1.2rem; border: 1px solid var(--line); background: rgba(0,0,0,.13); }

.cpvl-suite { margin-top: 1.2rem; padding: 1.2rem; background: linear-gradient(145deg,#282d31,#111517 70%); border: 1px solid rgba(255,255,255,.13); }
.cpvl-case { margin: 0; background: transparent; color: white; }
.cpvl-logo { padding: 0; background: transparent; }
.cpvl-copy > p:last-of-type { color: #cbd0d4; }
.cpvl-suite .pdf-link { border-color: rgba(255,255,255,.28); color: white; }
.cpvl-suite .pdf-link:hover { background: white; color: #171b1e; }
.cpvl-service-label { margin: 1rem 4rem; }
.cpvl-suite .video-card { background: #202529; border-color: rgba(255,255,255,.14); }
.cpvl-suite .video-card:hover { background: #2a3035; }
.cpvl-suite .cpvl-analysis { margin-bottom: 0; background: rgba(255,255,255,.035); }

@media (max-width: 900px) {
  .wordmark { min-width: 5.2rem; }
  .wordmark-name { font-size: .65rem; line-height: .88; letter-spacing: .015em; }
  .hero-statement { display: block; }
  .orbit-one { width: 128vw; height: 70vw; left: -42vw; top: 24%; }
  .manifesto .section-kicker { max-width: 17rem; }
  .manifesto-orbit { width: 112vw; height: 45vw; left: -6vw; top: 30%; }
  .nextgen-lockup { width: 100%; }
  .nextgen-slogan { font-size: 1.6rem; }
  .timeline-wheel { grid-template-columns: 1fr; gap: 0; margin: 0 1.1rem 6rem; padding: 1rem; }
  .timeline-options { min-height: auto; }
  .timeline-options::before, .timeline-options::after { display: none; }
  .timeline-options button { grid-template-columns: 6.2rem 1fr; transform: none; padding: 1rem .8rem; }
  .timeline-options button.is-active { transform: translateX(.25rem); }
  .timeline-detail { border-left: 0; border-top: 1px solid var(--line); padding: 2.5rem .8rem 1rem; }
  .timeline-detail small { margin-top: 2rem; }
  .discovery-montage { height: 72rem; }
  .discovery-images { grid-template-columns: 1fr; grid-template-rows: 1fr 1.1fr; }
  .discovery-montage .discovery-images img:first-child { object-position: center 60%; }
  .proof-photo figcaption { display: grid; gap: 1rem; }
  .notion-badge { margin-left: 0; grid-template-columns: 2.7rem 1fr; }
  .notion-badge small { grid-column: 2; }
  .role-roadmap { grid-template-columns: 1fr; }
  .current-year, .cpvl-case { grid-template-columns: minmax(0,1fr); }
  .current-year-photo img { width: 140%; object-position: 30% center; transform: translateX(-9%); }
  .current-year-copy ol { grid-template-columns: 1fr; }
  .cpvl-suite { margin-left: -1.1rem; margin-right: -1.1rem; padding: 1rem; }
  .cpvl-service-label { margin: 2rem 0 1rem; }
}

@media (max-width: 520px) {
  .nav-shell { grid-template-columns: minmax(4.8rem,1fr) auto auto; }
  .wordmark-name { font-size: .58rem; }
  .lang-toggle { padding: .45rem .3rem; }
  .nav-contact { display: none; }
  .discovery-montage { height: 60rem; min-height: 0; }
  .current-year-photo img { width: 155%; object-position: 29% center; transform: translateX(-13%); }
}

/* V5 — free-moving light, signal field, loading states and people cards */
.hero-copy { position: relative; z-index: 2; }
.hero-visual { z-index: 4; }
.travelling-light { position: absolute; z-index: 3; left: 5%; top: 72%; width: 1rem; height: 1rem; border-radius: 50%; background: #a9cfff; box-shadow: 0 0 .7rem .25rem rgba(114,177,255,.85), 0 0 2.4rem .9rem rgba(63,126,220,.32); pointer-events: none; animation: travelling-light 15s cubic-bezier(.42,0,.58,1) infinite; }
.travelling-light i { position: absolute; right: .7rem; top: 50%; width: 4rem; height: 1px; background: linear-gradient(90deg,transparent,rgba(156,204,255,.72)); transform: translateY(-50%); transform-origin: right; }
@keyframes travelling-light {
  0% { left: 5%; top: 72%; opacity: .85; z-index: 3; transform: scale(.75); }
  18% { left: 26%; top: 25%; opacity: 1; transform: scale(1); }
  35% { left: 56%; top: 49%; opacity: 1; z-index: 3; transform: scale(1.25); }
  43% { left: 70%; top: 57%; opacity: 1; z-index: 5; transform: scale(1.05); }
  49% { left: 77%; top: 45%; opacity: 0; z-index: 0; transform: scale(.7); }
  66% { left: 82%; top: 14%; opacity: 0; z-index: 0; transform: scale(.7); }
  72% { left: 78%; top: 9%; opacity: 1; z-index: 5; transform: scale(1.05); }
  84% { left: 48%; top: 17%; opacity: .9; z-index: 3; transform: scale(.8); }
  100% { left: 5%; top: 72%; opacity: .85; z-index: 3; transform: scale(.75); }
}

.manifesto-signal { position: absolute; z-index: 0; inset: 8% 0; overflow: hidden; pointer-events: none; }
.manifesto-signal::before { content: ""; position: absolute; left: -35%; top: 48%; width: 170%; height: 1px; background: linear-gradient(90deg,transparent,rgba(21,86,173,.42),rgba(21,86,173,.08),transparent); transform: rotate(-7deg); animation: signal-scan 7s ease-in-out infinite alternate; }
.manifesto-signal i { position: absolute; left: -20%; width: 140%; height: 5rem; border-top: 1px solid rgba(21,86,173,.09); transform: skewY(-7deg); animation: signal-wave 9s ease-in-out infinite; }
.manifesto-signal i:nth-child(1) { top: 28%; }
.manifesto-signal i:nth-child(2) { top: 48%; animation-delay: -3s; }
.manifesto-signal i:nth-child(3) { top: 68%; animation-delay: -6s; }
@keyframes signal-wave { 50% { transform: translateY(2.2rem) skewY(4deg); opacity: .4; } }
@keyframes signal-scan { to { transform: translateY(3rem) rotate(6deg); } }
.manifesto > :not(.manifesto-signal) { position: relative; z-index: 2; }

.nextgen-slogan { display: none; }
.timeline-title { font-size: clamp(2rem,3.6vw,4rem) !important; overflow-wrap: anywhere; hyphens: auto; }
.timeline-slogan { width: fit-content; margin: -4rem auto 8rem; padding: .9rem 1.3rem; border-top: 1px solid rgba(143,182,235,.4); border-bottom: 1px solid rgba(143,182,235,.4); color: #aacaf2; font: 850 clamp(1.1rem,1.8vw,1.7rem)/1 var(--display); letter-spacing: .04em; text-align: center; text-transform: uppercase; }

.construction-motion::after { content: ""; }
.construction-motion i { left: 50%; right: auto; top: 50%; bottom: auto; width: 4.5rem; height: 4.5rem; border: .18rem solid rgba(143,182,235,.18); border-top-color: #8fb6eb; border-right-color: #d3e3f7; border-radius: 50%; background: none; box-shadow: 0 0 1.4rem rgba(99,151,220,.2); transform: translate(-50%,-50%); animation: loading-ring 1.15s linear infinite; }
.construction-motion span { left: 50%; top: 50%; bottom: auto; width: 2rem; height: 2rem; border: 1px dashed rgba(211,227,247,.5); background: transparent; box-shadow: none; transform: translate(-50%,-50%); animation: loading-ring-reverse 1.8s linear infinite; }
.construction-motion.delay i, .construction-motion.delay span { animation-delay: -.35s; }
@keyframes loading-ring { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes loading-ring-reverse { to { transform: translate(-50%,-50%) rotate(-360deg); } }

.cpvl-images { position: relative; display: block; min-height: 35rem; }
.cpvl-images img { position: absolute; margin: 0; object-fit: cover; box-shadow: 0 1.8rem 4rem rgba(0,0,0,.32); }
.cpvl-images img:first-child { inset: 0 11% 8% 0; width: 89%; height: 92%; min-height: 0; object-position: center; }
.cpvl-images img:last-child { right: 0; bottom: 0; width: 48%; height: 47%; min-height: 0; border: .65rem solid #202529; object-position: center; }
.cpvl-analysis .pdf-link { grid-column: 2; margin: 0; }

.thanks-row { min-height: 6.5rem; background: rgba(255,255,255,.48); }
.thanks-row > span { padding: 0 1.25rem; color: #f3f5f7; background: #173b6b; font: 900 .78rem/1 var(--display); letter-spacing: .16em; text-align: center; }
.thanks-row.mentors > span { background: #6a4938; }
.thanks-row.family > span { background: #234938; }
.thanks-row.friends > span { background: #442f57; }
.marquee-track p { padding: 1.5rem 0; font-weight: 850; letter-spacing: -.035em; }
.people-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; margin: 4rem 6vw 0; }
.person-card { min-height: 10rem; position: relative; display: grid; grid-template-columns: 3.4rem 1fr; align-content: center; gap: 1rem; padding: 1.35rem; border: 1px solid rgba(12,16,22,.2); background: rgba(255,255,255,.58); color: var(--ink); transition: transform .3s, background .3s, color .3s; overflow: hidden; }
.person-card > span { width: 3.2rem; height: 3.2rem; display: grid; place-content: center; border: 1px solid #315f9d; border-radius: 50%; color: #315f9d; font: 900 .82rem/1 var(--display); }
.person-card div { align-self: center; min-width: 0; }
.person-card b, .person-card small { display: block; }
.person-card b { font: 850 .82rem/1.15 var(--display); letter-spacing: .025em; }
.person-card small { margin-top: .5rem; color: #596371; font-size: .65rem; line-height: 1.35; }
.person-card i { position: absolute; right: 1rem; top: 1rem; color: #315f9d; font: 900 .75rem/1 var(--display); font-style: normal; }
.person-card.linked:hover { transform: translateY(-.3rem); background: #173b6b; color: white; }
.person-card.linked:hover > span { border-color: #9fc3f1; color: #9fc3f1; }
.person-card.linked:hover small { color: rgba(255,255,255,.72); }
.person-card.linked:hover i { color: #9fc3f1; }

@media (max-width: 900px) {
  .travelling-light { animation-duration: 13s; }
  @keyframes travelling-light {
    0% { left: 4%; top: 42%; opacity: .85; z-index: 3; transform: scale(.7); }
    22% { left: 67%; top: 18%; opacity: 1; z-index: 3; transform: scale(1); }
    40% { left: 78%; top: 56%; opacity: 1; z-index: 5; transform: scale(1.1); }
    48% { left: 60%; top: 68%; opacity: 0; z-index: 0; transform: scale(.7); }
    66% { left: 32%; top: 55%; opacity: 0; z-index: 0; transform: scale(.7); }
    73% { left: 40%; top: 39%; opacity: 1; z-index: 5; transform: scale(1); }
    100% { left: 4%; top: 42%; opacity: .85; z-index: 3; transform: scale(.7); }
  }
  .timeline-title { font-size: clamp(1.85rem,8vw,2.6rem) !important; }
  .timeline-slogan { margin: -3rem auto 6rem; font-size: .95rem; }
  .cpvl-images { min-height: 40rem; }
  .cpvl-images img:first-child { inset: 0 0 auto; width: 100%; height: 58%; }
  .cpvl-images img:last-child { right: 0; bottom: 0; width: 82%; height: 48%; }
  .cpvl-analysis .pdf-link { grid-column: 1; }
  .people-grid { grid-template-columns: 1fr 1fr; margin: 3rem 1.1rem 0; }
  .thanks-row > span { font-size: .66rem; letter-spacing: .08em; }
}

@media (max-width: 520px) {
  .travelling-light { width: .75rem; height: .75rem; }
  .travelling-light i { width: 2.5rem; }
  .manifesto-signal i { height: 3rem; }
  .cpvl-images { min-height: 31rem; }
  .people-grid { grid-template-columns: 1fr; }
  .person-card { min-height: 8.5rem; }
  .thanks-row { grid-template-columns: 4.5rem minmax(0,1fr); }
  .thanks-row > span { padding: 0 .45rem; font-size: .55rem; writing-mode: vertical-rl; transform: rotate(180deg); }
  html[lang="fr"] .timeline-title {
    font-size: clamp(1.28rem, 5.8vw, 1.48rem) !important;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    hyphens: none;
    white-space: nowrap;
  }
}

/* V6 final overrides */
.live-dot { width: 1.8rem; height: 1px; border-radius: 0; background: linear-gradient(90deg,#87aee5,transparent); box-shadow: none; }
.hero-motion { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; mix-blend-mode: screen; }
.hero-motion::before { content: ""; position: absolute; inset: -20% -45%; background: linear-gradient(108deg,transparent 40%,rgba(108,159,226,.15) 48%,rgba(255,255,255,.1) 50%,rgba(108,159,226,.06) 53%,transparent 61%); transform: translateX(-35%); animation: hero-sweep 8s cubic-bezier(.55,0,.2,1) infinite; }
.hero-motion span { position: absolute; left: -20vw; width: 145vw; height: 1px; background: linear-gradient(90deg,transparent,rgba(137,181,238,.38) 30%,rgba(255,255,255,.12) 58%,transparent); transform: rotate(-9deg); transform-origin: center; animation: hero-drift 11s ease-in-out infinite alternate; }
.hero-motion span:nth-child(1) { top: 24%; }
.hero-motion span:nth-child(2) { top: 53%; opacity: .52; animation-delay: -3.5s; animation-duration: 14s; }
.hero-motion span:nth-child(3) { top: 78%; opacity: .32; animation-delay: -7s; animation-duration: 17s; }
@keyframes hero-sweep { 0%,18% { transform: translateX(-38%); opacity: 0; } 40%,70% { opacity: 1; } 100% { transform: translateX(42%); opacity: 0; } }
@keyframes hero-drift { from { transform: translate3d(-4%,0,0) rotate(-9deg); } to { transform: translate3d(8%,2.4rem,0) rotate(-4deg); } }
.origin-statement h3 { font-size: clamp(2.55rem,5.2vw,5.6rem); max-width: 15ch; }
html[lang="fr"] .pilot-gallery .gallery-heading { grid-column: 1 / 13; max-width: 70rem; margin-bottom: 6.5rem; }
html[lang="fr"] .pilot-gallery .gallery-heading h3 { font-size: clamp(3rem,6.5vw,6.2rem); max-width: 15ch; }
html[lang="fr"] .pilot-gallery .tile-b { margin-top: -3rem; }
.notion-badge img { width: 2.2rem; height: 2.2rem; object-fit: contain; }
.current-year-photo img { width: 100%; max-width: none; transform: none; object-position: 24% center; }
.cpvl-copy h3 { font-size: clamp(2.35rem,4.15vw,4.45rem); max-width: 13ch; }
.cpvl-analysis .pdf-preview { position: relative; grid-column: 1 / -1; display: block; width: 100%; margin: 1.2rem 0 0; padding: 0; overflow: hidden; border-color: rgba(255,255,255,.32); background: #211d1e; }
.pdf-preview > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .4s; }
.pdf-preview > span { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; background: linear-gradient(transparent,rgba(8,10,12,.96)); }
.pdf-preview b { font-size: clamp(.72rem,1.25vw,1rem); }
.pdf-preview small { color: #8fb6eb; opacity: 1; white-space: nowrap; }
.pdf-preview:hover { background: #211d1e; color: white; transform: translateY(-.25rem); }
.pdf-preview:hover > img { transform: scale(1.025); filter: brightness(1.08); }
.person-card { grid-template-columns: 4.7rem 1fr; min-height: 11.5rem; }
.person-photo { width: 4.5rem; height: 4.5rem; border: 1px solid rgba(49,95,157,.45); border-radius: 50%; object-fit: cover; object-position: center 52%; background: #0b0f15; }
.person-photo.romain { object-position: center 50%; }
.person-photo.matthieu { object-position: center 55%; }
.person-photo.jerome { object-position: center 54%; }
.person-photo.nathan, .person-photo.antoine { object-position: center 54%; }
.person-card.linked:hover .person-photo { border-color: #9fc3f1; }

@media (max-width: 900px) {
  .origin-statement h3 { font-size: clamp(2.35rem,10vw,3.45rem); }
  html[lang="fr"] .pilot-gallery .gallery-heading { margin-bottom: 3rem; }
  html[lang="fr"] .pilot-gallery .gallery-heading h3 { font-size: clamp(2.35rem,10.5vw,3.1rem); max-width: none; }
  html[lang="fr"] .pilot-gallery .tile-b { margin-top: 0; }
  .current-year-photo img { width: 100%; transform: none; object-position: 24% center; }
  .cpvl-copy h3 { max-width: none; font-size: clamp(2.2rem,9.2vw,3rem); }
  .pdf-preview > span { align-items: flex-end; }
}
@media (max-width: 520px) {
  .hero-motion span { width: 180vw; left: -45vw; }
  .hero-motion::before { inset: -10% -95%; }
  .origin-statement h3 { font-size: clamp(2.15rem,9.6vw,2.85rem); }
  .current-year-photo img { width: 100%; transform: none; object-position: 23% center; }
  .pdf-preview > span { display: grid; gap: .35rem; padding: .9rem; }
  .person-card { grid-template-columns: 4.4rem 1fr; min-height: 9.5rem; }
  .person-photo { width: 4.1rem; height: 4.1rem; }
}
@media (prefers-reduced-motion: reduce) { .hero-motion::before, .hero-motion span { animation: none; } }

/* Final scale pass: keep the origin statement impactful without letting it
   dominate the full viewport, especially in French. */
.origin-statement h3 { font-size: clamp(2.3rem,4.4vw,4.8rem); line-height: .92; }
@media (max-width: 900px) {
  .origin-statement h3 { font-size: clamp(1.8rem,8vw,2.35rem); line-height: .94; }
}
@media (max-width: 520px) {
  .origin-statement h3 { font-size: clamp(1.75rem,7.5vw,2.15rem); }
  .cpvl-copy h3 {
    font-size: clamp(1.72rem,7.3vw,2rem);
    line-height: .92;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

/* V10 — final visual balancing */
.discovery-images { grid-template-columns: .68fr 1.32fr; }
.cpvl-copy h3 { font-size: clamp(2rem,3.25vw,3.5rem); }
.person-avatar {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
  border: 1px solid rgba(49,95,157,.45);
  border-radius: 50%;
  background: #dce4ee;
}
.person-photo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  transform: scale(1.55);
}
.person-card.linked:hover .person-avatar { border-color: #9fc3f1; }

@media (max-width: 900px) {
  .discovery-images { grid-template-columns: 1fr; grid-template-rows: .62fr 1.38fr; }
  .cpvl-copy h3 { font-size: clamp(1.75rem,7vw,2.2rem); }
}
@media (max-width: 520px) {
  .cpvl-copy h3 { font-size: clamp(1.55rem,6.4vw,1.82rem); }
  .person-avatar { width: 4.1rem; height: 4.1rem; }
}

/* V12 — richer case-study content */
.timeline-detail { align-content: center; }
.timeline-copy { max-width: 46rem !important; }
.memories-interview { position: relative; margin: 0; background: #1a251d; overflow: hidden; }
.memories-interview img { display: block; width: 100%; aspect-ratio: 16 / 7.5; object-fit: cover; object-position: center 48%; filter: saturate(.88) contrast(1.03); }
.memories-interview figcaption { position: absolute; right: 2rem; bottom: 2rem; max-width: 22rem; padding: .8rem 1rem; color: #f2efe4; background: rgba(18,28,21,.82); font-size: .68rem; line-height: 1.45; letter-spacing: .08em; text-transform: uppercase; }
.lesson-learned p { max-width: 44rem; font-size: clamp(1.05rem,1.6vw,1.35rem); line-height: 1.65; }
.about { align-items: start; }
.about-content { display: grid; gap: 1.4rem; padding-top: 1rem; }
.about-content > p { margin: 0; }

@media (max-width: 900px) {
  .memories-interview img { aspect-ratio: 4 / 3; }
  .memories-interview figcaption { right: 1rem; bottom: 1rem; left: 1rem; }
  .timeline-copy { min-height: 10rem; }
}

/* V13 — system progress, growing contributions and interactive origin story */
.system-progress { margin: 2.5rem 0 1.25rem; padding: 1.35rem; border: 1px solid rgba(143,182,235,.3); background: rgba(6,17,38,.42); }
.progress-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.progress-heading span { color: #c9d7e9; font: 800 .7rem/1.2 var(--display); letter-spacing: .12em; }
.progress-heading strong { color: #9fc3f1; font: 900 2.5rem/.8 var(--display); }
.progress-track { position: relative; height: .72rem; margin: 1.2rem 0 .75rem; overflow: hidden; border: 1px solid rgba(143,182,235,.35); background: rgba(0,0,0,.24); }
.progress-track i { position: absolute; inset: 0 auto 0 0; width: 56%; background: linear-gradient(90deg,#315f9d,#74a4e5,#d5e4f6,#74a4e5); background-size: 220% 100%; box-shadow: 0 0 1.2rem rgba(116,164,229,.55); animation: system-build 3.2s linear infinite; }
.system-progress small { color: #719bd2; font-size: .56rem; letter-spacing: .18em; }
@keyframes system-build { to { background-position: -220% 0; } }
.procedure-loops { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.procedure-loops article { position: relative; min-height: 6.5rem; display: grid; grid-template-columns: 2.5rem 1fr; align-content: center; gap: .8rem; padding: 1rem; border: 1px solid rgba(143,182,235,.2); background: rgba(0,0,0,.13); }
.procedure-loops article::after { content: "↻"; position: absolute; right: .8rem; top: .55rem; color: rgba(143,182,235,.32); font-size: 1.35rem; }
.procedure-loops b { color: #719bd2; font: 900 1.4rem/1 var(--display); }
.procedure-loops span { max-width: 15rem; font-size: .82rem; line-height: 1.4; }

.leaf-contributions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border: 0; }
.leaf-contributions .leaf-item { position: relative; min-height: 8.5rem; display: grid; grid-template-columns: 2.5rem 1fr; align-content: center; gap: .7rem; padding: 1.2rem 1.45rem; overflow: hidden; border: 1px solid rgba(25,88,51,.28); border-radius: 72% 12% 72% 12% / 72% 12% 72% 12%; background: linear-gradient(145deg,rgba(255,255,255,.72),rgba(202,220,191,.45)); }
.leaf-contributions .leaf-item:nth-child(even) { border-radius: 12% 72% 12% 72% / 12% 72% 12% 72%; }
.leaf-item b { position: relative; z-index: 2; color: #176135; font: 900 1.45rem/1 var(--display); }
.leaf-item span { position: relative; z-index: 2; font-size: .78rem; line-height: 1.35; }
.leaf-item i { position: absolute; left: 14%; top: 50%; width: 78%; height: 1px; background: rgba(23,97,53,.24); transform: rotate(-24deg); transform-origin: left; }
.leaf-item i::before, .leaf-item i::after { content: ""; position: absolute; width: 2.7rem; height: 1px; background: rgba(23,97,53,.17); transform-origin: left; }
.leaf-item i::before { left: 38%; transform: rotate(38deg); }
.leaf-item i::after { left: 62%; transform: rotate(-38deg); }

.breakline-learnings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin: 1.8rem 0; }
.breakline-learnings span { padding: .7rem .8rem; border: 1px solid rgba(255,255,255,.22); color: #d9e6f6; font: 800 .62rem/1.25 var(--display); letter-spacing: .09em; }

.story-experience { min-width: 0; }
.story-path { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin-bottom: 2.5rem; }
.story-path::before { content: ""; position: absolute; z-index: 0; left: 6%; right: 6%; top: .55rem; height: 1px; background: rgba(6,17,38,.28); }
.story-path button { position: relative; z-index: 1; min-width: 0; display: grid; gap: .55rem; padding: 0 .25rem; border: 0; color: #42536a; background: transparent; text-align: left; cursor: pointer; }
.story-path button i { width: 1.15rem; height: 1.15rem; border: .2rem solid #c9d7e9; border-radius: 50%; background: #61758f; box-shadow: 0 0 0 1px rgba(6,17,38,.28); transition: .3s; }
.story-path button b { font: 900 .68rem/1 var(--display); }
.story-path button span { font: 800 .58rem/1.25 var(--display); letter-spacing: .07em; }
.story-path button:hover i, .story-path button:focus-visible i, .story-path button.is-active i { border-color: #315f9d; background: #eef4fb; box-shadow: 0 0 0 .35rem rgba(49,95,157,.15); transform: scale(1.12); }
.story-path button.is-active { color: #0b1626; }
.story-panels { min-height: 23rem; }
.story-panels article { display: none; grid-template-columns: 4rem 1fr; gap: 1.2rem; align-items: start; padding: 2rem; border: 1px solid rgba(6,17,38,.18); background: rgba(255,255,255,.32); }
.story-panels article.is-active { display: grid; animation: story-arrive .45s ease both; }
.story-panels article > span { color: #315f9d; font: 900 3rem/.85 var(--display); }
.story-panels p { margin: 0; font-size: clamp(1.05rem,1.55vw,1.32rem); line-height: 1.62; }
@keyframes story-arrive { from { opacity: 0; transform: translateY(.8rem); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .procedure-loops { grid-template-columns: 1fr; }
  .leaf-contributions { grid-template-columns: 1fr; }
  .leaf-contributions .leaf-item:nth-child(even) { margin-left: 1.5rem; }
  .story-path { overflow-x: auto; grid-template-columns: repeat(4,9.5rem); padding: .4rem .4rem 1rem; }
  .story-path::before { left: 1rem; right: auto; width: 29rem; }
  .story-panels { min-height: 28rem; }
  .story-panels article { grid-template-columns: 1fr; padding: 1.4rem; }
  .story-panels article > span { font-size: 2.2rem; }
}

@media (max-width: 520px) {
  .current-year-copy h3 {
    font-size: clamp(2.55rem, 11vw, 3rem);
    line-height: .9;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .progress-track i, .story-panels article.is-active { animation: none; }
}

/* V14 — autonomy, narrative tension and mobile clarity */
.system-progress {
  position: relative;
  margin: 2.8rem 0 1.2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  overflow: hidden;
  border-color: rgba(159,195,241,.42);
  background: radial-gradient(circle at 88% 10%,rgba(68,126,204,.23),transparent 35%),rgba(4,15,35,.58);
  box-shadow: inset 0 0 3rem rgba(54,112,190,.08),0 1.5rem 4rem rgba(0,0,0,.16);
}
.system-progress::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(115deg,transparent 0 3rem,rgba(143,182,235,.035) 3rem 3.08rem); }
.progress-heading { position: relative; z-index: 1; }
.progress-heading span { font-size: clamp(.68rem,1vw,.9rem); }
.progress-heading strong { font-size: clamp(3.8rem,7vw,6.6rem); text-shadow: 0 0 2.2rem rgba(116,164,229,.34); }
.progress-track { z-index: 1; height: 1.05rem; margin: 1.6rem 0 1rem; border-radius: 999px; overflow: visible; }
.progress-track i { width: var(--system-progress,56%); border-radius: inherit; transition: width 1.4s cubic-bezier(.16,1,.3,1); }
.progress-track > span { position: absolute; z-index: 2; left: var(--system-progress,56%); top: 50%; width: 1.55rem; height: 1.55rem; border: .25rem solid #0e2c53; border-radius: 50%; background: #dceaf9; box-shadow: 0 0 0 .35rem rgba(116,164,229,.18),0 0 2rem #74a4e5; transform: translate(-50%,-50%); transition: left 1.4s cubic-bezier(.16,1,.3,1); }
.progress-foot { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; }
.system-progress small:last-child { color: #c9d7e9; text-align: right; }

.autonomy-graphic { position: relative; min-height: 20rem; display: grid; place-items: center; margin: 1.2rem 0; overflow: hidden; border: 1px solid rgba(143,182,235,.22); background: radial-gradient(circle at center,rgba(49,95,157,.27),rgba(5,16,35,.1) 54%,rgba(0,0,0,.18)); }
.autonomy-rings, .autonomy-rings i { position: absolute; inset: 50% auto auto 50%; border: 1px solid rgba(159,195,241,.24); border-radius: 50%; transform: translate(-50%,-50%); }
.autonomy-rings { width: 16rem; height: 16rem; border-style: dashed; animation: autonomy-spin 18s linear infinite; }
.autonomy-rings i:nth-child(1) { width: 12.5rem; height: 12.5rem; }
.autonomy-rings i:nth-child(2) { width: 19.5rem; height: 8rem; transform: translate(-50%,-50%) rotate(28deg); }
.autonomy-rings i:nth-child(3) { width: 8rem; height: 19.5rem; transform: translate(-50%,-50%) rotate(28deg); }
.autonomy-core { position: relative; z-index: 2; width: 10.5rem; height: 10.5rem; display: grid; align-content: center; justify-items: center; padding: 1rem; border: 1px solid rgba(213,228,246,.6); border-radius: 50%; background: rgba(7,24,50,.86); box-shadow: 0 0 4rem rgba(83,142,221,.24); text-align: center; }
.autonomy-core strong { color: #d5e4f6; font: 900 2.6rem/.85 var(--display); }
.autonomy-core span { margin-top: .7rem; color: #8fb6eb; font: 800 .58rem/1.3 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.autonomy-graphic > p { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.2rem; width: min(14rem,42%); margin: 0; color: #c9d7e9; font-size: .75rem; line-height: 1.45; text-align: right; }
@keyframes autonomy-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

.memories-journey { display: grid; gap: 1.3rem; margin-top: 6rem; }
.memory-act { position: relative; overflow: hidden; }
.memory-act > span, .memory-act-copy > span { display: block; margin-bottom: 1.2rem; font: 800 .64rem/1 var(--display); letter-spacing: .16em; }
.memory-act h3 { margin: 0 0 1.3rem; font: 800 clamp(2.3rem,4.5vw,5rem)/.92 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.memory-act p { margin: 0; font-size: clamp(1rem,1.45vw,1.22rem); line-height: 1.65; }
.memory-beginning { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,5vw,6rem); align-items: center; padding: clamp(2rem,5vw,5rem); border: 1px solid rgba(23,51,34,.2); background: linear-gradient(135deg,rgba(255,255,255,.62),rgba(206,222,195,.34)); }
.memory-beginning .survey-card { transform: rotate(1.5deg); box-shadow: 0 1.5rem 3.5rem rgba(23,51,34,.14); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.memory-beginning:hover .survey-card { transform: rotate(0) translateY(-.35rem); }
.memory-stop { min-height: 32rem; display: grid; align-content: end; padding: clamp(2.5rem,6vw,6rem); color: #f2efe4; background: linear-gradient(125deg,rgba(8,13,11,.96),rgba(23,51,34,.86)),radial-gradient(circle at 80% 0,#744333,transparent 45%); }
.memory-stop::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(110deg,transparent 0 5rem,rgba(255,255,255,.025) 5rem 5.08rem); }
.memory-stop > * { position: relative; z-index: 1; max-width: 48rem; }
.memory-stop > span { color: #be8970; }
.memory-stop p { color: #c6c9c4; }
.memory-rebound { display: grid; grid-template-columns: .38fr 1fr; gap: clamp(2rem,6vw,8rem); padding: clamp(2.5rem,6vw,6rem); border-left: .55rem solid #176135; background: #f7f4ea; box-shadow: 0 2rem 4rem rgba(23,51,34,.08); }
.memory-rebound > span { color: #176135; }
.memory-rebound h3 { color: #176135; }

.bank-case { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(2rem,4vw,4.5rem); padding: clamp(1rem,2vw,2rem); }
.bank-case > div { min-width: 0; padding: clamp(1rem,2vw,2rem) clamp(1rem,3vw,3rem) clamp(1rem,2vw,2rem) 0; }
.bank-case h3 { max-width: 38rem; font-size: clamp(2.25rem,3.5vw,4.25rem); line-height: .9; overflow-wrap: normal; word-break: normal; }
.bank-case p { max-width: 38rem; font-size: .94rem; line-height: 1.62; }
.breakline-logo { width: min(16rem,58%); max-height: 4.5rem; object-fit: contain; object-position: left center; margin-bottom: 2rem; }

.story-experience { perspective: 1200px; }
.story-path button { transition: color .3s,transform .3s; transform-origin: center bottom; }
.story-path button:hover, .story-path button:focus-visible, .story-path button.is-active { transform: translateY(-.35rem); }
.story-panels article { position: relative; overflow: hidden; transform-origin: 50% 0; box-shadow: 0 1.5rem 4rem rgba(49,95,157,.12); }
.story-panels article::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg,rgba(255,255,255,.3),transparent 35% 70%,rgba(49,95,157,.08)); }
.story-panels article.is-active { animation: story-depth .55s cubic-bezier(.16,1,.3,1) both; }
@keyframes story-depth { from { opacity: 0; transform: rotateX(-8deg) translateY(1.5rem) scale(.97); } to { opacity: 1; transform: none; } }

.thanks-row { grid-template-columns: 10rem minmax(0,1fr); }
.thanks-row > span { writing-mode: horizontal-tb; transform: none; }
.thanks-row.school > span { color: #16213a; background: #d7ad51; }
.thanks-row.mentors > span { background: #315f9d; }
.thanks-row.family > span { background: #742f3b; }
.thanks-row.friends > span { background: #2d6a57; }

@media (max-width: 900px) {
  .progress-heading { align-items: center; }
  .autonomy-graphic { min-height: 18rem; }
  .memory-beginning, .memory-rebound { grid-template-columns: 1fr; }
  .memory-beginning .survey-card { max-width: 38rem; }
  .bank-case { grid-template-columns: minmax(0,1fr); }
  .bank-case > div { padding: 1.5rem .7rem 2rem; }
  .breakline-logo { width: min(15rem,70%); }
  .thanks-row { grid-template-columns: 7.5rem minmax(0,1fr); }
  .thanks-row > span { padding: 0 .65rem; font-size: .61rem; letter-spacing: .06em; }
}

@media (max-width: 520px) {
  .system-progress { padding: 1.25rem; }
  .progress-heading strong { font-size: 3.6rem; }
  .progress-heading span { max-width: 9rem; }
  .progress-foot { align-items: flex-start; }
  .autonomy-graphic { min-height: 21rem; }
  .autonomy-graphic > p { right: 1rem; bottom: .8rem; width: calc(100% - 2rem); text-align: center; }
  .autonomy-rings { width: 14rem; height: 14rem; }
  .autonomy-core { width: 9rem; height: 9rem; }
  .autonomy-core strong { font-size: 2.2rem; }
  .memories-journey { margin-top: 4rem; }
  .memory-beginning, .memory-stop, .memory-rebound { padding: 2rem 1.25rem; }
  .memory-stop { min-height: 28rem; }
  .memory-act h3 { font-size: clamp(2rem,10vw,3rem); overflow-wrap: normal; word-break: normal; }
  .bank-case h3 { font-size: clamp(2rem,9.5vw,2.7rem); }
  .bank-case p { font-size: .88rem; }
  .story-panels { min-height: 32rem; }
  .thanks-row { grid-template-columns: 6.8rem minmax(0,1fr); }
  .thanks-row > span { font-size: .56rem; }
}

@media (prefers-reduced-motion: reduce) {
  .autonomy-rings, .story-panels article.is-active { animation: none; }
}

/* V15 — clearer system story, countdown and richer origin panels */
.case-intro dl { display: grid; grid-template-columns: 1.25fr .75fr; gap: .8rem; }
.case-intro dl div { min-height: 7rem; display: grid; grid-template-columns: 1fr; align-content: space-between; gap: 1.2rem; padding: 1.15rem; border: 1px solid rgba(143,182,235,.24); background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(49,95,157,.08)); }
.case-intro dt { color: #8fb6eb; }
.case-intro dd { font: 800 .86rem/1.35 var(--display); text-transform: uppercase; }
.project-cards { grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
.dashboard-note { align-self: end; font-size: .72rem; letter-spacing: .04em; }

.autonomy-label { position: absolute; z-index: 3; left: 1.5rem; top: 1.25rem; color: #8fb6eb; font: 800 .62rem/1 var(--display); letter-spacing: .16em; }
.autonomy-core { width: 12rem; height: 12rem; }
.autonomy-core strong { font-size: 2.15rem; }
.autonomy-core .countdown-time { margin-top: .5rem; color: #8fb6eb; font: 800 .72rem/1.25 var(--display); letter-spacing: .08em; }
.current-status { margin-top: 1.2rem; padding: 0; border: 1px solid rgba(143,182,235,.25); border-left: .3rem solid #8fb6eb; background: rgba(0,0,0,.14); color: var(--paper-2); }
.current-status summary { padding: 1.2rem 3rem 1.2rem 1.2rem; list-style: none; position: relative; cursor: pointer; color: #c9d7e9; font: 800 .66rem/1.3 var(--display); letter-spacing: .13em; }
.current-status summary::-webkit-details-marker { display: none; }
.current-status summary::after { content: "+"; position: absolute; right: 1.2rem; top: 50%; color: #8fb6eb; font-size: 1.4rem; transform: translateY(-50%); transition: transform .3s; }
.current-status p { max-height: 0; margin: 0; padding: 0 1.2rem; overflow: hidden; opacity: 0; font-size: .78rem; line-height: 1.65; transition: max-height .45s ease,opacity .3s,padding .45s; }
.current-status[open] p, .current-status:hover p, .current-status:focus-within p { max-height: 16rem; padding: 0 1.2rem 1.3rem; opacity: 1; }
.current-status[open] summary::after, .current-status:hover summary::after { transform: translateY(-50%) rotate(45deg); }

.story-panels article { grid-template-columns: 4rem minmax(0,1fr); min-height: 22rem; align-content: center; padding: clamp(1.6rem,2.5vw,2.8rem); border: 0; background: linear-gradient(125deg,rgba(255,255,255,.6),rgba(219,231,246,.52)); box-shadow: 0 2rem 5rem rgba(49,95,157,.14); }
.story-panels article::before { content: attr(data-word); position: absolute; right: -1rem; bottom: -1rem; color: rgba(49,95,157,.075); font: 900 clamp(5rem,10vw,10rem)/.75 var(--display); letter-spacing: -.07em; }
.story-panels article > span { position: relative; z-index: 2; align-self: start; padding-top: .25rem; }
.story-panels article > div { position: relative; z-index: 2; max-width: 37rem; padding-left: 1.8rem; border-left: 1px solid rgba(49,95,157,.34); }
.story-keyword { display: block; margin-bottom: 1rem; color: #315f9d; font: 900 clamp(1.55rem,2.25vw,2.45rem)/.9 var(--display); letter-spacing: -.045em; text-transform: uppercase; overflow-wrap: normal; word-break: normal; }
.story-panels article[data-word="CREATE"] .story-keyword { font-size: clamp(1.45rem,2vw,2.15rem); }
.story-panels p { font-size: clamp(1.03rem,1.4vw,1.22rem); }
.thanks-row.school > span { color: #fff; background: #6b4f91; }
.contact-row { flex-wrap: wrap; }

/* V16 — editorial index and expanded pilot-project selection */
.wordmark i { display: none; }
.wordmark { min-width: 0; }
.mega-menu {
  width: min(58rem,88vw);
  padding: .75rem;
  gap: .55rem;
  border-radius: 1.2rem;
  background: linear-gradient(145deg,rgba(16,23,34,.98),rgba(7,14,25,.98));
  box-shadow: 0 2.2rem 7rem rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.04);
}
.menu-column {
  gap: .18rem;
  padding: 1.1rem;
  border: 1px solid rgba(143,182,235,.12);
  border-radius: .8rem;
  background: linear-gradient(150deg,rgba(255,255,255,.045),rgba(49,95,157,.035));
}
.menu-column b {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .35rem .35rem 1rem;
  color: #edf4ff;
  font: 850 .78rem/1 var(--sans);
  letter-spacing: .08em;
}
.menu-column b span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid rgba(143,182,235,.35);
  border-radius: 50%;
  color: #9fc3f1;
  font: 700 .58rem/1 var(--sans);
  letter-spacing: 0;
}
.menu-column b i { font: inherit; font-style: normal; }
.menu-column a {
  padding: .7rem .8rem;
  border-radius: .45rem;
  color: #aebed1;
  font: 600 .78rem/1.2 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
.menu-column a::before { content: "↗"; display: inline-block; width: 1.35rem; color: #668ab8; opacity: .7; }
.menu-column a:hover { background: rgba(102,145,203,.11); transform: translateX(.2rem); }

.project-card { position: relative; min-height: 100%; border-radius: .35rem; }
.project-card img { background: #fff; }
.project-card:nth-child(4) img,
.project-card:nth-child(5) img { object-fit: contain; }
.project-card:nth-child(4) { border-color: rgba(137,190,153,.55); }
.project-card:nth-child(5) { border-color: rgba(255,169,36,.55); }

@media (max-width: 900px) {
  .mega-menu { width: auto; padding: .55rem; border-radius: .8rem; }
  .menu-column { border-left: 1px solid rgba(143,182,235,.12); border-top: 1px solid rgba(143,182,235,.12); }
  .menu-column b { font-size: .72rem; }
}

/* V17 — a continuous NextGen narrative: evidence, rupture, rebuild, autonomy */
.mega-menu { grid-template-columns: 1.35fr 1fr 1fr; }
.menu-column b {
  align-items: baseline;
  color: #f4f7fb;
  font: 900 clamp(1.35rem,2.1vw,2rem)/.9 var(--display);
  letter-spacing: -.035em;
}
.menu-column b span {
  display: inline;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  color: #759bcb;
  font: inherit;
}
.menu-column a {
  padding: .62rem .4rem;
  color: #b8c4d4;
  font: 850 clamp(1rem,1.45vw,1.35rem)/1 var(--display);
  letter-spacing: -.025em;
}
.menu-column a::before { width: 1.2rem; font: 500 .62rem/1 var(--sans); vertical-align: .15em; }

.student-output {
  background:
    radial-gradient(circle at 80% 15%,rgba(85,143,219,.3),transparent 34%),
    linear-gradient(155deg,#153e74 0%,#1554a5 48%,#0d3265 100%);
}
.project-cards { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1.25rem; }
.project-card { grid-column: span 2; }
.project-card:nth-child(4) { grid-column: 2 / span 2; }
.project-card:nth-child(5) { grid-column: 4 / span 2; }
.project-card > div { min-height: 9.4rem; display: grid; align-content: start; }
.project-card h4 { padding-right: 2.5rem; }
.project-card p { max-width: 28ch; font-size: .76rem; line-height: 1.45; }

.lessons-section {
  position: relative;
  overflow: hidden;
  padding-top: 11rem;
  padding-bottom: 0;
  color: #edf0f3;
  background:
    radial-gradient(circle at 12% 18%,rgba(142,63,67,.3),transparent 30%),
    linear-gradient(180deg,#191a1e 0%,#26171a 48%,#0d1117 100%);
}
.lessons-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(112deg,transparent 0 7rem,rgba(255,255,255,.018) 7rem 7.08rem); }
.lessons-head { position: relative; z-index: 1; grid-template-columns: .4fr 1.15fr; margin-bottom: 6rem; }
.lessons-head .section-kicker { color: #d58b91; }
.lessons-head h3 { color: #fff; max-width: 12ch; }
.lessons-head > p:last-child { grid-column: 2; max-width: 42rem; margin: 1.5rem 0 0; color: #c6b9bc; font-size: 1.05rem; line-height: 1.65; }
.pilot-failures { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid rgba(213,139,145,.2); background: rgba(213,139,145,.17); }
.failure-card { min-height: 22rem; padding: clamp(1.5rem,3vw,2.6rem); background: linear-gradient(145deg,rgba(31,28,32,.98),rgba(15,17,22,.98)); }
.failure-card span { display: block; margin-bottom: 4rem; color: #af666c; font: 900 2.7rem/.8 var(--display); }
.failure-card b { display: block; max-width: 18rem; color: #f4e9ea; font: 900 clamp(1.45rem,2.2vw,2.2rem)/.95 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.failure-card p { max-width: 25rem; margin: 1.1rem 0 0; color: #afa5a7; font-size: .84rem; line-height: 1.62; }
.rebuild-pivot { position: relative; z-index: 1; min-height: 40rem; display: grid; place-items: center; align-content: center; padding: 8rem 2rem; text-align: center; background: radial-gradient(circle at center,rgba(49,95,157,.25),transparent 48%); }
.rebuild-pivot::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 6rem; background: linear-gradient(#af666c,transparent); }
.rebuild-pivot span { color: #af8f92; font-size: .62rem; font-weight: 800; letter-spacing: .2em; }
.rebuild-pivot h3 { margin: 1.2rem 0; color: #e2d7d8; font: 900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.rebuild-pivot strong { color: #9fc3f1; font: 900 clamp(1.5rem,2.7vw,2.8rem)/1 var(--display); text-transform: uppercase; }
.rebuild-pivot i { margin-top: 3rem; color: #9fc3f1; font: 300 2rem/1 var(--sans); animation: pivot-down 1.8s ease-in-out infinite; }
@keyframes pivot-down { 50% { transform: translateY(.7rem); opacity: .35; } }

.system-section { position: relative; background: linear-gradient(180deg,#0b1727 0%,#12233a 36%,#111923 100%); }
.system-section::before { content: "THE REBUILD"; position: absolute; right: 2vw; top: 3rem; color: rgba(159,195,241,.055); font: 900 clamp(5rem,12vw,13rem)/.8 var(--display); letter-spacing: -.08em; pointer-events: none; }
.autonomy-transition { position: relative; min-height: 42rem; display: grid; align-content: center; justify-items: center; overflow: hidden; color: #f4f7fb; background: linear-gradient(180deg,#111923 0%,#15243a 46%,#0e2c53 100%); text-align: center; }
.autonomy-transition::before,
.autonomy-transition::after { content: ""; position: absolute; width: 72vw; height: 18vw; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: rotate(-8deg); }
.autonomy-transition::after { width: 42vw; height: 42vw; transform: rotate(18deg); }
.autonomy-transition span { position: relative; z-index: 2; color: transparent; font: 900 clamp(7rem,18vw,17rem)/.65 var(--display); -webkit-text-stroke: 1px rgba(255,255,255,.72); }
.autonomy-transition p { z-index: 2; margin: 2.4rem 0 .8rem; color: #9fc3f1; font: 850 .68rem/1 var(--sans); letter-spacing: .25em; }
.autonomy-transition h3 { z-index: 2; max-width: 13ch; margin: 0; font: 900 clamp(3rem,7vw,7rem)/.86 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.autonomy-transition i { width: min(32rem,70vw); height: 1px; margin-top: 3rem; background: linear-gradient(90deg,transparent,#fff,transparent); }
.current-year { position: relative; }
.current-year-copy h3 { max-width: 10ch; }

.section-transition { min-height: 48vh; position: relative; display: grid; grid-template-columns: auto minmax(0,52rem); align-content: center; justify-content: center; gap: clamp(2rem,6vw,7rem); padding: 7rem 7vw; overflow: hidden; }
.section-transition span { align-self: start; color: currentColor; font: 900 clamp(4rem,8vw,8rem)/.8 var(--display); opacity: .3; }
.section-transition p { position: relative; z-index: 2; margin: 0; font: 850 clamp(2.3rem,5vw,5.2rem)/.94 var(--display); letter-spacing: -.045em; text-transform: uppercase; }
.section-transition i { position: absolute; right: 8vw; bottom: 4rem; width: 20vw; height: 1px; background: currentColor; opacity: .4; }
.transition-memories { color: #e7ebe6; background: linear-gradient(135deg,#0e2c53,#18261d 78%); }
.transition-work { color: #f1ede5; background: linear-gradient(135deg,#173322,#19171b 76%); }
.transition-about { color: #dbe6f3; background: linear-gradient(135deg,#151b24,#173b6b 90%); }

.cpvl-images .production-callout { position: absolute; z-index: 4; left: 5%; bottom: 4%; width: min(16rem,48%); padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.7); color: white; background: rgba(18,23,28,.86); font: 800 .6rem/1.4 var(--sans); letter-spacing: .1em; }
.cpvl-images .production-callout::before { content: ""; position: absolute; left: 2rem; bottom: 100%; width: 1px; height: 5.5rem; background: white; transform: rotate(-24deg); transform-origin: bottom; }
.cpvl-images .production-callout::after { content: ""; position: absolute; left: 4.15rem; bottom: calc(100% + 5rem); width: .55rem; height: .55rem; border-radius: 50%; background: white; box-shadow: 0 0 0 .35rem rgba(255,255,255,.16); }

@media (max-width: 900px) {
  .mega-menu { grid-template-columns: 1fr; }
  .menu-column b { font-size: 1.55rem; }
  .menu-column a { font-size: 1.12rem; }
  .project-cards { grid-template-columns: 1fr; }
  .project-card,
  .project-card:nth-child(4),
  .project-card:nth-child(5) { grid-column: auto; }
  .project-card > div { min-height: 0; }
  .lessons-head { grid-template-columns: 1fr; }
  .lessons-head > p:last-child { grid-column: 1; }
  .pilot-failures { grid-template-columns: 1fr; }
  .failure-card { min-height: 18rem; }
  .failure-card span { margin-bottom: 2.5rem; }
  .section-transition { grid-template-columns: 1fr; min-height: 38rem; }
  .section-transition p { font-size: clamp(2.4rem,11vw,4.2rem); }
  .autonomy-transition { min-height: 28rem; }
  .cpvl-images .production-callout { left: 1rem; bottom: 1rem; width: calc(100% - 2rem); }
}

@media (prefers-reduced-motion: reduce) {
  .rebuild-pivot i { animation: none; }
}

/* V18 — linear introduction, rebuild versus ambition, and colour transitions */
.manifesto { position: relative; overflow: hidden; }
.manifesto::after { content: "OBSERVE"; position: absolute; right: -2vw; bottom: -2vw; color: rgba(21,86,173,.045); font: 900 clamp(7rem,18vw,18rem)/.75 var(--display); letter-spacing: -.08em; }
.manifesto > * { position: relative; z-index: 1; }
.case-header { padding-top: 2rem; }
.case-header > div:first-child .section-kicker { color: #9fc3f1; }
.timeline-summary { margin-top: 0; padding-top: 8rem; border-top: 1px solid rgba(143,182,235,.18); background: linear-gradient(180deg,#101923,#071324); }
.timeline-summary + .timeline-slogan { margin-bottom: 0; padding-bottom: 7rem; background: #071324; }

.autonomy-transition {
  min-height: 44rem;
  padding: 8rem 6vw;
  background:
    linear-gradient(90deg,transparent 49.92%,rgba(159,195,241,.22) 50%,transparent 50.08%),
    radial-gradient(circle at 50% 55%,rgba(49,95,157,.22),transparent 37%),
    linear-gradient(180deg,#111923,#0d2748 70%,#0e2c53);
}
.autonomy-transition::before,
.autonomy-transition::after { border: 0; border-radius: 0; transform: none; }
.autonomy-transition::before { width: min(48rem,80vw); height: 78%; border: 1px solid rgba(159,195,241,.14); border-bottom: 0; border-radius: 24rem 24rem 0 0; }
.autonomy-transition::after { width: min(32rem,58vw); height: 58%; border: 1px solid rgba(255,255,255,.1); border-bottom: 0; border-radius: 18rem 18rem 0 0; }
.autonomy-transition span { z-index: 2; margin-bottom: 2rem; color: rgba(159,195,241,.48); font: 900 clamp(2.2rem,5.5vw,5.5rem)/.85 var(--display); letter-spacing: -.05em; -webkit-text-stroke: 0; text-transform: uppercase; }
.autonomy-transition p { margin: 0 0 1rem; }
.autonomy-transition h3 { max-width: 12ch; }

.current-year {
  grid-template-columns: minmax(18rem,.78fr) minmax(0,1.22fr);
  gap: clamp(2rem,5vw,6rem);
  align-items: center;
  padding: clamp(5rem,9vw,9rem) 6vw;
  background:
    radial-gradient(circle at 16% 20%,rgba(83,142,221,.18),transparent 32%),
    linear-gradient(135deg,#0e2c53,#101923 75%);
}
.current-year-photo { min-height: 44rem; height: 70vh; max-height: 55rem; border: 1px solid rgba(159,195,241,.3); border-radius: 22rem 22rem 1.2rem 1.2rem; box-shadow: 0 3rem 8rem rgba(0,0,0,.34); }
.current-year-photo img { width: 100%; height: 100%; transform: none; object-position: 24% center; }
.current-year-copy { padding: 0; }
.current-year-copy h3 { max-width: 11ch; margin-bottom: 2rem; }
.system-progress { padding: clamp(1.5rem,3vw,2.7rem); }
.autonomy-graphic { min-height: 24rem; margin-top: 1.5rem; }
.autonomy-core { width: 13rem; height: 13rem; }

.section-transition { isolation: isolate; }
.section-transition::before { content: ""; position: absolute; inset: -20%; z-index: -1; background: inherit; background-size: 100% 180%; animation: transition-drift 9s ease-in-out infinite alternate; }
.transition-memories { color: #f3f4ef; background: linear-gradient(180deg,#071324 0%,#0e2c53 22%,#173322 72%,#ede9dd 100%); }
.transition-work { color: #f3efe7; background: linear-gradient(180deg,#ede9dd 0%,#56705d 24%,#173322 55%,#11151c 100%); }
.transition-about { color: #edf3fa; background: linear-gradient(180deg,#11151c 0%,#173b6b 62%,#c9d7e9 100%); }
.section-transition p { font-size: clamp(2.8rem,6vw,6rem); max-width: 13ch; }
@keyframes transition-drift { from { transform: translateY(-2%); } to { transform: translateY(5%); } }

/* Restore the original CPVL overlapping composition without annotations. */
.cpvl-images .production-callout { display: none; }

@media (max-width: 900px) {
  .timeline-summary { padding-top: 5rem; }
  .autonomy-transition { min-height: 38rem; padding: 6rem 1.1rem; }
  .autonomy-transition::before { width: 88vw; height: 72%; }
  .autonomy-transition::after { width: 66vw; height: 54%; }
  .autonomy-transition span { font-size: clamp(2rem,10vw,3.6rem); }
  .current-year { grid-template-columns: 1fr; padding: 6rem 1.1rem; }
  .current-year-photo { width: min(34rem,100%); min-height: 0; height: 39rem; margin-inline: auto; border-radius: 18rem 18rem 1rem 1rem; }
  .current-year-photo img { object-position: 24% center; }
  .current-year-copy { width: min(44rem,100%); margin-inline: auto; }
  .current-year-copy h3 { font-size: clamp(2.75rem,10vw,4rem); overflow-wrap: normal; word-break: normal; }
  .section-transition p { font-size: clamp(3rem,13vw,5rem); }
}

@media (max-width: 520px) {
  .current-year-photo { height: 31rem; }
  .autonomy-graphic { min-height: 28rem; }
  .autonomy-graphic > p { right: 1rem; left: 1rem; bottom: 1rem; width: auto; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .section-transition::before { animation: none; }
}

@media (max-width: 900px) {
  .case-intro dl { grid-template-columns: 1fr 1fr; }
  .story-panels article { grid-template-columns: 3.5rem minmax(0,1fr); min-height: 26rem; }
}

@media (max-width: 520px) {
  .case-intro dl { grid-template-columns: 1fr; }
  .case-intro dl div { min-height: 6rem; }
  .autonomy-label { left: 1rem; right: 1rem; text-align: center; }
  .autonomy-core { width: 10rem; height: 10rem; }
  .autonomy-core strong { font-size: 1.75rem; }
  .story-panels article { grid-template-columns: 1fr; min-height: 34rem; padding: 1.6rem; }
  .story-panels article > div { padding: 1.3rem 0 0; border-left: 0; border-top: 1px solid rgba(49,95,157,.34); }
  .story-panels article::before { right: -.4rem; bottom: .25rem; font-size: 4.8rem; }
  .story-keyword { font-size: 1.8rem; }
  .current-status:hover p { max-height: 0; padding: 0 1.2rem; opacity: 0; }
  .current-status[open] p, .current-status:focus-within p { max-height: 20rem; padding: 0 1.2rem 1.3rem; opacity: 1; }
}

/* V19 — signal field, two destinations and cinematic chapter transitions */
.manifesto::after { content: none; }
.manifesto-signal { inset: 0; }
.manifesto-signal::before { content: none; }
.manifesto-signal i {
  left: -8%;
  width: 116%;
  height: 1px;
  border: 0;
  background: linear-gradient(90deg,transparent 0%,rgba(21,86,173,.18) 8%,rgba(21,86,173,.55) 50%,rgba(21,86,173,.18) 92%,transparent 100%);
  transform-origin: center;
  animation: manifesto-cross-a 8.6s ease-in-out infinite alternate;
}
.manifesto-signal i:nth-child(1) { top: 32%; transform: rotate(-8deg); opacity: .42; }
.manifesto-signal i:nth-child(2) { top: 41%; transform: rotate(5deg); opacity: .32; animation-name: manifesto-cross-b; animation-duration: 10.2s; animation-delay: -3s; }
.manifesto-signal i:nth-child(3) { top: 50%; transform: rotate(-2deg); opacity: .56; animation-duration: 7.8s; animation-delay: -5s; }
.manifesto-signal i:nth-child(4) { top: 59%; transform: rotate(7deg); opacity: .28; animation-name: manifesto-cross-b; animation-duration: 11.4s; animation-delay: -7s; }
.manifesto-signal i:nth-child(5) { top: 68%; transform: rotate(-5deg); opacity: .36; animation-duration: 9.4s; animation-delay: -2s; }
@keyframes manifesto-cross-a {
  0% { transform: translateY(-2.8rem) rotate(-8deg) scaleX(.98); }
  50% { transform: translateY(1.5rem) rotate(2deg) scaleX(1.05); }
  100% { transform: translateY(-.6rem) rotate(8deg) scaleX(1); }
}
@keyframes manifesto-cross-b {
  0% { transform: translateY(2.4rem) rotate(7deg) scaleX(1.04); }
  50% { transform: translateY(-2rem) rotate(-3deg) scaleX(.98); }
  100% { transform: translateY(.8rem) rotate(-7deg) scaleX(1.02); }
}

.discovery-montage figcaption > span { display: grid; gap: .45rem; }
.discovery-montage figcaption > span b { color: #fff; font: 900 clamp(1.65rem,3.4vw,3.5rem)/.86 var(--display); letter-spacing: -.04em; }
.discovery-montage figcaption > span small { color: rgba(255,255,255,.72); font-size: .58rem; letter-spacing: .15em; }

@media (min-width: 901px) {
  .mega-menu { width: min(76rem,94vw); padding: 1.15rem; gap: .9rem; }
  .menu-column { min-height: 21rem; padding: 1.45rem; }
  .menu-column b { font-size: clamp(1.8rem,2.5vw,2.8rem); }
  .menu-column a { padding: .78rem .55rem; font-size: clamp(1.15rem,1.55vw,1.55rem); }
}

.autonomy-transition { padding-bottom: 12rem; }
.autonomy-transition::before { height: 88%; bottom: -11%; }
.autonomy-transition::after { height: 68%; bottom: -10%; }
.autonomy-transition i { position: relative; z-index: 2; }

.current-year { min-height: 100vh; }
.current-year::after { content: "2026—27"; position: absolute; right: 3vw; bottom: 1rem; color: rgba(159,195,241,.045); font: 900 clamp(6rem,17vw,18rem)/.8 var(--display); letter-spacing: -.08em; pointer-events: none; }
.current-year-photo { justify-self: center; width: min(35rem,100%); }
.current-year-copy { position: relative; z-index: 2; }
.current-year-copy > .section-kicker { color: #9fc3f1; }
.goal-instruments { position: relative; overflow: hidden; border: 1px solid rgba(159,195,241,.28); border-radius: .45rem; background: linear-gradient(145deg,rgba(4,15,32,.66),rgba(20,48,82,.5)); box-shadow: 0 2.2rem 6rem rgba(0,0,0,.25); }
.goal-console-label { display: block; padding: .85rem 1.2rem; border-bottom: 1px solid rgba(159,195,241,.18); color: #759bcb; font: 800 .58rem/1 var(--sans); letter-spacing: .19em; }
.goal-instruments .system-progress { margin: 0; padding: clamp(1.6rem,3vw,2.8rem); border: 0; border-bottom: 1px solid rgba(159,195,241,.18); background: transparent; }
.goal-instruments .autonomy-graphic { min-height: 27rem; margin: 0; border: 0; background: radial-gradient(circle at 50% 50%,rgba(49,95,157,.32),transparent 58%); }
.goal-instruments .autonomy-core { width: 14rem; height: 14rem; }

.scale-ambition { position: relative; min-height: 90vh; display: grid; grid-template-columns: minmax(0,.85fr) minmax(24rem,1.15fr); gap: clamp(3rem,7vw,8rem); align-items: center; padding: clamp(7rem,11vw,12rem) 6vw; overflow: hidden; color: #eef5ff; background: radial-gradient(circle at 74% 45%,rgba(42,104,185,.25),transparent 34%),linear-gradient(145deg,#071324,#0b2141 58%,#102c54); }
.scale-ambition::before { content: "SCALE"; position: absolute; left: -2vw; bottom: -.06em; color: rgba(159,195,241,.045); font: 900 clamp(9rem,25vw,28rem)/.72 var(--display); letter-spacing: -.08em; }
.scale-copy { position: relative; z-index: 2; }
.scale-copy h3 { max-width: 11ch; margin: 1rem 0 2rem; font: 900 clamp(3.4rem,6.7vw,7.4rem)/.85 var(--display); letter-spacing: -.06em; text-transform: uppercase; }
.scale-copy > p:not(.section-kicker) { max-width: 39rem; color: #b9cbe1; font-size: 1.02rem; line-height: 1.7; }
.scale-route { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1rem; margin-top: 3rem; color: #9fc3f1; font: 800 .62rem/1.3 var(--sans); letter-spacing: .12em; }
.scale-route i { color: #fff; font-style: normal; }
.world-network { position: relative; z-index: 2; padding: 2rem; border: 1px solid rgba(159,195,241,.2); border-radius: 50% 50% 1.2rem 1.2rem; background: radial-gradient(circle at center,rgba(49,95,157,.2),rgba(3,12,26,.42)); box-shadow: inset 0 0 5rem rgba(72,136,220,.08),0 3rem 8rem rgba(0,0,0,.25); }
.world-network svg { display: block; width: 100%; height: auto; overflow: visible; }
.world-network .continents { fill: rgba(130,171,225,.13); stroke: rgba(159,195,241,.42); stroke-width: 2; }
.world-network .network-lines { fill: none; stroke: rgba(112,164,233,.42); stroke-width: 2; stroke-dasharray: 6 10; animation: network-flow 14s linear infinite; }
.world-network .network-points circle { fill: #dceaff; filter: drop-shadow(0 0 9px #63a6ff); animation: network-pulse 2.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.world-network .network-points circle:nth-child(2n) { animation-delay: -1.2s; }
.world-network .network-points .origin-point { fill: #fff; stroke: #4a94f0; stroke-width: 7; }
.world-network > span { display: block; margin-top: .8rem; color: #7fa9dd; font: 800 .58rem/1 var(--sans); letter-spacing: .2em; text-align: center; }
@keyframes network-flow { to { stroke-dashoffset: -160; } }
@keyframes network-pulse { 50% { transform: scale(1.65); opacity: .55; } }

.timeline-summary-intro { padding: 9rem 6vw 3rem; color: #eef5ff; background: #071324; text-align: center; }
.timeline-summary-intro span { color: #759bcb; font: 800 .62rem/1 var(--sans); letter-spacing: .22em; }
.timeline-summary-intro h3 { max-width: 13ch; margin: 1.1rem auto 0; font: 900 clamp(3rem,6.8vw,7rem)/.86 var(--display); letter-spacing: -.055em; text-transform: uppercase; }
.timeline-summary { width: min(88rem,calc(100% - 12vw)); margin-inline: auto; padding: 2.5rem; border: 1px solid rgba(159,195,241,.2); border-radius: .6rem; background: linear-gradient(145deg,rgba(16,38,71,.92),rgba(5,15,32,.96)); box-shadow: 0 2.5rem 7rem rgba(0,0,0,.34); }
.timeline-summary + .timeline-slogan { margin-top: 4rem; }

.section-transition { min-height: 72vh; background-size: 160% 160%; box-shadow: inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(255,255,255,.06); }
.section-transition::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .45; background: repeating-linear-gradient(112deg,transparent 0 5rem,rgba(255,255,255,.025) 5rem 5.08rem),radial-gradient(circle at 70% 30%,rgba(255,255,255,.08),transparent 35%); animation: chapter-texture 11s ease-in-out infinite alternate; }
.transition-memories { color: #eff6ff; background: linear-gradient(145deg,#071b38,#0e2c53 48%,#173a31); }
.transition-work { color: #f1f5f0; background: linear-gradient(145deg,#173322,#244a36 45%,#111820); }
.transition-about { color: #edf4ff; background: linear-gradient(145deg,#111820,#173b6b 55%,#214f88); }
.section-transition p { text-shadow: 0 .15rem 1.5rem rgba(0,0,0,.28); }
@keyframes chapter-texture { from { transform: translate3d(-2%,-1%,0) scale(1.02); } to { transform: translate3d(3%,2%,0) scale(1.08); } }

@media (max-width: 900px) {
  .discovery-montage figcaption > span b { font-size: 1.8rem; }
  .current-year { min-height: 0; }
  .goal-instruments .autonomy-graphic { min-height: 30rem; }
  .scale-ambition { grid-template-columns: 1fr; min-height: 0; padding: 7rem 1.1rem; }
  .scale-copy h3 { font-size: clamp(3rem,12vw,5rem); }
  .world-network { width: min(44rem,100%); margin-inline: auto; padding: 1rem; }
  .timeline-summary { width: calc(100% - 2.2rem); margin-inline: 1.1rem; }
  .section-transition { min-height: 36rem; }
}

@media (max-width: 520px) {
  .manifesto-signal i { width: 150%; left: -25%; }
  .goal-instruments .autonomy-graphic { min-height: 32rem; }
  .scale-route { display: grid; grid-template-columns: 1fr; }
  .scale-route i { transform: rotate(90deg); justify-self: start; }
  .timeline-summary-intro { padding-inline: 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .manifesto-signal i,
  .world-network .network-lines,
  .world-network .network-points circle,
  .section-transition::after { animation: none; }
}

/* V20 — the annual goal becomes the focal point */
.autonomy-transition {
  min-height: 58vh;
  padding: 8rem 6vw;
  isolation: isolate;
  align-content: center;
  background: #030508;
}
.autonomy-transition::before {
  content: "";
  position: absolute;
  inset: 50% -15% auto;
  width: auto;
  height: 1px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg,transparent,rgba(115,167,235,.22),#dceaff,rgba(115,167,235,.22),transparent);
  animation: now-line 4.8s ease-in-out infinite alternate;
}
.autonomy-transition::after {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  opacity: .42;
  background: repeating-linear-gradient(100deg,transparent 0 7rem,rgba(255,255,255,.025) 7rem 7.05rem),radial-gradient(circle at center,rgba(42,105,189,.2),transparent 38%);
}
.autonomy-transition i {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: auto;
  height: auto;
  margin: 0;
  color: rgba(143,182,235,.12);
  background: none;
  font: 900 clamp(18rem,42vw,44rem)/.65 var(--display);
  font-style: normal;
  transform: translate(-50%,-50%);
  animation: now-question 5.5s ease-in-out infinite alternate;
}
.autonomy-transition span {
  z-index: 3;
  margin: 0;
  color: #f3f7fc;
  font: 900 clamp(4.2rem,11vw,12rem)/.78 var(--display);
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.autonomy-transition p {
  z-index: 3;
  max-width: 56rem;
  margin: 2rem auto 0;
  color: #7798c1;
  font: 800 .68rem/1.5 var(--sans);
  letter-spacing: .2em;
}
@keyframes now-line { from { transform: translateY(-3.5rem) rotate(-1.6deg); opacity: .35; } to { transform: translateY(3.5rem) rotate(1.6deg); opacity: .85; } }
@keyframes now-question { from { transform: translate(-54%,-50%) rotate(-3deg); } to { transform: translate(-46%,-50%) rotate(3deg); } }

.current-year {
  min-height: 118vh;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: clamp(7rem,11vw,12rem) 6vw;
  text-align: center;
  background: radial-gradient(circle at 50% 44%,rgba(49,95,157,.28),transparent 38%),linear-gradient(180deg,#081426,#0e2c53 50%,#081426);
}
.current-year::before { content: ""; position: absolute; inset: 5% 4%; border: 1px solid rgba(159,195,241,.1); pointer-events: none; }
.current-year::after { right: 50%; bottom: 1rem; transform: translateX(50%); }
.current-year-copy { width: min(94rem,100%); display: grid; justify-items: center; }
.current-year-copy > .section-kicker { margin-bottom: 1.2rem; }
.current-year-copy h3 { max-width: 16ch; margin: 0 auto 3rem; font-size: clamp(4rem,9vw,10rem); }
.goal-instruments { width: 100%; display: grid; grid-template-columns: minmax(0,.95fr) minmax(24rem,1.05fr); text-align: left; border-color: rgba(159,195,241,.4); box-shadow: 0 3rem 9rem rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.05); }
.goal-console-label { grid-column: 1 / -1; text-align: center; }
.goal-instruments .system-progress { min-height: 32rem; display: grid; align-content: center; border-right: 1px solid rgba(159,195,241,.18); border-bottom: 0; }
.goal-instruments .progress-heading { display: grid; justify-items: center; gap: 1.5rem; text-align: center; }
.goal-instruments .progress-heading strong { font-size: clamp(6rem,12vw,13rem); line-height: .72; letter-spacing: -.08em; }
.goal-instruments .progress-track { width: min(34rem,90%); justify-self: center; }
.goal-instruments .progress-foot { width: min(34rem,90%); justify-self: center; }
.goal-instruments .autonomy-graphic { min-height: 32rem; }
.goal-instruments .autonomy-rings { width: 22rem; height: 22rem; }
.goal-instruments .autonomy-rings i:nth-child(1) { width: 17rem; height: 17rem; }
.goal-instruments .autonomy-rings i:nth-child(2) { width: 26rem; height: 10rem; }
.goal-instruments .autonomy-rings i:nth-child(3) { width: 10rem; height: 26rem; }
.goal-instruments .autonomy-core { width: 16rem; height: 16rem; }
.goal-instruments .autonomy-core strong { font-size: 3.15rem; }
.current-status { width: min(66rem,100%); margin-top: 2rem; text-align: left; }
.current-year-photo {
  position: absolute;
  z-index: 4;
  right: 2.5vw;
  bottom: 2.5rem;
  width: 10rem;
  min-height: 0;
  height: 13rem;
  border-radius: 5rem 5rem .65rem .65rem;
  opacity: .58;
  filter: saturate(.72);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.3);
  transition: opacity .35s,transform .35s;
}
.current-year-photo:hover { opacity: 1; transform: translateY(-.35rem); }

.scale-ambition {
  min-height: 118vh;
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  align-content: center;
  padding: clamp(8rem,12vw,13rem) 6vw;
  text-align: center;
}
.scale-copy { width: min(76rem,100%); display: grid; justify-items: center; }
.scale-copy h3 { max-width: 15ch; margin-inline: auto; }
.scale-copy > p:not(.section-kicker) { max-width: 55rem; }
.scale-route { justify-content: center; }
.world-network { width: min(82rem,100%); margin-top: 4rem; border-radius: 50%; padding: clamp(1.5rem,4vw,4rem); }
.world-network::before,
.world-network::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(159,195,241,.13); border-radius: 50%; pointer-events: none; animation: map-orbit 16s linear infinite; }
.world-network::after { inset: 14%; border-style: dashed; animation-direction: reverse; animation-duration: 23s; }
.world-network svg { position: relative; z-index: 2; }
.world-network > span { position: relative; z-index: 2; }
@keyframes map-orbit { to { transform: rotate(360deg); } }

.timeline-slogan {
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(7rem,12vw,12rem) 6vw;
  overflow: hidden;
  border: 0;
  color: #fff;
  background: radial-gradient(circle at center,rgba(83,142,221,.3),transparent 38%),linear-gradient(135deg,#071324,#0e2c53);
  font: 900 clamp(3.6rem,9vw,10rem)/.82 var(--display);
  letter-spacing: -.06em;
}
.timeline-slogan::before { content: "NEXTGEN"; position: absolute; left: 50%; top: 50%; color: rgba(159,195,241,.065); font: 900 clamp(9rem,27vw,30rem)/.7 var(--display); letter-spacing: -.09em; transform: translate(-50%,-50%); }
.timeline-slogan + * { position: relative; }
.timeline-summary + .timeline-slogan { margin: 5rem 0 0; padding-bottom: clamp(7rem,12vw,12rem); background: radial-gradient(circle at center,rgba(83,142,221,.3),transparent 38%),linear-gradient(135deg,#071324,#0e2c53); }

@media (max-width: 900px) {
  .autonomy-transition { min-height: 34rem; padding-inline: 1.1rem; }
  .current-year { min-height: 0; padding: 7rem 1.1rem 10rem; }
  .current-year-copy h3 { font-size: clamp(3.3rem,13vw,5.5rem); }
  .goal-instruments { grid-template-columns: 1fr; }
  .goal-instruments .system-progress { min-height: 25rem; border-right: 0; border-bottom: 1px solid rgba(159,195,241,.18); }
  .goal-instruments .autonomy-graphic { min-height: 31rem; }
  .current-year-photo { right: 1.1rem; bottom: 1rem; width: 7rem; height: 9rem; }
  .scale-ambition { min-height: 0; padding-inline: 1.1rem; }
  .world-network { margin-top: 2rem; padding: .8rem; }
  .timeline-slogan { font-size: clamp(3.2rem,14vw,6rem); }
}

@media (prefers-reduced-motion: reduce) {
  .autonomy-transition::before,
  .autonomy-transition i,
  .world-network::before,
  .world-network::after { animation: none; }
}

/* V21 — quieter navigation and lighter future scenes */
@media (min-width: 901px) {
  .mega-menu {
    width: min(49rem,88vw);
    padding: .65rem;
    grid-template-columns: 1.45fr 1fr 1fr;
    gap: .45rem;
    border: 1px solid rgba(191,211,237,.18);
    border-radius: .75rem;
    background: rgba(8,14,24,.97);
    box-shadow: 0 1.5rem 5rem rgba(0,0,0,.42);
  }
  .menu-column {
    min-height: 0;
    padding: .8rem;
    gap: 0;
    border: 0;
    border-radius: .4rem;
    background: transparent;
  }
  .menu-column + .menu-column { border-left: 1px solid rgba(159,195,241,.12); }
  .menu-column b {
    margin-bottom: .45rem;
    padding: .4rem .35rem .75rem;
    border-bottom: 1px solid rgba(159,195,241,.12);
    color: #f1f5fa;
    font: 850 1.05rem/1 var(--display);
    letter-spacing: -.015em;
  }
  .menu-column b span { color: #668fca; font-size: .7rem; }
  .menu-column a {
    padding: .5rem .4rem;
    border-radius: .25rem;
    color: #aebbc9;
    font: 650 .84rem/1.15 var(--sans);
    letter-spacing: 0;
  }
  .menu-column a::before { width: 1rem; color: #5279aa; font-size: .52rem; }
  .menu-column a:hover { color: #fff; background: rgba(112,158,218,.09); transform: translateX(.12rem); }
}

.manifesto { background: linear-gradient(180deg,#f4f7fb,#edf3fa); }
.manifesto-signal { z-index: 0; opacity: 1; }
.manifesto-signal i {
  height: 2px;
  background: linear-gradient(90deg,transparent 0%,rgba(27,91,176,.4) 7%,rgba(27,91,176,.78) 50%,rgba(27,91,176,.4) 93%,transparent 100%);
  box-shadow: 0 0 1.2rem rgba(48,105,185,.18);
}
.manifesto-signal i:nth-child(1) { opacity: .58; }
.manifesto-signal i:nth-child(2) { opacity: .44; }
.manifesto-signal i:nth-child(3) { opacity: .7; }
.manifesto-signal i:nth-child(4) { opacity: .4; }
.manifesto-signal i:nth-child(5) { opacity: .52; }

.discovery-montage figcaption { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: end; }
.discovery-montage figcaption > span { width: min(70rem,100%); }
.discovery-montage figcaption > span small { display: block; width: 100%; max-width: none; line-height: 1.55; }

.autonomy-transition {
  background: radial-gradient(circle at 50% 100%,rgba(75,126,193,.2),transparent 48%),linear-gradient(145deg,#121923,#0c2039);
}
.autonomy-transition i { display: none; }
.autonomy-transition::before {
  inset: -20% auto auto -12%;
  width: 58%;
  height: 140%;
  border: 0;
  border-radius: 45%;
  background: radial-gradient(ellipse,rgba(92,145,213,.2),transparent 67%);
  filter: blur(1rem);
  animation: now-aura-left 8s ease-in-out infinite alternate;
}
.autonomy-transition::after {
  inset: -25% -15% auto auto;
  width: 62%;
  height: 145%;
  border: 0;
  border-radius: 48%;
  opacity: 1;
  background: radial-gradient(ellipse,rgba(139,82,65,.14),transparent 68%);
  filter: blur(1.5rem);
  animation: now-aura-right 10s ease-in-out infinite alternate;
}
.autonomy-transition span { text-shadow: 0 1rem 4rem rgba(0,0,0,.25); }
@keyframes now-aura-left { to { transform: translate(16%,8%) scale(1.12); } }
@keyframes now-aura-right { to { transform: translate(-14%,-6%) scale(.92); } }

.current-year::after { content: none; }
.goal-instruments .progress-heading strong { font-size: clamp(4.8rem,8.5vw,8.5rem); }

.world-network { overflow: hidden; border-radius: 1.2rem; }
.world-network::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -25% auto -25% -28%;
  width: 24%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg,transparent,rgba(151,198,255,.12),rgba(230,242,255,.2),rgba(151,198,255,.12),transparent);
  filter: blur(.6rem);
  transform: skewX(-15deg);
  animation: map-scan 8s ease-in-out infinite;
}
.world-network::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border: 0;
  border-radius: 0;
  opacity: .35;
  background-image: radial-gradient(circle,rgba(159,195,241,.5) 0 1px,transparent 1.5px);
  background-size: 2.8rem 2.8rem;
  animation: map-field 14s linear infinite alternate;
}
@keyframes map-scan { 0% { left: -28%; } 55%,100% { left: 112%; } }
@keyframes map-field { to { transform: translate3d(1.4rem,.8rem,0); } }

@media (max-width: 900px) {
  .discovery-montage figcaption { grid-template-columns: 1fr; gap: 1rem; }
  .discovery-montage figcaption > span { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .autonomy-transition::before,
  .autonomy-transition::after,
  .world-network::before,
  .world-network::after { animation: none; }
}

/* V22 — NextGen editorial restructure */
.manifesto-signal {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.manifesto-signal path {
  fill: none;
  stroke: rgba(31,95,182,.54);
  stroke-width: 2.25;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 5px rgba(54,111,190,.16));
  transform-box: fill-box;
  transform-origin: center;
  animation: manifesto-path-a 7.5s ease-in-out infinite alternate;
}
.manifesto-signal path:nth-child(2) { stroke: rgba(31,95,182,.34); animation-name: manifesto-path-b; animation-duration: 9s; animation-delay: -2s; }
.manifesto-signal path:nth-child(3) { stroke: rgba(31,95,182,.42); animation-duration: 10.5s; animation-delay: -5s; }
.manifesto-signal path:nth-child(4) { stroke: rgba(31,95,182,.3); animation-name: manifesto-path-b; animation-duration: 8.2s; animation-delay: -6s; }
.manifesto-signal path:nth-child(5) { stroke: rgba(31,95,182,.62); animation-duration: 11s; animation-delay: -3s; }
@keyframes manifesto-path-a { from { transform: translateY(-28px) scaleY(.88); } to { transform: translateY(32px) scaleY(1.12); } }
@keyframes manifesto-path-b { from { transform: translateY(34px) scaleY(1.1); } to { transform: translateY(-30px) scaleY(.9); } }

.pilot-proof {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg,#07182e 0%,#0e2c53 46%,#1554a5 100%);
}
.pilot-proof::before { content: "PROOF"; position: absolute; right: -2vw; top: 45%; color: rgba(255,255,255,.035); font: 900 clamp(8rem,22vw,24rem)/.7 var(--display); letter-spacing: -.08em; pointer-events: none; }
.pilot-proof .pilot-gallery,
.pilot-proof .student-output { position: relative; z-index: 1; background: transparent; }
.pilot-proof .student-output { border-top: 1px solid rgba(255,255,255,.12); }

.pilot-failures { grid-template-columns: repeat(3,minmax(0,1fr)); }
.failure-card { min-height: 28rem; }
.failure-card small { display: block; margin-top: 2rem; color: #c67d84; font: 800 .56rem/1.4 var(--sans); letter-spacing: .14em; }

.rebuild-matrix {
  width: min(78rem,88vw);
  margin: 5rem auto 8rem;
  border: 1px solid rgba(159,195,241,.22);
  background: rgba(5,17,35,.44);
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.18);
}
.rebuild-matrix .matrix-head,
.rebuild-matrix article { display: grid; grid-template-columns: minmax(0,.78fr) 3rem minmax(0,1.22fr); gap: 1rem; align-items: center; }
.rebuild-matrix .matrix-head { padding: .9rem 1.4rem; color: #729bce; background: rgba(159,195,241,.06); font: 800 .58rem/1 var(--sans); letter-spacing: .18em; }
.rebuild-matrix article { min-height: 7rem; padding: 1.3rem 1.4rem; border-top: 1px solid rgba(159,195,241,.13); }
.rebuild-matrix b { color: #b6c6da; font: 850 clamp(1rem,1.8vw,1.5rem)/1 var(--display); text-transform: uppercase; }
.rebuild-matrix i { color: #6799d8; font-style: normal; text-align: center; }
.rebuild-matrix p { margin: 0; color: #eef5ff; font: 850 clamp(1.25rem,2.3vw,2.1rem)/1.08 var(--display); letter-spacing: -.025em; text-transform: uppercase; }

.autonomy-transition {
  min-height: 25rem;
  padding: 6rem 6vw;
  background: linear-gradient(135deg,#0b1727,#102d50);
}
.autonomy-transition::before,
.autonomy-transition::after { opacity: .4; }
.autonomy-transition span { max-width: 16ch; font-size: clamp(2.8rem,6.8vw,7rem); line-height: .86; }
.autonomy-transition p { margin-top: 1.4rem; }

.progress-heading strong { letter-spacing: .025em; }

.scale-ambition {
  min-height: auto;
  padding-top: clamp(7rem,10vw,10rem);
  padding-bottom: clamp(8rem,11vw,11rem);
}
.scale-copy h3 { font-size: clamp(3rem,6.2vw,6.5rem); }
.scale-route { display: none; }
.world-network { width: min(72rem,100%); min-height: 42rem; display: grid; align-items: center; padding-bottom: 12rem; border-radius: .8rem; }
.world-network svg { align-self: center; }
.map-roadmap {
  position: absolute;
  z-index: 4;
  left: 2rem;
  right: 2rem;
  bottom: 2.4rem;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .7rem;
}
.map-step { min-height: 8.2rem; display: grid; grid-template-columns: 2rem 1fr; align-content: start; gap: .45rem .75rem; padding: 1rem; border: 1px solid rgba(159,195,241,.2); background: rgba(4,16,35,.88); backdrop-filter: blur(12px); text-align: left; }
.map-step > span { grid-row: 1 / span 2; color: #6f9bd3; font: 900 1.3rem/1 var(--display); }
.map-step b { color: #eef5ff; font: 850 .72rem/1.2 var(--sans); letter-spacing: .08em; }
.map-step small { color: #9fb2ca; font-size: .66rem; line-height: 1.45; }
.map-step.is-now { border-color: rgba(219,234,252,.58); box-shadow: 0 0 2rem rgba(82,143,224,.16); }
.world-network > span { position: absolute; z-index: 5; left: 0; right: 0; bottom: .7rem; }

.scale-ambition + .timeline-slogan { margin-top: 0; }

@media (max-width: 900px) {
  .pilot-failures { grid-template-columns: 1fr; }
  .failure-card { min-height: 20rem; }
  .rebuild-matrix { width: calc(100% - 2.2rem); margin: 3rem 1.1rem 6rem; }
  .rebuild-matrix .matrix-head,
  .rebuild-matrix article { grid-template-columns: 1fr; gap: .7rem; }
  .rebuild-matrix .matrix-head i,
  .rebuild-matrix article i { display: none; }
  .autonomy-transition { min-height: 23rem; padding: 5rem 1.1rem; }
  .world-network { min-height: 0; padding-bottom: 1rem; }
  .map-roadmap { position: relative; left: auto; right: auto; bottom: auto; grid-template-columns: 1fr; margin-top: 1rem; }
  .world-network > span { position: relative; bottom: auto; margin-top: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .manifesto-signal path { animation: none; }
}

/* V23 — lighter signal, dated reveal and a regional-to-global roadmap */
.manifesto-signal path { stroke: rgba(31,95,182,.31); filter: drop-shadow(0 0 4px rgba(54,111,190,.08)); }
.manifesto-signal path:nth-child(2) { stroke: rgba(31,95,182,.19); }
.manifesto-signal path:nth-child(3) { stroke: rgba(31,95,182,.25); }
.manifesto-signal path:nth-child(4) { stroke: rgba(31,95,182,.16); }
.manifesto-signal path:nth-child(5) { stroke: rgba(31,95,182,.36); }

.pilot-proof .gallery-heading .section-kicker { color: #93b8e8; }
.pilot-proof .gallery-heading h3 { color: #fff; text-shadow: 0 .4rem 2rem rgba(0,0,0,.18); }
.pilot-proof .pilot-gallery figcaption { color: rgba(255,255,255,.86); }

.progress-heading strong { letter-spacing: .045em; }
.verdict-lock {
  grid-column: 1 / -1;
  position: relative;
  min-height: 10rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .55rem;
  padding: 2rem;
  overflow: hidden;
  border-top: 1px solid rgba(159,195,241,.18);
  background: linear-gradient(135deg,rgba(4,15,32,.82),rgba(21,55,94,.62));
  text-align: center;
}
.verdict-lock::before { content: "01·06·2027"; position: absolute; left: 50%; top: 50%; color: rgba(159,195,241,.055); font: 900 clamp(5rem,13vw,13rem)/.7 var(--display); letter-spacing: -.07em; transform: translate(-50%,-50%); white-space: nowrap; }
.verdict-lock > * { position: relative; z-index: 1; }
.verdict-lock > span { color: #6f97c8; font: 800 .55rem/1 var(--sans); letter-spacing: .22em; }
.verdict-lock b { color: #eef5ff; font: 900 clamp(1.25rem,2.5vw,2.4rem)/1 var(--display); letter-spacing: -.025em; }
.verdict-lock p { margin: 0; color: #9fb4ce; font-size: .76rem; }
.verdict-lock.is-reveal-day { border-color: rgba(226,238,252,.65); box-shadow: inset 0 0 4rem rgba(85,150,234,.18); }

.scale-ambition { gap: 1.5rem; }
.scale-copy h3 { margin-bottom: 1.4rem; }
.scale-copy > p:not(.section-kicker) { margin-bottom: 0; }
.world-network { margin-top: 1.5rem; }

@media (max-width: 900px) {
  .verdict-lock { padding: 2rem 1rem; }
}

/* V24 — final legibility and map refinement */
.pilot-proof .pilot-gallery .tile figcaption {
  color: #071326;
  background: rgba(255,255,255,.94);
  box-shadow: 0 .65rem 2rem rgba(0,0,0,.14);
}

.transition-copy { position: relative; z-index: 2; max-width: 52rem; }
.transition-copy small { display: block; margin-bottom: 1.35rem; color: #9fc8ef; font: 850 .65rem/1 var(--sans); letter-spacing: .2em; }
.transition-copy p { max-width: 13ch; }

.world-network .continents { fill: rgba(119,163,219,.14); stroke: rgba(177,207,243,.52); stroke-width: 1.7; stroke-linejoin: round; }
.map-roadmap {
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(159,195,241,.25);
  border-radius: .45rem;
  background: rgba(4,16,35,.9);
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.26);
}
.map-step {
  min-height: 9.4rem;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  gap: .55rem;
  padding: 1.15rem 1.25rem;
  border: 0;
  border-right: 1px solid rgba(159,195,241,.18);
  background: transparent;
  backdrop-filter: none;
}
.map-step:last-child { border-right: 0; }
.map-step > span { grid-row: auto; color: #7aa4d8; font-size: .72rem; letter-spacing: .13em; }
.map-step b { font-size: .7rem; }
.map-step small { max-width: 28ch; }
.map-step.is-now { border-color: rgba(159,195,241,.18); background: linear-gradient(145deg,rgba(63,117,188,.18),transparent); box-shadow: none; }

@media (max-width: 900px) {
  .transition-copy { width: 100%; }
  .map-roadmap { overflow: visible; border-radius: .35rem; }
  .map-step { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(159,195,241,.18); }
  .map-step:last-child { border-bottom: 0; }
}

/* V25 — accurate world geometry and France-led network */
.world-map-shape {
  opacity: .94;
  filter: drop-shadow(0 1.25rem 2.4rem rgba(0,0,0,.22));
}
.world-network .network-lines {
  stroke: rgba(128,180,244,.48);
  stroke-width: 1.7;
}
.world-network .network-points .origin-halo {
  fill: none;
  stroke: rgba(224,242,255,.62);
  stroke-width: 1.8;
  filter: drop-shadow(0 0 10px rgba(100,170,255,.9));
  animation: france-halo 3.2s ease-out infinite;
}
.world-network .network-points .origin-halo-inner { animation-delay: -1.6s; }
.world-network .network-points .origin-point {
  fill: #fff;
  stroke: #9ccfff;
  stroke-width: 4;
  filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 18px #58a6ff) drop-shadow(0 0 34px #2875dc);
  animation: france-origin 2.4s ease-in-out infinite;
}
.france-label path { fill: none; stroke: rgba(225,241,255,.78); stroke-width: 1; }
.france-label text { fill: #f7fbff; font: 850 11px/1 var(--sans); letter-spacing: .16em; filter: drop-shadow(0 0 8px rgba(67,142,235,.85)); }
@keyframes france-halo {
  0% { opacity: .85; transform: scale(.7); }
  72%,100% { opacity: 0; transform: scale(1.6); }
}
@keyframes france-origin {
  50% { opacity: .9; transform: scale(1.14); }
}

@media (prefers-reduced-motion: reduce) {
  .world-network .network-points .origin-halo,
  .world-network .network-points .origin-point { animation: none; }
}

/* V26 — mobile-first refinement and clearer ambition */
.current-year-photo { display: none; }

@media (max-width: 900px) {
  /* Preserve the desktop display identity without forced mid-word breaks. */
  .hero h1,
  .manifesto-text,
  .case-header h2,
  .origin-statement h3,
  .phase-banner h3,
  .gallery-heading h3,
  .output-heading h3,
  .lessons-head h3,
  .system-copy h3,
  .current-year-copy h3,
  .scale-copy h3,
  .bank-case h3,
  .section-transition p {
    font-family: var(--display);
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero h1 { font-size: clamp(3.35rem,15.6vw,5.65rem); line-height: .76; }
  .hero .eyebrow { font-size: .61rem; letter-spacing: .145em; }
  .gallery-heading h3,
  .output-heading h3 { font-size: clamp(2.4rem,10.7vw,3.1rem); line-height: .9; }

  .funnel-method-link { margin-bottom: 0; }
  .pilot-proof .pilot-gallery { padding-top: 4.25rem; }

  .dashboard-heading { justify-items: center; gap: 1rem; text-align: center; }
  .dashboard-heading .section-kicker {
    max-width: 30rem;
    font-family: var(--sans);
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .13em;
    overflow-wrap: normal;
  }
  .dashboard-heading > p:last-child { text-align: center; }
  .notion-badge { margin: 0 auto 1.4rem; }
  .dashboard-card figcaption b { font-family: var(--sans); font-weight: 750; }

  .current-year { padding: 6rem 1.1rem; }
  .current-year-copy h3 { font-size: clamp(3rem,12vw,4.7rem); }
  .goal-instruments .system-progress { min-height: 22rem; padding-inline: 1.15rem; }
  .goal-instruments .progress-heading { width: 100%; justify-items: center; text-align: center; }
  .goal-instruments .progress-heading span { max-width: none; text-align: center; }
  .goal-instruments .progress-heading strong {
    font-size: clamp(4.35rem,19vw,7rem);
    letter-spacing: .055em;
    transform: translateX(.0275em);
  }
  .goal-instruments .progress-foot { align-items: flex-start; text-align: left; }
  .goal-instruments .autonomy-graphic { min-height: 28rem; }
  .autonomy-label { left: 1rem; right: 1rem; text-align: center; }

  .scale-ambition { padding-top: 5.5rem; }
  .scale-copy h3 { font-size: clamp(2.8rem,11.5vw,4.5rem); line-height: .88; }
  .scale-copy > p:not(.section-kicker) { font-size: .94rem; line-height: 1.68; }
  .world-network { margin-top: 1.25rem; }
  .map-step { text-align: center; }
  .map-step b { font-size: .73rem; }
  .map-step small { max-width: 34rem; margin-inline: auto; }

  .bank-case h3 { font-size: clamp(2rem,9vw,2.75rem); }
  .breakline-learnings { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .hero h1 { font-size: clamp(3.2rem,15.1vw,4.65rem); }
  .hero-statement p { font-size: .93rem; line-height: 1.55; }
  .pilot-proof .pilot-gallery { padding-top: 3.5rem; }
  .current-year-copy h3 { font-size: clamp(2.8rem,11.7vw,3.8rem); }
  .goal-instruments .progress-heading strong { font-size: clamp(4.1rem,18vw,5.6rem); }
  .progress-foot { gap: .7rem; }
  .progress-foot small { max-width: 48%; line-height: 1.45; }
  .world-network { padding: .55rem; }
}
