:root {
  --ink: #10212D;
  --ink-soft: #10212D;
  --navy: #10212D;
  --navy-2: #10212D;
  --ivory: #F2F0EB;
  --paper: #F2F0EB;
  --paper-2: #F2F0EB;
  --steel: #AAB9C4;
  --muted: #AAB9C4;
  --champagne: #C8A976;
  --champagne-2: #C8A976;
  --line: rgba(235, 222, 196, .18);
  --line-dark: rgba(7, 9, 13, .15);
  --shadow: 0 24px 80px rgba(0, 0, 0, .28);
  --radius-sm: .55rem;
  --radius-md: 1rem;
  --radius-lg: 1.75rem;
  --radius-pill: 999px;
  --container: 78rem;
  --header-h: 4.75rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --font-serif: "Iowan Old Style", Georgia, serif;
  --step--1: clamp(.78rem, .73rem + .18vw, .88rem);
  --step-0: clamp(.98rem, .92rem + .25vw, 1.12rem);
  --step-1: clamp(1.2rem, 1.08rem + .5vw, 1.48rem);
  --step-2: clamp(1.55rem, 1.27rem + 1.05vw, 2.15rem);
  --step-3: clamp(2.05rem, 1.52rem + 2vw, 3.2rem);
  --step-4: clamp(2.8rem, 1.8rem + 3.7vw, 5.3rem);
  --step-5: clamp(3.5rem, 2rem + 5.4vw, 7.4rem);
}

*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + var(--safe-top) + 1.2rem);
  background: var(--ink);
}
body {
  margin: 0;
  color: var(--ivory);
  background:
    radial-gradient(circle at 88% 10%, rgba(17, 66, 103, .22), transparent 30rem),
    var(--ink);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html.menu-open,
body.menu-open { overflow: hidden; overscroll-behavior: none; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--champagne); color: var(--ink); }

.skip-link {
  position: fixed;
  z-index: 9999;
  top: calc(.5rem + var(--safe-top));
  left: calc(.5rem + var(--safe-left));
  padding: .7rem 1rem;
  color: var(--ink);
  background: var(--ivory);
  border-radius: var(--radius-sm);
  transform: translateY(-160%);
}
.skip-link:focus { transform: none; }

:focus-visible {
  outline: 3px solid var(--champagne-2);
  outline-offset: 4px;
}

.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; padding-left: var(--safe-left); padding-right: var(--safe-right); }
.narrow { width: min(calc(100% - 2rem), 56rem); margin-inline: auto; padding-left: var(--safe-left); padding-right: var(--safe-right); }
.flow > * + * { margin-top: var(--flow, 1.1rem); }
.grid { display: grid; gap: clamp(1rem, 2.2vw, 2rem); }
.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.text-center { text-align: center; }
.muted { color: var(--steel); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
  color: var(--champagne-2);
  font-size: var(--step--1);
  font-weight: 720;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 2.1rem; height: 1px; background: currentColor; opacity: .75; }
h1, h2, h3 {
  margin-block: 0;
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -.028em;
  line-height: 1.03;
  text-wrap: balance;
}
h1 { font-size: var(--step-4); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); }
.lede { max-width: 48rem; margin: 1.25rem 0 0; color: #DDE3E7; font-size: var(--step-1); line-height: 1.55; }
.section-intro { max-width: 48rem; margin: 1.1rem 0 0; color: var(--steel); }
.kicker { color: var(--champagne-2); font-weight: 650; }
.rule { border: 0; border-top: 1px solid var(--line); margin-block: 2rem; }

.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  height: calc(var(--header-h) + var(--safe-top));
  padding-top: var(--safe-top);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: rgba(7, 9, 13, .82);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}
.header-inner {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  height: 100%;
}
.brand {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  gap: .72rem;
  color: var(--ivory);
  text-decoration: none;
}
.brand img { width: 2.65rem; height: 2.65rem; border-radius: 50%; object-fit: cover; }
.brand-copy { display: grid; line-height: 1.08; }
.brand-copy strong { font-family: var(--font-serif); font-size: 1rem; font-weight: 500; }
.brand-copy small { margin-top: .22rem; color: var(--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { margin-left: auto; }
.main-nav ul { display: flex; align-items: center; gap: clamp(.7rem, 1.6vw, 1.4rem); margin: 0; padding: 0; list-style: none; }
.main-nav a {
  position: relative;
  color: #DDE3E7;
  font-size: .88rem;
  font-weight: 620;
  text-decoration: none;
  white-space: nowrap;
}
.main-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.62rem;
  left: 0;
  height: 1px;
  background: var(--champagne);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.lang-switch { display: flex; align-items: center; gap: .25rem; padding-left: .25rem; }
.lang-switch a {
  display: grid;
  min-width: 2rem;
  min-height: 2rem;
  place-items: center;
  border-radius: 50%;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 780;
  text-decoration: none;
}
.lang-switch a[aria-current="true"] { color: var(--ink); background: var(--champagne-2); }
.menu-toggle {
  display: none;
  width: 2.8rem;
  height: 2.8rem;
  margin-left: auto;
  padding: 0;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
  display: block;
  width: 1.15rem;
  height: 1px;
  background: currentColor;
  content: "";
  transition: .25s ease;
}
.menu-toggle span::before { transform: translateY(-.35rem); }
.menu-toggle span::after { transform: translateY(.29rem); }
.menu-open .menu-toggle span { background: transparent; }
.menu-open .menu-toggle span::before { transform: rotate(45deg); }
.menu-open .menu-toggle span::after { transform: translateY(-1px) rotate(-45deg); }

.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.7rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  gap: .55rem;
  padding: .72rem 1.15rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-size: .88rem;
  font-weight: 750;
  letter-spacing: .01em;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--champagne-2); }
.button-primary:hover { background: #C8A976; }
.button-secondary { color: var(--ivory); border-color: rgba(255,255,255,.28); background: rgba(4, 9, 14, .28); }
.button-secondary:hover { border-color: var(--champagne); background: rgba(255,255,255,.06); }
.button-dark { color: var(--ivory); background: var(--ink); }
.button-text { min-height: auto; padding-inline: 0; color: var(--champagne-2); border-radius: 0; }
.button svg { width: 1rem; height: 1rem; flex: none; }

.page-hero { position: relative; overflow: clip; padding-block: clamp(5rem, 10vw, 9rem) clamp(3.5rem, 7vw, 6rem); border-bottom: 1px solid var(--line); }
.page-hero::before { content: ""; position: absolute; z-index: -1; top: -17rem; right: -12rem; width: 40rem; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(20,75,113,.43), transparent 67%); }
.page-hero h1 { max-width: 17ch; }
.page-hero .lede { max-width: 50rem; }
.breadcrumbs { margin: 0 0 1.4rem; color: var(--muted); font-size: .78rem; }
.breadcrumbs a { text-decoration: none; }

.section { padding-block: clamp(4.3rem, 8vw, 8rem); }
.section-light { color: var(--ink); background: var(--paper); }
.section-light .section-intro, .section-light .muted { color: #506575; }
.section-navy { background: linear-gradient(135deg, var(--navy), #10212D 62%); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.section-head > div { max-width: 52rem; }
.section-head .button { flex: none; }

.surface {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.section-light .surface { border-color: var(--line-dark); background: #F2F0EB; box-shadow: 0 18px 55px rgba(16,24,35,.07); }
.card { padding: clamp(1.25rem, 2.5vw, 2rem); }
.card h3 { font-size: clamp(1.45rem, 1.2rem + .65vw, 2rem); }
.card p { margin: .8rem 0 0; }
.card .button-row { margin-top: 1.25rem; }

.training-grid { display: grid; grid-template-columns: .86fr 1.25fr .86fr; gap: 1rem; align-items: stretch; }
.training-card { position: relative; display: flex; min-height: 31rem; flex-direction: column; overflow: hidden; padding: clamp(1.35rem, 2.7vw, 2.25rem); }
.training-card.reference { min-height: 35rem; border-color: rgba(203,176,122,.55); background: linear-gradient(145deg, rgba(20,53,78,.8), rgba(9,18,28,.94)); box-shadow: var(--shadow); transform: translateY(-1.25rem); }
.training-status { display: inline-flex; align-self: flex-start; padding: .32rem .65rem; border: 1px solid rgba(203,176,122,.42); border-radius: var(--radius-pill); color: var(--champagne-2); font-size: .7rem; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.training-duration { margin-top: 1.55rem; color: var(--muted); font-size: .78rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.training-card h3 { margin-top: .35rem; font-size: clamp(2.3rem, 2rem + 1vw, 3.5rem); }
.training-price { margin: .65rem 0 0; color: var(--champagne-2); font-size: 1.25rem; font-weight: 760; }
.training-card p { color: #DDE3E7; }
.training-card ul { margin: 1.25rem 0 0; padding: 0; list-style: none; }
.training-card li { position: relative; padding: .55rem 0 .55rem 1.25rem; border-top: 1px solid rgba(255,255,255,.09); color: #DDE3E7; font-size: .9rem; }
.training-card li::before { content: ""; position: absolute; top: 1.05rem; left: .15rem; width: .35rem; height: .35rem; border-radius: 50%; background: var(--champagne); }
.training-card .button-row { margin-top: auto; padding-top: 1.5rem; }
.training-card .fine-print { margin-top: .8rem; color: var(--muted); font-size: .74rem; }
.section-light .training-card:not(.reference) p, .section-light .training-card:not(.reference) li { color: #506575; }
.section-light .training-card:not(.reference) li { border-color: var(--line-dark); }

.training-extension {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-top: clamp(1.4rem, 3vw, 2.4rem);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(35,29,21,.13);
  border-left: 3px solid var(--champagne-deep);
  border-radius: 1.45rem;
  color: #10212D;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(245,238,225,.78));
  box-shadow: 0 22px 58px rgba(55,42,24,.08);
}
.training-extension__copy { max-width: 52rem; }
.training-extension .eyebrow { color: #506575; }
.training-extension h3 { max-width: 25ch; margin: .55rem 0 .8rem; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.training-extension__copy > p:last-child { color: #506575; font-size: 1rem; line-height: 1.72; }
.training-extension__action { padding-bottom: .1rem; }
.training-extension .button { white-space: nowrap; }

@media (max-width: 42rem) {
  .training-extension { grid-template-columns: 1fr; align-items: start; }
  .training-extension__action, .training-extension .button { width: 100%; }
  .training-extension .button { justify-content: center; white-space: normal; }
}

.fact-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; }
.fact { padding: 1.25rem; border-top: 1px solid var(--line); }
.fact strong { display: block; color: var(--champagne-2); font-family: var(--font-serif); font-size: 1.55rem; font-weight: 500; }
.fact span { color: var(--steel); font-size: .78rem; }
.section-light .fact { border-color: var(--line-dark); }
.section-light .fact strong { color: #506575; }
.section-light .fact span { color: #506575; }

.media-split { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(18rem, .94fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.media-frame { position: relative; overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.media-frame::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.15); border-radius: inherit; pointer-events: none; }
.media-frame img, .media-frame video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.media-frame.wide img, .media-frame.wide video { aspect-ratio: 16 / 9; }
.logo-card { display: flex; min-height: 10rem; align-items: center; justify-content: center; padding: 1.4rem; text-align: center; }
.logo-card img { max-width: min(14rem, 85%); max-height: 5.5rem; object-fit: contain; filter: grayscale(1); opacity: .85; }

.steps { counter-reset: steps; display: grid; gap: .8rem; }
.step { position: relative; display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; padding: 1.25rem; }
.step::before { counter-increment: steps; content: counter(steps, decimal-leading-zero); display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid rgba(203,176,122,.45); border-radius: 50%; color: var(--champagne-2); font-size: .7rem; font-weight: 800; }
.step h3 { font-family: inherit; font-size: 1rem; font-weight: 780; letter-spacing: 0; line-height: 1.35; }
.step p { margin: .35rem 0 0; color: var(--steel); font-size: .88rem; }
.section-light .step p { color: #506575; }

.detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.5rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.detail-list li { padding: .9rem 0; border-top: 1px solid var(--line); }
.detail-list strong { display: block; color: var(--champagne-2); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.detail-list span { display: block; margin-top: .25rem; color: #DDE3E7; }
.section-light .detail-list li { border-color: var(--line-dark); }
.section-light .detail-list strong { color: #506575; }
.section-light .detail-list span { color: #10212D; }
.notice { padding: 1.1rem 1.25rem; border-left: 3px solid var(--champagne); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; color: #DDE3E7; background: rgba(203,176,122,.08); }
.notice strong { color: var(--champagne-2); }
.section-light .notice { color: #506575; background: #F2F0EB; }
.section-light .notice strong { color: #506575; }

.form-shell { display: grid; grid-template-columns: .75fr 1.25fr; gap: 1rem; align-items: start; }
.contact-panel { position: sticky; top: calc(var(--safe-top) + var(--header-h) + 1.5rem); padding: clamp(1.3rem, 2.6vw, 2rem); }
.contact-list { margin: 1.35rem 0 0; padding: 0; list-style: none; }
.contact-list li { padding: .85rem 0; border-top: 1px solid var(--line); }
.contact-list small { display: block; color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-list a, .contact-list address { display: block; margin-top: .28rem; color: var(--ivory); font-style: normal; text-decoration: none; }
.contact-form { padding: clamp(1.35rem, 3vw, 2.5rem); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.field { display: grid; gap: .42rem; }
.field.full { grid-column: 1 / -1; }
.field label { color: #DDE3E7; font-size: .78rem; font-weight: 700; }
.field input, .field select, .field textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-sm);
  color: var(--ivory);
  background: rgba(255,255,255,.045);
  font-size: 1rem;
  padding: .8rem .9rem;
}
.field select option { color: var(--ink); }
.field textarea { min-height: 10rem; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--champagne); outline: none; box-shadow: 0 0 0 3px rgba(203,176,122,.13); }
.form-note { color: var(--muted); font-size: .73rem; }
.form-status { min-height: 1.4rem; margin-top: .8rem; color: var(--champagne-2); font-size: .78rem; }
.form-status.is-success { color: #a9d8b3; }
.form-status.is-error { color: #f0b3aa; }
.availability-updated.is-stale { color: var(--champagne-2); }
.contact-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-form button[aria-busy="true"] { cursor: wait; opacity: .75; }

.cta-band { position: relative; overflow: hidden; padding: clamp(2.5rem, 6vw, 5rem); border: 1px solid rgba(203,176,122,.35); border-radius: var(--radius-lg); background: linear-gradient(115deg, #10212D 0%, #10212D 70%); }
.cta-band::after { content: ""; position: absolute; right: -8rem; bottom: -12rem; width: 28rem; aspect-ratio: 1; border: 1px solid rgba(203,176,122,.28); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(203,176,122,.035),0 0 0 6rem rgba(203,176,122,.02); }
.cta-band > * { position: relative; z-index: 1; }
.cta-band h2 { max-width: 15ch; }

.case-outcome {
  margin-top: 1rem;
  padding: clamp(1.4rem, 3vw, 2.3rem);
  border-left: 2px solid var(--champagne);
}
.case-outcome h3 { max-width: 24ch; margin-bottom: .7rem; }
.case-outcome > p:not(.kicker):not(.evidence-meta) { max-width: 58rem; color: var(--steel); }
.case-outcome .evidence-meta { margin-top: 1.1rem; }

.site-footer { padding: 4rem 0 calc(2rem + var(--safe-bottom)); border-top: 1px solid var(--line); background: #10212D; }
.footer-grid { display: grid; grid-template-columns: 1.25fr repeat(3, .75fr); gap: 2.2rem; }
.footer-brand p { max-width: 25rem; color: var(--muted); font-size: .84rem; }
.footer-title { margin: 0 0 .8rem; color: var(--champagne-2); font-size: .72rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li + li { margin-top: .45rem; }
.footer-links a { color: #AAB9C4; font-size: .8rem; text-decoration: none; }
.footer-links a:hover { color: var(--champagne-2); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.site-credit { margin-top: .7rem; color: rgba(200, 205, 210, .62); font-size: .7rem; text-align: right; }
.site-credit a { text-decoration-color: rgba(240, 221, 178, .42); transition: color .25s ease, text-decoration-color .25s ease; }
.site-credit a:hover { color: var(--champagne-2); text-decoration-color: currentColor; }

.reveal { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s ease; }
html.reveal-pending .reveal:not(.is-visible),
html.reveal-ready .reveal:not(.is-visible) { opacity: 0; transform: translateY(1.1rem); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 70rem) {
  .main-nav a { font-size: .8rem; }
  .training-grid { grid-template-columns: 1fr 1.1fr; }
  .training-card.reference { grid-row: span 2; transform: none; }
  .training-grid .training-card:last-child { grid-column: 1; }
  .footer-grid { grid-template-columns: 1.3fr repeat(2,1fr); }
  .footer-grid > :last-child { grid-column: 2 / -1; }
}

@media (max-width: 76rem) {
  :root { --header-h: 4.3rem; }
  body.menu-open { overflow: hidden; }
  .menu-toggle { display: grid; }
  .main-nav {
    /* Keep the mobile panel anchored to the header. A fixed descendant of a
       backdrop-filtered header can lose reliable touch hit-testing in Safari
       once the scrolled header switches to its blurred compositing layer. */
    position: absolute;
    inset: 100% 0 auto 0;
    max-height: calc(100svh - var(--header-h) - var(--safe-top));
    margin: 0;
    padding: 1rem max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));
    overflow-y: auto;
    border-bottom: 1px solid var(--line);
    background: rgba(7,9,13,.98);
    transform: translateY(-120%);
    visibility: hidden;
    transition: transform .3s ease, visibility .3s;
  }
  .menu-open .main-nav { transform: none; visibility: visible; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) body .site-header,
  html:not(.js) body.page-home .site-header {
    position: static;
    height: auto;
  }
  html:not(.js) .header-inner {
    min-height: var(--header-h);
    height: auto;
    flex-wrap: wrap;
    padding-block: .45rem;
  }
  html:not(.js) .main-nav {
    position: static;
    order: 3;
    flex-basis: 100%;
    max-height: none;
    width: 100%;
    padding: .5rem 0 1rem;
    visibility: visible;
    background: transparent;
    transform: none;
  }
  html:not(.js) .lang-switch { margin-left: auto; }
  .main-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .main-nav li { border-bottom: 1px solid var(--line); }
  .main-nav a { display: block; padding: 1rem .2rem; font-size: 1rem; }
  .main-nav a::after { display: none; }
  .lang-switch { margin-left: 0; }
}

@media (max-width: 58rem) {
  .two-col, .media-split, .form-shell { grid-template-columns: 1fr; }
  .form-shell .contact-form { order: 1; }
  .form-shell .contact-panel { order: 2; }
  .three-col { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-panel { position: static; }
  .training-grid { grid-template-columns: 1fr; }
  .training-card.reference, .training-grid .training-card:last-child { grid-row: auto; grid-column: auto; }
  .training-card { min-height: auto; }
  .fact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > :last-child { grid-column: auto; }
}

@media (max-width: 42rem) {
  .container, .narrow { width: min(calc(100% - 1.25rem), var(--container)); }
  .brand-copy small { display: none; }
  .brand-copy strong { font-size: .92rem; }
  .lang-switch a { min-width: 1.8rem; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .three-col, .footer-grid { grid-template-columns: 1fr; }
  .detail-list, .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .site-credit { text-align: left; }
}

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

.visually-hidden {
  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;
}
.page-hero .button-row { margin-top: 1.8rem; }
.contact-list span { display: block; margin-top: .28rem; color: var(--ivory); }
.section-light a:not(.button) { color: #10212D; }
.contact-list a,
.contact-list address,
.contact-list span { overflow-wrap: anywhere; word-break: break-word; }


/* LOT 2 — evidence context and Alexandra hero */
.page-hero.page-hero--alexandra { min-height: auto; padding-block: clamp(5rem, 8vw, 7.5rem) clamp(3.5rem, 6vw, 5.5rem); }
.page-hero--alexandra .page-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(22rem, .82fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.page-hero--alexandra .page-hero__copy { min-width: 0; }
.page-hero--alexandra .page-hero__media { position: relative; min-height: clamp(25rem, 41vw, 40rem); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: clamp(1.5rem, 3vw, 2.6rem); background: #10212D; box-shadow: 0 35px 100px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.07); }
.page-hero--alexandra .page-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,8,13,.34), transparent 45%); pointer-events: none; }
.page-hero--alexandra .page-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.evidence-context { margin-bottom: 1.5rem; padding: 1rem 1.15rem; border: 1px solid rgba(203,176,122,.24); border-radius: var(--radius-sm); color: #DDE3E7; background: rgba(203,176,122,.07); font-size: .86rem; line-height: 1.65; }
.evidence-context strong { color: var(--champagne-2); }
.section-light .evidence-context { border-color: rgba(113,83,27,.2); color: #506575; background: #F2F0EB; }
.section-light .evidence-context strong { color: #506575; }
.evidence-meta { display: block; margin-top: .55rem; color: rgba(225,232,236,.58); font-size: .7rem; font-weight: 680; line-height: 1.45; letter-spacing: .035em; }
.section-light .evidence-meta { color: #506575; }
.evidence-link { display: inline-flex; margin-top: .7rem; color: var(--champagne-2); font-size: .76rem; font-weight: 720; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.section-light .evidence-link, .notice .evidence-link { color: #506575; }
.training-proof { margin-top: 1rem !important; font-size: .78rem; font-weight: 720; }
.training-proof a { color: #506575; text-underline-offset: .2em; }
.section:not(.section-light) .training-proof a { color: var(--champagne-2); }
@media (max-width: 58rem) {
  .page-hero--alexandra .page-hero__grid { grid-template-columns: 1fr; }
  .page-hero.page-hero--alexandra { min-height: auto; padding-top: 7.3rem; }
  .page-hero--alexandra .page-hero__media { min-height: clamp(22rem, 78vw, 31rem); }
}
@media (max-width: 42rem) {
  .page-hero.page-hero--alexandra { min-height: auto; }
  .page-hero--alexandra .page-hero__media { min-height: 22rem; }
}

/* LOT 2 — architecture de conversion */
.professional-routes { scroll-margin-top: 0; }
.route-card { display: flex; min-height: 22rem; flex-direction: column; }
.professional-routes .three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.route-card .button { align-self: flex-start; margin-top: auto; }

.training-facts { display: grid; margin: 1.2rem 0 0; }
.training-facts > div { display: grid; grid-template-columns: minmax(5.2rem, .72fr) minmax(0, 1.5fr); gap: .75rem; padding: .62rem 0; border-top: 1px solid rgba(255,255,255,.1); }
.training-facts dt { color: var(--champagne-2); font-size: .62rem; font-weight: 800; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.training-facts dd { margin: 0; color: #DDE3E7; font-size: .79rem; line-height: 1.5; }
.training-showcase .training-card:not(.reference) .training-facts > div { border-color: var(--line-dark); }
.training-showcase .training-card:not(.reference) .training-facts dt { color: #506575; }
.training-showcase .training-card:not(.reference) .training-facts dd { color: #506575; }

.copy-action { margin-top: 1.1rem; }
.copy-status { min-height: 1.35rem; margin: .55rem 0 0; color: var(--champagne-2); font-size: .76rem; }
.noscript-contact { display: grid; gap: .55rem; margin-top: 1rem; padding: 1rem; border: 1px solid rgba(203,176,122,.3); border-radius: var(--radius-sm); background: rgba(203,176,122,.08); color: #DDE3E7; font-size: .8rem; }
.noscript-contact a { color: var(--champagne-2); overflow-wrap: anywhere; }

@media (max-width: 68rem) {
  .professional-routes .three-col { grid-template-columns: 1fr; }
  .route-card { min-height: 0; }
}

@media (max-width: 42rem) {
  .training-facts > div { grid-template-columns: 1fr; gap: .2rem; }
  .contact-form .button-row { align-items: stretch; flex-direction: column; }
  .contact-form .button-row .button { justify-content: center; width: 100%; }
}
/* Preserve the semantic hidden state even when component layout rules set a
   display value. */
[hidden] { display: none !important; }
/*
 * Art de l'Anglage — direction immersive V2
 * Restores the cinematic hero, pinned horizontal stories, interactive macro reading
 * and editorial book collection while keeping the simplified information architecture.
 */

:root {
  --ink: #10212D;
  --ink-soft: #10212D;
  --navy: #10212D;
  --navy-2: #10212D;
  --night-blue: #10212D;
  --night-blue-2: #10212D;
  --ivory: #F2F0EB;
  --paper: #F2F0EB;
  --paper-2: #F2F0EB;
  --steel: #AAB9C4;
  --muted: #506575;
  --champagne: #C8A976;
  --champagne-2: #C8A976;
  --champagne-deep: #506575;
  --ice: #DDE3E7;
  --line: rgba(240, 221, 178, .18);
  --line-dark: rgba(4, 10, 16, .14);
  --shadow: 0 34px 110px rgba(0, 0, 0, .34);
  --shadow-soft: 0 20px 70px rgba(0, 0, 0, .18);
  --radius-sm: .65rem;
  --radius-md: 1.15rem;
  --radius-lg: 2rem;
  --radius-xl: 2.75rem;
  --container: 82rem;
  --header-h: 5rem;
  --ease-luxe: cubic-bezier(.16, .78, .18, 1);
}

html {
  background: var(--ink);
  scrollbar-color: var(--champagne) #10212D;
}

body {
  min-width: 0;
  overflow-x: clip;
  background:
    radial-gradient(65rem 40rem at 92% 0%, rgba(21, 83, 124, .22), transparent 67%),
    radial-gradient(44rem 32rem at -8% 38%, rgba(185, 227, 239, .055), transparent 70%),
    linear-gradient(180deg, #10212D 0%, #10212D 42%, #10212D 100%);
}

body::before {
  content: "";
  position: fixed;
  z-index: 3000;
  inset: 0;
  pointer-events: none;
  opacity: .035;
  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='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

/* Signature opening and inter-page cover ----------------------------- */
html.ada-intro-pending,
html.ada-intro-pending body,
html.ada-page-leaving,
html.ada-page-leaving body,
html.ada-page-enter,
html.ada-page-enter body { overflow: hidden !important; }

.light-intro {
  display: none;
  position: fixed;
  z-index: 2147482000;
  inset: 0;
  place-items: center;
  overflow: hidden;
  color: var(--ivory);
  pointer-events: all;
}
html.ada-intro-pending .light-intro { display: grid; }

html.ada-page-leaving::before,
html.ada-page-enter::before,
html.ada-page-leaving::after,
html.ada-page-enter::after {
  position: fixed;
  inset: 0;
  pointer-events: all;
}
html.ada-page-leaving::before,
html.ada-page-enter::before { content: ""; z-index: 2147483000; }
html.ada-page-leaving::after,
html.ada-page-enter::after { z-index: 2147483001; }

@media (prefers-reduced-motion: reduce) {
  .light-intro,
  html.ada-page-leaving::before,
  html.ada-page-leaving::after,
  html.ada-page-enter::before,
  html.ada-page-enter::after { display: none !important; animation: none !important; }
}

/* Cinematic curtain V2 -------------------------------------------------
 * Adapted for a multi-page static site from the synchronized cover/reveal
 * principle documented by Codrops. The circular clip creates a soft curved
 * boundary without Barba, WebGL or a paid GSAP plugin.
 */
.light-intro {
  clip-path: circle(155% at 50% 112%);
  background:
    radial-gradient(52rem 34rem at 50% 58%, rgba(19, 69, 98, .34), transparent 72%),
    linear-gradient(155deg, #10212D 0%, #10212D 62%, #10212D 100%);
  will-change: clip-path;
}
.light-intro__copy {
  width: min(68rem, calc(100vw - 4rem));
  text-align: center;
}
.light-intro__title {
  margin: 0;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(4rem, 9.4vw, 9.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .9;
  text-wrap: balance;
  will-change: transform, opacity, filter;
}
html.ada-intro-pending .light-intro {
  animation: ada-opening-curtain .88s cubic-bezier(.76, 0, .24, 1) both;
}
html.ada-intro-pending .light-intro__title {
  animation: ada-opening-title .84s cubic-bezier(.22, .72, .18, 1) both;
}

.page-transition-orbit {
  display: none;
  position: fixed;
  z-index: 2147483002;
  top: 50%;
  left: 50%;
  width: min(34rem, 62vw);
  aspect-ratio: 1;
  border: 1px solid rgba(240, 221, 178, .25);
  border-radius: 50%;
  box-shadow:
    inset 0 0 3.5rem rgba(185, 227, 239, .025),
    0 0 4rem rgba(200, 169, 111, .045);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.78);
  will-change: transform, opacity;
}
.page-transition-orbit::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: conic-gradient(from 205deg, transparent 0 66%, rgba(240, 221, 178, .32) 78%, transparent 88%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 0);
}
.page-transition-orbit i {
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  animation: ada-orbit-rotation 1.9s linear infinite;
}
.page-transition-orbit i::before {
  content: "";
  position: absolute;
  top: -.26rem;
  left: 50%;
  width: .52rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #F2F0EB;
  box-shadow:
    0 0 .55rem .16rem rgba(255, 239, 194, .92),
    0 0 1.8rem .5rem rgba(185, 227, 239, .34),
    0 0 3.5rem .8rem rgba(200, 169, 111, .18);
  transform: translateX(-50%);
}
html.ada-intro-pending .page-transition-orbit {
  display: block;
  z-index: 2147482004;
  width: min(54rem, 78vw, 74vh);
  animation: ada-intro-orbit .87s cubic-bezier(.22, .72, .18, 1) both;
}
html.ada-page-leaving .page-transition-orbit {
  display: block;
  width: min(54rem, 78vw, 74vh);
  animation: ada-page-orbit-in .3s cubic-bezier(.22, .72, .18, 1) both;
}
html.ada-page-enter .page-transition-orbit {
  display: block;
  width: min(54rem, 78vw, 74vh);
  animation: ada-page-orbit-out .38s cubic-bezier(.55, 0, .2, 1) both;
}

html.ada-page-leaving::before,
html.ada-page-enter::before {
  background:
    radial-gradient(60rem 34rem at 50% 55%, rgba(20, 74, 104, .3), transparent 72%),
    linear-gradient(155deg, #10212D 0%, #10212D 64%, #10212D 100%);
  box-shadow: inset 0 1px rgba(240, 221, 178, .08);
  will-change: clip-path;
}

html.ada-page-leaving::after,
html.ada-page-enter::after {
  content: attr(data-transition-label);
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(90vw, 72rem);
  height: auto;
  color: var(--ivory);
  background: none;
  box-shadow: none;
  font-family: var(--font-serif);
  font-size: clamp(4rem, 9.4vw, 9.8rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .92;
  text-align: center;
  text-wrap: balance;
  transform: translate(-50%, -42%);
  will-change: opacity, transform;
  z-index: 2147483003;
}

html.ada-page-leaving::before {
  clip-path: circle(0% at 50% 112%);
  animation: ada-curtain-cover .3s cubic-bezier(.76, 0, .24, 1) forwards;
}
html.ada-page-leaving::after {
  opacity: 0;
  animation: ada-curtain-title-in .3s cubic-bezier(.22, .72, .18, 1) forwards;
}
html.ada-page-leaving .site-header,
html.ada-page-leaving main,
html.ada-page-leaving .site-footer {
  transform-origin: center top;
  animation: ada-current-page-out .3s cubic-bezier(.65, 0, .22, 1) forwards;
  will-change: transform, opacity, filter;
}

html.ada-page-enter::before {
  clip-path: circle(155% at 50% -12%);
  animation: ada-curtain-reveal .4s cubic-bezier(.76, 0, .24, 1) forwards;
}
html.ada-page-enter::after {
  opacity: 1;
  transform: translate(-50%, -50%);
  animation: ada-curtain-title-out .34s cubic-bezier(.55, 0, .2, 1) forwards;
}
html.ada-page-enter main {
  animation: ada-next-page-in .42s cubic-bezier(.16, .78, .18, 1) both;
}

@keyframes ada-curtain-cover {
  0% { clip-path: circle(0% at 50% 112%); }
  100% { clip-path: circle(155% at 50% 112%); }
}
@keyframes ada-curtain-reveal {
  0% { clip-path: circle(155% at 50% -12%); }
  100% { clip-path: circle(0% at 50% -12%); }
}
@keyframes ada-curtain-title-in {
  0%, 18% { opacity: 0; transform: translate(-50%, -50%) scale(.56); filter: blur(10px); }
  52% { opacity: 1; transform: translate(-50%, -50%) scale(1.065); filter: blur(0); }
  68%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
}
@keyframes ada-curtain-title-out {
  0%, 18% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
  100% { opacity: 0; transform: translate(-50%, -58%) scale(1.42); filter: blur(7px); }
}
@keyframes ada-current-page-out {
  0% { opacity: 1; transform: scale(1) translate3d(0, 0, 0); filter: blur(0); }
  100% { opacity: .54; transform: scale(.93) translate3d(0, -1.5vh, 0); filter: blur(1px); }
}
@keyframes ada-next-page-in {
  0% { opacity: .66; transform: scale(1.035) translate3d(0, 1.25rem, 0); }
  100% { opacity: 1; transform: none; }
}
@keyframes ada-orbit-rotation {
  to { transform: rotate(360deg); }
}
@keyframes ada-opening-title {
  0%, 5% { opacity: 0; transform: scale(.56); filter: blur(10px); }
  17% { opacity: 1; transform: scale(1.065); filter: blur(0); }
  24%, 59% { opacity: 1; transform: scale(1); filter: blur(0); }
  76%, 100% { opacity: 0; transform: scale(1.48); filter: blur(8px); }
}
@keyframes ada-opening-curtain {
  0%, 62% { clip-path: circle(155% at 50% 112%); }
  100% { clip-path: circle(0% at 50% -12%); }
}
@keyframes ada-intro-orbit {
  0%, 7% { opacity: 0; transform: translate(-50%, -50%) scale(.7); }
  24%, 64% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  80% { opacity: .7; transform: translate(-50%, -50%) scale(1.035); }
  100% { opacity: 0; transform: translate(-50%, -57%) scale(1.2); }
}
@keyframes ada-page-orbit-in {
  0%, 38% { opacity: 0; transform: translate(-50%, -50%) scale(.62); }
  76%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes ada-page-orbit-out {
  0%, 14% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.34); }
}

@media (max-width: 48rem) {
  .light-intro__copy {
    width: calc(100vw - 2.5rem - var(--safe-left) - var(--safe-right));
  }
  .light-intro__title { font-size: clamp(3.35rem, 15vw, 6rem); }
  html.ada-page-leaving::after,
  html.ada-page-enter::after {
    width: calc(100vw - 2.5rem - var(--safe-left) - var(--safe-right));
    font-size: clamp(2.65rem, 12vw, 4.8rem);
  }
  .page-transition-orbit { width: min(82vw, 25rem); }
  html.ada-intro-pending .page-transition-orbit,
  html.ada-page-leaving .page-transition-orbit,
  html.ada-page-enter .page-transition-orbit { width: min(88vw, 29rem); }
}

@media (prefers-reduced-motion: reduce) {
  html.ada-page-leaving .site-header,
  html.ada-page-leaving main,
  html.ada-page-leaving .site-footer,
  html.ada-page-enter main { animation: none !important; }
  .page-transition-orbit { display: none !important; animation: none !important; }
  .section-head.luxe-reveal > * { opacity: 1; clip-path: none; transform: none; filter: none; transition: none; }
  .section-head.luxe-reveal::after { transform: scaleX(1); transition: none; }
}

main { position: relative; }

.container { width: min(calc(100% - 3rem), var(--container)); }

h1, h2, h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -.038em;
}

h1 { line-height: .96; }
h2 { line-height: 1; }

.eyebrow {
  color: var(--champagne-2);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .19em;
}

.eyebrow::before {
  width: 2.8rem;
  background: linear-gradient(90deg, transparent, currentColor);
}

.lede,
.section-intro {
  letter-spacing: -.01em;
}

/* Header --------------------------------------------------------------- */
.site-header {
  height: calc(var(--header-h) + var(--safe-top));
  border-bottom-color: rgba(255, 255, 255, .075);
  background: rgba(3, 7, 12, .72);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .02);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
  transition: background .4s ease, box-shadow .4s ease, transform .4s ease;
}

.page-home .site-header {
  position: fixed;
  width: 100%;
  background: linear-gradient(180deg, rgba(2, 6, 10, .82), rgba(2, 6, 10, .12));
  border-bottom-color: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.page-home .site-header.is-scrolled,
.site-header.is-scrolled {
  background: rgba(3, 7, 12, .92);
  border-bottom-color: rgba(255,255,255,.09);
  box-shadow: 0 18px 48px rgba(0,0,0,.20);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
}

.brand { gap: .9rem; }
.brand img {
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(240, 221, 178, .22);
  box-shadow: 0 0 0 .32rem rgba(200, 169, 111, .035), 0 10px 28px rgba(0,0,0,.32);
}
.brand-copy strong { font-size: 1.08rem; letter-spacing: -.02em; }
.brand-copy small { color: rgba(240, 221, 178, .63); letter-spacing: .13em; }

.main-nav ul { gap: clamp(.9rem, 1.65vw, 1.55rem); }
.main-nav a {
  color: rgba(244, 239, 229, .79);
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: .012em;
}
.main-nav a:hover { color: #F2F0EB; }
.main-nav a::after {
  bottom: -.75rem;
  background: linear-gradient(90deg, transparent, var(--champagne-2), transparent);
}

.lang-switch {
  gap: .14rem;
  padding: .2rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
}
.lang-switch a { min-width: 2.15rem; min-height: 2.15rem; }
.lang-switch a[aria-current="true"] {
  color: #10212D;
  background: linear-gradient(145deg, #C8A976, #C8A976);
  box-shadow: 0 6px 20px rgba(200,169,111,.18);
}

/* Buttons -------------------------------------------------------------- */
.button {
  position: relative;
  min-height: 3.2rem;
  overflow: hidden;
  padding: .82rem 1.35rem;
  border-radius: 999px;
  font-size: .82rem;
  letter-spacing: .015em;
  isolation: isolate;
  transition: transform .28s var(--ease-luxe), border-color .28s ease, color .28s ease, background .28s ease, box-shadow .28s ease;
}
.button::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.34) 48%, transparent 66%);
  transform: translateX(-130%);
  transition: transform .7s var(--ease-luxe);
}
.button:hover::before { transform: translateX(130%); }
.button:hover { transform: translateY(-3px); }
.button-primary {
  color: #10212D;
  background: linear-gradient(135deg, #C8A976 0%, #C8A976 58%, #506575 100%);
  box-shadow: 0 15px 45px rgba(182, 139, 79, .24), inset 0 1px rgba(255,255,255,.6);
}
.button-primary:hover {
  background: linear-gradient(135deg, #F2F0EB, #C8A976 62%, #C8A976);
  box-shadow: 0 20px 55px rgba(182, 139, 79, .32), inset 0 1px rgba(255,255,255,.7);
}
.button-secondary {
  border-color: rgba(240, 221, 178, .28);
  background: rgba(7, 16, 25, .42);
  box-shadow: inset 0 1px rgba(255,255,255,.045);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.button-secondary:hover { border-color: rgba(240,221,178,.62); background: rgba(255,255,255,.075); }
.button-text::before { display: none; }
.button-text { color: #506575; }
.section:not(.section-light) .button-text { color: var(--champagne-2); }

/* Global sections and surfaces ---------------------------------------- */
.section { position: relative; padding-block: clamp(5.5rem, 10vw, 9.5rem); }
.section-light {
  color: #10212D;
  background:
    radial-gradient(52rem 32rem at 90% -12%, rgba(191, 157, 100, .13), transparent 68%),
    linear-gradient(180deg, #F2F0EB 0%, #F2F0EB 100%);
}
.section-navy {
  background:
    radial-gradient(56rem 38rem at 85% 0%, rgba(38, 117, 166, .22), transparent 68%),
    radial-gradient(42rem 30rem at 10% 100%, rgba(190, 224, 236, .08), transparent 68%),
    linear-gradient(160deg, #10212D 0%, #10212D 55%, #10212D 100%);
}
.section-head { margin-bottom: clamp(2.5rem, 5vw, 4.8rem); }
.section-head h2 { max-width: 17ch; font-size: clamp(2.8rem, 5vw, 5.6rem); }
.section-head .section-intro { max-width: 43rem; font-size: clamp(1rem, 1.4vw, 1.22rem); }

.surface,
.card,
.training-card,
.contact-panel,
.contact-form {
  border-color: rgba(240, 221, 178, .14);
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.018) 44%, rgba(255,255,255,.012)),
    rgba(6, 13, 21, .68);
  box-shadow: 0 24px 75px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.055);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}
.section-light .surface,
.section-light .card,
.section-light .training-card {
  border-color: rgba(18, 24, 31, .105);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,243,234,.78)),
    #F2F0EB;
  box-shadow: 0 28px 80px rgba(41, 34, 24, .105), inset 0 1px rgba(255,255,255,.95);
}

/* Page heroes ---------------------------------------------------------- */
.page-hero {
  min-height: min(42rem, 72svh);
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(8rem, 14vw, 12rem) clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(50rem 35rem at 92% 8%, rgba(41, 123, 177, .25), transparent 68%),
    radial-gradient(35rem 30rem at 12% 80%, rgba(200,169,111,.10), transparent 70%),
    linear-gradient(145deg, #10212D, #10212D 58%, #10212D);
}
.page-hero::before {
  top: auto;
  right: -8rem;
  bottom: -18rem;
  width: min(58rem, 75vw);
  border: 1px solid rgba(240, 221, 178, .16);
  background: transparent;
  box-shadow: 0 0 0 4rem rgba(185,227,239,.018), 0 0 0 8rem rgba(200,169,111,.012), inset 0 0 90px rgba(185,227,239,.04);
}
.page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -25% -30%;
  opacity: .28;
  background: linear-gradient(112deg, transparent 41%, rgba(240, 221, 178, .05) 47%, rgba(185,227,239,.13) 49%, transparent 55%);
  transform: translateX(var(--hero-reflection, -18%)) rotate(-8deg);
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { max-width: 17ch; font-size: clamp(3.4rem, 7vw, 7rem); }
.page-hero .lede { max-width: 45rem; color: rgba(237,240,242,.77); }
.breadcrumbs { color: rgba(240,221,178,.58); letter-spacing: .035em; }

/* Cinematic home hero -------------------------------------------------- */
.hero-cinematic {
  position: relative;
  display: grid;
  min-height: 100svh;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: #10212D;
}
.hero-cinematic__media,
.hero-cinematic__media video,
.hero-cinematic__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-cinematic__media { z-index: -5; overflow: hidden; }
.hero-cinematic__media video,
.hero-cinematic__fallback {
  object-fit: cover;
  object-position: 61% center;
}
.hero-cinematic__fallback { z-index: -2; transition: opacity 1.15s ease; }
.hero-video-ready .hero-cinematic__fallback { opacity: 0; }
.hero-cinematic__media video { z-index: -1; transform: scale(1.025); filter: saturate(.86) contrast(1.04) brightness(.88); }
.hero-cinematic__veil {
  position: absolute;
  z-index: -3;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,6,10,.98) 0%, rgba(2,6,10,.89) 32%, rgba(2,6,10,.38) 68%, rgba(2,6,10,.12) 100%),
    linear-gradient(0deg, #10212D 0%, rgba(3,7,12,.58) 22%, transparent 60%),
    radial-gradient(50rem 36rem at 87% 43%, rgba(193, 225, 235, .12), transparent 67%);
}

/* 2026 clarity pass — navigation, proof and BeWatchmaker ---------------- */
.main-nav ul { gap: clamp(.5rem, .9vw, 1rem); }
.main-nav a.nav-contact {
  padding: .58rem .86rem;
  border: 1px solid rgba(240, 221, 178, .28);
  border-radius: 999px;
  color: #F2F0EB;
  background: rgba(240, 221, 178, .055);
}
.main-nav a.nav-contact::after { display: none; }
.main-nav a.nav-contact:hover,
.main-nav a.nav-contact[aria-current="page"] {
  border-color: rgba(240, 221, 178, .64);
  color: #10212D;
  background: linear-gradient(135deg, #C8A976, #C8A976);
}

.bw-hero {
  position: relative;
  display: grid;
  min-height: calc(100svh - var(--header-h));
  align-items: center;
  overflow: hidden;
  padding-block: clamp(4.5rem, 8vw, 8rem);
  background:
    radial-gradient(50rem 42rem at 80% 44%, rgba(151, 21, 26, .19), transparent 66%),
    radial-gradient(44rem 32rem at 34% 15%, rgba(34, 102, 143, .18), transparent 70%),
    linear-gradient(145deg, #10212D 0%, #10212D 58%, #10212D 100%);
  isolation: isolate;
}
.bw-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .25;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 4rem 4rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 48%, #000);
  mask-image: linear-gradient(90deg, transparent, #000 48%, #000);
}
.bw-hero__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(24rem, 1.12fr); gap: clamp(2.2rem, 6vw, 6.5rem); align-items: center; }
.bw-hero__copy { position: relative; z-index: 2; }
.bw-hero__copy h1 { max-width: 11.5ch; font-size: clamp(3.4rem, 6.4vw, 7.4rem); }
.bw-hero__copy .lede { max-width: 42rem; color: rgba(234, 238, 239, .78); }
.bw-hero__micro { max-width: 40rem; margin: 1.15rem 0 0; padding-left: 1rem; border-left: 1px solid rgba(240,221,178,.5); color: rgba(240,221,178,.7); font-size: .82rem; }
.bw-hero__visual {
  position: relative;
  min-height: clamp(31rem, 55vw, 48rem);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(240,221,178,.18);
  border-radius: clamp(1.4rem, 3vw, 2.8rem);
  background: #10212D;
  box-shadow: 0 50px 150px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.08);
  isolation: isolate;
}
.bw-hero__visual > img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.72) contrast(1.08); }
.bw-hero__visual--finished > img {
  position: absolute;
  top: -18%;
  right: 0;
  width: 230%;
  height: 150%;
  min-height: 0;
  max-width: none;
  object-position: center;
  filter: saturate(.86) contrast(1.06);
}
.bw-hero__visual::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, rgba(2,6,9,.78), transparent 44%), linear-gradient(90deg, rgba(2,6,9,.98) 0%, rgba(2,6,9,.9) 10%, rgba(2,6,9,.46) 25%, transparent 42%); pointer-events: none; }
.bw-hero__visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -25%;
  bottom: -25%;
  left: -42%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255,245,217,.18), rgba(255,255,255,.38), transparent);
  filter: blur(9px);
  mix-blend-mode: screen;
  transform: skewX(-13deg);
  animation: bw-light-pass 2.4s .45s cubic-bezier(.45,0,.2,1) 1 both;
  pointer-events: none;
}
.bw-hero__visual figcaption { position: absolute; z-index: 3; right: 1.2rem; bottom: 1.15rem; left: 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.68); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.bw-hero__visual figcaption img { width: 5.2rem; height: 2.8rem; padding: .25rem .45rem; object-fit: contain; border-radius: .35rem; background: rgba(255,255,255,.9); }
@keyframes bw-light-pass { 0%, 12% { transform: translateX(0) skewX(-13deg); opacity: 0; } 22% { opacity: 1; } 48%, 100% { transform: translateX(440%) skewX(-13deg); opacity: 0; } }

.bw-manifesto { border-block: 1px solid rgba(240,221,178,.12); background: #10212D; }
.bw-manifesto__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.bw-manifesto__grid > div { position: relative; min-height: 17rem; padding: clamp(2rem, 4vw, 3.6rem); border-left: 1px solid rgba(240,221,178,.1); }
.bw-manifesto__grid > div:last-child { border-right: 1px solid rgba(240,221,178,.1); }
.bw-manifesto__grid span { color: rgba(240,221,178,.72); font-size: .68rem; letter-spacing: .18em; }
.bw-manifesto__grid strong { display: block; margin-top: 2.3rem; font-family: var(--font-serif); font-size: clamp(2.7rem, 5vw, 5.7rem); font-weight: 400; letter-spacing: -.05em; line-height: .88; }
.bw-manifesto__grid small { display: block; max-width: 18rem; margin-top: 1.2rem; color: rgba(218,226,230,.6); }

.bw-eligibility__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid rgba(9,18,26,.13); border-radius: 1.4rem; overflow: hidden; background: rgba(255,255,255,.3); }
.bw-criterion { min-height: 21rem; padding: clamp(1.6rem, 3.5vw, 3rem); border-right: 1px solid rgba(9,18,26,.13); }
.bw-criterion:last-child { border: 0; }
.bw-criterion > span { display: inline-flex; padding: .4rem .65rem; border: 1px solid rgba(9,18,26,.18); border-radius: 999px; color: #506575; font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.bw-criterion h3 { margin-top: clamp(3rem, 7vw, 6.5rem); font-size: clamp(1.7rem, 2.8vw, 2.7rem); }
.bw-criterion p { color: #506575; }
.bw-eligibility__note { max-width: 66rem; margin: 1.4rem 0 0 auto; color: #506575; }
.bw-eligibility__note strong { color: #10212D; }

.bw-journey { overflow: hidden; background: radial-gradient(48rem 40rem at 85% 15%, rgba(22,87,125,.18), transparent 70%), #10212D; }
.bw-journey__list { margin: 0; padding: 0; border-top: 1px solid rgba(240,221,178,.14); list-style: none; }
.bw-journey__list > li { display: grid; grid-template-columns: 4.3rem minmax(0,1fr) minmax(15rem,.54fr); gap: clamp(1.2rem,3vw,3.2rem); align-items: center; min-height: 19rem; padding-block: 1.5rem; border-bottom: 1px solid rgba(240,221,178,.14); }
.bw-journey__number { align-self: start; padding-top: .6rem; color: rgba(240,221,178,.74); font-size: .72rem; letter-spacing: .18em; }
.bw-journey__list h3 { max-width: 18ch; font-size: clamp(2rem, 3.8vw, 4rem); }
.bw-journey__list p:not(.kicker) { max-width: 45rem; color: rgba(215,224,229,.66); }
.bw-journey__list img { width: 100%; height: 15.5rem; object-fit: cover; border: 1px solid rgba(255,255,255,.11); border-radius: 1rem; filter: saturate(.76); }
.bw-journey__list img.bw-journey__finished { object-position: center 76%; filter: saturate(.9) contrast(1.03); }

.bw-watch { background: linear-gradient(135deg, #10212D, #10212D 68%); }
.bw-watch__grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(20rem,.92fr); gap: clamp(2.5rem,6vw,6.5rem); align-items: center; }
.bw-watch__visual { position: relative; overflow: hidden; min-height: clamp(28rem,50vw,45rem); border: 1px solid rgba(240,221,178,.16); border-radius: clamp(1.3rem,3vw,2.5rem); background: #10212D; }
.bw-watch__visual img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.72) contrast(1.12); }
.bw-watch__copy h2 { max-width: 11ch; font-size: clamp(3rem,5vw,5.8rem); }
.bw-watch__copy > p:not(.eyebrow) { max-width: 37rem; color: rgba(218,226,230,.66); }
.bw-specs { margin: 2rem 0 0; border-top: 1px solid rgba(240,221,178,.15); }
.bw-specs > div { display: grid; grid-template-columns: minmax(7rem,.7fr) 1.3fr; gap: 1rem; padding-block: .85rem; border-bottom: 1px solid rgba(240,221,178,.12); }
.bw-specs dt { color: rgba(240,221,178,.54); font-size: .68rem; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.bw-specs dd { margin: 0; color: rgba(244,239,229,.86); }
.bw-faq-grid { display: grid; grid-template-columns: minmax(16rem,.65fr) minmax(0,1.35fr); gap: clamp(2rem,7vw,7rem); }
.bw-faq-grid > div:first-child h2 { position: sticky; top: calc(var(--safe-top) + var(--header-h) + 2rem); max-width: 10ch; font-size: clamp(2.8rem,5vw,5.2rem); }

@media (max-width: 70rem) {
  .brand-copy small { display: none; }
  .main-nav a { font-size: .72rem; }
  .main-nav a.nav-contact { padding-inline: .65rem; }
}
@media (max-width: 58rem) {
  .lang-switch a { min-width: 2.75rem; min-height: 2.75rem; }
  .main-nav a.nav-contact { padding: 1rem .2rem; border: 0; border-radius: 0; color: inherit; background: transparent; }
  .main-nav a.nav-contact:hover,
  .main-nav a.nav-contact[aria-current="page"] { color: var(--champagne-2); background: transparent; }
  .bw-hero { min-height: auto; padding-top: calc(var(--header-h) + 2rem); }
  .bw-hero__grid, .bw-watch__grid { grid-template-columns: 1fr; }
  .bw-hero__visual { min-height: min(38rem, 92vw); }
  .bw-manifesto__grid { grid-template-columns: 1fr; }
  .bw-manifesto__grid > div { min-height: auto; border-right: 1px solid rgba(240,221,178,.1); border-bottom: 1px solid rgba(240,221,178,.1); }
  .bw-manifesto__grid strong { margin-top: 1rem; }
  .bw-eligibility__grid { grid-template-columns: 1fr; }
  .bw-criterion { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(9,18,26,.13); }
  .bw-criterion h3 { margin-top: 2.7rem; }
  .bw-journey__list > li { grid-template-columns: 2.3rem minmax(0,1fr); padding-block: 2rem; }
  .bw-journey__list img { grid-column: 2; height: min(23rem,65vw); }
  .bw-faq-grid { grid-template-columns: 1fr; }
  .bw-faq-grid > div:first-child h2 { position: static; }
}
@media (max-width: 42rem) {
  .bw-hero__copy h1 { font-size: clamp(3.15rem,15vw,5.3rem); }
  .bw-hero__visual figcaption { align-items: flex-start; flex-direction: column; }
  .bw-hero__visual figcaption img { width: 4.5rem; }
  .bw-journey__list > li { gap: .8rem; }
  .bw-journey__list h3 { font-size: 2.1rem; }
  .bw-watch__visual { min-height: 26rem; }
}
@media (prefers-reduced-motion: reduce) {
  .bw-hero__visual::after { display: none; animation: none; }
}

.home-proofbar { position: relative; z-index: 8; border-block: 1px solid rgba(240,221,178,.14); background: rgba(3,9,14,.98); }
.home-proofbar__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)) minmax(13rem,1.2fr); }
.home-proofbar__grid > div,
.home-proofbar__grid > a { display: flex; min-height: 7.8rem; align-items: center; gap: 1rem; padding: 1.2rem clamp(1rem,2vw,1.8rem); border-left: 1px solid rgba(240,221,178,.11); text-decoration: none; }
.home-proofbar__grid > :last-child { border-right: 1px solid rgba(240,221,178,.11); }
.home-proofbar strong { color: var(--champagne-2); font-family: var(--font-serif); font-size: clamp(2.5rem,4vw,4.3rem); font-weight: 400; line-height: .8; }
.home-proofbar span { color: rgba(244,239,229,.82); font-size: .75rem; font-weight: 680; line-height: 1.35; }
.home-proofbar small { display: block; margin-top: .3rem; color: rgba(215,224,229,.76); font-size: .64rem; font-weight: 500; letter-spacing: .04em; }
.home-proofbar a { justify-content: space-between; color: var(--champagne-2); background: linear-gradient(120deg, rgba(200,169,111,.1), transparent); }
.home-proofbar a svg { width: 1.2rem; flex: none; transition: transform .25s ease; }
.home-proofbar a:hover svg { transform: translateX(.3rem); }
.home-proofbar a:focus-visible svg { transform: translateX(.3rem); }

.home-affiliation {
  position: relative;
  z-index: 7;
  border-bottom: 1px solid rgba(240,221,178,.14);
  color: #F2F0EB;
  background:
    radial-gradient(32rem 12rem at 73% 50%, rgba(176,156,106,.12), transparent 72%),
    #10212D;
}
.home-affiliation__link {
  display: grid;
  min-height: 7.2rem;
  grid-template-columns: minmax(0,1fr) minmax(14rem,20rem) auto;
  gap: clamp(1.5rem,4vw,4rem);
  align-items: center;
  padding: 1.25rem clamp(1rem,2vw,1.8rem);
  border-inline: 1px solid rgba(240,221,178,.11);
  color: inherit;
  text-decoration: none;
  transition: border-color .3s ease, background .3s ease;
}
.home-affiliation__link:hover,
.home-affiliation__link:focus-visible {
  border-color: rgba(240,221,178,.28);
  background: rgba(240,221,178,.035);
}
.home-affiliation__link:focus-visible { outline: 2px solid #C8A976; outline-offset: -3px; }
.home-affiliation__copy { display: grid; gap: .45rem; }
.home-affiliation__kicker {
  color: rgba(240,221,178,.62);
  font-size: .66rem;
  font-weight: 780;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-affiliation__copy strong {
  max-width: 32rem;
  color: #F2F0EB;
  font-family: var(--font-serif);
  font-size: clamp(1.35rem,2.25vw,2.05rem);
  font-weight: 400;
  line-height: 1.08;
}
.home-affiliation img {
  display: block;
  width: min(100%,19rem);
  height: auto;
  box-sizing: border-box;
  justify-self: end;
  padding: .72rem .9rem;
  border: 1px solid rgba(240,221,178,.2);
  border-radius: .45rem;
  background: #F2F0EB;
}
.home-affiliation__arrow {
  display: grid;
  width: 2.65rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(240,221,178,.18);
  border-radius: 50%;
  color: var(--champagne-2);
  transition: transform .3s var(--ease-luxe), border-color .3s ease;
}
.home-affiliation__link:hover .home-affiliation__arrow,
.home-affiliation__link:focus-visible .home-affiliation__arrow { border-color: rgba(240,221,178,.48); transform: translate(.12rem,-.12rem); }

@media (max-width: 52rem) {
  .home-affiliation__link { grid-template-columns: minmax(0,1fr) auto; gap: 1rem 1.5rem; padding-block: 1.5rem; }
  .home-affiliation img { width: min(17rem,72vw); grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .home-affiliation__arrow { grid-column: 2; grid-row: 1; }
}

@media (max-width: 58rem) {
  .home-proofbar__grid { grid-template-columns: 1fr 1fr; }
  .home-proofbar__grid > div,
  .home-proofbar__grid > a { min-height: 6.7rem; border-bottom: 1px solid rgba(240,221,178,.11); }
}
@media (max-width: 42rem) {
  .home-proofbar__grid { grid-template-columns: 1fr; }
  .home-proofbar__grid > div,
  .home-proofbar__grid > a { min-height: 5.7rem; border-right: 1px solid rgba(240,221,178,.11); }
  .home-proofbar strong { min-width: 3.3rem; }
}

.proof-hero { position: relative; overflow: hidden; padding-block: clamp(6rem,10vw,10rem); background: radial-gradient(54rem 38rem at 80% 35%,rgba(34,107,151,.22),transparent 70%),radial-gradient(36rem 28rem at 7% 90%,rgba(200,169,111,.1),transparent 70%),linear-gradient(145deg,#10212D,#10212D 70%,#10212D); }
.proof-hero::after { content:"PROOF"; position:absolute; right:-.06em; bottom:-.23em; color:rgba(255,255,255,.018); font-family: var(--font-serif); font-size:clamp(10rem,28vw,31rem); line-height:.8; pointer-events:none; }
.proof-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr); gap:clamp(2.5rem,7vw,7rem); align-items:center; }
.proof-hero h1 { max-width:10.5ch; font-size:clamp(3.5rem,6.6vw,7.5rem); }
.proof-ledger { overflow:hidden; border:1px solid rgba(240,221,178,.2); border-radius:1.5rem; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015)),rgba(3,10,16,.76); box-shadow:0 40px 110px rgba(0,0,0,.35); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.proof-ledger__score { padding:clamp(1.6rem,4vw,3rem); border-bottom:1px solid rgba(240,221,178,.13); }
.proof-ledger__score > span,.proof-ledger__line span { color:rgba(240,221,178,.56); font-size:.65rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.proof-ledger__score strong { display:block; margin-top:1.5rem; color:#C8A976; font-family: var(--font-serif); font-size:clamp(4.8rem,9vw,8rem); font-weight:400; letter-spacing:-.07em; line-height:.72; }
.proof-ledger__score strong small { font-size:.2em; letter-spacing:0; }
.proof-ledger__score div { margin-top:1.4rem; color:#C8A976; letter-spacing:.18em; }
.proof-ledger__score p { margin:.35rem 0 0; color:rgba(220,228,232,.58); font-size:.78rem; }
.proof-ledger__line { display:flex; justify-content:space-between; gap:1rem; padding:1rem clamp(1.4rem,4vw,3rem); border-bottom:1px solid rgba(240,221,178,.1); }
.proof-ledger__line strong { color:rgba(244,239,229,.78); font-size:.8rem; text-align:right; }
.proof-ledger__date { margin:0; padding:1.1rem clamp(1.4rem,4vw,3rem); color:rgba(202,212,218,.48); font-size:.67rem; line-height:1.55; }
.proof-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.proof-toolbar h2 { font-size:clamp(2.8rem,5vw,5.3rem); }
.proof-filters { display:flex; flex-wrap:wrap; gap:.4rem; padding:.35rem; border:1px solid rgba(7,14,21,.15); border-radius:999px; background:rgba(255,255,255,.45); }
.proof-filters button { min-height:2.7rem; padding:.62rem 1rem; border:0; border-radius:999px; color:#506575; background:transparent; font-size:.72rem; font-weight:780; cursor:pointer; }
.proof-filters button.is-active { color:#F2F0EB; background:#10212D; box-shadow:0 8px 24px rgba(4,11,17,.18); }
.proof-integrity { display:grid; grid-template-columns:minmax(9rem,.28fr) minmax(0,1.72fr); gap:1.5rem; margin-bottom:1.3rem; padding:1rem 1.2rem; border-left:2px solid #506575; color:#506575; background:rgba(255,255,255,.38); font-size:.75rem; }
.proof-integrity strong { color:#10212D; letter-spacing:.04em; }
.proof-source-group { margin-top:clamp(2.8rem,6vw,5.5rem); }
.proof-source-group[hidden] { display:none !important; }
.proof-source-group + .proof-source-group { padding-top:clamp(2.8rem,6vw,5.5rem); border-top:1px solid rgba(9,17,24,.12); }
.proof-source-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem 3rem; align-items:end; margin-bottom:1.5rem; }
.proof-source-heading h3 { max-width:15ch; margin:.25rem 0 .5rem; color:#10212D; font-size:clamp(2.3rem,4.3vw,4.6rem); letter-spacing:-.045em; }
.proof-source-heading p:last-child { max-width:43rem; margin:0; color:#506575; }
.proof-source-heading > a { display:inline-flex; min-height:2.75rem; align-items:center; justify-content:center; padding:.68rem 1rem; border:1px solid rgba(9,17,24,.16); border-radius:999px; color:#10212D; font-size:.7rem; font-weight:780; text-decoration:none; transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease; }
.proof-source-heading > a:hover,.proof-source-heading > a:focus-visible { border-color:#0a66c2; color:#F2F0EB; background:#0a66c2; transform:translateY(-2px); }
.proof-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.proof-card { display:flex; min-height:30rem; flex-direction:column; padding:clamp(1.4rem,3vw,2.5rem); border:1px solid rgba(9,17,24,.13); border-radius:1.2rem; color:#10212D; background:rgba(255,255,255,.46); box-shadow:0 24px 65px rgba(36,29,20,.08); }
.proof-card[hidden] { display:none !important; }
.proof-card--linkedin { background:linear-gradient(145deg,rgba(14,118,168,.08),rgba(255,255,255,.48)); }
.proof-card--recommendation { min-height:27rem; }
.proof-card--featured { grid-column:1/-1; min-height:31rem; background:radial-gradient(45rem 28rem at 88% 12%,rgba(38,136,188,.17),transparent 68%),linear-gradient(145deg,rgba(14,118,168,.11),rgba(255,255,255,.58)); }
.proof-card--post { border-style:dashed; background:linear-gradient(145deg,rgba(14,118,168,.035),rgba(255,255,255,.42)); }
.proof-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.proof-platform { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid rgba(9,17,24,.13); border-radius:50%; color:#2d64d9; background:#F2F0EB; font-family:Arial,sans-serif; font-size:1.1rem; font-weight:800; }
.proof-platform--linkedin { border-radius:.42rem; color:#F2F0EB; background:#0a66c2; font-size:.85rem; }
.proof-stars { color:#506575; font-size:.72rem; letter-spacing:.12em; }
.proof-kind { color:#0a66c2; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.proof-card blockquote { max-width:26ch; margin:clamp(2.8rem,7vw,5.2rem) 0 2.2rem; color:#10212D; font-family: var(--font-serif); font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.035em; line-height:1.12; }
.proof-card--recommendation blockquote { margin:clamp(2rem,4vw,3.4rem) 0 2rem; font-size:clamp(1.55rem,2.25vw,2.25rem); line-height:1.18; }
.proof-card--featured blockquote { max-width:40ch; font-size:clamp(2rem,3.5vw,3.6rem); line-height:1.1; }
.proof-translation {
  max-width: 52rem;
  margin: -.6rem 0 2rem;
  padding: 1rem 1.1rem;
  border-left: 2px solid rgba(10, 102, 194, .58);
  color: #506575;
  background: rgba(255, 255, 255, .36);
  font-size: .82rem;
  line-height: 1.65;
}
.proof-translation strong {
  display: block;
  margin-bottom: .4rem;
  color: #0a66c2;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.proof-card--featured .proof-translation { max-width: 60rem; }
.proof-card__author { display:grid; gap:.2rem; margin-top:auto; padding-top:1.2rem; border-top:1px solid rgba(9,17,24,.13); }
.proof-card__author strong { font-size:.86rem; }
.proof-card__author span { color:#506575; font-size:.7rem; }
.proof-card__links { display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin-top:1rem; }
.proof-card__links a { color:#506575; font-size:.7rem; font-weight:760; text-underline-offset:.2em; }
.proof-source-note { max-width:62rem; margin:1.2rem 0 0; color:#506575; font-size:.68rem; line-height:1.6; }
.proof-source-group[data-proof-group="google"] .proof-card { min-height:27rem; }
@media (min-width:70.01rem) {
  .proof-source-group[data-proof-group="google"] .proof-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .proof-source-group[data-proof-group="google"] .proof-card blockquote { font-size:clamp(1.55rem,2.05vw,2.2rem); }
}
.proof-work { overflow:hidden; background:radial-gradient(46rem 34rem at 80% 48%,rgba(200,169,111,.1),transparent 70%),#10212D; }
.proof-work__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,7vw,7rem); align-items:start; }
.proof-work__grid > :first-child { position:relative; z-index:2; padding-top:clamp(.5rem,3vw,2.25rem); }
.proof-work__grid h2 { max-width:12ch; font-size:clamp(3rem,5.5vw,6rem); }
.proof-work__grid p { max-width:37rem; color:rgba(218,226,230,.64); }
.book-stack {
  position:relative;
  width:100%;
  max-width:48rem;
  height:clamp(46rem,56vw,50rem);
  justify-self:end;
  isolation:isolate;
  perspective:1500px;
}
.book-stack::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:4% 1% 11%;
  border:1px solid rgba(240,221,178,.11);
  border-radius:50%;
  background:radial-gradient(circle at 50% 44%,rgba(185,227,239,.09),rgba(200,169,111,.045) 31%,transparent 67%);
  box-shadow:inset 0 0 7rem rgba(185,227,239,.025);
  transform:rotate(-7deg);
}
.book-stack::after {
  content:"";
  position:absolute;
  z-index:0;
  right:6%;
  bottom:9%;
  left:6%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,221,178,.42) 22% 78%,transparent);
  box-shadow:0 -2rem 5rem 1.2rem rgba(200,169,111,.08);
}
.book-stack__item {
  --book-x:0%;
  --book-y:0rem;
  --book-lift:0rem;
  --book-scale:1;
  --book-rotate:0deg;
  position:absolute;
  z-index:1;
  display:block;
  width:clamp(14rem,23vw,20rem);
  aspect-ratio:944/1340;
  overflow:hidden;
  border:1px solid rgba(240,221,178,.24);
  border-radius:.35rem .95rem .95rem .35rem;
  color:inherit;
  background:#10212D;
  box-shadow:2rem 2.6rem 5.4rem rgba(0,0,0,.52),-.35rem .3rem 1.2rem rgba(0,0,0,.32);
  transform:translateX(var(--book-x)) translateY(calc(var(--book-y) + var(--book-lift))) rotate(var(--book-rotate)) scale(var(--book-scale));
  transform-origin:50% 88%;
  backface-visibility:hidden;
  transition:transform .72s var(--ease-luxe),box-shadow .55s ease,border-color .4s ease;
}
.book-stack__item:nth-child(1) { top:18%; left:0; --book-y:1.2rem; --book-rotate:-10deg; }
.book-stack__item:nth-child(2) { z-index:3; top:4%; left:50%; --book-x:-50%; --book-rotate:-.8deg; }
.book-stack__item:nth-child(3) { z-index:2; top:18%; right:0; --book-y:1.2rem; --book-rotate:10deg; }
.book-stack__item::before {
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  left:0;
  width:.72rem;
  background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(255,255,255,.13),rgba(0,0,0,.18));
  mix-blend-mode:multiply;
  pointer-events:none;
}
.book-stack__item::after {
  content:"";
  position:absolute;
  z-index:3;
  inset:-28% -75%;
  background:linear-gradient(112deg,transparent 43%,rgba(255,248,226,.2) 49%,transparent 55%);
  opacity:.45;
  pointer-events:none;
  transform:translateX(-38%);
  transition:transform .8s var(--ease-luxe),opacity .45s ease;
}
.book-stack__item img { width:100%; height:100%; object-fit:cover; filter:saturate(.84) contrast(1.055); transition:filter .45s ease; }
.book-stack__item:focus-visible { z-index:10; --book-lift:-1rem; --book-scale:1.035; border-color:rgba(240,221,178,.78); outline:2px solid var(--focus-ring); outline-offset:5px; }
.book-stack__item:focus-visible::after { opacity:.8; transform:translateX(38%); }
.book-stack__item:focus-visible img { filter:saturate(1) contrast(1.03); }
@media (hover:hover) {
  .book-stack__item:hover { z-index:10; --book-lift:-1rem; --book-scale:1.035; border-color:rgba(240,221,178,.58); box-shadow:2.5rem 3.1rem 6.2rem rgba(0,0,0,.6),-.35rem .3rem 1.4rem rgba(0,0,0,.34); }
  .book-stack__item:hover::after { opacity:.8; transform:translateX(38%); }
  .book-stack__item:hover img { filter:saturate(1) contrast(1.03); }
}
.book-stack__count {
  position:absolute;
  z-index:8;
  bottom:1.5%;
  left:50%;
  display:grid;
  width:6.15rem;
  aspect-ratio:1;
  place-items:center;
  border:1px solid rgba(240,221,178,.34);
  border-radius:50%;
  color:var(--champagne-2);
  background:radial-gradient(circle at 40% 30%,rgba(255,255,255,.13),rgba(6,15,23,.94) 58%);
  box-shadow:0 1.4rem 4rem rgba(0,0,0,.48),inset 0 0 0 .42rem rgba(200,169,111,.035);
  font-family: var(--font-serif);
  font-size:3.35rem;
  line-height:1;
  transform:translateX(-50%);
}
.book-stack__count::after { content:""; position:absolute; inset:.5rem; border:1px dashed rgba(240,221,178,.22); border-radius:inherit; }
@media (max-width:58rem) {
  .proof-hero__grid,.proof-work__grid { grid-template-columns:1fr; }
  .proof-work__grid { gap:clamp(3rem,8vw,5rem); }
  .proof-work__grid > :first-child { max-width:52rem; padding-top:0; }
  .book-stack { width:min(100%,46rem); height:clamp(32rem,90vw,46rem); justify-self:center; }
  .book-stack__item { width:clamp(11rem,38vw,18rem); }
  .proof-toolbar { align-items:flex-start; flex-direction:column; }
  .proof-source-heading { grid-template-columns:1fr; align-items:start; }
  .proof-source-heading > a { justify-self:start; }
  .proof-card-grid { grid-template-columns:1fr; }
  .proof-card,.proof-card--featured,.proof-card--recommendation { min-height:25rem; }
}
@media (max-width:42rem) {
  .book-stack { height:clamp(30rem,112vw,38rem); }
  .book-stack__item { width:clamp(9.4rem,47vw,13.5rem); }
  .book-stack__item:nth-child(1),.book-stack__item:nth-child(3) { top:18%; --book-y:.6rem; }
  .book-stack__count { bottom:2%; width:5.15rem; font-size:2.75rem; }
  .proof-filters { width:100%; border-radius:1rem; }
  .proof-filters button { flex:1; }
  .proof-integrity { grid-template-columns:1fr; gap:.35rem; }
  .proof-ledger__line { align-items:flex-start; flex-direction:column; }
  .proof-ledger__line strong { text-align:left; }
  .proof-card blockquote { font-size:1.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  .book-stack__item,.book-stack__item::after,.book-stack__item img { transition:none; }
  .book-stack__item:focus-visible { --book-lift:0rem; --book-scale:1; }
  .book-stack__item:focus-visible::after { opacity:.45; transform:translateX(-38%); }
}
@media (prefers-reduced-motion:reduce) and (hover:hover) {
  .book-stack__item:hover { --book-lift:0rem; --book-scale:1; }
  .book-stack__item:hover::after { opacity:.45; transform:translateX(-38%); }
}

.hero-cinematic__reflection {
  position: absolute;
  z-index: -2;
  inset: -35% -30%;
  pointer-events: none;
  opacity: .65;
  background: linear-gradient(116deg, transparent 42%, rgba(255,249,232,.025) 46%, rgba(239,216,168,.23) 48.2%, rgba(185,227,239,.17) 49.2%, rgba(255,255,255,.03) 51.5%, transparent 56%);
  mix-blend-mode: screen;
  transform: translate3d(var(--hero-sweep, -33%), 0, 0) rotate(-8deg);
  filter: blur(.6px);
}
.hero-cinematic__content {
  position: relative;
  z-index: 3;
  max-width: 68rem;
  padding-block: clamp(9rem, 18vh, 13rem) clamp(4rem, 8vh, 6.3rem);
}
.hero-cinematic__title {
  max-width: 12.8ch;
  font-size: clamp(4.2rem, 8.25vw, 9.2rem);
  line-height: .87;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.hero-cinematic__title .hero-accent {
  display: block;
  margin-left: clamp(0rem, 6vw, 5.5rem);
  color: var(--champagne-2);
  font-style: italic;
  font-weight: 400;
  text-shadow: 0 0 45px rgba(200,169,111,.16);
}
.hero-cinematic__lede {
  max-width: 42rem;
  margin: 1.8rem 0 0;
  color: rgba(235,239,242,.82);
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  line-height: 1.65;
}
.hero-cinematic__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
.hero-cinematic__meta li {
  padding: .6rem .86rem;
  border: 1px solid rgba(240,221,178,.18);
  border-radius: 999px;
  color: rgba(239,242,244,.74);
  background: rgba(4,10,16,.36);
  font-size: .7rem;
  font-weight: 690;
  letter-spacing: .025em;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}
.hero-cinematic__controls {
  position: absolute;
  z-index: 5;
  right: clamp(1.25rem, 3vw, 3rem);
  bottom: calc(clamp(1.25rem, 3vw, 2.5rem) + var(--safe-bottom));
  display: flex;
  align-items: center;
  gap: .8rem;
}
.hero-video-toggle {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.75rem;
  padding: .65rem .95rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: rgba(255,255,255,.82);
  background: rgba(3,7,12,.44);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.hero-video-toggle::before {
  content: "Ⅱ";
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid rgba(240,221,178,.4);
  border-radius: 50%;
  color: var(--champagne-2);
  font-size: .58rem;
}
.hero-video-toggle[aria-pressed="false"]::before { content: "▶"; padding-left: .08rem; }
.hero-scroll-cue {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: rgba(255,255,255,.48);
  font-size: .66rem;
  font-weight: 680;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hero-scroll-cue::before {
  content: "";
  width: 3.2rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240,221,178,.7));
}

.hero-reveal { opacity: 1; transform: none; }
html.hero-pending .hero-reveal,
html.hero-ready .hero-reveal { opacity: 0; transform: translateY(2rem); }
html.hero-ready .hero-cinematic.is-ready .hero-reveal {
  animation: heroReveal 1.05s var(--ease-luxe) forwards;
}
html.hero-ready .hero-cinematic.is-ready .hero-reveal:nth-child(2) { animation-delay: .08s; }
html.hero-ready .hero-cinematic.is-ready .hero-reveal:nth-child(3) { animation-delay: .16s; }
html.hero-ready .hero-cinematic.is-ready .hero-reveal:nth-child(4) { animation-delay: .24s; }
html.hero-ready .hero-cinematic.is-ready .hero-reveal:nth-child(5) { animation-delay: .32s; }
@keyframes heroReveal { to { opacity: 1; transform: none; } }

/* Pinned horizontal story --------------------------------------------- */
.horizontal-story {
  position: relative;
  overflow: clip;
  padding-block: clamp(6rem, 10vw, 10rem) 0;
  background:
    radial-gradient(58rem 38rem at 78% 8%, rgba(31, 97, 139, .24), transparent 66%),
    linear-gradient(180deg, #10212D 0%, #10212D 100%);
}
.horizontal-story__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .55fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding-bottom: clamp(3rem, 6vw, 5rem);
}
.horizontal-story__intro h2 { max-width: 14ch; font-size: clamp(3.2rem, 6vw, 6.5rem); }
.horizontal-story__intro-copy p { color: rgba(222,230,235,.67); }
.horizontal-story__hint { color: var(--champagne-2) !important; font-size: .74rem; font-weight: 700; letter-spacing: .06em; }
.horizontal-story__stage { position: relative; }
.horizontal-story__frame { position: relative; }
.horizontal-story__viewport {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--champagne) rgba(255,255,255,.06);
  overscroll-behavior-inline: contain;
}
.immersive-js .horizontal-story__viewport { scrollbar-width: none; }
.immersive-js .horizontal-story__viewport::-webkit-scrollbar { display: none; }
.horizontal-story__stage.is-enhanced .horizontal-story__viewport {
  overflow: hidden;
  scroll-snap-type: none;
}
.horizontal-story__track {
  display: flex;
  width: max-content;
  gap: clamp(1rem, 2.2vw, 2rem);
  padding: 0 max(1.5rem, calc((100vw - var(--container)) / 2)) clamp(6rem, 9vw, 9rem);
}
.horizontal-story__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(17rem, .67fr) minmax(28rem, 1.33fr);
  flex: 0 0 min(72rem, calc(100vw - 8rem));
  min-height: min(72vh, 47rem);
  overflow: hidden;
  border: 1px solid rgba(240,221,178,.13);
  border-radius: clamp(1.6rem, 3vw, 2.8rem);
  background: linear-gradient(145deg, rgba(15,27,38,.98), rgba(3,8,13,.98));
  box-shadow: 0 34px 110px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.05);
  scroll-snap-align: center;
  opacity: .72;
  transform: scale(.97);
  transition: opacity .55s ease, transform .7s var(--ease-luxe), border-color .45s ease;
}
.horizontal-story__panel.is-current {
  opacity: 1;
  transform: scale(1);
  border-color: rgba(240,221,178,.34);
}
.horizontal-story__copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
}
.horizontal-story__index {
  display: flex;
  align-items: center;
  gap: .8rem;
  color: var(--champagne-2);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.horizontal-story__index::after { content: ""; width: 3rem; height: 1px; background: currentColor; opacity: .6; }
.horizontal-story__copy h3 { margin-top: 1.6rem; font-size: clamp(3.4rem, 7vw, 7rem); line-height: .9; }
.horizontal-story__copy p { max-width: 29rem; margin: 1.45rem 0 0; color: rgba(226,232,236,.66); font-size: clamp(.95rem, 1.25vw, 1.12rem); }
.horizontal-story__criterion { margin-top: auto !important; padding-top: 2rem; color: rgba(240,221,178,.68) !important; font-size: .7rem !important; font-weight: 770; letter-spacing: .12em; text-transform: uppercase; }
.horizontal-story__media { position: relative; min-width: 0; margin: 0; overflow: hidden; }
.horizontal-story__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,11,17,.85), transparent 40%), linear-gradient(0deg, rgba(2,6,10,.55), transparent 48%);
}
.horizontal-story__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.05); transform: scale(1.06); transition: transform 1.2s var(--ease-luxe), filter .7s ease; }
.horizontal-story__panel.is-current .horizontal-story__media img { transform: scale(1); filter: saturate(.93) contrast(1.04); }
.horizontal-story__controls {
  position: absolute;
  z-index: 8;
  right: max(1.5rem, calc((100vw - var(--container)) / 2), calc(var(--safe-right) + .75rem));
  bottom: calc(1.5rem + var(--safe-bottom));
  display: flex;
  align-items: center;
  gap: .65rem;
}
.horizontal-story__counter {
  display: inline-flex;
  min-width: 4.2rem;
  align-items: baseline;
  justify-content: center;
  gap: .32rem;
  color: rgba(225,232,236,.72);
  font-size: .68rem;
  letter-spacing: .08em;
}
.horizontal-story__counter b { color: var(--champagne-2); font-family: var(--font-serif); font-size: 1.25rem; font-weight: 400; }
.horizontal-story__counter i { font-style: normal; opacity: .5; }
.horizontal-story__controls button,
.portfolio-immersive__controls button {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  color: #F2F0EB;
  background: rgba(3,7,12,.72);
  cursor: pointer;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}
.horizontal-story__controls button:hover,
.horizontal-story__controls button:focus-visible,
.portfolio-immersive__controls button:hover,
.portfolio-immersive__controls button:focus-visible {
  color: #10212D;
  border-color: var(--champagne);
  background: var(--champagne-2);
  transform: scale(1.05);
}
.horizontal-story__controls button:disabled,
.portfolio-immersive__controls button:disabled { opacity: .28; cursor: default; transform: none; }
.horizontal-story__progress {
  position: absolute;
  z-index: 8;
  right: max(9.5rem, calc((100vw - var(--container)) / 2 + 8rem));
  bottom: 2.95rem;
  left: max(1.5rem, calc((100vw - var(--container)) / 2));
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.13);
  transform-origin: left;
}
.horizontal-story__progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--champagne), var(--ice)); transform: scaleX(0); transform-origin: left; }

/* Training cards ------------------------------------------------------- */
.training-grid { gap: clamp(1rem, 2vw, 1.7rem); }
.training-card {
  border-radius: 1.55rem;
  transition: transform .35s var(--ease-luxe), border-color .35s ease, box-shadow .35s ease;
}
.training-card:hover { transform: translateY(-7px); border-color: rgba(157,119,64,.35); box-shadow: 0 35px 95px rgba(44,34,19,.17); }
.training-card.reference {
  overflow: hidden;
  border-color: rgba(157,119,64,.38);
  background:
    radial-gradient(30rem 22rem at 90% 8%, rgba(200,169,111,.18), transparent 68%),
    linear-gradient(145deg, #10212D, #10212D 64%, #10212D);
  box-shadow: 0 40px 100px rgba(3,11,19,.34), inset 0 1px rgba(255,255,255,.08);
}
.section-light .training-card.reference h3 { color: var(--ivory); }
.training-card.reference::before {
  content: "100";
  position: absolute;
  right: -1rem;
  bottom: -2.8rem;
  color: rgba(255,255,255,.04);
  font-family: var(--font-serif);
  font-size: 13rem;
  line-height: 1;
  pointer-events: none;
}
.training-status { letter-spacing: .14em; }
.training-price { color: var(--champagne-deep); }
.training-card.reference .training-price { color: var(--champagne-2); }

.training-showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(46rem 28rem at 50% 100%, rgba(183, 136, 65, .12), transparent 72%),
    linear-gradient(180deg, #F2F0EB 0%, #F2F0EB 100%);
}
.training-showcase::before {
  content: "";
  position: absolute;
  right: -16rem;
  bottom: -23rem;
  width: 54rem;
  aspect-ratio: 1;
  border: 1px solid rgba(109, 79, 36, .11);
  border-radius: 50%;
  box-shadow:
    0 0 0 5rem rgba(109, 79, 36, .025),
    0 0 0 10rem rgba(109, 79, 36, .018);
  pointer-events: none;
}
.training-showcase .container { position: relative; z-index: 1; }
.training-showcase .training-grid { perspective: 1500px; }
.training-showcase .training-card {
  --light-x: 50%;
  --light-y: 12%;
  isolation: isolate;
  border-color: rgba(35, 29, 21, .12);
  box-shadow: 0 24px 65px rgba(55, 42, 24, .09), inset 0 1px rgba(255,255,255,.9);
}
.training-showcase .training-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(22rem 17rem at var(--light-x) var(--light-y), rgba(235, 205, 145, .24), transparent 68%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}
.training-showcase .training-card > * { position: relative; z-index: 1; }
.training-showcase .training-card:not(.reference)::before {
  content: attr(data-training-number);
  position: absolute;
  right: -.35rem;
  bottom: -1.85rem;
  color: rgba(72, 55, 31, .035);
  font-family: var(--font-serif);
  font-size: clamp(8rem, 12vw, 12rem);
  line-height: 1;
  pointer-events: none;
}
.training-showcase .training-card:hover::after,
.training-showcase .training-card:focus-within::after { opacity: 1; }
.training-showcase .training-card:hover,
.training-showcase .training-card:focus-within {
  border-color: rgba(157,119,64,.35);
  box-shadow: 0 35px 95px rgba(44,34,19,.17), inset 0 1px rgba(255,255,255,.95);
  transform: translateY(-7px);
}
.training-showcase .training-card.reference { transform: translateY(-1.25rem); }
.training-showcase .training-card.reference:hover,
.training-showcase .training-card.reference:focus-within { transform: translateY(calc(-1.25rem - 7px)); }

@media (hover: hover) and (min-width: 58.01rem) {
  .training-showcase .training-grid:has(.training-card:hover) .training-card:not(:hover) {
    opacity: .76;
    transform: scale(.986);
  }
  .training-showcase .training-grid:has(.training-card:hover) .training-card.reference:not(:hover) {
    transform: translateY(-1.25rem) scale(.986);
  }
  .training-showcase .training-card { transition: opacity .4s ease, transform .4s var(--ease-luxe), border-color .4s ease, box-shadow .4s ease; }
}

@media (max-width: 70rem) {
  .training-showcase .training-card.reference { transform: none; }
  .training-showcase .training-card.reference:hover,
  .training-showcase .training-card.reference:focus-within { transform: translateY(-7px); }
  .training-showcase .training-grid:has(.training-card:hover) .training-card.reference:not(:hover) {
    transform: scale(.986);
  }
}

@media (prefers-reduced-motion: reduce) {
  .training-showcase .training-card,
  .training-showcase .training-card:hover,
  .training-showcase .training-card:focus-within,
  .training-showcase .training-card.reference,
  .training-showcase .training-card.reference:hover,
  .training-showcase .training-card.reference:focus-within { transform: none; transition: none; }
  .training-showcase .training-grid:has(.training-card:hover) .training-card:not(:hover),
  .training-showcase .training-grid:has(.training-card:hover) .training-card.reference:not(:hover) {
    opacity: 1;
    transform: none;
  }
  .training-showcase .training-card::after { transition: none; }
}

/* Progression comparison gallery -------------------------------------- */
.progression-lab {
  overflow: hidden;
  color: #10212D;
  background:
    radial-gradient(48rem 34rem at 88% 5%, rgba(200,169,111,.15), transparent 70%),
    linear-gradient(180deg, #F2F0EB, #F2F0EB);
}
.progression-lab__grid {
  display: grid;
  grid-template-columns: minmax(17rem, .62fr) minmax(0, 1.38fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.progression-lab__copy h2 { max-width: 12ch; font-size: clamp(3rem, 5.6vw, 6rem); }
.progression-lab__copy p { max-width: 31rem; color: #506575; }
.progression-gallery { min-width: 0; }
.progression-stage {
  --position: 50%;
  position: relative;
  min-height: clamp(30rem, 58vw, 49rem);
  overflow: hidden;
  border: 1px solid rgba(10,16,23,.14);
  border-radius: clamp(1.5rem, 3vw, 2.6rem);
  background: #10212D;
  box-shadow: 0 36px 110px rgba(41,32,20,.20), inset 0 1px rgba(255,255,255,.09);
  isolation: isolate;
  transition: opacity .18s ease, transform .18s var(--ease-luxe);
}
.progression-gallery.is-switching .progression-stage { opacity: .7; transform: scale(.995); }
.progression-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.progression-stage__after { position: absolute; z-index: 2; inset: 0; overflow: hidden; clip-path: inset(0 0 0 var(--position)); }
.progression-stage__divider {
  position: absolute;
  z-index: 4;
  top: 0;
  bottom: 0;
  left: var(--position);
  width: 1px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 24px rgba(255,255,255,.45);
  transform: translateX(-50%);
  pointer-events: none;
}
.progression-stage__divider::after {
  content: "↔";
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 3.4rem;
  height: 3.4rem;
  place-items: center;
  border: 1px solid rgba(10,16,23,.2);
  border-radius: 50%;
  color: #10212D;
  background: linear-gradient(145deg, #F2F0EB, #C8A976);
  box-shadow: 0 15px 38px rgba(0,0,0,.30);
  transform: translate(-50%,-50%);
}
.progression-stage input[type="range"] { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.progression-stage:has(input[type="range"]:focus-visible) { outline: 3px solid var(--champagne-2); outline-offset: 4px; }
.progression-stage__label {
  position: absolute;
  z-index: 4;
  top: 1rem;
  padding: .58rem .78rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: rgba(255,255,255,.83);
  background: rgba(2,6,10,.58);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.progression-stage__label--before { left: 1rem; }
.progression-stage__label--after { right: 1rem; }
.progression-thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(5.6rem, 1fr);
  gap: .65rem;
  margin-top: 1.1rem;
  overflow-x: auto;
  padding: .15rem .15rem .5rem;
  scrollbar-width: thin;
  scrollbar-color: var(--champagne) transparent;
}
.progression-thumb {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(10,16,23,.12);
  border-radius: .8rem;
  background: #10212D;
  cursor: pointer;
  opacity: .62;
  transition: opacity .25s ease, border-color .25s ease, transform .25s ease;
}
.progression-thumb img { width: 100%; aspect-ratio: 1.3; object-fit: cover; }
.progression-thumb span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.progression-thumb:hover,
.progression-thumb.is-active { opacity: 1; border-color: rgba(157,119,64,.55); transform: translateY(-2px); }

/* Availability calendar ------------------------------------------------ */
.availability-section {
  overflow: clip;
  background:
    radial-gradient(48rem 34rem at 88% 8%, rgba(35, 109, 151, .18), transparent 68%),
    radial-gradient(38rem 28rem at 7% 80%, rgba(200, 169, 111, .08), transparent 72%),
    linear-gradient(160deg, #10212D 0%, #10212D 75%);
}
.availability-heading { align-items: end; }
.availability-heading h2 { max-width: 14ch; }
.availability-updated {
  display: inline-flex;
  flex: none;
  gap: .65rem;
  align-items: center;
  margin: 0 0 .45rem;
  padding: .62rem .85rem;
  border: 1px solid rgba(240, 221, 178, .16);
  border-radius: 999px;
  color: rgba(240, 221, 178, .76);
  background: rgba(255, 255, 255, .035);
  font-size: .69rem;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.availability-updated > span {
  width: .42rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #C8A976;
  box-shadow: 0 0 0 .25rem rgba(217, 179, 110, .09), 0 0 .9rem rgba(217, 179, 110, .42);
  animation: availability-pulse 1.6s ease-in-out 2;
}
.availability-board {
  padding: clamp(1.15rem, 2.8vw, 2.35rem);
  border: 1px solid rgba(240, 221, 178, .14);
  border-radius: clamp(1.4rem, 3vw, 2.6rem);
  background:
    radial-gradient(34rem 24rem at 86% 0%, rgba(185, 227, 239, .07), transparent 69%),
    rgba(2, 8, 13, .66);
  box-shadow: 0 38px 120px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .045);
}
.availability-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  margin-bottom: 1.15rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(240, 221, 178, .1);
}
.availability-status {
  display: inline-flex;
  min-height: 1.8rem;
  align-items: center;
  justify-content: center;
  padding: .36rem .65rem;
  border: 1px solid var(--availability-border, rgba(240, 221, 178, .18));
  border-radius: 999px;
  color: var(--availability-text, rgba(240, 221, 178, .82));
  background: var(--availability-bg, rgba(240, 221, 178, .06));
  font-size: .62rem;
  font-weight: 820;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.availability-status--open {
  --availability-border: rgba(129, 201, 181, .32);
  --availability-bg: rgba(82, 158, 139, .1);
  --availability-text: #b9dfd3;
}
.availability-status--p25 {
  --availability-border: rgba(151, 199, 180, .34);
  --availability-bg: rgba(112, 171, 148, .1);
  --availability-text: #c3e3d7;
}
.availability-status--p50 {
  --availability-border: rgba(224, 188, 116, .35);
  --availability-bg: rgba(200, 169, 111, .1);
  --availability-text: #C8A976;
}
.availability-status--p75 {
  --availability-border: rgba(220, 151, 101, .36);
  --availability-bg: rgba(194, 119, 72, .11);
  --availability-text: #C8A976;
}
.availability-status--complete {
  --availability-border: rgba(188, 126, 130, .3);
  --availability-bg: rgba(139, 70, 78, .12);
  --availability-text: #dfb9bd;
}
.availability-status--leave {
  --availability-border: rgba(154, 174, 190, .25);
  --availability-bg: rgba(124, 145, 161, .08);
  --availability-text: #AAB9C4;
}
.availability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.7rem, 1.4vw, 1rem);
}
.availability-week {
  --week-accent: rgba(240, 221, 178, .25);
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 14.5rem;
  padding: clamp(1rem, 1.8vw, 1.35rem);
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .11);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, .025);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--week-accent) 8%, transparent), transparent 48%),
    rgba(255, 255, 255, .025);
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
  transition: border-color .35s ease, transform .55s var(--ease-luxe), background .35s ease;
}
.availability-week::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 1.2rem;
  width: 4.2rem;
  height: 1px;
  background: linear-gradient(90deg, var(--week-accent), transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--week-accent) 55%, transparent);
}
.availability-week:hover {
  border-color: color-mix(in srgb, var(--week-accent) 48%, rgba(240, 221, 178, .12));
  transform: translateY(-3px);
}
.availability-week--open { --week-accent: #81c9b5; }
.availability-week--p25 { --week-accent: #97c7b4; }
.availability-week--p50 { --week-accent: #C8A976; }
.availability-week--p75 { --week-accent: #C8A976; }
.availability-week--complete { --week-accent: #b97c83; }
.availability-week--leave { --week-accent: #AAB9C4; }
.availability-week header {
  display: flex;
  gap: .7rem;
  align-items: center;
  justify-content: space-between;
}
.availability-week header p {
  margin: 0;
  color: rgba(223, 230, 235, .74);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.availability-week h3 {
  margin: clamp(1.5rem, 3vw, 2.2rem) 0 .65rem;
  color: #C8A976;
  font-family: var(--font-serif);
  font-size: clamp(3.2rem, 5vw, 4.8rem);
  font-weight: 400;
  line-height: .72;
  letter-spacing: -.055em;
}
.availability-week__dates {
  min-height: 2.7em;
  margin: 0;
  color: rgba(232, 237, 240, .77);
  font-size: .78rem;
  line-height: 1.4;
}
.availability-week__note {
  margin: .75rem 0 0;
  padding-top: .75rem;
  border-top: 1px solid rgba(240, 221, 178, .09);
  color: rgba(223, 230, 235, .74);
  font-size: .69rem;
  line-height: 1.4;
}
.availability-week__request {
  width: 100%;
  margin-top: auto;
  padding: .8rem 0 .1rem;
  border: 0;
  border-top: 1px solid rgba(240, 221, 178, .13);
  color: var(--champagne-2);
  background: transparent;
  font-size: .68rem;
  font-weight: 760;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(240, 221, 178, .35);
  text-underline-offset: .22em;
}
.availability-week__request:hover,
.availability-week__request:focus-visible { color: #F2F0EB; }
.availability-more {
  margin-top: 1rem;
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .12);
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, .018);
}
.availability-more summary {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 1.15rem 1.3rem;
  cursor: pointer;
  list-style: none;
}
.availability-more summary::-webkit-details-marker { display: none; }
.availability-more summary > span:first-child { display: grid; gap: .18rem; }
.availability-more summary strong {
  color: rgba(240, 221, 178, .86);
  font-size: .78rem;
  letter-spacing: .035em;
}
.availability-more summary small { color: rgba(223, 230, 235, .74); font-size: .68rem; }
.availability-more__icon {
  position: relative;
  width: 2.1rem;
  aspect-ratio: 1;
  flex: none;
  border: 1px solid rgba(240, 221, 178, .18);
  border-radius: 50%;
  transition: transform .45s var(--ease-luxe);
}
.availability-more__icon::before,
.availability-more__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .72rem;
  height: 1px;
  background: #C8A976;
  transform: translate(-50%, -50%);
}
.availability-more__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.availability-more[open] .availability-more__icon { transform: rotate(45deg); }
.availability-more__content { padding: 0 1rem 1rem; }
.availability-grid--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.availability-grid--compact .availability-week { min-height: 13.6rem; }
.availability-caveat {
  max-width: 56rem;
  margin: 1.25rem 0 0;
  color: rgba(223, 230, 235, .74);
  font-size: .72rem;
  line-height: 1.6;
}
@keyframes availability-pulse {
  0%, 100% { opacity: .58; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.08); }
}
@media (max-width: 1040px) {
  .availability-grid,
  .availability-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .availability-heading { align-items: start; flex-direction: column; }
  .availability-updated { margin: -.8rem 0 0; }
  .availability-grid,
  .availability-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .availability-grid,
  .availability-grid--compact { grid-template-columns: 1fr; }
  .availability-week { min-height: 13.5rem; }
  .availability-more__content { padding-inline: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .availability-updated > span { animation: none; }
  .availability-week,
  .availability-more__icon { transition: none; }
}

.cta-band {
  border-radius: 2.1rem;
  background:
    radial-gradient(32rem 24rem at 85% 12%, rgba(185,227,239,.15), transparent 68%),
    linear-gradient(125deg, #10212D 0%, #10212D 58%, #10212D 100%);
  box-shadow: 0 35px 100px rgba(0,0,0,.30), inset 0 1px rgba(255,255,255,.06);
}

/* Immersive books page ------------------------------------------------- */
.portfolio-immersive {
  position: relative;
  overflow: clip;
  padding-block: clamp(5rem, 9vw, 9rem) 0;
  background:
    radial-gradient(60rem 42rem at 82% 4%, rgba(32, 105, 151, .23), transparent 67%),
    radial-gradient(45rem 32rem at 8% 88%, rgba(200,169,111,.08), transparent 70%),
    linear-gradient(160deg, #10212D 0%, #10212D 72%);
}
.portfolio-immersive__intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(15rem,.38fr);
  gap: clamp(2rem,6vw,6rem);
  align-items: end;
  margin-bottom: clamp(3rem,6vw,5rem);
}
.portfolio-immersive__intro h2 { max-width: 13ch; font-size: clamp(3.3rem,6vw,6.7rem); }
.portfolio-immersive__intro p { max-width: 44rem; color: rgba(225,232,236,.67); }
.portfolio-immersive__count { display:flex; align-items:baseline; gap:.8rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.13); }
.portfolio-immersive__count strong { color:var(--champagne-2); font-family: var(--font-serif); font-size:clamp(4.2rem,7vw,7.2rem); font-weight:400; line-height:.8; }
.portfolio-immersive__count span { color:rgba(255,255,255,.52); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.portfolio-immersive__viewport { position:relative; width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.portfolio-immersive__viewport::-webkit-scrollbar { display:none; }
.portfolio-immersive.is-enhanced .portfolio-immersive__viewport { overflow:hidden; scroll-snap-type:none; }
.portfolio-immersive__track { display:flex; width:max-content; gap:clamp(1.25rem,3vw,2.8rem); padding:1rem max(1.5rem,calc((100vw - var(--container))/2)) 7.2rem; }
.portfolio-book {
  position:relative;
  display:grid;
  grid-template-columns:minmax(20rem,.78fr) minmax(31rem,1.22fr);
  flex:0 0 min(72rem,calc(100vw - 7rem));
  min-height:min(44rem,74vh);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(1.7rem,3vw,2.8rem);
  background:linear-gradient(145deg,rgba(17,25,33,.98),rgba(3,8,13,.98));
  box-shadow:0 38px 120px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.055);
  scroll-snap-align:center;
  opacity:.88;
  transform:scale(.97);
  transition:opacity .45s ease,transform .7s var(--ease-luxe),border-color .45s ease,box-shadow .45s ease;
}
.portfolio-book.is-active { opacity:1; transform:scale(1); border-color:rgba(240,221,178,.36); box-shadow:0 45px 135px rgba(0,0,0,.55),0 0 0 1px rgba(200,169,111,.06); }
.portfolio-book__copy { position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; padding:clamp(2.3rem,5.5vw,5.2rem); }
.portfolio-book:nth-child(even) .portfolio-book__copy { order:2; }
.portfolio-book__eyebrow { display:flex; align-items:center; gap:.8rem; color:var(--champagne-2); font-size:.68rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.portfolio-book__eyebrow::before { content:""; width:2.8rem; height:1px; background:currentColor; opacity:.65; }
.portfolio-book h3 { margin-top:1.8rem; font-size:clamp(3.6rem,6.4vw,7rem); line-height:.87; }
.portfolio-book__copy>p { max-width:30rem; margin:1.4rem 0 0; color:rgba(225,232,236,.66); }
.portfolio-book__meta { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.8rem 0 0; }
.portfolio-book__meta span { padding:.55rem .72rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:rgba(255,255,255,.68); background:rgba(255,255,255,.035); font-size:.63rem; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.portfolio-book__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem; margin-top:auto; padding-top:2rem; }
.portfolio-book__download { color:rgba(255,255,255,.72); font-size:.8rem; font-weight:700; text-decoration:none; }
.portfolio-book__download:hover,
.portfolio-book__download:focus-visible { color:var(--champagne-2); }
.portfolio-book__visual { position:relative; min-width:0; overflow:hidden; background:#10212D; }
.portfolio-book:nth-child(even) .portfolio-book__visual { order:1; }
.portfolio-book__feature { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.28; filter:saturate(.72) contrast(1.1) brightness(.75); transform:scale(1.08); transition:opacity .7s ease,transform 1.1s var(--ease-luxe); }
.portfolio-book__visual::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(3,8,13,.9),rgba(3,8,13,.18) 44%,rgba(3,8,13,.08)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%); }
.portfolio-book:nth-child(even) .portfolio-book__visual::after { background:linear-gradient(-90deg,rgba(3,8,13,.9),rgba(3,8,13,.18) 44%,rgba(3,8,13,.08)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%); }
.portfolio-book.is-active .portfolio-book__feature { opacity:.55; transform:scale(1.01); }
.portfolio-book__object { position:absolute; z-index:2; top:50%; left:54%; width:clamp(14rem,25vw,22rem); aspect-ratio:419/596; transform:translate(-50%,-50%); perspective:1400px; }
.portfolio-book:nth-child(even) .portfolio-book__object { left:46%; }
.portfolio-book__cover { position:relative; display:block; width:100%; height:100%; border-radius:.32rem .9rem .9rem .32rem; transform:rotateY(-14deg) rotateX(1deg) translateY(.35rem); transform-origin:left center; transform-style:preserve-3d; box-shadow:2.2rem 2.8rem 5rem rgba(0,0,0,.6),-.5rem 0 1.4rem rgba(0,0,0,.24); transition:transform .75s var(--ease-luxe),box-shadow .75s ease; }
.portfolio-book__cover::before { content:""; position:absolute; z-index:2; top:0; bottom:0; left:0; width:.85rem; border-radius:.3rem 0 0 .3rem; background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(255,255,255,.14),rgba(0,0,0,.16)); mix-blend-mode:multiply; }
.portfolio-book__cover::after { content:""; position:absolute; z-index:-1; top:.3rem; right:-.7rem; bottom:.3rem; width:.8rem; border-radius:0 .5rem .5rem 0; background:repeating-linear-gradient(0deg,#F2F0EB 0 2px,#C8A976 2px 3px); }
.portfolio-book__cover img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.portfolio-book.is-active .portfolio-book__cover { transform:rotateY(-5deg) translateY(-.55rem); box-shadow:2.7rem 3.2rem 6rem rgba(0,0,0,.67),-.6rem 0 1.8rem rgba(0,0,0,.28); }
.portfolio-book__folio { position:absolute; z-index:3; right:1.3rem; bottom:1rem; color:rgba(255,255,255,.085); font-family: var(--font-serif); font-size:clamp(5.5rem,9vw,9.5rem); line-height:.8; letter-spacing:-.08em; }
.portfolio-book:nth-child(even) .portfolio-book__folio { right:auto; left:1.3rem; }
.portfolio-immersive__controls { position:absolute; z-index:10; left:50%; bottom:calc(1.4rem + var(--safe-bottom)); display:grid; grid-template-columns:auto minmax(8rem,14rem) auto; align-items:center; gap:.85rem; width:min(92vw,32rem); padding:.7rem .8rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(3,7,12,.78); box-shadow:0 20px 60px rgba(0,0,0,.38); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); transform:translateX(-50%); }
.portfolio-immersive__status { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.7rem; min-width:0; }
.portfolio-immersive__counter { color:rgba(255,255,255,.55); font-size:.66rem; font-weight:800; letter-spacing:.11em; white-space:nowrap; }
.portfolio-immersive__counter strong { color:#F2F0EB; font-size:.82rem; }
.portfolio-immersive__status-copy { min-width:0; }
.portfolio-immersive__status-copy span { display:block; overflow:hidden; color:rgba(255,255,255,.78); font-size:.69rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.portfolio-immersive__progress { height:2px; margin-top:.4rem; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.13); }
.portfolio-immersive__progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--champagne),var(--ice)); transform:scaleX(.111); transform-origin:left; }
.portfolio-immersive__foot { padding:1.5rem 1.5rem 5rem; color:rgba(255,255,255,.44); font-size:.72rem; text-align:center; }

/* Forms and footer ----------------------------------------------------- */
.contact-form,
.contact-panel { border-radius:1.5rem; }
.field input,
.field select,
.field textarea { border-radius:.8rem; background:rgba(255,255,255,.055); }
.field input:focus,
.field select:focus,
.field textarea:focus { box-shadow:0 0 0 3px rgba(200,169,111,.13),0 16px 45px rgba(0,0,0,.18); }
.site-footer {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(38rem 24rem at 85% 0%, rgba(31,91,131,.13), transparent 70%),
    #10212D;
}
.site-footer::before { content:""; position:absolute; top:-16rem; left:-12rem; width:36rem; aspect-ratio:1; border:1px solid rgba(240,221,178,.07); border-radius:50%; box-shadow:0 0 0 4rem rgba(240,221,178,.01); }
.site-footer .container { position:relative; z-index:1; }

/* Reveal and cursor-light --------------------------------------------- */
.reveal { opacity:1; transform:none; transition:opacity .85s var(--ease-luxe),transform .85s var(--ease-luxe); }
html.reveal-pending .reveal:not(.is-visible),
html.reveal-ready .reveal:not(.is-visible) { opacity:0; transform:translateY(1.8rem); }
.reveal.is-visible { opacity:1; transform:none; }
.section-head.luxe-reveal {
  position: relative;
  padding-bottom: clamp(1.1rem, 2vw, 1.65rem);
  overflow: hidden;
}
.section-head.luxe-reveal::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--champagne-2), rgba(185, 227, 239, .28) 48%, transparent 88%);
  opacity: .65;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.25s .14s cubic-bezier(.16, .78, .18, 1);
}
.section-light .section-head.luxe-reveal::after {
  background: linear-gradient(90deg, var(--champagne-deep), rgba(7, 36, 54, .16) 48%, transparent 88%);
}
.section-head.luxe-reveal > * {
  opacity: 0;
  clip-path: inset(0 0 28% 0);
  transform: translate3d(0, 2.2rem, 0);
  filter: blur(4px);
  transition:
    opacity .82s .05s ease,
    transform 1.05s cubic-bezier(.16, .78, .18, 1),
    clip-path 1.05s cubic-bezier(.16, .78, .18, 1),
    filter .82s ease;
}
.section-head.luxe-reveal.is-luxe-visible > * {
  opacity: 1;
  clip-path: inset(0);
  transform: none;
  filter: blur(0);
}
.section-head.luxe-reveal.is-luxe-visible::after { transform: scaleX(1); }

/* A restrained polished rim gives editorial media a more precise finish. */
.page-hero__media,
.alexandra-signature__media {
  outline: 1px solid rgba(240, 221, 178, .13);
  outline-offset: -1px;
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .3),
    inset 0 1px rgba(255, 255, 255, .08);
}
.page-hero__media img,
.alexandra-signature__media img {
  transition: transform 1.15s cubic-bezier(.16, .78, .18, 1), filter .8s ease;
}
@media (hover: hover) and (pointer: fine) {
  .page-hero__media:hover img,
  .alexandra-signature__media:hover img {
    transform: scale(1.025);
    filter: saturate(.92) contrast(1.035);
  }
}
@media (prefers-reduced-motion: reduce) {
  .section-head.luxe-reveal > * { opacity: 1; clip-path: none; transform: none; filter: none; transition: none; }
  .section-head.luxe-reveal::after { transform: scaleX(1); transition: none; }
}
[data-spotlight] { position:relative; overflow:hidden; }
[data-spotlight]::before { content:""; position:absolute; z-index:0; width:22rem; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(240,221,178,.11),transparent 68%); transform:translate(calc(var(--spot-x,50%) - 50%),calc(var(--spot-y,50%) - 50%)); opacity:0; transition:opacity .3s ease; pointer-events:none; }
[data-spotlight]:hover::before,
[data-spotlight]:focus-within::before { opacity:1; }
[data-spotlight] > * { position:relative; z-index:1; }

/* Responsive ----------------------------------------------------------- */
@media (max-width: 70rem) {
  .container { width:min(calc(100% - 2rem),var(--container)); }
  .horizontal-story__panel { flex-basis:calc(100vw - 4rem); }
  .portfolio-book { flex-basis:calc(100vw - 4rem); grid-template-columns:minmax(18rem,.82fr) minmax(27rem,1.18fr); }
}

@media (max-width: 58rem) {
  :root { --header-h:4.45rem; }
  .page-home .site-header { position:fixed; }
  .site-header { -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
  .main-nav { background:linear-gradient(180deg,rgba(3,7,12,.995),rgba(5,16,26,.995)); }
  .horizontal-story__intro,
  .progression-lab__grid,
  .portfolio-immersive__intro { grid-template-columns:1fr; }
  .horizontal-story__viewport { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .horizontal-story__viewport::-webkit-scrollbar { display:none; }
  .horizontal-story__track { padding-left:calc(1rem + var(--safe-left)); padding-right:calc(1rem + var(--safe-right)); }
  .horizontal-story__panel { grid-template-columns:1fr; flex-basis:calc(100vw - 2rem - var(--safe-left) - var(--safe-right)); min-height:46rem; }
  .horizontal-story__copy { order:2; min-height:23rem; }
  .horizontal-story__media { order:1; min-height:23rem; }
  .horizontal-story__media::after { background:linear-gradient(0deg,rgba(5,11,17,.8),transparent 58%); }
  .horizontal-story__controls { right:calc(1rem + var(--safe-right)); }
  .horizontal-story__progress { right:calc(9rem + var(--safe-right)); left:calc(1rem + var(--safe-left)); }
  .portfolio-book { grid-template-columns:1fr; flex-basis:calc(100vw - 2rem - var(--safe-left) - var(--safe-right)); min-height:46rem; }
  .portfolio-book__copy,
  .portfolio-book:nth-child(even) .portfolio-book__copy { order:2; min-height:24rem; padding:2rem; }
  .portfolio-book__visual,
  .portfolio-book:nth-child(even) .portfolio-book__visual { order:1; min-height:24rem; }
  .portfolio-book__visual::after,
  .portfolio-book:nth-child(even) .portfolio-book__visual::after { background:linear-gradient(0deg,rgba(3,8,13,.88),transparent 58%); }
  .portfolio-book__object,
  .portfolio-book:nth-child(even) .portfolio-book__object { left:50%; width:min(50vw,16rem); }
  .portfolio-immersive__track { padding-left:calc(1rem + var(--safe-left)); padding-right:calc(1rem + var(--safe-right)); }
}

@media (max-width: 42rem) {
  .container { width:min(calc(100% - 1.25rem),var(--container)); }
  .page-home .site-header { background:linear-gradient(180deg,rgba(2,6,10,.88),rgba(2,6,10,.2)); }
  .hero-cinematic__media video,
  .hero-cinematic__fallback { object-position:68% center; }
  .hero-cinematic__veil { background:linear-gradient(90deg,rgba(2,6,10,.96),rgba(2,6,10,.60)),linear-gradient(0deg,#10212D,transparent 56%); }
  .hero-cinematic__content { padding-block:8.5rem 7.5rem; }
  .hero-cinematic__title { max-width:10.5ch; font-size:clamp(3.4rem,17vw,5.3rem); }
  .hero-cinematic__title .hero-accent { margin-left:0; }
  .hero-cinematic__controls { right:calc(.75rem + var(--safe-right)); bottom:calc(.75rem + var(--safe-bottom)); left:calc(.75rem + var(--safe-left)); justify-content:space-between; }
  .hero-scroll-cue { font-size:.58rem; }
  .hero-scroll-cue::before { width:1.8rem; }
  .hero-video-toggle { min-height:2.75rem; padding:.55rem .72rem; font-size:.6rem; }
  .horizontal-story__panel { min-height:42rem; }
  .horizontal-story__copy { min-height:21rem; padding:1.6rem; }
  .horizontal-story__media { min-height:21rem; }
  .horizontal-story__copy h3 { font-size:3.9rem; }
  .progression-stage { min-height:27rem; }
  .portfolio-book { min-height:43rem; }
  .portfolio-book__copy { min-height:23rem !important; }
  .portfolio-book__visual { min-height:20rem !important; }
  .portfolio-book h3 { font-size:3.5rem; }
  .portfolio-book__object { width:min(54vw,14rem) !important; }
  .portfolio-immersive__controls { width:calc(100vw - 1.25rem - var(--safe-left) - var(--safe-right)); grid-template-columns:auto minmax(0,1fr) auto; }
  .page-hero { min-height:34rem; padding-top:8rem; }
  .page-hero h1 { font-size:clamp(3rem,14vw,4.8rem); }
}

@media (prefers-reduced-motion: reduce) {
  html.hero-pending .hero-reveal,
  html.hero-ready .hero-reveal,
  html.hero-ready .hero-cinematic.is-ready .hero-reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .hero-cinematic__reflection { transform:none; opacity:.18; }
  .horizontal-story__panel,
  .portfolio-book,
  .portfolio-book__feature,
  .portfolio-book__cover { transition:none !important; transform:none; }
  .horizontal-story__viewport,
  .portfolio-immersive__viewport { overflow-x:auto !important; scroll-snap-type:x mandatory !important; }
  .horizontal-story__track,
  .portfolio-immersive__track { transform:none !important; }
  .horizontal-story__panel,
  .portfolio-book { opacity:1; }
}

/* Final mobile header safeguard: keep the menu control genuinely touch-sized. */
@media (max-width: 58rem) {
  .menu-toggle {
    flex: 0 0 2.8rem;
    min-width: 2.8rem;
    min-height: 2.8rem;
  }
}
@media (max-width: 22rem) {
  .header-inner { gap: .55rem; }
  .brand { gap: .55rem; }
  .brand img { width: 2.5rem; height: 2.5rem; }
  .brand-copy { display: none; }
  .lang-switch a { min-width: 2.75rem; min-height: 2.75rem; }
}

/* Direction immersive V3 — the light as a reading system -------------- */
:root {
  --focus-ring: #C8A976;
  --chapter-progress: 0;
}

section[id] { scroll-margin-top: 0; }

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 5px;
  box-shadow: 0 0 0 5px rgba(3, 7, 12, .72);
}

.section-light :focus-visible { box-shadow: 0 0 0 5px rgba(251, 248, 241, .92); }
.section-light .eyebrow { color: #506575; }

.hero-cinematic__content { max-width: 64rem; }
.hero-cinematic__title {
  max-width: 11.6ch;
  font-size: clamp(4rem, 7.35vw, 8.25rem);
  line-height: .91;
}
.hero-cinematic__title > span { display: block; }
.hero-cinematic__title .hero-accent {
  max-width: 10.8ch;
  margin-top: .08em;
  margin-left: clamp(0rem, 3.2vw, 3rem);
}
.hero-cinematic__lede { max-width: 44rem; }

/* The chapter rail stays quiet until a chapter becomes current. */
.chapter-rail {
  position: fixed;
  z-index: 980;
  top: 50%;
  right: clamp(.75rem, 1.6vw, 1.7rem);
  display: grid;
  gap: .25rem;
  width: 8.8rem;
  padding: .55rem;
  border: 1px solid rgba(240, 221, 178, .10);
  border-radius: 1rem;
  background: rgba(3, 7, 12, .48);
  box-shadow: 0 18px 52px rgba(0, 0, 0, .18);
  transform: translateY(-50%);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.js .chapter-rail { opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.js .chapter-rail.is-engaged { opacity: 1; pointer-events: auto; }
.chapter-rail a {
  position: relative;
  display: grid;
  grid-template-columns: 1.65rem 1fr;
  align-items: center;
  min-height: 2.15rem;
  padding: .25rem .35rem;
  border-radius: .55rem;
  color: rgba(244, 239, 229, .74);
  font-size: .63rem;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease;
}
.chapter-rail a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: .17rem;
  width: .32rem;
  height: .32rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
}
.chapter-rail a span { font-variant-numeric: tabular-nums; }
.chapter-rail a strong { font-weight: 720; }
.chapter-rail a:hover,
.chapter-rail a.is-current {
  color: var(--champagne-2);
  background: rgba(240, 221, 178, .055);
}
.chapter-rail a.is-current::before {
  border-color: var(--champagne-2);
  background: var(--champagne-2);
  box-shadow: 0 0 0 .25rem rgba(240, 221, 178, .08), 0 0 1.1rem rgba(240, 221, 178, .35);
}

.chapter-progress {
  position: fixed;
  z-index: 1002;
  top: calc(var(--safe-top) + var(--header-h) - 1px);
  right: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
}
.chapter-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--champagne-deep), var(--champagne-2), var(--ice));
  box-shadow: 0 0 .7rem rgba(240, 221, 178, .42);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

/* Real workshop media give every editorial hero its own material presence. */
body[data-page="formations"] { --page-hero-image: url("presentation-piece.webp"); --page-hero-image-mobile: url("presentation-piece-800.webp"); --page-hero-position: 72% center; }
body[data-page="training"] { --page-hero-image: url("anglage-main-art-de-langlage-1200.webp"); --page-hero-image-mobile: url("anglage-main-art-de-langlage-800.webp"); --page-hero-position: 72% center; }
body[data-page="enterprises"] { --page-hero-image: url("atelier-outillage-art-de-langlage-1600.webp"); --page-hero-image-mobile: url("atelier-outillage-art-de-langlage-800.webp"); --page-hero-position: 72% center; }
body[data-page="contact"] { --page-hero-image: url("atelier_art_de_l_anglage.webp"); --page-hero-image-mobile: url("atelier-art-de-l-anglage-800.webp"); --page-hero-position: 68% center; }
body[data-page="testimonials"] { --page-hero-image: url("Tirette.webp"); --page-hero-position: 72% center; }
body[data-page="media"] { --page-hero-image: url("presentation_art_de_l_anglage.webp"); --page-hero-image-mobile: url("presentation-art-de-l-anglage-800.webp"); --page-hero-position: 72% center; }
body[data-page="bewatchmaker"] { --page-hero-image: url("mouvement_bewatchmaker.webp"); --page-hero-image-mobile: url("mouvement-bewatchmaker-800.webp"); --page-hero-position: 72% center; }

body[data-page]:not([data-page="home"]):not([data-page="alexandra"]):not([data-page="books"]) .page-hero {
  background-image:
    linear-gradient(90deg, rgba(3,7,12,.995) 0%, rgba(3,7,12,.94) 38%, rgba(3,7,12,.56) 67%, rgba(3,7,12,.72) 100%),
    linear-gradient(0deg, rgba(3,7,12,.94) 0%, transparent 44%),
    var(--page-hero-image, linear-gradient(145deg, #10212D, #10212D 58%, #10212D));
  background-position: center, center, var(--page-hero-position, center);
  background-size: cover;
  background-repeat: no-repeat;
}
body[data-page]:not([data-page="home"]) .page-hero h1 {
  max-width: 14ch;
  text-shadow: 0 3px 38px rgba(0, 0, 0, .5);
}
body[data-page]:not([data-page="home"]) .page-hero .lede {
  color: rgba(244, 247, 249, .82);
  text-shadow: 0 2px 20px rgba(0, 0, 0, .42);
}

/* Long institutional titles keep their authority without crowding the image. */
body[data-page="enterprises"] .page-hero h1,
body[data-page="bewatchmaker"] .page-hero h1 {
  max-width: 15ch;
  font-size: clamp(3.2rem, 5.7vw, 6rem);
}

@media (max-width: 92rem) {
  .chapter-rail { display: none; }
}

@media (max-width: 70rem) {
  .chapter-rail { display: none; }
  body[data-page]:not([data-page="home"]):not([data-page="alexandra"]):not([data-page="books"]) .page-hero {
    background-image:
      linear-gradient(90deg, rgba(3,7,12,.98), rgba(3,7,12,.68)),
      linear-gradient(0deg, rgba(3,7,12,.94), transparent 48%),
      var(--page-hero-image, linear-gradient(145deg, #10212D, #10212D 58%, #10212D));
  }
}

@media (pointer: coarse) {
  .chapter-rail { display: none; }
  .main-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding-inline: .25rem;
  }
  .lang-switch a { min-width: 2.75rem; min-height: 2.75rem; }
}

@media (max-width: 42rem) {
  .hero-cinematic__title {
    max-width: 10.4ch;
    font-size: clamp(3.25rem, 14.5vw, 4.8rem);
    line-height: .92;
  }
  .hero-cinematic__title .hero-accent { max-width: 9.7ch; margin-left: 0; }
  .hero-cinematic__lede { max-width: 32rem; font-size: 1rem; line-height: 1.58; }
  .hero-cinematic__meta { gap: .4rem; }
  .hero-cinematic__meta li { padding: .5rem .68rem; font-size: .64rem; }
  body[data-page]:not([data-page="home"]):not([data-page="alexandra"]):not([data-page="books"]) .page-hero {
    background-image:
      linear-gradient(90deg, rgba(3,7,12,.98), rgba(3,7,12,.68)),
      linear-gradient(0deg, rgba(3,7,12,.94), transparent 48%),
      var(--page-hero-image-mobile, var(--page-hero-image, linear-gradient(145deg, #10212D, #10212D 58%, #10212D)));
    background-position: center, center, 62% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .chapter-progress span { transition: none; }
  .chapter-rail a,
  .chapter-rail a::before { transition: none; }
}

.pathfinder { background: linear-gradient(145deg, #10212D, #10212D 62%, #10212D); }
.pathfinder__grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.pathfinder__choices { display: grid; gap: .75rem; }
.pathfinder__choices button {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: .25rem 1rem;
  width: 100%;
  min-height: 5.2rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(240, 221, 178, .14);
  border-radius: .9rem;
  color: var(--ice);
  text-align: left;
  background: rgba(255, 255, 255, .025);
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.pathfinder__choices button:hover,
.pathfinder__choices button[aria-pressed="true"] {
  border-color: rgba(240, 221, 178, .52);
  background: rgba(240, 221, 178, .075);
  transform: translateX(.25rem);
}
.pathfinder__choices button > span {
  grid-row: 1 / 3;
  color: var(--champagne-deep);
  font-size: .68rem;
  letter-spacing: .1em;
}
.pathfinder__choices strong { font-size: .95rem; line-height: 1.35; }
.pathfinder__choices small { color: rgba(220, 228, 234, .66); font-size: .76rem; line-height: 1.48; }
.pathfinder__result {
  max-width: 52rem;
  margin-top: clamp(1.5rem, 4vw, 3rem);
  margin-left: auto;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border-left: 2px solid var(--champagne-deep);
  background: rgba(240, 221, 178, .055);
}
.pathfinder__result[hidden] { display: none; }
.pathfinder__result h3 { margin: .45rem 0 .7rem; font-size: clamp(1.65rem, 3vw, 2.65rem); }
.pathfinder__result p:not(.eyebrow) { max-width: 46rem; color: rgba(220, 228, 234, .75); }
.pathfinder__result .button { margin-top: .8rem; }

.field-hint {
  margin: .5rem 0 0;
  color: rgba(220, 228, 234, .66);
  font-size: .72rem;
  line-height: 1.5;
}

.faq-list { display: grid; gap: .65rem; }
.faq-list details {
  border: 1px solid rgba(240, 221, 178, .15);
  border-radius: .8rem;
  background: rgba(255, 255, 255, .025);
}
.faq-list summary {
  position: relative;
  padding: 1.1rem 3.2rem 1.1rem 1.15rem;
  color: var(--ice);
  font-weight: 720;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.2rem;
  color: var(--champagne-2);
  font-size: 1.3rem;
  transform: translateY(-50%);
}
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 54rem; margin: 0; padding: 0 1.15rem 1.15rem; color: rgba(220, 228, 234, .72); }
.section-light .faq-list details { border-color: rgba(24, 35, 43, .13); background: rgba(255, 255, 255, .52); }
.section-light .faq-list summary { color: var(--navy); }
.section-light .faq-list details p { color: #506575; }

@media (max-width: 48rem) {
  .pathfinder__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .pathfinder__choices button:hover,
  .pathfinder__choices button[aria-pressed="true"] { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pathfinder__choices button { transition: none; }
}

/* Alexandra's voice ---------------------------------------------------
 * A restrained editorial system: one signature statement, quiet workshop
 * observations and a direct-contact trace. These are words, not proof cards.
 */
.alexandra-note {
  position: relative;
  width: min(calc(100% - 3rem), 72rem);
  margin: clamp(2.75rem, 6vw, 5.5rem) auto;
  padding: clamp(1.5rem, 3.5vw, 2.8rem) clamp(1.4rem, 4vw, 3.2rem);
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .16);
  border-left: 2px solid var(--champagne);
  border-radius: var(--radius-md);
  color: rgba(244, 239, 229, .92);
  background:
    linear-gradient(115deg, rgba(240, 221, 178, .055), transparent 48%),
    rgba(5, 14, 23, .86);
  box-shadow: 0 25px 70px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .035);
}
.alexandra-note::after {
  content: "";
  position: absolute;
  right: -6rem;
  bottom: -7rem;
  width: 15rem;
  height: 15rem;
  border: 1px solid rgba(240, 221, 178, .09);
  border-radius: 50%;
  pointer-events: none;
}
.alexandra-note__label,
.alexandra-signature__label {
  margin: 0 0 1rem;
  color: var(--champagne-2);
  font-size: .67rem;
  font-weight: 780;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.alexandra-note blockquote,
.alexandra-signature blockquote {
  max-width: 31ch;
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3.2vw, 2.75rem);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: -.03em;
}
.alexandra-note__meta,
.alexandra-signature__author {
  display: flex;
  flex-wrap: wrap;
  gap: .22rem .7rem;
  align-items: baseline;
  margin: 1.35rem 0 0;
  color: rgba(214, 224, 230, .64);
  font-size: .72rem;
  letter-spacing: .045em;
}
.alexandra-note__meta strong,
.alexandra-signature__author strong {
  color: var(--champagne-2);
  font-weight: 740;
}
.alexandra-note__meta span::before,
.alexandra-signature__author span::before {
  content: "·";
  margin-right: .7rem;
  color: var(--champagne-deep);
}

.container > .alexandra-note,
.flow > .alexandra-note,
.pathfinder__grid .alexandra-note,
.page-hero .alexandra-note,
.section-head .alexandra-note {
  width: 100%;
  margin: 1.65rem 0 0;
}
.alexandra-note--compact {
  padding: 1.25rem 1.45rem;
}
.alexandra-note--compact blockquote {
  font-size: clamp(1.2rem, 2vw, 1.62rem);
  line-height: 1.28;
}
.alexandra-note--workbench {
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background:
    linear-gradient(90deg, rgba(185, 227, 239, .055), transparent 52%),
    rgba(4, 12, 20, .92);
}
.alexandra-note--workbench .alexandra-note__label { color: var(--ice); }
.alexandra-note--corporate { max-width: 68rem; }
.alexandra-note--corporate blockquote { max-width: 39ch; font-size: clamp(1.45rem, 2.7vw, 2.35rem); }
.alexandra-note--light {
  border-color: rgba(29, 37, 43, .12);
  border-left-color: var(--champagne-deep);
  color: #10212D;
  background:
    linear-gradient(125deg, rgba(200, 169, 111, .11), transparent 50%),
    rgba(255, 255, 255, .78);
  box-shadow: 0 24px 64px rgba(41, 34, 24, .09), inset 0 1px rgba(255, 255, 255, .94);
}
.alexandra-note--light .alexandra-note__label,
.alexandra-note--light .alexandra-note__meta strong { color: #506575; }
.alexandra-note--light .alexandra-note__meta { color: #506575; }
.alexandra-note--hero {
  max-width: 48rem;
  margin-top: 2rem;
  margin-left: 0;
  padding: 1.35rem 1.55rem;
  background: rgba(4, 12, 19, .67);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.alexandra-note--hero blockquote { font-size: clamp(1.25rem, 2.2vw, 1.8rem); line-height: 1.28; }

.alexandra-signature {
  position: relative;
  padding-block: clamp(5.5rem, 10vw, 9rem);
  overflow: hidden;
  background:
    radial-gradient(45rem 32rem at 12% 50%, rgba(185, 227, 239, .08), transparent 70%),
    linear-gradient(145deg, #10212D, #10212D 58%, #10212D);
}
.alexandra-signature::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 48%, rgba(240, 221, 178, .035));
}
.alexandra-signature__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(16rem, .78fr) minmax(0, 1.22fr);
  gap: clamp(2.2rem, 6vw, 6.5rem);
  align-items: center;
}
.alexandra-signature__media {
  position: relative;
  min-height: clamp(24rem, 48vw, 36rem);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .14);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.alexandra-signature__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(2, 7, 11, .72));
  pointer-events: none;
}
.alexandra-signature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.alexandra-signature__copy { position: relative; z-index: 1; }
.alexandra-signature blockquote {
  max-width: 18ch;
  color: var(--ivory);
  font-size: clamp(2.7rem, 6vw, 6.25rem);
  line-height: .98;
}
.alexandra-signature__author { margin-top: clamp(1.6rem, 3.5vw, 2.8rem); }

/* Media: editorial authority without redundant commentary ------------ */
.press-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), transparent 48%),
    #F2F0EB;
}
.press-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(92vw, 86rem);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124, 90, 42, .34), transparent);
  transform: translateX(-50%);
}
.press-grid { align-items: stretch; gap: clamp(1rem, 2.5vw, 2rem); }
.press-card {
  position: relative;
  display: flex;
  min-height: clamp(29rem, 39vw, 35rem);
  flex-direction: column;
  overflow: hidden;
  padding: clamp(1.6rem, 3.2vw, 2.8rem);
  border-radius: 1.7rem;
  isolation: isolate;
  transition: transform .45s var(--ease-luxe), border-color .45s ease, box-shadow .45s ease;
}
.press-card::before {
  content: attr(data-press-index);
  position: absolute;
  z-index: -1;
  top: -2rem;
  right: .2rem;
  color: rgba(105, 76, 34, .045);
  font-family: var(--font-serif);
  font-size: clamp(9rem, 17vw, 16rem);
  line-height: 1;
  pointer-events: none;
}
.press-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(112deg, transparent 26%, rgba(255,255,255,.68) 48%, transparent 69%);
  opacity: 0;
  transform: translateX(-62%);
  transition: opacity .45s ease, transform .9s var(--ease-luxe);
  pointer-events: none;
}
.press-card:hover,
.press-card:focus-within {
  border-color: rgba(124, 90, 42, .22);
  box-shadow: 0 38px 95px rgba(54, 41, 22, .14), inset 0 1px rgba(255,255,255,.96);
  transform: translateY(-.45rem);
}
.press-card:hover::after,
.press-card:focus-within::after { opacity: .48; transform: translateX(62%); }
.press-card > img {
  width: min(13rem, 54%);
  height: 4rem;
  margin-bottom: clamp(2.2rem, 4vw, 3.7rem);
  object-fit: contain;
  object-position: left center;
}
.press-card__wordmark {
  display: flex;
  width: min(13rem, 54%);
  height: 4rem;
  align-items: center;
  margin: 0 0 clamp(2.2rem, 4vw, 3.7rem);
  color: #10212D;
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  font-weight: 700;
  letter-spacing: -.035em;
}
.press-card h3 { max-width: 19ch; font-size: clamp(1.75rem, 2.6vw, 2.65rem); }
.press-card > p:not(.kicker):not(.evidence-meta) { max-width: 39rem; }
.press-card .button-row { margin-top: auto; padding-top: 1.7rem; }

.media-network {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(44rem 34rem at 18% 48%, rgba(194, 151, 79, .12), transparent 67%),
    radial-gradient(36rem 28rem at 92% 12%, rgba(63, 126, 164, .13), transparent 72%),
    linear-gradient(145deg, #10212D 0%, #10212D 58%, #10212D 100%);
}
.media-network::after {
  content: "ARC";
  position: absolute;
  right: -1.5rem;
  bottom: -5.5rem;
  color: rgba(255,255,255,.018);
  font-family: var(--font-serif);
  font-size: clamp(13rem, 30vw, 34rem);
  line-height: .72;
  letter-spacing: -.08em;
  pointer-events: none;
}
.media-network .media-split { position: relative; z-index: 1; gap: clamp(3rem, 8vw, 8rem); }
.media-network__emblem {
  position: relative;
  min-height: clamp(22rem, 38vw, 34rem);
  overflow: hidden;
  border-color: rgba(240, 221, 178, .19);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(240, 221, 178, .11), transparent 39%),
    rgba(4, 13, 21, .58);
  box-shadow: 0 38px 110px rgba(0,0,0,.32), inset 0 0 0 1.4rem rgba(255,255,255,.012);
}
.media-network__emblem::before,
.media-network__emblem::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(240, 221, 178, .13);
  border-radius: 50%;
  pointer-events: none;
}
.media-network__emblem::before { inset: 8%; }
.media-network__emblem::after {
  inset: 16%;
  border-right-color: rgba(240, 221, 178, .48);
  border-bottom-color: transparent;
  transform: rotate(120deg);
}
.media-network__emblem img {
  position: relative;
  z-index: 1;
  width: min(16rem, 48%);
  max-width: none;
  max-height: none;
  filter: drop-shadow(0 12px 35px rgba(0,0,0,.28));
  opacity: .95;
}
.media-network .flow { position: relative; }
.media-network .flow::before {
  content: "";
  position: absolute;
  top: .15rem;
  bottom: .15rem;
  left: clamp(-4rem, -5vw, -2rem);
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(240,221,178,.42), transparent);
}
.media-network h2 { max-width: 11ch; font-size: clamp(3rem, 5.7vw, 6rem); }
.media-network .flow > p:not(.eyebrow) { max-width: 34rem; color: rgba(220,228,234,.73); font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.75; }

.portfolio-immersive { box-shadow: inset 0 -1px rgba(240,221,178,.08); }
.portfolio-immersive__foot { padding-bottom: clamp(5.5rem, 9vw, 8.5rem); }

/* Material atlas -------------------------------------------------------
 * A single photographic signature inspired by spatial galleries and
 * scroll-driven grids. The content stays fully readable without JavaScript.
 */
.material-atlas {
  position: relative;
  z-index: 0;
  isolation: isolate;
  min-height: auto;
  padding: clamp(6rem, 10vw, 9rem) 0;
  overflow: clip;
  color: var(--ivory);
  background:
    radial-gradient(54rem 38rem at 72% 34%, rgba(33, 104, 137, .12), transparent 72%),
    radial-gradient(42rem 32rem at 24% 76%, rgba(200, 169, 111, .11), transparent 72%),
    #10212D;
}
.material-atlas__stage {
  position: relative;
  min-height: auto;
  overflow: visible;
  isolation: isolate;
}
.material-atlas__stage::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,7,11,.52), transparent 24%, transparent 82%, rgba(2,7,11,.5));
  pointer-events: none;
}
.material-atlas__glow {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: min(80vw, 72rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226, 198, 142, .13), transparent 64%);
  filter: blur(40px);
  opacity: .78;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.material-atlas__heading {
  position: relative;
  z-index: 8;
  top: auto;
  left: auto;
  width: min(calc(100% - 3rem), var(--container));
  margin: 0 auto clamp(2.6rem, 5vw, 4.5rem);
  pointer-events: none;
}
.material-atlas__heading h2 {
  max-width: 13ch;
  margin-top: .75rem;
  font-size: clamp(2.9rem, 5.8vw, 6.6rem);
  line-height: .95;
  text-wrap: balance;
  text-shadow: 0 8px 36px rgba(0,0,0,.48);
}
.material-atlas__heading > p:last-child {
  margin-top: 1.25rem;
  color: rgba(220,228,234,.68);
  font-size: .78rem;
  letter-spacing: .06em;
}
.material-atlas__grid {
  position: relative;
  z-index: 2;
  inset: auto;
  display: grid;
  width: min(calc(100% - 3rem), var(--container));
  margin: 0 auto;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(4, clamp(10rem, 14vw, 16rem));
  gap: clamp(.42rem, .75vw, .8rem);
  perspective: none;
}
.material-atlas__tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: clamp(.45rem, .75vw, .85rem);
  background: #10212D;
  box-shadow: 0 24px 65px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.05);
}
.material-atlas__tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(2,7,11,.76));
  opacity: .42;
  pointer-events: none;
  transition: opacity .35s ease;
}
.material-atlas__tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  transition: transform .65s var(--ease-luxe), filter .45s ease;
}
.material-atlas__tile figcaption {
  position: absolute;
  z-index: 2;
  right: .7rem;
  bottom: .58rem;
  left: .7rem;
  overflow: hidden;
  color: rgba(245,247,249,.82);
  font-size: .72rem;
  font-weight: 720;
  letter-spacing: .08em;
  line-height: 1.35;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(.35rem);
  transition: opacity .35s ease, transform .35s ease;
}
.material-atlas__tile:hover { z-index: 3; border-color: rgba(240,221,178,.38); }
.material-atlas__tile:hover::after { opacity: .7; }
.material-atlas__tile:hover img { filter: saturate(1.08) contrast(1.03); transform: scale(1.075); }
.material-atlas__tile:hover figcaption { opacity: 1; transform: none; }
.material-atlas__tile--01 { grid-column: 1; grid-row: 1 / 3; }
.material-atlas__tile--02 { grid-column: 2 / 5; grid-row: 1; }
.material-atlas__tile--03 { grid-column: 5 / 7; grid-row: 1; }
.material-atlas__tile--04 { grid-column: 2; grid-row: 2 / 4; }
.material-atlas__tile--05 { grid-column: 3 / 5; grid-row: 2; }
.material-atlas__tile--06 { grid-column: 5; grid-row: 2 / 4; }
.material-atlas__tile--07 { grid-column: 6; grid-row: 2; }
.material-atlas__tile--08 { grid-column: 1; grid-row: 3 / 5; }
.material-atlas__tile--09 { grid-column: 3; grid-row: 3 / 5; }
.material-atlas__tile--10 { grid-column: 4; grid-row: 3 / 5; }
.material-atlas__tile--11 { grid-column: 6; grid-row: 3 / 5; }
.material-atlas__tile--12 { grid-column: 2; grid-row: 4; }
.material-atlas__tile--12 img { object-fit: contain; padding: 5%; background: #000; }
.material-atlas__phases {
  position: relative;
  z-index: 9;
  bottom: auto;
  left: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(calc(100% - 3rem), var(--container));
  min-height: 0;
  margin: clamp(2.6rem, 5vw, 4.5rem) auto 0;
  gap: clamp(1.2rem, 3vw, 2.5rem);
  pointer-events: none;
}
.material-atlas__phase {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: .22rem .9rem;
  align-content: end;
  opacity: 1;
  transform: none;
}
.material-atlas__phase:first-child { opacity: 1; transform: none; }
.material-atlas__phase span {
  grid-row: 1 / 3;
  padding-top: .2rem;
  color: var(--champagne-deep);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.material-atlas__phase p {
  margin: 0;
  color: rgba(220,228,234,.62);
  font-size: .66rem;
  font-weight: 760;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.material-atlas__phase strong {
  max-width: 26ch;
  color: var(--ivory);
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 520;
  line-height: 1.12;
}
.material-atlas__meter {
  display: none;
  position: absolute;
  z-index: 9;
  right: max(1.35rem, calc((100vw - var(--container)) / 2));
  bottom: clamp(2.3rem, 5vh, 4rem);
  width: 1px;
  height: min(22vh, 10rem);
  overflow: hidden;
  background: rgba(255,255,255,.15);
}
.material-atlas__meter span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--champagne-2), rgba(143,197,222,.78));
  transform: scaleY(0);
  transform-origin: top;
}
.material-atlas.is-enhanced.is-atlas-active .material-atlas__heading,
.material-atlas.is-enhanced.is-atlas-active .material-atlas__phase { will-change: opacity, transform; }

/* The desktop scene owns a real scroll range. The stage is sticky inside
 * that range, so it can never remain fixed over the next page section. */
@media (min-width: 64.0625rem) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .material-atlas.is-enhanced {
    height: 400svh;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }
  .material-atlas.is-enhanced .material-atlas__stage {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 100svh;
    overflow: hidden;
  }
  .material-atlas.is-enhanced .material-atlas__stage::before {
    background:
      linear-gradient(90deg, rgba(2,7,11,.86) 0%, rgba(2,7,11,.36) 28%, transparent 55%),
      linear-gradient(180deg, rgba(2,7,11,.5), transparent 24%, transparent 72%, rgba(2,7,11,.72));
  }
  .material-atlas.is-enhanced .material-atlas__heading {
    position: absolute;
    top: clamp(6.4rem, 12vh, 9rem);
    left: max(1.5rem, calc((100vw - var(--container)) / 2));
    width: min(38rem, calc(100vw - 3rem));
    margin: 0;
  }
  .material-atlas.is-enhanced .material-atlas__grid {
    position: absolute;
    inset: clamp(5rem, 8vh, 7rem) clamp(1rem, 3.4vw, 4rem) clamp(4.6rem, 8vh, 6.5rem) clamp(1rem, 3.4vw, 4rem);
    width: auto;
    margin: 0;
    grid-template-rows: repeat(4, minmax(0, 1fr));
    perspective: 1600px;
    transform-style: preserve-3d;
  }
  .material-atlas.is-enhanced .material-atlas__tile {
    transform-style: preserve-3d;
  }
  .material-atlas.is-enhanced.is-atlas-active .material-atlas__grid { will-change: transform; }
  .material-atlas.is-enhanced.is-atlas-active .material-atlas__tile { will-change: transform, opacity, clip-path; }
  .material-atlas.is-enhanced .material-atlas__phases {
    position: absolute;
    bottom: clamp(2rem, 4.8vh, 3.8rem);
    left: max(1.5rem, calc((100vw - var(--container)) / 2));
    display: block;
    width: min(34rem, calc(100vw - 6rem));
    min-height: 5.5rem;
    margin: 0;
  }
  .material-atlas.is-enhanced .material-atlas__phase {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(1rem);
  }
  .material-atlas.is-enhanced .material-atlas__phase:first-child {
    opacity: 1;
    transform: none;
  }
  .material-atlas.is-enhanced .material-atlas__meter {
    display: block;
  }
}

@media (max-width: 64rem) {
  .material-atlas { min-height: auto; padding: clamp(5rem, 12vw, 7rem) 0; }
  .material-atlas__stage { min-height: auto; overflow: visible; }
  .material-atlas__stage::before { background: linear-gradient(180deg, rgba(2,7,11,.52), transparent 24%, transparent 82%, rgba(2,7,11,.5)); }
  .material-atlas__heading { position: relative; top: auto; left: auto; width: min(calc(100% - 2rem - var(--safe-left) - var(--safe-right)), var(--container)); margin: 0 auto 2.6rem; }
  .material-atlas__heading h2 { max-width: 13ch; font-size: clamp(2.9rem, 10vw, 5.3rem); }
  .material-atlas__grid {
    position: relative;
    inset: auto;
    display: flex;
    gap: .85rem;
    padding-left: max(calc(1rem + var(--safe-left)), calc((100vw - var(--container)) / 2));
    padding-right: max(calc(1rem + var(--safe-right)), calc((100vw - var(--container)) / 2));
    overflow-x: auto;
    perspective: none;
    scroll-padding-left: calc(1rem + var(--safe-left));
    scroll-padding-right: calc(1rem + var(--safe-right));
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
    scrollbar-color: rgba(240,221,178,.46) rgba(255,255,255,.06);
  }
  .material-atlas__tile,
  .material-atlas__tile[class*="material-atlas__tile--"] {
    flex: 0 0 min(76vw, 26rem);
    aspect-ratio: 4 / 5;
    grid-column: auto;
    grid-row: auto;
    scroll-snap-align: center;
  }
  .material-atlas__tile--02,
  .material-atlas__tile--03,
  .material-atlas__tile--05,
  .material-atlas__tile--06,
  .material-atlas__tile--07,
  .material-atlas__tile--08,
  .material-atlas__tile--09,
  .material-atlas__tile--11 { aspect-ratio: 1 / 1; }
  .material-atlas__tile figcaption { opacity: 1; transform: none; }
  .material-atlas__phases { position: relative; bottom: auto; left: auto; display: grid; width: min(calc(100% - 2rem - var(--safe-left) - var(--safe-right)), var(--container)); min-height: 0; margin: 2.4rem auto 0; gap: 1.35rem; }
  .material-atlas__phase { position: relative; inset: auto; opacity: 1; transform: none; }
  .material-atlas__meter { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .material-atlas__tile,
  .material-atlas__tile img,
  .material-atlas__phase { transition: none; }
}

@keyframes media-orbit { to { transform: rotate(360deg); } }

@media (max-width: 58rem) {
  .press-card { min-height: 0; }
  .media-network .media-split { gap: 3rem; }
  .media-network__emblem { width: min(80vw, 32rem); min-height: auto; aspect-ratio: 1; margin-inline: auto; }
  .media-network .flow::before { display: none; }
  .media-network h2 { max-width: 12ch; }
}

@media (prefers-reduced-motion: reduce) {
  .press-card,
  .press-card::after { transition: none; }
  .media-network__emblem::after { animation: none; }
}

.horizontal-story__media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 2;
  padding: .68rem .8rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .6rem;
  color: rgba(244, 247, 249, .82);
  font-size: .68rem;
  line-height: 1.45;
  background: rgba(3, 9, 14, .64);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.footer-human-note {
  display: inline-flex;
  margin-top: .85rem;
  color: rgba(240, 221, 178, .74);
  font-size: .72rem;
  line-height: 1.5;
  text-decoration: none;
}
.footer-human-note:hover { color: var(--champagne-2); }
.footer-human-note:focus-visible {
  outline: 2px solid var(--champagne-2);
  outline-offset: .25rem;
  border-radius: .2rem;
}

@media (max-width: 62rem) {
  .alexandra-signature__grid { grid-template-columns: 1fr; }
  .alexandra-signature__media { min-height: clamp(19rem, 64vw, 32rem); }
  .alexandra-signature blockquote { max-width: 15ch; }
}

@media (max-width: 42rem) {
  .alexandra-note {
    width: min(calc(100% - 2rem), 72rem);
    margin-block: 2rem;
    padding: 1.3rem 1.15rem;
    border-radius: .9rem;
  }
  .container > .alexandra-note,
  .flow > .alexandra-note,
  .pathfinder__grid .alexandra-note,
  .page-hero .alexandra-note,
  .section-head .alexandra-note { width: 100%; }
  .alexandra-note blockquote { max-width: none; font-size: 1.42rem; line-height: 1.23; }
  .alexandra-note--compact blockquote,
  .alexandra-note--hero blockquote { font-size: 1.2rem; }
  .alexandra-note__meta,
  .alexandra-signature__author { display: grid; gap: .2rem; }
  .alexandra-note__meta span::before,
  .alexandra-signature__author span::before { display: none; }
  .alexandra-signature { padding-block: 4.5rem; }
  .alexandra-signature__grid { width: min(calc(100% - 2rem), var(--container)); gap: 2rem; }
  .alexandra-signature__media { min-height: 20rem; border-radius: 1.2rem; }
  .alexandra-signature blockquote { max-width: 12ch; font-size: clamp(2.65rem, 13vw, 4.15rem); }
  .horizontal-story__media figcaption { right: .7rem; bottom: .7rem; left: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .alexandra-note,
  .alexandra-signature__grid { scroll-behavior: auto; }
}

/* Alexandra's career — editorial scroll chronology ------------------- */
.career-section {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background:
    radial-gradient(48rem 34rem at 8% 18%, rgba(185, 227, 239, .075), transparent 72%),
    radial-gradient(42rem 30rem at 92% 78%, rgba(200, 169, 111, .07), transparent 70%),
    linear-gradient(155deg, #10212D 0%, #10212D 52%, #10212D 100%);
}
.career-section::before {
  content: "20";
  position: absolute;
  right: -2vw;
  top: 2rem;
  z-index: -1;
  color: transparent;
  font-family: var(--font-serif);
  font-size: clamp(18rem, 38vw, 42rem);
  font-weight: 400;
  line-height: .8;
  -webkit-text-stroke: 1px rgba(240, 221, 178, .035);
  pointer-events: none;
  user-select: none;
}
.career-layout {
  display: grid;
  grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.18fr);
  gap: clamp(4rem, 9vw, 10rem);
  align-items: start;
}
.career-intro {
  position: sticky;
  top: clamp(7rem, 14vh, 10rem);
  padding-top: .35rem;
}
.career-intro h2 {
  max-width: 11ch;
  margin-top: 1rem;
  font-size: clamp(3rem, 5.7vw, 6.4rem);
  line-height: .96;
  text-wrap: balance;
}
.career-intro > p:not(.eyebrow) {
  max-width: 35rem;
  margin: 1.7rem 0 0;
  color: rgba(214, 224, 230, .72);
  font-size: clamp(.98rem, 1.25vw, 1.14rem);
  line-height: 1.72;
}
.career-span {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .8rem;
  align-items: center;
  max-width: 24rem;
  margin-top: clamp(2.4rem, 5vw, 4.5rem);
  color: rgba(240, 221, 178, .56);
  font-size: .66rem;
  font-weight: 760;
  letter-spacing: .14em;
}
.career-span i {
  position: relative;
  height: 1px;
  overflow: visible;
  background: linear-gradient(90deg, rgba(200,169,111,.8), rgba(185,227,239,.18));
}
.career-span i::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: .38rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--champagne-2);
  box-shadow: 0 0 1rem rgba(215, 173, 99, .68);
  transform: translateY(-50%);
}
.career-chronology { position: relative; }
.career-rail {
  position: absolute;
  top: 1.35rem;
  bottom: 2.5rem;
  left: 1.28rem;
  width: 1px;
  overflow: hidden;
  background: rgba(240, 221, 178, .12);
}
.career-rail span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--champagne-2), #AAB9C4 72%, rgba(148,207,226,.2));
  box-shadow: 0 0 .8rem rgba(215, 173, 99, .55);
  transform: scaleY(var(--career-progress, 0));
  transform-origin: 50% 0;
  will-change: transform;
}
.career-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.career-step {
  position: relative;
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: clamp(1.4rem, 3vw, 2.5rem);
  min-height: 13.5rem;
  padding: 0 0 clamp(3.8rem, 7vw, 6.5rem);
}
.career-step:last-child { min-height: 0; padding-bottom: 0; }
.career-step__marker {
  position: relative;
  z-index: 2;
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border: 1px solid rgba(240, 221, 178, .18);
  border-radius: 50%;
  color: rgba(214, 224, 230, .72);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .08em;
  background: #10212D;
  box-shadow: 0 0 0 .48rem rgba(4, 12, 19, .82);
  transition: color .45s ease, border-color .45s ease, background .45s ease, box-shadow .45s ease, transform .55s var(--ease-luxe);
}
.career-step__content {
  position: relative;
  padding: 0 0 2rem;
  border-bottom: 1px solid rgba(240, 221, 178, .1);
  opacity: .88;
  transform: translate3d(0, .65rem, 0);
  transition: opacity .55s ease, transform .65s var(--ease-luxe), border-color .55s ease;
}
.career-step__content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--champagne-2));
  transition: width .7s var(--ease-luxe);
}
.career-step time {
  display: block;
  margin-bottom: .72rem;
  color: rgba(240, 221, 178, .58);
  font-size: .68rem;
  font-weight: 780;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.career-step h3 {
  max-width: 25ch;
  font-size: clamp(1.55rem, 2.45vw, 2.5rem);
  line-height: 1.08;
  text-wrap: balance;
}
.career-step p {
  max-width: 42rem;
  margin: .85rem 0 0;
  color: rgba(214, 224, 230, .66);
  font-size: clamp(.9rem, 1.05vw, 1rem);
  line-height: 1.7;
}
.career-step.is-active .career-step__marker {
  border-color: rgba(240, 221, 178, .74);
  color: #10212D;
  background: linear-gradient(135deg, #C8A976, #506575);
  box-shadow: 0 0 0 .48rem rgba(4, 12, 19, .82), 0 0 1.5rem rgba(215, 173, 99, .34);
  transform: scale(1.06);
}
.career-step.is-active .career-step__content {
  border-color: rgba(240, 221, 178, .24);
  opacity: 1;
  transform: none;
}
.career-step.is-active .career-step__content::after { width: min(12rem, 35%); }
.career-step--signature .career-step__content {
  margin-top: -.2rem;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  border: 1px solid rgba(240, 221, 178, .16);
  border-radius: 1.25rem;
  background:
    linear-gradient(125deg, rgba(200, 169, 111, .11), transparent 52%),
    rgba(9, 25, 39, .74);
  box-shadow: 0 28px 80px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.04);
}
.career-step--signature .career-step__content::after { display: none; }
.career-step--signature h3 { color: var(--champagne-2); }

@media (max-width: 62rem) {
  .career-layout { grid-template-columns: 1fr; gap: 4.5rem; }
  .career-intro { position: relative; top: auto; }
  .career-intro h2 { max-width: 13ch; }
  .career-span { max-width: none; }
  .career-step { min-height: 11rem; }
}

@media (max-width: 42rem) {
  .career-section { padding-block: 5rem; }
  .career-section::before { top: 1rem; right: -2rem; font-size: 19rem; }
  .career-layout { gap: 3.4rem; }
  .career-intro h2 { font-size: clamp(2.8rem, 13vw, 4.15rem); }
  .career-intro > p:not(.eyebrow) { font-size: .95rem; }
  .career-rail { left: 1.05rem; }
  .career-step { grid-template-columns: 2.15rem minmax(0, 1fr); gap: 1.15rem; min-height: 0; padding-bottom: 3.8rem; }
  .career-step__marker { width: 2.15rem; height: 2.15rem; box-shadow: 0 0 0 .34rem rgba(4, 12, 19, .84); }
  .career-step.is-active .career-step__marker { box-shadow: 0 0 0 .34rem rgba(4, 12, 19, .84), 0 0 1.2rem rgba(215, 173, 99, .3); }
  .career-step h3 { font-size: 1.55rem; }
  .career-step p { font-size: .88rem; line-height: 1.64; }
  .career-step--signature .career-step__content { padding: 1.25rem; border-radius: .95rem; }
}

@media (prefers-reduced-motion: reduce) {
  .career-rail span { transform: scaleY(1); }
  .career-step__marker,
  .career-step__content,
  .career-step__content::after { transition: none; }
  .career-step__content { opacity: 1; transform: none; }
}

/* LOT 3 — the hero copy keeps a stable contrast over moving imagery. */
.hero-cinematic__veil {
  background:
    linear-gradient(90deg, rgba(2, 6, 10, .95) 0%, rgba(2, 6, 10, .87) 38%, rgba(2, 6, 10, .58) 62%, rgba(2, 6, 10, .16) 100%),
    linear-gradient(0deg, #10212D 0%, rgba(3, 7, 12, .68) 24%, transparent 64%),
    radial-gradient(50rem 36rem at 87% 43%, rgba(193, 225, 235, .08), transparent 67%);
}

@media (max-width: 42rem) {
  .hero-cinematic__veil {
    background:
      linear-gradient(90deg, rgba(2, 6, 10, .97), rgba(2, 6, 10, .78) 72%, rgba(2, 6, 10, .46)),
      linear-gradient(0deg, #10212D 0%, rgba(3, 7, 12, .78) 30%, transparent 72%);
  }
}

/* Progressive enhancement: when scripts are unavailable, keep every chapter
   readable and remove controls that would otherwise have no action. */
html:not(.js) .hero-video-toggle,
html:not(.js) .horizontal-story__controls,
html:not(.js) .horizontal-story__progress,
html:not(.js) .proof-filters,
html:not(.js) .pathfinder__choices,
html:not(.js) .pathfinder__result,
html:not(.js) .portfolio-immersive__controls,
html:not(.js) [data-copy-request] {
  display: none;
}
html:not(.js) .horizontal-story__viewport {
  overflow: visible;
}
html:not(.js) .horizontal-story__track {
  display: grid;
  width: auto;
  padding-inline: 0;
  transform: none;
}
html:not(.js) .horizontal-story__panel {
  width: 100%;
  max-width: none;
  min-height: 0;
  opacity: 1;
  transform: none;
}
html:not(.js) .portfolio-immersive__viewport {
  scrollbar-width: auto;
}
html:not(.js) .portfolio-immersive__viewport::-webkit-scrollbar {
  display: block;
}

/* Macro reading — a fixed reference image, four precise cues and a loupe.
   The oversized word remains decorative, but now names the phenomenon being
   observed instead of describing the interface. */
.macro-reading {
  isolation: isolate;
  overflow: hidden;
  color: #F2F0EB;
  background:
    radial-gradient(60rem 46rem at 78% 44%, rgba(31, 99, 142, .18), transparent 66%),
    linear-gradient(150deg, #10212D 0%, #10212D 55%, #10212D 100%);
}
.macro-reading::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -20rem;
  right: -24rem;
  width: 58rem;
  aspect-ratio: 1;
  border: 1px solid rgba(185, 227, 239, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(185, 227, 239, .018), 0 0 0 8rem rgba(200, 169, 111, .012);
  pointer-events: none;
}
.macro-reading::after {
  content: attr(data-backdrop-word);
  position: absolute;
  z-index: 0;
  top: .03em;
  right: -.065em;
  color: rgba(255, 255, 255, .022);
  font-family: var(--font-serif);
  font-size: clamp(10rem, 24vw, 27rem);
  letter-spacing: -.085em;
  line-height: .75;
  white-space: nowrap;
  pointer-events: none;
}
html[lang="en"] .macro-reading::after { font-size: clamp(8rem, 19vw, 22rem); }
.macro-reading > .container { position: relative; z-index: 1; }
.macro-reading__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .55fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5.5rem);
}
.macro-reading__intro h2 {
  max-width: 15ch;
  color: #F2F0EB;
  font-size: clamp(3rem, 5.6vw, 6.2rem);
}
.macro-reading__intro p { max-width: 34rem; color: rgba(223, 230, 235, .68); }
.macro-reading__hint {
  padding: 1.2rem 1.3rem;
  border: 1px solid rgba(240, 221, 178, .16);
  border-radius: 1rem;
  color: rgba(240, 221, 178, .78) !important;
  background: rgba(255, 255, 255, .03);
  font-size: .78rem;
  line-height: 1.55;
}
.macro-reading__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(20rem, .66fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.macro-stage {
  --active-x: 31%;
  --active-y: 39%;
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 1;
  align-self: center;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .16);
  border-radius: clamp(1.6rem, 3vw, 2.8rem);
  background: radial-gradient(circle at 50% 50%, rgba(29, 64, 86, .42), rgba(0, 0, 0, .95) 67%), #000;
  box-shadow: 0 40px 130px rgba(0, 0, 0, .44), inset 0 1px rgba(255, 255, 255, .06);
  isolation: isolate;
}
.macro-stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, transparent 38%, rgba(0, 0, 0, .18) 74%, rgba(0, 0, 0, .65) 100%);
  pointer-events: none;
}
.macro-stage::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    radial-gradient(circle at var(--active-x) var(--active-y), rgba(239, 211, 151, .22), transparent 7.5rem),
    linear-gradient(112deg, transparent 20%, rgba(255, 255, 255, .06) 49%, transparent 53%);
  mix-blend-mode: screen;
  opacity: .82;
  pointer-events: none;
}
.macro-stage__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  filter: contrast(1.05) brightness(.94);
  transform: none;
}
.macro-labels { position: absolute; z-index: 5; inset: 0; }
.macro-label {
  position: absolute;
  top: var(--y);
  left: var(--x);
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, .78);
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.macro-label__dot {
  position: relative;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  background: rgba(3, 7, 12, .5);
  box-shadow: 0 0 0 .45rem rgba(255, 255, 255, .055);
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.macro-label__dot > span {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, .9);
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.macro-label__dot::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .22;
}
.macro-label__text {
  position: absolute;
  top: var(--ty);
  left: var(--tx);
  width: max-content;
  max-width: 10rem;
  padding: .58rem .72rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: .7rem;
  color: inherit;
  background: rgba(3, 7, 12, .72);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .28);
  font-size: .68rem;
  font-weight: 730;
  letter-spacing: .04em;
  backdrop-filter: blur(12px);
  opacity: .74;
  transition: opacity .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.macro-label:hover .macro-label__dot,
.macro-label:focus-visible .macro-label__dot,
.macro-label.is-active .macro-label__dot {
  color: var(--champagne-2);
  border-color: var(--champagne-2);
  background: rgba(200, 169, 111, .18);
  box-shadow: 0 0 0 .5rem rgba(200, 169, 111, .1), 0 0 34px rgba(200, 169, 111, .28);
  transform: scale(1.16);
  animation: macro-point-cue .46s var(--ease-luxe) 1;
}
@keyframes macro-point-cue {
  0% { box-shadow: 0 0 0 0 rgba(240, 221, 178, .28); }
  100% { box-shadow: 0 0 0 .75rem rgba(240, 221, 178, 0), 0 0 34px rgba(200, 169, 111, .28); }
}
.macro-label.is-active .macro-label__text {
  color: #10212D;
  border-color: rgba(240, 221, 178, .65);
  background: linear-gradient(135deg, #C8A976, #C8A976);
  opacity: 1;
  transform: translateY(-2px);
}
.macro-label.is-active .macro-label__dot > span { color: #F2F0EB; }
.macro-stage__tools {
  position: absolute;
  z-index: 8;
  right: 1.1rem;
  bottom: 1.1rem;
  left: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  pointer-events: none;
}
.macro-stage__tools > * { pointer-events: auto; }
.loupe-toggle,
.loupe-close {
  min-height: 2.8rem;
  padding: .65rem .95rem;
  border: 1px solid rgba(240, 221, 178, .28);
  border-radius: 999px;
  color: rgba(255, 255, 255, .84);
  background: rgba(3, 7, 12, .64);
  font-size: .7rem;
  font-weight: 760;
  letter-spacing: .06em;
  cursor: pointer;
  backdrop-filter: blur(14px);
}
.macro-hint { margin: 0; color: rgba(255, 255, 255, .54); font-size: .68rem; }
.macro-stage__active { display: none; margin: 0; color: #C8A976; font-size: .75rem; font-weight: 760; letter-spacing: .04em; text-align: right; }
.loupe-stage { position: absolute; z-index: 7; inset: 0; pointer-events: none; }
.loupe-lens {
  --lx: 0px;
  --ly: 0px;
  position: absolute;
  width: clamp(9.8rem, 15vw, 13.5rem);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 50%;
  background-repeat: no-repeat;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55), 0 0 0 .55rem rgba(3, 7, 12, .46), inset 0 0 0 1px rgba(240, 221, 178, .6);
  opacity: 0;
  transform: translate3d(var(--lx), var(--ly), 0) scale(.85);
  transition: opacity .2s ease, transform .2s var(--ease-luxe);
}
.loupe-lens.is-active { opacity: 1; transform: translate3d(var(--lx), var(--ly), 0) scale(1); }
.macro-stage.is-loupe-mode { cursor: crosshair; }
.macro-stage.is-loupe-mode .macro-labels { opacity: 0; pointer-events: none; }
.macro-stage.is-loupe-mode .macro-hint { opacity: 0; }
.macro-stage.is-loupe-mode .loupe-toggle { display: none; }
.macro-cards { display: grid; gap: .75rem; align-content: center; }
.macro-card {
  position: relative;
  width: 100%;
  padding: clamp(1.2rem, 2vw, 1.65rem);
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .12);
  border-radius: 1.1rem;
  color: inherit;
  background: rgba(255, 255, 255, .032);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .28s ease, background .28s ease, transform .28s var(--ease-luxe), box-shadow .28s ease;
}
.macro-card::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--champagne);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .35s var(--ease-luxe);
}
.macro-card:hover,
.macro-card.is-active {
  border-color: rgba(240, 221, 178, .35);
  background: linear-gradient(115deg, rgba(200, 169, 111, .11), rgba(255, 255, 255, .035));
  box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
  transform: translateX(.45rem);
}
.macro-card.is-active::after { transform: scaleY(1); }
.macro-card__head { display: flex; align-items: baseline; gap: .85rem; }
.macro-card__index { color: var(--champagne-2); font-size: .66rem; font-weight: 800; letter-spacing: .14em; }
.macro-card__title { font-family: inherit; font-size: 1.05rem; font-weight: 740; letter-spacing: -.012em; }
.macro-card__description { display: block; margin: .55rem 0 0 2.15rem; color: rgba(220, 228, 233, .63); font-size: .82rem; line-height: 1.55; }

@media (max-width: 70rem) {
  .macro-reading__grid { grid-template-columns: minmax(0, 1.2fr) minmax(17rem, .8fr); }
}

@media (max-width: 58rem) {
  .macro-reading__intro,
  .macro-reading__grid { grid-template-columns: 1fr; }
  .macro-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .macro-card:hover,
  .macro-card.is-active { transform: translateY(-.2rem); }
}

@media (max-width: 42rem) {
  .macro-reading::after { top: .15em; font-size: 9rem; }
  html[lang="en"] .macro-reading::after { font-size: 6.7rem; }
  .macro-label__text { display: none; }
  .macro-stage__tools { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .macro-stage__active { display: block; }
  .macro-hint { display: none; }
  .macro-cards { grid-template-columns: 1fr; }
}

@media (pointer: coarse) {
  .macro-stage.is-loupe-mode { touch-action: none; }
}

@media (prefers-reduced-motion: reduce) {
  .macro-label__dot,
  .macro-label__text,
  .loupe-lens,
  .macro-card,
  .macro-card::after { transition: none; animation: none; }
}

/* Rotation lab — the moving sequence is a separate instrument from the
   loupe. The viewport itself is enhanced as an accessible slider so drag,
   arrow, Home and End controls all share the same position. */
.rotation-lab {
  isolation: isolate;
  overflow: clip;
  color: #10212D;
  background:
    radial-gradient(45rem 34rem at 88% 12%, rgba(164, 124, 61, .12), transparent 72%),
    linear-gradient(145deg, #F2F0EB 0%, #F2F0EB 100%);
}
.rotation-lab::before {
  content: attr(data-backdrop-word);
  position: absolute;
  z-index: 0;
  right: -.03em;
  bottom: -.26em;
  color: rgba(17, 31, 41, .025);
  font-family: var(--font-serif);
  font-size: clamp(11rem, 26vw, 30rem);
  letter-spacing: -.1em;
  line-height: .74;
  pointer-events: none;
}
.rotation-lab > .container { position: relative; z-index: 1; }
.rotation-lab__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .55fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.6rem, 6vw, 5.5rem);
}
.rotation-lab__intro .eyebrow { color: #506575; }
.rotation-lab__intro h2 {
  max-width: 13ch;
  color: #10212D;
  font-size: clamp(3.2rem, 6.1vw, 6.8rem);
  letter-spacing: -.065em;
  line-height: .9;
}
.rotation-lab__intro > div:last-child > p:first-child {
  max-width: 34rem;
  color: rgba(21, 34, 43, .72);
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  line-height: 1.72;
}
.rotation-lab__hint {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin-top: 1.4rem;
  color: #506575;
  font-size: .84rem;
  font-weight: 740;
  letter-spacing: .03em;
  line-height: 1.55;
}
.rotation-lab__hint span {
  display: grid;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid rgba(90, 65, 26, .22);
  border-radius: 50%;
}
.rotation-lab__instrument {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(240, 221, 178, .18);
  border-radius: clamp(1.25rem, 2.7vw, 2.35rem);
  color: #F2F0EB;
  background: #10212D;
  box-shadow: 0 50px 125px rgba(39, 31, 20, .23), 0 1px 0 rgba(255, 255, 255, .54);
}
.rotation-lab__figure {
  display: flex;
  min-width: 0;
  margin: 0;
  flex-direction: column;
  background: #10212D;
}
.rotation-lab__viewport {
  position: relative;
  min-height: 0;
  aspect-ratio: 16 / 9;
  flex: none;
  overflow: hidden;
  background: #000;
  cursor: ew-resize;
  touch-action: pan-y pinch-zoom;
  user-select: none;
}
.rotation-lab__viewport:focus-visible {
  outline: 2px solid #C8A976;
  outline-offset: -4px;
}
.rotation-lab__viewport::before,
.rotation-lab__viewport::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
}
.rotation-lab__viewport::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 4, 7, .34), transparent 20% 80%, rgba(1, 4, 7, .38)),
    linear-gradient(0deg, rgba(1, 4, 7, .55), transparent 30% 77%, rgba(1, 4, 7, .16));
}
.rotation-lab__viewport::after {
  top: 50%;
  left: 50%;
  width: min(46vw, 35rem);
  aspect-ratio: 1;
  border: 1px solid rgba(211, 229, 236, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(211, 229, 236, .012), 0 0 0 10rem rgba(211, 229, 236, .009);
  transform: translate(-50%, -50%);
}
.rotation-lab__viewport video {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  background: #000;
  transform: scale(1.002);
  transition: filter .35s ease, transform .55s var(--ease-luxe);
  pointer-events: none;
}
.rotation-lab__viewport.is-dragging video { filter: contrast(1.04) brightness(1.03); transform: scale(1.012); }
.rotation-lab__grid {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(rgba(219, 235, 241, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(219, 235, 241, .028) 1px, transparent 1px);
  background-size: clamp(2.8rem, 5vw, 4.5rem) clamp(2.8rem, 5vw, 4.5rem);
  mask-image: radial-gradient(circle at 50% 50%, #000, transparent 76%);
  pointer-events: none;
}
.rotation-lab__axis {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: .38rem;
  height: .38rem;
  border: 1px solid rgba(244, 224, 179, .78);
  border-radius: 50%;
  box-shadow: 0 0 0 .35rem rgba(244, 224, 179, .08), 0 0 1.5rem rgba(244, 224, 179, .2);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.rotation-lab__status,
.rotation-lab__drag-cue {
  position: absolute;
  z-index: 5;
  bottom: 1.25rem;
  padding: .62rem .8rem;
  border: 1px solid rgba(240, 221, 178, .16);
  border-radius: 999px;
  color: rgba(234, 240, 243, .7);
  background: rgba(2, 7, 11, .62);
  font-size: .75rem;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  pointer-events: none;
}
.rotation-lab__status { left: 1.25rem; }
.rotation-lab__drag-cue { right: 1.25rem; display: flex; align-items: center; gap: .55rem; }
.rotation-lab__drag-cue i {
  display: block;
  width: 1.4rem;
  height: 1px;
  background: currentColor;
  box-shadow: -.2rem 0 0 currentColor, .2rem 0 0 currentColor;
}
.rotation-lab__instrument.is-loading .rotation-lab__status::before {
  content: "";
  display: inline-block;
  width: .48rem;
  height: .48rem;
  margin-right: .48rem;
  border: 1px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rotation-loading .7s linear infinite;
}
@keyframes rotation-loading { to { transform: rotate(1turn); } }
.rotation-lab__figure figcaption {
  display: flex;
  min-height: 3.8rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.4rem;
  border-top: 1px solid rgba(240, 221, 178, .1);
  color: rgba(218, 228, 233, .65);
  font-size: .75rem;
  font-weight: 720;
  letter-spacing: .1em;
  text-transform: uppercase;
}
@media (max-width: 64rem) {
  .rotation-lab__intro { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 42rem) {
  .rotation-lab { padding-block: 5.8rem; }
  .rotation-lab::before { font-size: 17rem; }
  .rotation-lab__intro h2 { font-size: clamp(2.85rem, 13vw, 4.35rem); }
  .rotation-lab__instrument { margin-inline: -.55rem; border-radius: 1rem; }
  .rotation-lab__status,
  .rotation-lab__drag-cue { bottom: .75rem; padding: .52rem .65rem; font-size: .75rem; }
  .rotation-lab__status { left: .75rem; }
  .rotation-lab__drag-cue { right: .75rem; }
  .rotation-lab__figure figcaption { padding-inline: .9rem; font-size: .75rem; }
}

@media (max-width: 28rem) {
  .rotation-lab__drag-cue { display: none; }
  .rotation-lab__figure figcaption { align-items: flex-start; flex-direction: column; gap: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .rotation-lab__viewport video { transition: none; }
  .rotation-lab__instrument.is-loading .rotation-lab__status::before { animation: none; }
}

.rotation-lab__instrument:not(.is-enhanced) {
  grid-template-columns: 1fr;
  min-height: 0;
}
.rotation-lab__instrument:not(.is-enhanced) .rotation-lab__drag-cue,
.rotation-lab__instrument:not(.is-enhanced) .rotation-lab__status { display: none; }
.rotation-lab__instrument:not(.is-enhanced) .rotation-lab__viewport { aspect-ratio: 16 / 9; }

/* Three editorial doors replace three repeated teaser sections. */
.home-portals {
  overflow: clip;
  color: #F2F0EB;
  background:
    radial-gradient(60rem 38rem at 12% 16%, rgba(32, 102, 138, .14), transparent 72%),
    #10212D;
}
.home-portals__intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}
.home-portals__intro h2 {
  max-width: 9ch;
  color: #F2F0EB;
  font-size: clamp(3.3rem, 7vw, 7.2rem);
  letter-spacing: -.065em;
  line-height: .86;
}
.home-portals__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(19rem, .88fr);
  grid-template-rows: repeat(2, minmax(19rem, 1fr));
  gap: 1rem;
  min-height: clamp(48rem, 70vw, 66rem);
}
.home-portal {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 19rem;
  border: 1px solid rgba(240, 221, 178, .15);
  border-radius: clamp(1rem, 2.2vw, 1.8rem);
  color: #F2F0EB;
  background: #10212D;
  box-shadow: 0 34px 80px rgba(0, 0, 0, .26);
  text-decoration: none;
}
.home-portal--work { grid-row: 1 / 3; }
.home-portal img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.62) contrast(1.06) brightness(.78);
  transform: scale(1.015);
  transition: filter .7s ease, transform 1.05s cubic-bezier(.2,.7,.2,1);
}
.home-portal--work img { object-position: center 42%; }
.home-portal--business img { object-position: center 52%; }
.home-portal__veil {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(2, 7, 11, .96) 0%, rgba(2, 7, 11, .5) 42%, transparent 72%),
    linear-gradient(90deg, rgba(2, 7, 11, .52), transparent 58%);
}
.home-portal__index {
  position: absolute;
  top: clamp(1.2rem, 3vw, 2rem);
  left: clamp(1.2rem, 3vw, 2rem);
  color: rgba(240, 221, 178, .7);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.home-portal__copy {
  position: absolute;
  right: clamp(1.2rem, 3vw, 2.2rem);
  bottom: clamp(1.3rem, 3.5vw, 2.5rem);
  left: clamp(1.2rem, 3vw, 2.2rem);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.home-portal__copy strong {
  max-width: 13ch;
  color: #F2F0EB;
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 4.3vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .92;
}
.home-portal:not(.home-portal--work) .home-portal__copy strong { font-size: clamp(1.9rem, 3.1vw, 3.35rem); }
.home-portal__copy small {
  max-width: 31rem;
  margin-top: .8rem;
  color: rgba(222, 230, 234, .62);
  font-size: .8rem;
  line-height: 1.5;
}
.home-portal__arrow {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border: 1px solid rgba(240, 221, 178, .28);
  border-radius: 50%;
  color: #C8A976;
  background: rgba(3, 9, 14, .38);
  transition: color .25s ease, background .25s ease, transform .35s ease;
}
.home-portal:hover img,
.home-portal:focus-visible img { filter: saturate(.78) contrast(1.08) brightness(.88); transform: scale(1.055); }
.home-portal:hover .home-portal__arrow,
.home-portal:focus-visible .home-portal__arrow { color: #10212D; background: #C8A976; transform: rotate(45deg); }
.home-portal:focus-visible { outline: 2px solid #C8A976; outline-offset: .35rem; }

@media (max-width: 58rem) {
  .home-portals__grid { grid-template-columns: 1fr; grid-template-rows: minmax(34rem, 1.15fr) repeat(2, minmax(22rem, .75fr)); }
  .home-portal--work { grid-row: auto; }
}

@media (max-width: 42rem) {
  .home-portals__intro { display: block; }
  .home-portals__intro h2 { font-size: clamp(2.9rem, 13vw, 4.3rem); }
  .home-portals__grid { grid-template-rows: 32rem repeat(2, 21rem); }
  .home-portal__copy strong,
  .home-portal:not(.home-portal--work) .home-portal__copy strong { font-size: clamp(2rem, 10vw, 3rem); }
}

@media (prefers-reduced-motion: reduce) {
  .home-portal img,
  .home-portal__arrow { transition: none; }
}

.horizontal-story__panel[hidden] { display: none !important; }

/* Distinct page endings ------------------------------------------------
 * Each page family closes in its own register: technical project brief,
 * editorial conversation, downloadable press pack and B2B diagnostic.
 */

/* BeWatchmaker: a promise, then a precise technical entry brief. */
.bw-manifesto {
  padding-block: clamp(4.8rem, 9vw, 8.5rem);
  border-block: 1px solid rgba(240, 221, 178, .12);
  background:
    radial-gradient(45rem 30rem at 92% 8%, rgba(38, 101, 138, .17), transparent 70%),
    #10212D;
}
.bw-manifesto__statement {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
}
.bw-manifesto__copy h2 {
  max-width: 15ch;
  color: #F2F0EB;
  font-size: clamp(3.2rem, 6.4vw, 7rem);
  letter-spacing: -.06em;
  line-height: .92;
}
.bw-manifesto__statement > p {
  max-width: 34rem;
  margin: 0;
  padding: 1.1rem 0 1.1rem clamp(1.15rem, 2.5vw, 2rem);
  border-left: 1px solid rgba(240, 221, 178, .38);
  color: rgba(222, 230, 234, .72);
}
.bw-manifesto__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: clamp(3.5rem, 7vw, 6rem) 0;
  padding: 0;
  border-top: 1px solid rgba(240, 221, 178, .14);
}
.bw-manifesto__principles > div {
  min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.4rem) clamp(1rem, 2.4vw, 2rem) 0;
  border-left: 1px solid rgba(240, 221, 178, .11);
}
.bw-manifesto__principles > div:last-child { border-right: 1px solid rgba(240, 221, 178, .11); }
.bw-manifesto__principles dt {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #C8A976;
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.bw-manifesto__principles dt::before {
  content: "";
  width: .42rem;
  height: .42rem;
  flex: none;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.bw-manifesto__principles dd {
  max-width: 25rem;
  margin: 1rem 0 0;
  color: rgba(214, 224, 229, .61);
  font-size: .9rem;
}

.bw-project-brief {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 9vw, 8.5rem);
  background:
    radial-gradient(42rem 26rem at 88% 2%, rgba(36, 112, 151, .15), transparent 72%),
    #10212D;
}
.bw-project-brief__frame {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.2rem);
  border: 1px solid rgba(240, 221, 178, .2);
  border-radius: .55rem;
  background: rgba(5, 16, 25, .78);
  box-shadow: 0 36px 100px rgba(0, 0, 0, .34);
  isolation: isolate;
}
.bw-project-brief__frame::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(185, 227, 239, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(185, 227, 239, .08) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  mask-image: linear-gradient(100deg, transparent 12%, #000 100%);
}
.bw-project-brief__head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding-bottom: clamp(2.3rem, 5vw, 4.3rem);
}
.bw-project-brief__head h2 {
  max-width: 15ch;
  font-size: clamp(2.8rem, 5.3vw, 5.7rem);
  letter-spacing: -.055em;
  line-height: .94;
}
.bw-project-brief__head > p { max-width: 34rem; margin: 0; color: rgba(218, 227, 232, .67); }
.bw-project-brief__inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid rgba(240, 221, 178, .16);
}
.bw-project-brief__inputs > div {
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2.2rem);
  border-left: 1px solid rgba(240, 221, 178, .13);
}
.bw-project-brief__inputs > div:last-child { border-right: 1px solid rgba(240, 221, 178, .13); }
.bw-project-brief__inputs dt {
  color: #C8A976;
  font-size: .67rem;
  font-weight: 790;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.bw-project-brief__inputs dd { margin: 1rem 0 0; color: rgba(227, 233, 236, .74); font-size: .88rem; }
.bw-project-brief__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: clamp(1.7rem, 4vw, 3rem);
}
.bw-project-brief__action > span { color: rgba(202, 215, 222, .62); font-size: .75rem; letter-spacing: .04em; }

/* Atelier: an unboxed editorial last word. */
.atelier-closing {
  padding-block: clamp(5.5rem, 10vw, 10rem);
  color: #10212D;
  background: #F2F0EB;
}
.atelier-closing__grid {
  display: grid;
  grid-template-columns: 1fr;
  padding-block: clamp(2rem, 4vw, 3.5rem);
  border-block: 1px solid rgba(21, 34, 43, .2);
}
.atelier-closing__copy { max-width: 63rem; }
.atelier-closing__copy .eyebrow { color: #506575; }
.atelier-closing__copy h2 {
  max-width: 18ch;
  color: #10212D;
  font-size: clamp(3rem, 6.2vw, 6.7rem);
  letter-spacing: -.06em;
  line-height: .94;
}
.atelier-closing__copy > p:not(.eyebrow) { max-width: 47rem; margin: 1.6rem 0 0; color: #506575; }
.atelier-closing__link {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  gap: .7rem;
  margin-top: 2.2rem;
  border-bottom: 1px solid currentColor;
  color: #10212D;
  font-size: .78rem;
  font-weight: 790;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}
.atelier-closing__link svg { width: 1.05rem; transition: transform .25s ease; }
.atelier-closing__link:hover svg,
.atelier-closing__link:focus-visible svg { transform: translateX(.28rem); }

/* Media: a recognisable press-download object. */
.press-kit-zone {
  padding-block: clamp(5rem, 9vw, 9rem);
  color: #10212D;
  background:
    linear-gradient(90deg, rgba(113, 83, 43, .035) 1px, transparent 1px),
    #F2F0EB;
  background-size: 3.2rem 100%;
}
.press-kit-panel {
  display: grid;
  grid-template-columns: minmax(11rem, .34fr) minmax(0, 1.66fr);
  overflow: hidden;
  border: 1px solid rgba(30, 40, 47, .25);
  border-radius: .45rem;
  background: #F2F0EB;
  box-shadow: .9rem 1.1rem 0 rgba(49, 42, 31, .07), 0 38px 80px rgba(55, 43, 27, .12);
}
.press-kit-panel__marker {
  display: flex;
  min-height: 100%;
  justify-content: space-between;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  color: #F2F0EB;
  background:
    repeating-linear-gradient(135deg, transparent 0 14px, rgba(255, 255, 255, .025) 14px 15px),
    #10212D;
}
.press-kit-panel__marker span { font-size: .67rem; font-weight: 790; letter-spacing: .18em; text-transform: uppercase; }
.press-kit-panel__marker strong {
  font-family: var(--font-serif);
  font-size: clamp(4.8rem, 9vw, 8.5rem);
  font-weight: 400;
  letter-spacing: -.08em;
  line-height: .76;
}
.press-kit-panel__body { padding: clamp(2rem, 5.5vw, 5.2rem); }
.press-kit-panel__body .eyebrow { color: #506575; }
.press-kit-panel__body h2 { max-width: 18ch; color: #10212D; font-size: clamp(2.8rem, 5vw, 5.2rem); line-height: .94; }
.press-kit-panel__body > p:not(.eyebrow) { max-width: 48rem; margin: 1.4rem 0 0; color: #506575; }
.press-kit-panel__contents {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 2.2rem 0 0;
  padding: 0;
  border-block: 1px solid rgba(25, 37, 45, .16);
  list-style: none;
}
.press-kit-panel__contents li {
  min-width: 0;
  padding: 1rem clamp(.75rem, 2vw, 1.25rem);
  border-left: 1px solid rgba(25, 37, 45, .13);
  color: #10212D;
  font-size: .78rem;
  font-weight: 700;
}
.press-kit-panel__contents li:last-child { border-right: 1px solid rgba(25, 37, 45, .13); }
.press-kit-panel__credits { font-size: .75rem; }
.press-kit-panel__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 2rem; }
.press-kit-panel__contact {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: #10212D;
  font-size: .75rem;
  font-weight: 790;
  text-decoration: none;
}
.press-kit-panel__contact svg { width: 1rem; transition: transform .25s ease; }
.press-kit-panel__contact:hover svg,
.press-kit-panel__contact:focus-visible svg { transform: translateX(.25rem); }

/* Entreprises: a structured diagnostic sheet with three routes. */
.b2b-brief {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 9vw, 9rem);
  background:
    linear-gradient(rgba(185, 227, 239, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(185, 227, 239, .035) 1px, transparent 1px),
    #10212D;
  background-size: 3rem 3rem;
}
.b2b-brief__frame {
  padding-block: clamp(2.2rem, 4.5vw, 4rem);
  border-block: 1px solid rgba(240, 221, 178, .2);
}
.b2b-brief__head {
  display: grid;
  grid-template-columns: minmax(9rem, .35fr) minmax(0, 1.05fr) minmax(17rem, .6fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
}
.b2b-brief__code { align-self: start; margin: .25rem 0 0; color: rgba(185, 227, 239, .58); font-size: .65rem; font-weight: 780; letter-spacing: .16em; text-transform: uppercase; }
.b2b-brief__head h2 { max-width: 13ch; font-size: clamp(3rem, 5.6vw, 6rem); letter-spacing: -.06em; line-height: .92; }
.b2b-brief__head > p:last-child { max-width: 34rem; margin: 0; color: rgba(211, 222, 228, .68); }
.b2b-brief__fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(2.5rem, 5vw, 4.5rem) 0 0;
  border-block: 1px solid rgba(240, 221, 178, .14);
}
.b2b-brief__fields > div { min-width: 0; padding: clamp(1.2rem, 2.5vw, 2rem); border-left: 1px solid rgba(240, 221, 178, .12); }
.b2b-brief__fields > div:last-child { border-right: 1px solid rgba(240, 221, 178, .12); }
.b2b-brief__fields dt { color: #C8A976; font-size: .65rem; font-weight: 790; letter-spacing: .15em; text-transform: uppercase; }
.b2b-brief__fields dd { margin: .9rem 0 0; color: rgba(216, 226, 231, .65); font-size: .8rem; }
.b2b-brief__routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; border: 1px solid rgba(240, 221, 178, .14); }
.b2b-brief__routes a {
  position: relative;
  display: flex;
  min-height: 10.5rem;
  justify-content: flex-end;
  flex-direction: column;
  padding: clamp(1.25rem, 2.8vw, 2rem);
  border-right: 1px solid rgba(240, 221, 178, .14);
  color: #F2F0EB;
  background: rgba(7, 24, 36, .68);
  text-decoration: none;
  transition: color .25s ease, background .25s ease;
}
.b2b-brief__routes a:last-child { border-right: 0; }
.b2b-brief__routes span { margin-bottom: auto; color: rgba(185, 227, 239, .62); font-size: .62rem; font-weight: 780; letter-spacing: .13em; text-transform: uppercase; }
.b2b-brief__routes strong { max-width: 22ch; padding-right: 2.6rem; font-family: var(--font-serif); font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 400; line-height: 1.08; }
.b2b-brief__routes svg { position: absolute; right: 1.5rem; bottom: 1.55rem; width: 1.15rem; color: #C8A976; transition: transform .25s ease; }
.b2b-brief__routes a:hover,
.b2b-brief__routes a:focus-visible { color: #F2F0EB; background: rgba(18, 61, 84, .72); }
.b2b-brief__routes a:hover svg,
.b2b-brief__routes a:focus-visible svg { transform: translateX(.28rem); }

@media (max-width: 64rem) {
  .bw-manifesto__statement,
  .bw-project-brief__head { grid-template-columns: 1fr; gap: 1.7rem; }
  .bw-manifesto__statement > p { padding-block: .4rem; }
  .press-kit-panel { grid-template-columns: minmax(9rem, .3fr) minmax(0, 1.7fr); }
  .b2b-brief__head { grid-template-columns: minmax(8rem, .3fr) minmax(0, 1.1fr); }
  .b2b-brief__head > p:last-child { grid-column: 2; }
  .b2b-brief__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b2b-brief__fields > div:nth-child(2) { border-right: 1px solid rgba(240, 221, 178, .12); }
  .b2b-brief__fields > div:nth-child(-n + 2) { border-bottom: 1px solid rgba(240, 221, 178, .12); }
}

@media (max-width: 48rem) {
  .bw-manifesto__principles,
  .bw-project-brief__inputs { grid-template-columns: 1fr; }
  .bw-manifesto__principles > div,
  .bw-project-brief__inputs > div { border-right: 1px solid rgba(240, 221, 178, .11); border-bottom: 1px solid rgba(240, 221, 178, .11); }
  .bw-manifesto__principles > div:last-child,
  .bw-project-brief__inputs > div:last-child { border-bottom: 0; }
  .bw-project-brief__action { align-items: flex-start; flex-direction: column; }
  .atelier-closing__grid { grid-template-columns: 1fr; }
  .press-kit-panel { grid-template-columns: 1fr; }
  .press-kit-panel__marker { min-height: 10rem; align-items: flex-end; flex-direction: row; }
  .press-kit-panel__marker strong { font-size: 5rem; }
  .press-kit-panel__contents { grid-template-columns: 1fr; }
  .press-kit-panel__contents li { border-right: 1px solid rgba(25, 37, 45, .13); border-bottom: 1px solid rgba(25, 37, 45, .13); }
  .press-kit-panel__contents li:last-child { border-bottom: 0; }
  .b2b-brief__head { grid-template-columns: 1fr; }
  .b2b-brief__head > p:last-child { grid-column: auto; }
  .b2b-brief__routes { grid-template-columns: 1fr; }
  .b2b-brief__routes a { min-height: 9rem; border-right: 0; border-bottom: 1px solid rgba(240, 221, 178, .14); }
  .b2b-brief__routes a:last-child { border-bottom: 0; }
}

@media (max-width: 34rem) {
  .bw-project-brief__frame { padding-inline: 1.05rem; }
  .bw-project-brief__inputs > div { padding-inline: 1rem; }
  .atelier-closing__copy h2,
  .press-kit-panel__body h2,
  .b2b-brief__head h2 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .press-kit-panel__body { padding-inline: 1.3rem; }
  .b2b-brief__fields { grid-template-columns: 1fr; }
  .b2b-brief__fields > div { border-right: 1px solid rgba(240, 221, 178, .12); border-bottom: 1px solid rgba(240, 221, 178, .12); }
  .b2b-brief__fields > div:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .atelier-closing__link svg,
  .press-kit-panel__contact svg,
  .b2b-brief__routes a,
  .b2b-brief__routes svg { transition: none; }
}

/* Accessibility refinements from the final contrast and 320px audit. */
.proof-ledger__date { color: rgba(202, 212, 218, .72); font-size: .75rem; }
.portfolio-immersive__foot { color: rgba(255, 255, 255, .68); font-size: .75rem; }
.section-light :focus-visible {
  outline-color: #506575;
  box-shadow: 0 0 0 5px rgba(251, 248, 241, .92);
}
.field input::placeholder,
.field textarea::placeholder { color: #AAB9C4; opacity: 1; }

@media (max-width: 22rem) {
  .portfolio-book h3 { font-size: 2.75rem; overflow-wrap: anywhere; }
  .portfolio-book__copy,
  .portfolio-book:nth-child(even) .portfolio-book__copy { padding: 1.45rem; }
  .horizontal-story__copy h3 { font-size: 3.15rem; overflow-wrap: anywhere; }
  .press-kit-panel__body h2 { font-size: 2.58rem; overflow-wrap: anywhere; }
}
/* Art de l’Anglage — C3 / N1, charte adoptée le 5 septembre 2026. */
@font-face{font-family:"Instrument Serif";src:url("InstrumentSerif-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("InstrumentSerif-Italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url("Archivo-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url("Archivo-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{
 --ada-blue:#10212D;--ada-paper:#F2F0EB;--ada-silver:#AAB9C4;--ada-brass:#C8A976;--ada-slate:#506575;--ada-mist:#DDE3E7;
 --ink:var(--ada-blue);--ink-soft:var(--ada-blue);--navy:var(--ada-blue);--navy-2:var(--ada-blue);--night-blue:var(--ada-blue);--night-blue-2:var(--ada-blue);
 --ivory:var(--ada-paper);--paper:var(--ada-paper);--paper-2:var(--ada-mist);--steel:var(--ada-silver);--muted:var(--ada-silver);
 --champagne:var(--ada-brass);--champagne-2:var(--ada-brass);--champagne-deep:var(--ada-slate);--ice:var(--ada-silver);
 --font-serif:"Instrument Serif",Georgia,serif;--font-body:Archivo,Arial,sans-serif;--line:rgba(170,185,196,.3);--line-dark:rgba(80,101,117,.32);
}
html{background:var(--ada-blue);font-synthesis:none;scrollbar-color:var(--ada-silver) var(--ada-blue)}
body{font-family:var(--font-body);font-weight:400;font-stretch:100%;font-size:1.125rem;background:var(--ada-blue)}
body::before{display:none}
body .site-header{background:rgba(16,33,45,.96)!important}
body .main-nav{--line:rgba(170,185,196,.3)}
button,input,select,textarea{font-family:var(--font-body);font-synthesis:none}
strong,b,button,.btn,.main-nav,.lang-switch{font-weight:600}
body h1,body h2{font-family:var(--font-serif)!important;font-weight:400!important;letter-spacing:-.015em;line-height:1.08!important;text-wrap:balance}
body h1{font-size:clamp(2.75rem,5.5vw,5rem)!important}
body h2{font-size:clamp(2.1rem,3.8vw,3rem)!important}
body h3{font-family:var(--font-body);font-weight:600;line-height:1.3;letter-spacing:-.015em}
body h1 em,body h2 em{font-family:var(--font-serif);font-weight:400}
.brand-copy strong{font-family:var(--font-body);font-weight:600}
.main-nav a,.lang-switch a,.btn{font-family:var(--font-body);font-size:1rem;font-weight:600}
.main-nav a{min-height:44px;display:inline-flex;align-items:center}
.section-light,.ada-c3{background:var(--ada-paper);color:var(--ada-blue)}
.section-light :is(.section-intro,.lede,.eyebrow,.kicker,.muted,.fine-print){color:var(--ada-slate)}
.section-light .btn-primary{background:var(--ada-blue);color:var(--ada-paper);border-color:var(--ada-blue)}
.section-light .btn-secondary{color:var(--ada-blue);border-color:var(--ada-slate)}
.section-navy{background:var(--ada-blue)}
.training-price,.training-duration,.training-card h3,.availability-week h3,.home-proofbar strong,.proof-ledger__score strong{font-family:var(--font-body);font-weight:600;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.02em}
.training-card h3{line-height:1.12}
.training-card:hover{transform:translateY(-3px)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ada-brass);outline-offset:5px}
.section-light :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.ada-c3 :focus-visible{outline-color:var(--ada-blue)}
.ada-c3{font:400 1.125rem/1.6 var(--font-body);font-synthesis:none}
.ada-c3 .ada-wrap{width:min(78rem,calc(100% - 4rem));margin-inline:auto}
.ada-c3 .ada-section{padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--line-dark)}
.ada-c3 .ada-eyebrow{margin:0 0 1.1rem;font:600 .875rem/1.5 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ada-slate)}
.ada-c3 h2{max-width:23ch;margin:0 0 1.5rem;font-size:clamp(2.1rem,3.8vw,3rem);line-height:1.08}
.ada-c3 h3{margin:0 0 1rem;font:600 1.2rem/1.35 var(--font-body)}
.ada-c3 p{max-width:66ch;margin:0 0 1.25rem}
.ada-c3 .ada-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem;margin-top:2.5rem}
.ada-c3 .ada-item{padding:1.5rem 0 0;border-top:1px solid var(--ada-slate)}
.ada-c3 .ada-number{display:block;margin:0 0 1.3rem;color:var(--ada-slate);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.ada-c3 .ada-dark{padding:clamp(3rem,6vw,5rem) 0;background:var(--ada-blue);color:var(--ada-paper)}
.ada-c3 .ada-dark p{color:var(--ada-silver)}
.ada-c3 .ada-dark :is(.ada-eyebrow,.ada-number){color:var(--ada-brass)}
.ada-c3 .ada-dark .ada-item{border-color:var(--ada-silver)}
.ada-c3 .ada-capacity{display:grid;grid-template-columns:auto 1fr 1.5fr;gap:2rem;align-items:center;padding:3rem 0}
.ada-c3 .ada-capacity p{margin:0}
.ada-c3 .ada-big{font:600 3.5rem/1 var(--font-body);font-variant-numeric:tabular-nums;color:var(--ada-blue)}
.ada-c3 details{padding:1.25rem 0;border-top:1px solid var(--ada-slate)}
.ada-c3 details:last-child{border-bottom:1px solid var(--ada-slate)}
.ada-c3 summary{cursor:pointer;font-weight:600;padding:.25rem 0}
.ada-c3 details p{margin:1.25rem 0 0}
@media(max-width:76rem){
 body .main-nav{background:var(--ada-blue)!important}
 .main-nav a{font-size:1.05rem;width:100%}
 .main-nav a.nav-contact{padding:1rem .2rem;border:0;border-radius:0;background:transparent;color:var(--ada-paper)}
}
@media(max-width:58rem){
 .ada-c3 .ada-wrap{width:calc(100% - 2.5rem)}
 .ada-c3 .ada-capacity{grid-template-columns:auto 1fr;gap:1.25rem}
 .ada-c3 .ada-capacity p:last-child{grid-column:1/-1}
}
@media(max-width:40rem){
 body h1{font-size:clamp(2.25rem,10vw,3rem)!important;line-height:1.08}
 body h2{font-size:clamp(2rem,8.5vw,2.75rem)!important}
 .ada-c3 .ada-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}
 .ada-c3 .ada-section,.ada-c3 .ada-dark{padding-block:2.75rem}
 .ada-c3 .ada-wrap{width:calc(100% - 2.5rem)}
 .training-card,.training-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.training-card:hover{transform:none}}
/* C3 / N1 — composition 2026-09-05. Authentic photography, native reading. */
:root{--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-6:3rem;--space-8:4rem;--space-12:6rem;--reading:65ch;--radius:0px;--header-h:88px;--ease:cubic-bezier(.2,.65,.3,1);--duration:220ms}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{font-size:1.0625rem;line-height:1.65;font-stretch:100%;color:var(--ada-paper)}
body h1,body h2{letter-spacing:-.025em!important;text-wrap:pretty;max-width:22ch}
body h1{font-size:clamp(2.8rem,1.7rem + 4vw,6.2rem)!important;line-height:1.02!important}
body h2{font-size:clamp(2.2rem,1.5rem + 2.6vw,4.5rem)!important;line-height:1.08!important}
body h3{font-size:1.15rem;line-height:1.4}
p{max-width:var(--reading)}
img,video{filter:none!important}
.container{width:min(1280px,calc(100% - 6rem));max-width:1280px}
body .site-header{position:fixed;inset:0 0 auto;width:100%;height:var(--header-h);background:var(--ada-paper)!important;color:var(--ada-blue);border-bottom:1px solid var(--line-dark);box-shadow:none;backdrop-filter:none;transform:none!important}
.header-inner{height:100%;gap:2rem}
.brand img{width:48px;height:48px;box-shadow:none}
.brand-copy strong{font-size:1.05rem;color:var(--ada-blue)}
.brand-copy small{font-size:.75rem;color:var(--ada-slate);letter-spacing:.12em}
.main-nav a{color:var(--ada-blue);font-size:.875rem;letter-spacing:0}
.main-nav a:hover{color:var(--ada-blue);text-decoration:underline;text-underline-offset:.45rem}
.main-nav a::after{display:none}
.main-nav ul{gap:1.5rem}
.main-nav a.nav-contact{background:var(--ada-blue);color:var(--ada-paper);border:1px solid var(--ada-blue);border-radius:0;padding:.5rem 1rem}
.lang-switch{border:0;background:none;padding:0;gap:.25rem;box-shadow:none}
.lang-switch a{border-radius:0;color:var(--ada-slate);background:none;font-size:.875rem;min-width:44px;min-height:44px;display:grid;place-items:center;box-shadow:none}
.lang-switch a[aria-current=true]{color:var(--ada-blue);background:none;border-bottom:1px solid var(--ada-blue)}
.menu-toggle{color:var(--ada-blue);border:1px solid var(--line-dark);border-radius:0;min-width:48px;min-height:48px}
.light-intro,.page-transition-orbit,.chapter-rail,.chapter-progress{display:none!important}
.hero-cinematic{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;isolation:auto;background:var(--ada-paper);color:var(--ada-blue);padding:0;overflow:visible}
.hero-cinematic__content{grid-column:1;grid-row:1;position:relative;width:auto;max-width:none;padding:clamp(2.5rem,5vw,5rem) 3rem clamp(3rem,5vw,5rem) max(3rem,calc((100vw - 1280px)/2));z-index:1;align-self:center}
.hero-cinematic__media{grid-column:2;grid-row:1;position:relative;inset:auto;width:100%;height:auto;min-height:660px;z-index:0;background:var(--ada-blue)}
.hero-cinematic__media video,.hero-cinematic__fallback{inset:0;position:absolute;width:100%;height:100%;object-fit:cover;object-position:58% center;transform:none!important;z-index:1}
.hero-cinematic__media video{z-index:0}
.hero-video-ready .hero-cinematic__fallback{opacity:0;pointer-events:none}
.hero-cinematic__veil,.hero-cinematic__reflection,.hero-cinematic::before,.hero-cinematic::after{display:none!important}
.hero-cinematic__title{max-width:9ch!important;margin:1.35rem 0 1.5rem!important;width:auto}
.hero-cinematic__title span{display:block;white-space:normal!important}
.hero-cinematic__title .hero-accent{font-style:italic;font-weight:400;color:var(--ada-blue);font-size:inherit;max-width:none;line-height:inherit}
.hero-cinematic .eyebrow{color:var(--ada-slate);font-size:.75rem;line-height:1.6;letter-spacing:.1em;max-width:35ch;padding:0}
.hero-cinematic .eyebrow::before{display:none}
.hero-cinematic__lede{color:var(--ada-slate);font-size:1.05rem;max-width:41ch;line-height:1.7;margin:0 0 1.75rem}
.hero-cinematic .button-row{gap:.8rem;align-items:flex-start;flex-direction:column}
.hero-cinematic__meta{margin:2rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line-dark);gap:.5rem 1rem;display:flex;flex-wrap:wrap}
.hero-cinematic__meta li{border:0;border-radius:0;padding:0;background:none;color:var(--ada-slate);font-size:.8rem;letter-spacing:0}
.hero-cinematic__controls{position:absolute;z-index:3;left:auto;right:2rem;bottom:1.5rem;display:flex;max-width:40%;color:var(--ada-paper);background:var(--ada-blue);padding:.5rem 1rem;gap:.75rem}
.page-home main{padding-top:var(--header-h)}
body>main{padding-top:var(--header-h)}
.hero-cinematic>.hero-cinematic__content{width:100%;margin:0;justify-self:stretch;box-sizing:border-box}
.hero-cinematic .hero-cinematic__title{max-width:none!important;font-size:clamp(3.2rem,1.6rem + 4vw,5.7rem)!important;text-wrap:initial}
.hero-cinematic .hero-accent{margin:.1em 0 0;max-width:none!important}
.hero-scroll-cue{font-size:.75rem;letter-spacing:.04em}
.hero-scroll-cue::before{display:none}
.hero-video-toggle{font-size:.875rem;min-height:44px;border-radius:0;border-color:var(--ada-silver);color:var(--ada-paper)}
.button,.btn{min-height:48px;padding:.8rem 1.3rem;border-radius:0!important;box-shadow:none!important;font-size:.875rem!important;font-weight:600;letter-spacing:.01em;transition:background var(--duration),color var(--duration),transform var(--duration)}
.button-primary,.button-dark{background:var(--ada-brass);border:1px solid var(--ada-brass);color:var(--ada-blue)}
.hero-cinematic .button-primary,.page-hero .button-primary,.section-light .button-primary{background:var(--ada-blue);border-color:var(--ada-blue);color:var(--ada-paper)}
.hero-cinematic .button-secondary{background:none;color:var(--ada-blue);border:0;padding:.5rem 0;text-decoration:underline;text-underline-offset:5px}
.button::before,.button::after{display:none!important}
.button:hover{transform:translateY(-2px)}
.button-secondary{background:transparent;color:inherit;border:1px solid currentColor}
.button-text{background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding-inline:0}
.home-proofbar{background:var(--ada-blue);border:0}
.home-proofbar__grid>div,.home-proofbar__grid>a{min-height:116px;background:none;border-color:rgba(170,185,196,.3);padding:1.3rem 1.5rem;gap:1rem}
.home-proofbar strong{font-family:var(--font-serif);font-weight:400;color:var(--ada-paper);font-size:3rem;line-height:1}
.home-proofbar span{font-size:.875rem;font-weight:400;color:var(--ada-paper)}
.home-proofbar small{font-size:.75rem;color:var(--ada-silver);line-height:1.5}
.home-affiliation{background:var(--ada-blue);border-color:var(--line);box-shadow:none}
.section{padding-block:clamp(3.5rem,6.5vw,7rem)}
.section-head{align-items:start;margin-bottom:3rem}
.section-intro,.lede{font-size:1.0625rem;line-height:1.75}
.eyebrow,.kicker{font-size:.8125rem;line-height:1.5;font-weight:600;letter-spacing:.11em;color:var(--ada-brass)}
.eyebrow::before{width:24px;background:currentColor}
.section-light{background:var(--ada-paper);color:var(--ada-blue)}
.section-light :is(.eyebrow,.kicker,.fine-print,.training-status,.training-duration,.training-price,.training-proof,.button-text){color:var(--ada-slate)}
.surface,.training-card,.proof-card,.book-card,.quote-card,.contact-panel,.cta-band,.alexandra-note,.career-card,.availability-week{border-radius:0!important;box-shadow:none!important;background-image:none!important}
.surface::before,.surface::after,.training-card::before,.training-card::after,.cta-band::before,.cta-band::after,.page-hero::before,.page-hero::after,.bw-hero::before,.bw-hero__visual::after,.macro-stage::before,.macro-stage::after,.rotation-lab__grid,.rotation-lab__axis,[data-backdrop-word]::after{display:none!important}
.training-grid{gap:0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.training-card,.section-light .training-card{padding:2.25rem;min-width:0;border:0;border-right:1px solid var(--line-dark);background:transparent}
.training-card:last-child{border-right:0}
.training-card.reference,.section-light .training-card.reference{background:var(--ada-blue);color:var(--ada-paper)}
.training-card h3{font-family:var(--font-serif);font-size:3.6rem!important;font-weight:400!important;line-height:1.1;color:var(--ada-blue)}
.training-card.reference h3{color:var(--ada-paper)}
.training-card.reference :is(p,li,small,.training-status,.training-price,.training-duration,.training-proof,.button-text){color:var(--ada-silver)}
.training-card.reference .button-primary{background:var(--ada-paper);color:var(--ada-blue);border-color:var(--ada-paper)}
.training-status{font-size:.75rem;line-height:1.6;letter-spacing:.08em;text-transform:uppercase}
.training-duration{font-size:.875rem}
.training-price{font-size:1.15rem!important;font-weight:600}
.training-card:hover{transform:none!important}
.training-card:hover h3{font-style:italic}
.training-card.reference::before{display:none!important}
.training-facts :is(dt,dd){font-size:.875rem}
.fine-print,.training-proof{font-size:.875rem;line-height:1.65}
.training-extension{border-radius:0;background:var(--ada-mist);box-shadow:none}
.macro-reading,.rotation-lab,.progression-lab{background:var(--ada-blue);color:var(--ada-paper)}
.rotation-lab :is(h2,h3){color:var(--ada-paper)!important}
.rotation-lab :is(.rotation-lab__intro p,.rotation-lab__hint){color:var(--ada-silver)!important}
.rotation-lab .eyebrow{color:var(--ada-brass)!important}
.progression-lab__copy h2{color:var(--ada-paper)!important}
.progression-lab__copy p{color:var(--ada-silver)!important}
.progression-lab__copy .eyebrow{color:var(--ada-brass)!important}
.training-card.reference a:not(.button){color:var(--ada-silver)!important}
.training-card.reference :focus-visible{outline-color:var(--ada-brass)!important}
.material-atlas__phase span{color:var(--ada-brass)!important}
.macro-stage,.rotation-lab__viewport,.progression-stage{border-radius:0!important;box-shadow:none!important;border:1px solid var(--line);background:var(--ada-blue)}
.macro-stage__image{filter:none!important;opacity:1!important}
.macro-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:1.3rem 0;min-height:0;box-shadow:none}
.macro-card:hover,.macro-card.is-active{background:none;border-color:var(--ada-brass)}
.macro-card__title{font-family:var(--font-serif);font-size:1.7rem;font-weight:400}
.macro-card__description{font-size:.9375rem;color:var(--ada-silver)}
.macro-card__index{color:var(--ada-brass);font-size:.875rem}
.macro-label__dot{box-shadow:none;background:var(--ada-blue);border-color:var(--ada-paper);color:var(--ada-paper)}
.macro-label__text{background:var(--ada-blue);color:var(--ada-paper);border-radius:0;font-size:.75rem}
.loupe-lens{filter:none!important;box-shadow:0 0 0 2px var(--ada-paper)!important}
.macro-hint,.rotation-lab__hint,.rotation-lab__status{font-size:.875rem}
.rotation-controls{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1rem;border-top:1px solid var(--line);font-size:.875rem}
.rotation-controls input{width:100%;min-height:44px;accent-color:var(--ada-brass)}
.page-hero{min-height:0!important;padding:clamp(3rem,6vw,5.5rem) 0!important;background:var(--ada-paper)!important;color:var(--ada-blue);border-bottom:1px solid var(--line-dark)}
.page-hero h1{max-width:19ch;margin:1rem 0 1.5rem}
.page-hero .lede,.page-hero .breadcrumbs,.page-hero .eyebrow{color:var(--ada-slate)!important;text-shadow:none!important}
.page-hero h1{text-shadow:none!important}
.page-hero .button-secondary{color:var(--ada-blue);background:none;border-color:var(--ada-slate)}
.page-hero .container{display:block}
.page-hero .alexandra-note{color:var(--ada-blue);background:none;border:0;border-left:1px solid var(--ada-slate);padding:0 0 0 1.5rem;margin-top:2rem;max-width:60ch}
.page-hero .alexandra-note :is(p,span,blockquote){color:var(--ada-slate)}
.page-hero .alexandra-note__label{font-size:.75rem}
.page-hero .alexandra-note blockquote{font-size:1.125rem}
.page-hero--alexandra .page-hero__media{border-radius:0;box-shadow:none}
.page-hero--alexandra .page-hero__media::after{display:none}
.bw-hero,.proof-hero{background:var(--ada-blue);padding-block:4rem}
.bw-hero__visual,.proof-hero__visual{border-radius:0;box-shadow:none}
.bw-hero__visual::before{background:linear-gradient(0deg,rgba(16,33,45,.7),transparent 25%)}
.bw-hero__copy .lede{color:var(--ada-silver)}
.page-default[data-page=contact] .page-hero{padding-block:3rem!important}
.page-default[data-page=contact] .page-hero h1{max-width:25ch;font-size:clamp(2.4rem,1.5rem + 3vw,4rem)!important}
.page-default[data-page=contact] .page-hero .alexandra-note{display:none}
.form-shell{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:4rem;align-items:start}
.contact-panel{background:none;border:0;border-top:1px solid var(--line);padding:1.8rem 0;position:sticky;top:7rem}
.contact-list a{overflow-wrap:anywhere}
.contact-list small{font-size:.8125rem;color:var(--ada-silver)}
.contact-list{font-size:1rem}
.contact-form,.project-form{border-radius:0;box-shadow:none}
.field label{font-size:.9375rem;font-weight:600;color:var(--ada-paper)}
.field input,.field select,.field textarea{border-radius:0;border:1px solid var(--ada-silver);background:var(--ada-paper);color:var(--ada-blue);font-size:1rem;padding:.8rem 1rem;min-height:48px;max-width:100%}
.field input::placeholder,.field textarea::placeholder{color:var(--ada-slate);opacity:1}
.field-hint,.privacy-note{font-size:.875rem;color:var(--ada-silver);line-height:1.6}
.field-error{font-size:.875rem;color:var(--ada-paper);margin:.5rem 0 0;border-left:3px solid var(--ada-brass);padding-left:.75rem}
[aria-invalid=true]{outline:2px solid var(--ada-brass);outline-offset:2px}
[data-form-status]{font-size:1rem;scroll-margin-top:7rem}
.availability-grid{gap:1rem}
.availability-week{background:none;border:1px solid var(--line);padding:1.25rem}
.availability-status{font-size:.75rem;line-height:1.5;border-radius:0;background:var(--ada-mist);color:var(--ada-blue);box-shadow:none}
.availability-week--complete{opacity:.65}
.availability-week__dates,.availability-week__note{font-size:.875rem;line-height:1.5}
.availability-week__request{min-height:44px;font-size:.875rem;border-radius:0;color:var(--ada-paper);text-decoration:underline;text-underline-offset:4px}
.availability-more{border-radius:0}
.availability-more summary{min-height:48px;padding:1.2rem;font-size:1rem}
.progression-thumbs button{border-radius:0;box-shadow:none}
.progression-thumbs span{font-size:.8125rem;line-height:1.5}
.site-footer{background:var(--ada-blue);border-top:1px solid var(--line);color:var(--ada-silver)}
.site-footer :is(small,a,p){font-size:.875rem}
.site-footer .footer-brand{font-family:var(--font-serif);font-size:2rem}
.site-footer a{min-height:32px;display:inline-flex;align-items:center}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
body :focus-visible{outline:3px solid var(--ada-brass);outline-offset:5px}
.site-header :focus-visible,.hero-cinematic :focus-visible,.page-hero :focus-visible,.section-light :focus-visible,.horizontal-story :focus-visible{outline-color:var(--ada-blue)}
@media(max-width:76rem){
 .container{width:calc(100% - 3rem)}
 .header-inner{gap:1rem}
 body .main-nav{background:var(--ada-paper)!important;top:var(--header-h);border-bottom:1px solid var(--line-dark);color:var(--ada-blue);padding:1rem 1.5rem;max-height:calc(100dvh - var(--header-h));overflow:auto;box-shadow:none;backdrop-filter:none}
 .main-nav a{font-size:1.25rem;color:var(--ada-blue);width:100%;padding:.7rem 0}
 .main-nav a.nav-contact{color:var(--ada-blue);background:none}
 .hero-cinematic__content{padding-inline:1.5rem}
 .hero-cinematic__media{min-height:600px}
 .hero-cinematic__title{font-size:clamp(3.1rem,1.5rem + 4.5vw,5.5rem)!important}
 .training-card{padding:1.5rem}
 .form-shell{gap:2rem}
}
@media(max-width:48rem){
 :root{--header-h:76px}
 .brand-copy small{font-size:.625rem}.brand-copy strong{font-size:.875rem}
 .brand img{width:38px;height:38px}.brand{gap:.6rem}.header-inner{gap:.75rem}
 .hero-cinematic{grid-template-columns:1fr}
 .hero-cinematic__content{grid-column:1;grid-row:1;padding:2.5rem 1.5rem 2rem}
 .hero-cinematic__title{font-size:clamp(3.4rem,2.6rem + 4vw,5.2rem)!important;max-width:13ch!important;margin:1rem 0 1.5rem!important}
 .hero-cinematic__lede{font-size:1rem;max-width:40ch}
 .hero-cinematic__media{grid-column:1;grid-row:2;min-height:0;height:380px;max-height:90vw}
 .hero-cinematic__media img,.hero-cinematic__media video{object-position:center 44%}
 .hero-cinematic__controls{bottom:1rem;right:1rem;max-width:90%;padding:.25rem .75rem}
 .hero-cinematic__meta{margin-top:1.5rem;font-size:.75rem}
 .home-proofbar__grid{grid-template-columns:1fr 1fr}
 .home-proofbar__grid>div,.home-proofbar__grid>a{padding:1rem .75rem;min-height:120px;display:block}
 .home-proofbar strong{font-size:2.6rem;display:block;margin-bottom:.5rem}
 .home-proofbar span{font-size:.8rem}.home-proofbar small{font-size:.75rem}
 .home-proofbar a svg{display:none}
 .section-head{display:block}
 .section-head .button{margin-top:1.5rem}
 .training-grid{grid-template-columns:1fr}
 .training-card,.section-light .training-card{padding:2rem 1.5rem;border-right:0;border-bottom:1px solid var(--line-dark)}
 .training-card:last-child{border:0}
 .macro-reading__grid,.form-shell{grid-template-columns:1fr;gap:2rem}
 .contact-panel{position:static;padding-top:0;order:2}
 .field-grid{grid-template-columns:1fr}
 .form-shell form{min-width:0}
 .availability-grid{grid-template-columns:1fr 1fr;gap:.75rem}
 .availability-week{padding:1rem}.availability-week header{display:block}.availability-status{display:inline-block;margin-top:.5rem}
 .page-hero h1{max-width:18ch}
 .page-hero .lede{font-size:1rem}
 .page-hero .button-row{align-items:stretch}
 .section-intro{font-size:1rem}
 .main-nav{transition:none!important}
}
@media(max-width:24rem){.container{width:calc(100% - 2rem)}.brand-copy small{display:none}.brand-copy strong{max-width:9ch;display:block;line-height:1.3}.header-inner{gap:.5rem}.lang-switch{gap:0}.lang-switch a{min-width:36px}.hero-cinematic__content{padding-inline:1rem}.hero-cinematic__title{font-size:3.5rem!important}.availability-grid{grid-template-columns:1fr}.rotation-controls{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
@media print{.site-header,.site-footer,.hero-cinematic__controls,.button-row{display:none}body,.section,.page-hero,.horizontal-story{background:white!important;color:black!important}.hero-cinematic{display:block}.hero-cinematic__media{display:none}.reveal{opacity:1!important}a{color:inherit}h1,h2,h3{break-after:avoid}article,figure{break-inside:avoid}}
/* Optional measurement choices are always reachable, without a blocking banner. */
.analytics-choice{max-width:48rem;margin:2rem auto 0;padding:1rem;border-top:1px solid var(--ada-slate,#506575);font-size:.875rem;color:#F2F0EB}
.analytics-choice summary{min-height:44px;cursor:pointer;display:list-item;padding:.65rem 0}
.analytics-choice p{color:#F2F0EB;line-height:1.6}.analytics-choice button{min-height:44px;background:#F2F0EB;color:#10212D}
/* Long translated labels and text enlargement must reflow inside the page. */
.page-hero .eyebrow{overflow-wrap:anywhere;min-width:0;white-space:normal}
p,h1,h2,h3{overflow-wrap:break-word}
@media(max-width:40rem){.header-inner{gap:.5rem}.menu-toggle{width:48px;height:48px;flex:0 0 48px;padding:10px}.lang-switch{flex-shrink:0;gap:.25rem}.lang-switch a{width:44px;padding:0}}

/* Progressive enhancement and visible media failure. */
html.js .no-js-film,html:not(.js) [data-hero-video-toggle]{display:none}
.hero-cinematic__controls{flex-wrap:wrap}
.hero-media-status{flex-basis:100%;font-size:.8rem;line-height:1.5;max-width:36ch;margin:.25rem 0}
.hero-media-status:empty{display:none}
@media(max-width:76rem){html:not(.js) body>main{padding-top:0}}

/* Visitor journey: a single choice, a tangible workshop, a short first enquiry. */
.course-hero .container.course-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.course-hero h1{font-size:clamp(2.6rem,1.6rem + 3vw,4.8rem)!important;max-width:19ch}
.course-hero__media{margin:0;min-width:0}
.course-hero__media img{display:block;width:100%;height:auto;max-height:36rem;object-fit:contain}
.course-hero__media figcaption{color:var(--ada-slate);font-size:.8125rem;line-height:1.6;margin-top:.8rem}
.course-next-step{color:var(--ada-slate);font-size:.875rem;max-width:50ch;margin-top:1rem}
.course-shared-facts{color:var(--ada-slate);margin:0 0 1.5rem;line-height:1.8}
.course-proof{margin-top:2.5rem;padding:2rem 0 0;border-top:1px solid var(--line-dark);max-width:60ch}
.section-light .course-proof h3{color:var(--ada-blue)}
.professional-routes .route-card{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.professional-routes .route-card p{margin:0}
.professional-routes .route-card .button{margin-top:auto}
.route-detail{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;color:var(--ada-silver);font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.route-detail svg{width:1rem;height:1rem;flex:none}
.team-equipment{border-left:2px solid var(--ada-brass);padding-left:1rem}
.business-details .ada-section,.business-details .ada-dark{padding-block:2rem}
.business-details h2{font-size:clamp(1.6rem,2.4vw,2.25rem)!important;margin-bottom:.75rem}
.business-disclosure>summary{display:list-item;cursor:pointer;min-height:44px;padding:.65rem 0;font-size:.9375rem;line-height:1.5}
.business-disclosure[open]>summary{margin-bottom:1rem}
.form-shell{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.contact-intro{margin-bottom:1.75rem}
.contact-intro h2{color:var(--ada-paper);font-size:clamp(1.9rem,3vw,2.6rem)!important;line-height:1.15;margin:.5rem 0 1rem}
.contact-intro>p:not(.eyebrow){color:var(--ada-silver);font-size:1rem;line-height:1.65;max-width:55ch}
.contact-options{margin:1.5rem 0;border-block:1px solid var(--line);color:var(--ada-paper)}
.contact-options>summary{display:list-item;cursor:pointer;min-height:48px;padding:.85rem 0;line-height:1.5;font-size:.9375rem}
.contact-options>.form-grid{padding:1rem 0 1.5rem}
.field-planning-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--ada-silver);text-decoration:underline;text-underline-offset:4px}
.contact-form .field-hint{margin:.25rem 0 .75rem}
.contact-form [data-copy-request]{font-weight:400;color:var(--ada-silver)}
@media(max-width:60rem){.course-hero .container.course-hero__grid{grid-template-columns:minmax(0,1fr)}.course-hero__media{max-width:34rem}.course-hero__media img{max-height:28rem}.form-shell{grid-template-columns:minmax(0,1fr)}.contact-panel{position:static}}
/* C3 / N1 — restored movement. Photographs retain their original colours. */
.step{grid-template-columns:3.2rem minmax(0,1fr)}
.step.surface::before{display:grid!important;grid-column:1;grid-row:1}
.step>div{grid-column:2;grid-row:1;min-width:0}
.section-light .step::before{color:var(--ada-blue);border-color:var(--ada-brass)}

.horizontal-story{color:var(--ada-paper);padding-top:5rem;padding-bottom:0;background:radial-gradient(ellipse at 85% 0,rgba(170,185,196,.12),transparent 60%),var(--ada-blue);overflow:clip}
.horizontal-story__intro{padding-bottom:3rem;align-items:end}
.horizontal-story__intro-copy p{color:var(--ada-silver);font-size:1rem}
.horizontal-story__hint{display:block;font-size:.875rem!important;margin-top:1.2rem}
.horizontal-story__panel{border-radius:4px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:34rem;flex-basis:min(74rem,calc(100vw - 6rem));box-shadow:0 25px 70px #0003}
.horizontal-story__copy{padding:clamp(2rem,4vw,4rem)}
.horizontal-story__copy h3{font-family:var(--font-serif);font-size:clamp(3.4rem,6vw,6.5rem);font-weight:400;line-height:1;margin:1.5rem 0 .3rem}
.horizontal-story__copy p{font-size:1rem;line-height:1.7;color:var(--ada-silver)}
.horizontal-story__index{font-size:.875rem;letter-spacing:.08em}
.horizontal-story__criterion{font-size:.8125rem!important;line-height:1.5}
.horizontal-story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.horizontal-story__media::after{background:linear-gradient(90deg,#10212d55,transparent 35%),linear-gradient(0deg,#10212d77,transparent 35%)}
.horizontal-story__track{padding-bottom:6.5rem}
.horizontal-story__controls{bottom:1.3rem;gap:.65rem}
.horizontal-story__counter{min-width:5rem;font-size:.875rem}
.horizontal-story__counter b{font-size:1.8rem}
.horizontal-story__controls button{width:3.25rem;height:3.25rem;border-color:var(--ada-slate)}
.horizontal-story__progress{right:13rem;height:2px;bottom:3rem}
.horizontal-story :focus-visible{outline-color:var(--ada-brass)}
.horizontal-story__viewport{scroll-behavior:smooth;scroll-padding-inline:max(1.5rem,calc((100vw - 1280px)/2))}
.horizontal-story__viewport.is-dragging{scroll-behavior:auto;cursor:grabbing}

.subcontract-scene{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.subcontract-scene__image{margin:0;position:sticky;top:calc(var(--header-h) + 2rem);background:#05080a;overflow:hidden;border:1px solid var(--line-dark)}
.subcontract-scene__image img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;transition:transform 1.2s var(--ease-luxe)}
.subcontract-scene__image:hover img{transform:scale(1.045)}
.subcontract-scene__image figcaption{position:absolute;inset:auto 1.5rem 1.5rem;color:var(--ada-silver);font-size:.875rem;letter-spacing:.04em}
.subcontract-scene .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;counter-reset:steps}
.subcontract-scene .step{display:grid;grid-template-columns:minmax(0,1fr);padding:1.8rem 1.4rem;border:0;border-top:1px solid var(--line-dark);background:transparent;align-content:start;gap:1rem}
.subcontract-scene .step.surface::before{grid-column:1;grid-row:1;font-family:var(--font-serif);font-weight:400;font-size:3rem;line-height:1;width:auto;height:auto;place-items:start;border:0;background:none;color:var(--ada-slate)}
.subcontract-scene .step>div{grid-column:1;grid-row:2}
.subcontract-scene .step h3{font-size:1.18rem;line-height:1.4;margin:0 0 .75rem;color:var(--ada-blue)}
.subcontract-scene .step p{font-size:1rem;line-height:1.65;color:var(--ada-slate)}
.subcontract-scene__action{margin-top:1.75rem}

.material-atlas__tile{border-radius:5px}
.material-atlas__heading>p:last-child{font-size:1rem;color:var(--ada-silver)}
.material-atlas__tile figcaption{font-size:.8125rem}
.material-atlas__phase span{font-size:.875rem}
.material-atlas__phase p{font-size:.875rem}
.material-atlas__phase strong{font-size:1.45rem;font-weight:400}
.material-atlas__mobile-controls{display:none;justify-content:space-between;align-items:center;gap:1rem;width:min(1280px,calc(100% - 3rem));margin:1.5rem auto 0}
.material-atlas__mobile-controls button{width:48px;height:48px;border:1px solid var(--ada-slate);border-radius:50%;background:none;color:var(--ada-paper);cursor:pointer}
.material-atlas__mobile-controls span{font-size:.875rem;color:var(--ada-silver)}
.material-atlas__grid{scroll-behavior:smooth}
.material-atlas.is-enhanced .material-atlas__mobile-controls{display:none}
.material-atlas__phase.is-current{opacity:1;transform:none}

.career-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,7vw,7rem)}
.career-intro h2{font-size:clamp(2.8rem,4vw,4.1rem)!important;max-width:13ch}
.career-intro>p:not(.eyebrow){color:var(--ada-silver);font-size:1rem;line-height:1.7}
.career-live-year{font-family:var(--font-serif);font-size:clamp(4.5rem,8vw,8rem);line-height:1;color:var(--ada-brass);margin-top:1.5rem;font-variant-numeric:tabular-nums}
.career-span{margin-top:1.5rem;font-size:.8125rem;color:var(--ada-silver)}
.career-step__content h3{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.2}
.career-step__content p{font-size:1rem;line-height:1.7;color:var(--ada-silver)}
.career-step__content time{font-size:.875rem;color:var(--ada-brass)}
.career-step__marker{font-size:.8125rem}
.career-step.is-active .career-step__marker{box-shadow:0 0 0 .5rem #10212d,0 0 2rem #bda27166}
.career-step__content{opacity:.8;transform:translate3d(0,1rem,0)}
.career-step.is-active .career-step__content{opacity:1;transform:none}

/* Visible content first; the established observer enhances below-fold entries. */
.hero-reveal,.section-head,.is-ready{visibility:visible}
.section-head.luxe-reveal>*{filter:none}
.hero-cinematic__media{overflow:hidden}
.hero-cinematic__media::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #10212d22}
.hero-cinematic__content{animation:ada-content-enter 900ms cubic-bezier(.2,.7,.2,1) both}
@keyframes ada-content-enter{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:none}}
.home-portal{border-radius:4px}
.training-card{transition:background .4s,border-color .4s}
.training-card:not(.reference):hover{background:rgba(170,185,196,.14)!important}

@media(min-width:1025px) and (min-height:650px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .horizontal-story__stage.is-enhanced{height:calc(100svh - var(--header-h) + var(--story-distance,1200px))}
 .horizontal-story__stage.is-enhanced .horizontal-story__frame{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));display:flex;align-items:center;overflow:hidden}
 .horizontal-story__stage.is-enhanced .horizontal-story__viewport{width:100%;overflow:hidden;scroll-behavior:auto}
 .horizontal-story__stage.is-enhanced .horizontal-story__track{padding-top:1.5rem;padding-bottom:5.5rem}
 .horizontal-story__stage.is-enhanced .horizontal-story__panel{height:calc(100svh - var(--header-h) - 8rem);min-height:27rem}
 .horizontal-story__stage.is-enhanced .horizontal-story__copy p{font-size:clamp(.9375rem,1.05vw,1.0625rem)}
 .horizontal-story__stage.is-enhanced .horizontal-story__copy{padding:clamp(1.5rem,3.2vw,3.5rem)}
 .horizontal-story__stage.is-enhanced .horizontal-story__copy h3{font-size:clamp(3rem,5.5vw,6rem)}
 .horizontal-story__stage.is-enhanced .horizontal-story__criterion{padding-top:1rem}
 .horizontal-story__stage.is-enhanced.is-in-view .horizontal-story__track{will-change:transform}
 .material-atlas.is-enhanced{height:300svh}
 .material-atlas.is-enhanced .material-atlas__stage{top:var(--header-h);height:calc(100svh - var(--header-h));min-height:0}
 .material-atlas.is-enhanced .material-atlas__heading{top:2rem;left:3rem;width:min(34rem,48vw);pointer-events:none}
 .material-atlas.is-enhanced .material-atlas__heading h2{font-size:clamp(2.7rem,4vw,4.2rem)!important;max-width:16ch}
 .material-atlas.is-enhanced .material-atlas__grid{inset:2rem 2rem 6rem;gap:.8rem}
 .material-atlas.is-enhanced .material-atlas__stage::before{z-index:3;background:linear-gradient(90deg,#07131ee6,transparent 72%),linear-gradient(0deg,#07131ed9,transparent 32%)}
 .material-atlas.is-enhanced .material-atlas__heading,.material-atlas.is-enhanced .material-atlas__phases{z-index:4}
 .material-atlas.is-enhanced .material-atlas__phases{left:3rem;bottom:2rem;width:min(32rem,60vw)}
 .material-atlas.is-enhanced .material-atlas__phase{transition:opacity .25s,transform .4s}
 .material-atlas.is-enhanced .material-atlas__phase:not(.is-current){opacity:0;transform:translateY(1rem);pointer-events:none}
 .material-atlas.is-enhanced .material-atlas__phase.is-current{opacity:1;transform:none}
}
@media(max-width:1024px),(max-height:649px){
 .horizontal-story__panel{flex-basis:calc(100vw - 3rem);min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(16rem,50vw,24rem) auto}
 .horizontal-story__media{grid-row:1;order:0;min-height:0}
 .horizontal-story__copy{grid-row:2;order:1;padding:2rem;min-height:0}
 .horizontal-story__copy h3{font-size:3rem;margin:.8rem 0}
 .horizontal-story__copy p{margin-top:.8rem}
 .horizontal-story__criterion{margin-top:1rem!important;padding-top:0}
 .horizontal-story__media figcaption{display:none}
 .horizontal-story__track{align-items:stretch;padding:0 1.5rem 6rem}
 .horizontal-story__intro{display:block}
 .horizontal-story__intro-copy{margin-top:1.5rem}
 .subcontract-scene{grid-template-columns:minmax(0,1fr)}
 .subcontract-scene__image{position:relative;top:0;max-width:100%}
 .subcontract-scene__image img{aspect-ratio:16/9;max-height:30rem}
 .career-layout{grid-template-columns:minmax(0,1fr);gap:3rem}
 .career-intro{position:static}
 .career-live-year{display:none}
 .career-intro h2{max-width:22ch}
 .career-step{padding-bottom:3rem}
}
@media(max-width:600px){
 .horizontal-story{padding-top:3.5rem}
 .horizontal-story__panel{flex-basis:calc(100vw - 2rem);grid-template-rows:18rem auto;border-radius:3px}
 .horizontal-story__track{padding-inline:1rem;gap:1rem}
 .horizontal-story__copy{padding:1.5rem}
 .horizontal-story__progress{left:1rem;right:12.5rem}
 .subcontract-scene .steps{grid-template-columns:minmax(0,1fr)}
 .subcontract-scene .step{grid-template-columns:3rem minmax(0,1fr);padding:1.5rem 0;gap:1rem}
 .subcontract-scene .step>div{grid-column:2;grid-row:1}
 .subcontract-scene .step.surface::before{font-size:2.5rem}
 .material-atlas__heading h2{font-size:2.75rem!important}
 .career-intro h2{font-size:2.6rem!important}
}
@media(max-width:1024px){
 .material-atlas__mobile-controls{display:flex}
 .material-atlas:not(.is-enhanced) .material-atlas__phases{grid-template-columns:minmax(0,1fr)}
 .material-atlas:not(.is-enhanced) .material-atlas__phase{grid-template-columns:2.5rem minmax(0,1fr)}
}
html:not(.js) .material-atlas__mobile-controls,
html:not(.js) .horizontal-story__controls,
html:not(.js) .horizontal-story__progress{display:none}
@media(prefers-reduced-motion:reduce){
 .hero-cinematic__content{animation:none}
 .horizontal-story__viewport,.material-atlas__grid{scroll-behavior:auto}
 .career-step__content{opacity:1;transform:none}
 .career-rail span{transform:scaleY(1)}
 .career-live-year{display:none}
}
/* C3 / N1. Photographic openings, editorial rhythm and restrained interaction. */
:root{--header-h:80px;--atelier-ease:cubic-bezier(.22,.68,.2,1)}
body .site-header{background:rgba(16,33,45,.96)!important;color:var(--ada-paper);border-bottom:1px solid #aab9c42b;backdrop-filter:blur(14px);transition:background .3s,box-shadow .3s}
body .site-header.is-scrolled{background:var(--ada-blue)!important;box-shadow:0 8px 32px #07131e22}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--ada-brass);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.brand-copy strong{color:var(--ada-paper);font-weight:600}
.brand-copy small{color:var(--ada-silver);font-size:.75rem}
.brand img{width:44px;height:44px}
.main-nav a,.main-nav a:hover{color:var(--ada-paper);text-decoration:none}
.main-nav a{position:relative}
.main-nav a::after{display:block;content:"";position:absolute;inset:auto 0 .2rem;height:1px;background:var(--ada-brass);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--atelier-ease)}
.main-nav a:is(:hover,:focus-visible,[aria-current=page])::after{transform:scaleX(1);transform-origin:left}
.main-nav a.nav-contact{background:var(--ada-paper);border-color:var(--ada-paper);color:var(--ada-blue);padding:.65rem 1.25rem;border-radius:3px}
.main-nav a.nav-contact::after{display:none}
.lang-switch a{color:var(--ada-silver)}
.lang-switch a[aria-current=true]{color:var(--ada-paper);border-color:var(--ada-brass)}
.menu-toggle{color:var(--ada-paper);border-color:var(--ada-silver);border-radius:3px}
.site-header :focus-visible{outline-color:var(--ada-brass)}

/* The workshop is the opening scene. Text stays on a separate, legible veil. */
.hero-cinematic{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:max(43rem,calc(100svh - var(--header-h)));background:var(--ada-blue);color:var(--ada-paper)}
.hero-cinematic__media{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;z-index:-2}
.hero-cinematic__media video,.hero-cinematic__fallback{object-position:72% center}
.hero-cinematic__media::after{display:none}
.hero-cinematic__veil{display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#10212dfc 0%,#10212de8 25%,#10212da8 45%,#10212d1a 74%),linear-gradient(0deg,#10212dbb,transparent 28%)}
.hero-cinematic>.hero-cinematic__content{position:relative;width:min(1280px,calc(100% - 6rem));margin:auto;padding:clamp(3.5rem,7vw,7rem) 0 6rem;z-index:1}
.hero-cinematic .hero-cinematic__title{font-size:clamp(4rem,6.6vw,6.8rem)!important;line-height:.99!important;letter-spacing:-.035em!important;max-width:14ch!important;margin:1.3rem 0 1.7rem!important;color:var(--ada-paper);text-wrap:balance}
.hero-cinematic__title .hero-accent{color:var(--ada-brass);margin-top:.13em}
.hero-cinematic .eyebrow{color:var(--ada-silver);max-width:none;font-size:.8125rem;letter-spacing:.13em}
.hero-cinematic .eyebrow::before{display:inline-block;width:2.25rem}
.hero-cinematic__lede{color:var(--ada-paper);max-width:43ch;font-size:1.0625rem;line-height:1.7}
.hero-cinematic .button-primary{color:var(--ada-blue);background:var(--ada-brass);border-color:var(--ada-brass)}
.hero-cinematic .button-secondary{color:var(--ada-paper);text-decoration:none;border-bottom:1px solid #aab9c480;padding:.65rem 0}
.hero-cinematic__meta{width:fit-content;max-width:44rem;gap:.5rem 1.25rem;border-top:1px solid #aab9c459;margin-top:2rem}
.hero-cinematic__meta li{color:var(--ada-silver);font-size:.8125rem}
.hero-cinematic__controls{right:max(3rem,calc((100vw - 1280px)/2));bottom:2rem;max-width:36%;background:#10212ddb;border:1px solid #aab9c466;border-radius:4px;padding:.7rem 1rem;backdrop-filter:blur(10px)}
.hero-video-toggle{border:0;border-left:1px solid #aab9c477;padding-left:1rem;display:flex;align-items:center;gap:.65rem;font-size:.875rem}
.hero-video-toggle svg{width:14px;height:14px;flex:none}
.hero-scroll-cue{font-size:.8125rem;color:var(--ada-silver)}
.hero-cinematic :focus-visible{outline-color:var(--ada-brass)}
.home-proofbar{border-top:1px solid #aab9c42e;background:var(--ada-blue)}
.home-proofbar__grid>div,.home-proofbar__grid>a{min-height:132px;padding:1.5rem;align-items:center}
.home-proofbar strong{color:var(--ada-brass);font-size:3.3rem}

/* A photograph and a clear reading column, with a different subject on each page. */
body[data-page] .page-hero.editorial-hero{position:relative;background:var(--ada-blue)!important;color:var(--ada-paper);border-bottom:1px solid #aab9c433;padding-block:clamp(3rem,5vw,5rem)!important;overflow:hidden}
.editorial-hero .editorial-hero__grid,.editorial-hero .container.editorial-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.editorial-hero__copy{min-width:0;position:relative;z-index:1}
body[data-page] .page-hero.editorial-hero h1{max-width:20ch!important;font-size:clamp(3.1rem,4.5vw,5.2rem)!important;line-height:1.04!important;color:var(--ada-paper);letter-spacing:-.025em!important}
.editorial-hero h1 em{font-weight:400;color:var(--ada-brass)}
.page-hero.editorial-hero :is(.lede,.breadcrumbs,.eyebrow,.course-next-step){color:var(--ada-silver)!important}
.page-hero.editorial-hero .lede{font-size:1.0625rem;max-width:46ch}
.editorial-hero .breadcrumbs a{color:var(--ada-silver)}
.page-hero.editorial-hero .button-primary{background:var(--ada-brass);border-color:var(--ada-brass);color:var(--ada-blue)}
.page-hero.editorial-hero :focus-visible{outline-color:var(--ada-brass)}
.editorial-hero__media{position:relative;margin:0;min-width:0;overflow:visible}
.editorial-hero__media img{display:block;width:100%;height:auto;max-height:37rem;aspect-ratio:4/5;object-fit:cover;border-radius:4px;position:relative;z-index:1}
.editorial-hero__media--piece img{object-fit:contain;background:#0b1821}
.editorial-hero__media img[src="transmettre-atelier.webp"]{aspect-ratio:4/3}
.editorial-hero__media::before{content:"";position:absolute;inset:1.2rem -1.2rem -1.2rem 1.2rem;border:1px solid #c8a97666;border-radius:4px;pointer-events:none}
.editorial-hero__media figcaption{position:relative;z-index:2;color:var(--ada-silver);font-size:.875rem;line-height:1.6;padding-top:1rem;background:var(--ada-blue)}
.editorial-hero .notice{background:#aab9c40c;border:0;border-left:2px solid var(--ada-brass);color:var(--ada-silver);border-radius:0;padding:1rem 1.25rem}
.editorial-hero .notice strong{color:var(--ada-paper)}
.page-hero--alexandra .page-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.page-hero--alexandra .page-hero__media{min-height:0;overflow:visible;border:0;border-radius:4px;box-shadow:none}
.page-hero--alexandra .page-hero__media img{position:relative;inset:auto;height:auto;object-position:right center}
body[data-page] .page-hero:not(.editorial-hero) h1{max-width:23ch!important}
body[data-page=contact] .page-hero{padding-block:2.8rem!important}
body[data-page=contact] .page-hero h1{font-size:clamp(3rem,5vw,5.4rem)!important}
.breadcrumbs{font-size:.875rem;gap:.65rem;margin-bottom:1.7rem}

/* A tangible collection of training formats, without shifting type on hover. */
.training-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);gap:1.25rem;border:0;align-items:stretch}
body .training-grid .training-card{padding:2rem;min-height:0;grid-column:auto;grid-row:auto;transform:none!important;opacity:1!important;border:1px solid #50657540!important;border-radius:4px!important;box-shadow:0 14px 32px #10212d09!important;overflow:hidden;transition:transform .4s var(--atelier-ease),box-shadow .4s,border-color .4s;background:var(--ada-paper)}
body .training-grid .training-card.reference{background:var(--ada-blue);border-color:var(--ada-blue)!important}
.training-card__image{margin:-2rem -2rem 1.8rem;overflow:hidden;height:clamp(12rem,18vw,16rem);background:var(--ada-blue)}
.training-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--atelier-ease)}
.training-card h3,.training-card:hover h3{font-style:normal;font-size:4rem!important;margin:.7rem 0 .5rem!important}
.training-card .training-duration{display:none}
.training-card .training-status{font-size:.8125rem;letter-spacing:.08em}
.training-card .training-price{font-size:1.125rem!important}
.training-card>p{font-size:1rem;line-height:1.65}
.training-card .button-row{margin-top:auto;padding-top:1rem}
.training-card.reference :is(.training-status,.training-price){color:var(--ada-paper)!important}
.training-card.reference .button-primary{background:var(--ada-brass);border-color:var(--ada-brass);color:var(--ada-blue)}
.training-card .fine-print{font-size:.875rem}
.training-showcase{background:var(--ada-paper)}
.training-showcase::before{display:none}
.training-showcase .section-head>div{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1.4rem 4rem;width:100%}
.training-showcase .section-head .eyebrow{grid-column:1/-1;margin:0}
.training-showcase .section-head h2{grid-column:1;margin:0;max-width:20ch}
.training-showcase .section-head .section-intro{grid-column:2;align-self:end;margin:0;max-width:43ch}

/* Alternating paper and deep blue gives the long narrative breathing room. */
.alexandra-signature{background:var(--ada-paper);color:var(--ada-blue);padding-block:clamp(4rem,7vw,7rem)}
.alexandra-signature::before{display:none}
.alexandra-signature__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2.5rem,6vw,6rem)}
.alexandra-signature__media{border-radius:4px;box-shadow:none;border:0;aspect-ratio:4/3}
.alexandra-signature__media::after{display:none}
.alexandra-signature__media img{width:100%;height:100%;object-fit:cover}
.alexandra-signature blockquote{font-size:clamp(2.5rem,3.8vw,4.1rem);line-height:1.13;color:var(--ada-blue);max-width:21ch;margin:1.2rem 0 1.8rem}
.alexandra-signature__label,.alexandra-signature .eyebrow,.alexandra-signature__author,.alexandra-signature__author strong{color:var(--ada-slate)}
.alexandra-signature__author{font-size:.875rem;line-height:1.6}
.home-portals__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(19rem,1fr));gap:1.25rem;min-height:42rem}
.home-portal{grid-column:auto;grid-row:auto;min-height:0;border-radius:4px;border:1px solid #aab9c440}
.home-portal--work{grid-row:1/span 2}
.home-portal--business{grid-column:2;grid-row:1}
.home-portal--watch{grid-column:2;grid-row:2}
.home-portal__copy strong{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.2rem,3.5vw,3.8rem);line-height:1.05}
.home-portal__copy small,.home-portal__index{font-size:.875rem;line-height:1.6}
.home-portal__arrow{border:1px solid #aab9c477;border-radius:50%;width:3rem;height:3rem;font-size:1.3rem;display:grid;place-items:center;transition:background .3s,transform .3s}
.home-portal__veil{background:linear-gradient(0deg,#10212df5,transparent 75%),linear-gradient(180deg,#10212d77,transparent 35%)}
.career-step__content h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(2rem,3.2vw,3rem);line-height:1.12}
.career-step__content{opacity:.88}
.material-atlas.is-enhanced .material-atlas__stage::before{background:linear-gradient(90deg,#07131ee6,transparent 74%);opacity:var(--atlas-veil,1);transition:none}
.material-atlas.is-enhanced .material-atlas__stage::after{content:"";position:absolute;inset:auto 0 0;height:25%;z-index:3;pointer-events:none;background:linear-gradient(0deg,#10212dfa,transparent)}

/* Details shared by information pages, business enquiries and proof. */
.section-head h2{max-width:23ch}
.professional-routes .route-card,.press-card,.proof-card{border-radius:4px!important;box-shadow:0 12px 30px #10212d08!important;transition:transform .35s var(--atelier-ease),border-color .35s,box-shadow .35s}
.professional-routes .route-card{padding:2.25rem;border-top:2px solid #c8a97688;background:linear-gradient(145deg,#aab9c40d,transparent)!important}
.professional-routes .route-card h3{font-family:var(--font-serif);font-weight:400;font-size:2.35rem;line-height:1.1}
.fact-grid{gap:0;border-block:1px solid #50657540}
.fact{border:0;padding:1.6rem;border-right:1px solid #50657533}
.fact:last-child{border-right:0}
.fact strong{font-family:var(--font-body);font-weight:600;font-size:clamp(1.1rem,1.8vw,1.7rem);line-height:1.35;color:var(--ada-blue)!important}
.fact span{font-size:.9375rem;display:block;margin-top:.6rem;line-height:1.6}
body[data-page=training] .step{background:transparent;border:0;border-top:1px solid var(--line-dark);padding:1.8rem 0;column-gap:1.8rem}
body[data-page=training] .step::before{background:none;border:0;border-radius:0;color:var(--ada-slate);font-family:var(--font-serif);font-weight:400;font-size:3.1rem}
body[data-page=training] .step h3{font-family:var(--font-serif);font-weight:400;font-size:1.85rem;line-height:1.2}
.press-card h3{font-size:clamp(1.7rem,2.25vw,2.2rem)!important;line-height:1.17;max-width:25ch}
.proof-card,.proof-source-group[data-proof-group=google] .proof-card{min-height:0}
.proof-card--featured{min-height:25rem}
.proof-card blockquote{margin:2rem 0;font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.2}
.proof-kind,.proof-card__author span,.proof-card__links a,.proof-source-note,.proof-ledger__date,.proof-ledger__score p{font-size:.875rem;line-height:1.55}
.proof-ledger{border-radius:4px;box-shadow:none;background:#10212d;border-color:#aab9c455}
.proof-ledger__score>span,.proof-ledger__line span,.proof-ledger__line strong{font-size:.875rem;line-height:1.5}
.proof-ledger__date,.proof-ledger__score p{color:var(--ada-silver)}
.proof-hero::after{display:none}
.contact-form{padding:clamp(1.5rem,3vw,3rem);border:1px solid #aab9c449!important;border-radius:4px!important;background:linear-gradient(145deg,#aab9c409,transparent)}
.field label{transition:color .25s}
.field:focus-within>label{color:var(--ada-brass)}
.field input,.field select,.field textarea{border-radius:3px;transition:border-color .25s,box-shadow .25s}
.field :is(input,select,textarea):focus{border-color:var(--ada-brass);box-shadow:0 0 0 3px #c8a97622;outline-offset:3px}
.contact-panel{border-top:1px solid #c8a97688}
.availability-week{border-radius:3px!important;transition:border-color .3s,background .3s}
.availability-week:not(.availability-week--complete):hover{border-color:var(--ada-brass);background:#aab9c408}
.business-disclosure>summary,.faq-list summary,.contact-options>summary{transition:color .25s,padding-left .25s}
.business-disclosure>summary:hover,.faq-list summary:hover{padding-left:.4rem}
.business-disclosure[open]>summary,.faq-list details[open]>summary{color:var(--ada-silver)}
.section-light .business-disclosure[open]>summary,.section-light .faq-list details[open]>summary,.ada-c3 .business-disclosure[open]>summary{color:var(--ada-slate)}
.ada-c3 .ada-dark .business-disclosure[open]>summary{color:var(--ada-silver)}
.button,.btn{border-radius:3px!important;transition:background .28s,color .28s,border-color .28s,transform .28s var(--atelier-ease)}
.button>svg,.route-detail svg{transition:transform .28s var(--atelier-ease);flex-shrink:0}
.button:is(:hover,:focus-visible)>svg,.route-detail:is(:hover,:focus-visible) svg{transform:translateX(4px)}
.button-primary:hover,.button-dark:hover{background:var(--ada-paper);border-color:var(--ada-paper);color:var(--ada-blue)}
.section-light .button-dark:hover,.section-light .button-primary:hover{background:var(--ada-slate);border-color:var(--ada-slate);color:var(--ada-paper)}
.site-footer{padding-top:4rem;background:var(--ada-blue);border-top:1px solid #c8a97655}
.site-footer .footer-brand{font-size:2.8rem;font-weight:400;color:var(--ada-paper)}
.site-footer a{text-underline-offset:.35rem}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body .training-grid .training-card:is(:hover,:focus-within){transform:translateY(-5px)!important;border-color:var(--ada-brass)!important;box-shadow:0 22px 48px #10212d14!important}
 body .training-showcase .training-grid:has(.training-card:hover) .training-card:not(:hover){opacity:1!important;transform:none!important}
 .training-card:is(:hover,:focus-within) .training-card__image img{transform:scale(1.035)}
 .professional-routes .route-card:is(:hover,:focus-within),.press-card:is(:hover,:focus-within),.proof-card:is(:hover,:focus-within){transform:translateY(-4px);border-color:var(--ada-brass);box-shadow:0 20px 40px #10212d13!important}
 .home-portal:hover img{transform:scale(1.025)}
 .home-portal:hover .home-portal__arrow{background:var(--ada-brass);color:var(--ada-blue);transform:translate(2px,-2px)}
 .editorial-hero__media img{animation:atelier-picture-in 1.1s var(--atelier-ease) both}
 @keyframes atelier-picture-in{from{opacity:.45;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media(max-width:76rem){
 body .main-nav{background:var(--ada-blue)!important;color:var(--ada-paper);border-color:#aab9c455}
 .main-nav a,.main-nav a:hover,.main-nav a.nav-contact{color:var(--ada-paper);background:none}
 .main-nav a::after{inset:auto auto .45rem 0;width:2rem}
 .hero-cinematic>.hero-cinematic__content{width:calc(100% - 3rem)}
 .hero-cinematic__controls{right:1.5rem}
 .editorial-hero__media::before{inset:.7rem -.7rem -.7rem .7rem}
 body .training-grid .training-card{padding:1.5rem}
 .training-card__image{margin:-1.5rem -1.5rem 1.5rem}
}
@media(max-width:60rem){
 .editorial-hero .editorial-hero__grid,.editorial-hero .container.editorial-hero__grid{grid-template-columns:minmax(0,1fr);gap:3rem}
 .editorial-hero__media{width:100%;max-width:none}
 .editorial-hero__media img{aspect-ratio:16/10;max-height:30rem}
 .editorial-hero__media--piece img{aspect-ratio:4/3}
 .hero-cinematic .hero-cinematic__title{max-width:14ch!important;font-size:clamp(3.8rem,8vw,5.6rem)!important}
 .hero-cinematic__veil{background:linear-gradient(90deg,#10212df5,#10212dbb 55%,#10212d55),linear-gradient(0deg,#10212dbb,transparent)}
 .hero-cinematic__controls{max-width:90%;bottom:1.5rem}
 .alexandra-signature__grid{grid-template-columns:1fr;gap:2.5rem}
 .alexandra-signature__media{max-height:30rem}
 .alexandra-signature blockquote{max-width:26ch}
 .training-grid{grid-template-columns:1fr;gap:1.5rem}
 .training-card__image{height:clamp(13rem,40vw,24rem)}
 .training-showcase .section-head>div{display:block}
 .training-showcase .section-head h2{margin:1rem 0 1.5rem}
 .home-portals__grid{grid-template-columns:1fr;grid-template-rows:none;min-height:0}
 .home-portal,.home-portal--work,.home-portal--business,.home-portal--watch{grid-column:auto;grid-row:auto;min-height:25rem}
 .form-shell{gap:2.5rem}
}
@media(max-width:48rem){
 :root{--header-h:76px}
 .brand img{width:38px;height:38px}
 .hero-cinematic{min-height:0;display:flex;flex-direction:column;padding:0}
 .hero-cinematic__media{position:relative;inset:auto;width:100%;height:18rem;max-height:none;min-height:0;order:0;z-index:0}
 .hero-cinematic__media video,.hero-cinematic__fallback{object-position:75% 45%}
 .hero-cinematic__veil{display:none!important}
 .hero-cinematic>.hero-cinematic__content{order:1;width:calc(100% - 3rem);padding:2.25rem 0 2.5rem;margin:auto}
 .hero-cinematic .hero-cinematic__title{font-size:clamp(3.2rem,10.8vw,4.5rem)!important;max-width:16ch!important;margin:1rem 0 1.5rem!important;line-height:1.04!important;text-wrap:pretty}
 .hero-cinematic .eyebrow{font-size:.75rem;letter-spacing:.08em;max-width:35ch}
 .hero-cinematic .eyebrow::before{display:none}
 .hero-cinematic__lede{font-size:1rem;line-height:1.65;max-width:none}
 .hero-cinematic__meta{margin-top:1.5rem;gap:.5rem .9rem}
 .hero-cinematic__controls{top:13.8rem;bottom:auto;right:1rem;padding:.45rem .6rem;max-width:calc(100% - 2rem);z-index:3}
 .hero-scroll-cue{display:none}
 .hero-video-toggle{border:0;padding-left:.5rem}
 .home-proofbar__grid>div,.home-proofbar__grid>a{padding:1.4rem .9rem;min-height:0}
 .home-proofbar strong{font-size:2.8rem}
 body[data-page] .page-hero.editorial-hero h1{font-size:clamp(2.6rem,8.9vw,3.8rem)!important;max-width:22ch!important}
 .editorial-hero__media img{max-height:27rem}
 .editorial-hero__media::before{display:none}
 .editorial-hero .button-row{align-items:flex-start}
 .editorial-hero .button{max-width:100%;white-space:normal}
 .training-grid{grid-template-columns:minmax(0,1fr)}
 .home-portal{min-height:23rem}
 .home-portal__copy strong{font-size:2.7rem}
 .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fact{padding:1.3rem .8rem;border-bottom:1px solid #50657533}
 .fact:nth-child(2n){border-right:0}
 body[data-page=training] .step{column-gap:1rem}
 .contact-form{padding:1.5rem 1rem}
 .proof-card--featured{min-height:0}
 .site-footer{padding-top:3rem}
}
@media(max-width:24rem){
 .hero-cinematic>.hero-cinematic__content{width:calc(100% - 2rem)}
 .hero-cinematic .hero-cinematic__title{font-size:3rem!important}
 .brand-copy small{display:none}
 .fact-grid{grid-template-columns:minmax(0,1fr)}
 .fact{border-right:0}
}
@media(min-width:769px) and (max-height:800px){
 .hero-cinematic>.hero-cinematic__content{padding-top:2.5rem;padding-bottom:5rem}
 .hero-cinematic .hero-cinematic__title{font-size:clamp(3.6rem,5.5vw,5.3rem)!important;margin-block:1rem!important}
 .hero-cinematic__meta{margin-top:1.25rem}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important}
 .editorial-hero__media img{animation:none}
 body .training-grid .training-card:is(:hover,:focus-within){transform:none!important}
 .button:is(:hover,:focus-visible)>svg,.route-detail:is(:hover,:focus-visible) svg{transform:none}
}
@media print{.editorial-hero,.alexandra-signature{background:white!important;color:black!important}.editorial-hero__media::before,.site-header::after{display:none}}

/* Books: generous type, complete copy and a shared frame for the controls. */
.portfolio-immersive{--book-width:min(76rem,calc(100vw - 6rem))}
.portfolio-immersive__intro h2{max-width:20ch}
.portfolio-immersive__stage,.portfolio-immersive__frame{position:relative}
.portfolio-immersive__track{position:relative;gap:2rem;padding:1.5rem max(1.5rem,calc((100vw - var(--book-width))/2)) 7rem;align-items:stretch}
.portfolio-book{flex:0 0 var(--book-width);width:var(--book-width);min-height:35rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:8px}
.portfolio-book__copy,.portfolio-book:nth-child(even) .portfolio-book__copy{min-width:0;min-height:0;padding:clamp(1.5rem,3vw,3rem);justify-content:flex-start}
.portfolio-book__copy>*{flex-shrink:0}
.portfolio-book h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(3rem,4.6vw,4.8rem);line-height:1.12;margin:1rem 0 0;max-width:none;overflow-wrap:normal;word-break:normal;hyphens:none}
.portfolio-book__copy>p{font-size:1rem;line-height:1.65;max-width:42ch;margin-top:1.1rem;color:var(--ada-silver)}
.portfolio-book__meta{margin-top:1.35rem;gap:.45rem}
.portfolio-book__meta span{font-size:.7rem;padding:.45rem .65rem;letter-spacing:.045em}
.portfolio-book__actions{padding-top:1.5rem;gap:1rem}
.portfolio-book__download{font-size:.875rem}
.portfolio-book__object,.portfolio-book:nth-child(even) .portfolio-book__object{left:50%;width:min(68%,20rem)}
.portfolio-book__visual{min-height:30rem}
.portfolio-immersive__controls{bottom:1rem;grid-template-columns:auto minmax(0,1fr) auto;border-radius:6px;gap:1rem;padding:.5rem .8rem}
.portfolio-immersive__controls button{width:3rem;height:3rem}
.portfolio-immersive__status-copy span{white-space:normal;text-overflow:clip;overflow:visible;font-size:.85rem}
.portfolio-immersive__counter,.portfolio-immersive__counter strong{font-size:.875rem}
.portfolio-immersive__foot{max-width:65ch;margin:auto;padding:1rem 1.5rem 4rem;font-size:.875rem;color:var(--ada-silver)}
.portfolio-immersive__viewport{scroll-padding-inline:max(1.5rem,calc((100vw - var(--book-width))/2))}
.material-atlas__tile figcaption{white-space:normal;text-overflow:clip;overflow:visible;line-height:1.4;letter-spacing:.035em;color:var(--ada-paper);padding:.65rem .6rem .5rem;inset:auto 0 0;background:linear-gradient(0deg,#07131ee6,#07131e99 70%,transparent);opacity:1;transform:none}

@media(min-width:1025px) and (min-height:650px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .portfolio-immersive__stage.is-enhanced{height:calc(100svh - var(--header-h) + var(--portfolio-distance))}
 .portfolio-immersive__stage.is-enhanced .portfolio-immersive__frame{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));display:flex;align-items:center;overflow:hidden}
 .portfolio-immersive.is-enhanced .portfolio-immersive__viewport{overflow:hidden;scroll-behavior:auto}
 .portfolio-immersive.is-enhanced .portfolio-book{height:min(42rem,calc(100svh - var(--header-h) - 9rem));min-height:0}
 .portfolio-immersive.is-enhanced .portfolio-book__visual{min-height:0}
 .portfolio-immersive__stage.is-enhanced.is-in-view .portfolio-immersive__track{will-change:transform}
 .career-section.is-career-pinned{padding:0;height:calc(100svh - var(--header-h) + var(--career-distance))}
 .career-section.is-career-pinned>.container{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));padding-block:2rem}
 .is-career-pinned .career-layout{height:100%;gap:clamp(3rem,6vw,6rem);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .is-career-pinned .career-intro{position:static;padding:0}
 .is-career-pinned .career-intro h2{font-size:clamp(2.7rem,4.2vw,4rem)!important;max-width:16ch;margin-top:1rem;line-height:1.06!important}
 .is-career-pinned .career-intro>p:not(.eyebrow){margin-top:1.3rem;font-size:1rem;line-height:1.65}
 .is-career-pinned .career-live-year{font-size:clamp(4rem,7vw,7rem);margin-top:1.3rem}
 .is-career-pinned .career-span{margin-top:1rem}
 .is-career-pinned .career-chronology{height:100%;min-height:0;overflow:hidden;padding-inline:.7rem}
 .is-career-pinned .career-track{position:relative;padding:.75rem 0 2rem}
 .is-career-pinned .career-step{min-height:0;padding-bottom:3rem;gap:1.6rem}
 .is-career-pinned .career-step:last-child{padding-bottom:0}
 .is-career-pinned .career-step__content h3{font-size:clamp(2rem,2.8vw,2.8rem)}
 .is-career-pinned .career-step__content{transform:none}
 .is-career-pinned .career-rail{bottom:3rem}
}
@media(max-width:1024px){
 .portfolio-immersive{--book-width:calc(100vw - 3rem)}
 .portfolio-book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .portfolio-book__visual{min-height:28rem!important}
 .portfolio-book__copy,.portfolio-book:nth-child(even) .portfolio-book__copy{min-height:0!important;order:0}
 .portfolio-book__visual,.portfolio-book:nth-child(even) .portfolio-book__visual{order:1}
 .portfolio-book h3{font-size:3.3rem}
}
@media(max-width:700px){
 .portfolio-book{grid-template-columns:minmax(0,1fr);min-height:0}
 .portfolio-book__copy,.portfolio-book:nth-child(even) .portfolio-book__copy{order:2;padding:1.5rem}
 .portfolio-book__visual,.portfolio-book:nth-child(even) .portfolio-book__visual{order:1;min-height:23rem!important}
 .portfolio-book__object,.portfolio-book:nth-child(even) .portfolio-book__object{width:min(56%,14rem)!important}
 .portfolio-book h3{font-size:clamp(2.7rem,10vw,3.5rem)}
 .portfolio-book__actions{margin-top:0}
 .portfolio-immersive__track{padding-inline:1.5rem}
 .portfolio-immersive__intro{margin-bottom:2rem}
}

/* BeWatchmaker: a visible continuation of the training, with uncropped editions. */
@media(min-width:76.01rem){.main-nav ul{gap:1.15rem}.header-inner{gap:1.5rem}.brand{flex-shrink:0}.main-nav{margin-left:auto}.main-nav a{white-space:nowrap}.lang-switch{flex-shrink:0}}
.bw-hero{padding-block:3rem 5rem;min-height:0;background:radial-gradient(ellipse at 85% 20%,#aab9c41a,transparent 60%),var(--ada-blue)}
.bw-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem)}
.bw-hero__copy h1{font-size:clamp(3rem,5vw,5.3rem)!important;max-width:12ch!important;margin-block:1.4rem}
.bw-hero__micro{font-size:.875rem;line-height:1.65;color:var(--ada-silver)}
.bw-hero__visual--component{min-height:0;aspect-ratio:4/5;border-radius:5px;border:1px solid #c8a97677;box-shadow:1.2rem 1.2rem 0 #aab9c411;margin:0;overflow:hidden}
.bw-hero__visual--component>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;transform:none;transition:transform 1.2s var(--atelier-ease)}
.bw-hero__visual--component::before{background:linear-gradient(0deg,#10212dee,transparent 35%)}
.bw-hero__visual figcaption{font-size:.75rem;line-height:1.6;letter-spacing:.06em}
.bw-manifesto__statement{gap:3rem}
.bw-manifesto__principles dt{font-family:var(--font-serif);font-size:1.9rem;line-height:1.2}
.bw-manifesto__principles dd{font-size:1rem;line-height:1.65}
.bw-criterion{min-height:0;padding:2rem}
.bw-criterion h3{font-family:var(--font-serif);font-weight:400;font-size:2.5rem;line-height:1.12;margin-top:1.8rem}
.bw-criterion>span{font-size:.75rem;border-radius:2px;letter-spacing:.08em}
.bw-eligibility__note{font-size:1rem;line-height:1.7}
.bw-journey__list>li{grid-template-columns:3.5rem minmax(0,1fr) minmax(0,.85fr);gap:2rem;padding-block:2.5rem}
.bw-journey__number{font-family:var(--font-serif);font-size:2.7rem;font-weight:400;line-height:1;letter-spacing:0}
.bw-journey__list h3{font-family:var(--font-serif);font-size:clamp(2.1rem,3.5vw,3.5rem);font-weight:400;line-height:1.12}
.bw-journey__list img{height:20rem;border-radius:4px;object-position:right center;transition:transform .7s var(--atelier-ease),box-shadow .7s}
.bw-journey__list img.bw-journey__finished{height:auto;max-height:34rem;object-fit:contain;object-position:center;background:#070808}
.bw-watch__visual{min-height:0;border-radius:5px;background:#080909}
.bw-watch__visual img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.bw-specs dt,.bw-project-brief__inputs dt{font-size:.8125rem;letter-spacing:.05em;color:var(--ada-brass)}
.bw-specs dd,.bw-project-brief__inputs dd{font-size:1rem;line-height:1.6}
.bw-project-brief__frame{border-radius:5px;background:linear-gradient(135deg,#aab9c414,transparent 60%),var(--ada-blue)}
.bw-project-brief__action>span{font-size:.875rem;color:var(--ada-silver)}
.bw-invitation{padding-block:4rem;background:var(--ada-blue);color:var(--ada-paper);border-block:1px solid #c8a97644}
.bw-invitation__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.bw-invitation__image{display:block;position:relative;overflow:hidden;aspect-ratio:1/1;border:1px solid #c8a97666;border-radius:4px}
.bw-invitation__image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--atelier-ease)}
.bw-invitation__copy h2{max-width:17ch;margin-block:1rem}
.bw-invitation__copy>p:not(.eyebrow){max-width:54ch;color:var(--ada-silver);font-size:1rem;line-height:1.7;margin-bottom:1.5rem}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .bw-hero__visual--component:hover>img,.bw-invitation__image:hover img{transform:scale(1.035)}
 .bw-journey__list>li:hover img{transform:translateY(-4px);box-shadow:0 18px 40px #0004}
}
@media(max-width:1000px){.bw-hero__grid,.bw-watch__grid{grid-template-columns:1fr}.bw-hero__copy h1{max-width:15ch!important}.bw-hero__visual--component{aspect-ratio:5/4;width:100%;max-height:38rem}.bw-watch__visual{max-width:34rem;margin:auto}.bw-journey__list>li{grid-template-columns:2.7rem minmax(0,1fr)}.bw-journey__list img{grid-column:2;object-position:right center}.bw-invitation__grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}}
@media(max-width:700px){.bw-hero{padding-top:2rem}.bw-hero__visual--component{aspect-ratio:4/5;max-height:none;box-shadow:.5rem .5rem 0 #aab9c411}.bw-hero__visual figcaption{align-items:flex-start;flex-direction:column}.bw-criterion{padding:2rem 0}.bw-journey__list>li{gap:1rem}.bw-journey__list img{height:17rem}.bw-invitation__grid{grid-template-columns:1fr}.bw-invitation__image{aspect-ratio:3/2;max-height:22rem}.bw-invitation__copy h2{max-width:18ch}}
/* Keep the long French project title on whole words. */
.bw-hero__copy h1{max-width:100%!important;font-size:clamp(2.6rem,4.8vw,5.2rem)!important;overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:1000px){.bw-hero__copy h1{max-width:100%!important}}
