/* Business edition: graphite, private violet and image-led narrative. */
:root {
  --body-on-dark: #cec5ce;
  --label-on-dark: #c9abd9;
  --selection: #b49a63;
}
html { background: var(--graphite); }
::selection { background: var(--gold); color: var(--black); }
a, button, input, select, textarea, [tabindex] { -webkit-tap-highlight-color: rgba(180,154,99,.25); }
:focus-visible { outline: 2px solid var(--electric); outline-offset: 5px; }
[id] { scroll-margin-top: 7rem; }
.site-nav a { font-size: .875rem; letter-spacing: .055em; }
.site-nav { gap: clamp(.7rem,1.05vw,1.2rem); }
.site-nav a[aria-current], .site-nav a[aria-current]:hover { color: var(--gold); }
.site-nav a[aria-current]::after { width: 100%; background: var(--gold); box-shadow: none; }
.site-nav .nav-cta[aria-current] { background: var(--gold); color: var(--black); border-color: var(--gold); }
.menu-toggle { min-height: 44px; font-size: .875rem; }
.menu-toggle[aria-expanded="true"] { color: var(--gold); }
.button, .text-link, .route-card-link { font-size: .875rem; }
.button { min-height: 48px; }
.button::before { background: linear-gradient(100deg,transparent,rgba(57,201,255,.2),transparent); }
.button:hover, .button:focus-visible { border-color: var(--electric); }
.button:active, .text-link:active, .route-card-link:active,
button[aria-pressed="true"], button[aria-selected="true"], [role="checkbox"][aria-checked="true"], [role="radio"][aria-checked="true"], [role="switch"][aria-checked="true"] {
  background: var(--gold); color: var(--black); border-color: var(--gold);
}
.button:active::before, button[aria-selected="true"]::after { background: var(--gold); }
.method-stages { gap: .2rem; padding: .4rem; scroll-padding: .5rem; }
.method-stages button { min-width: 6.5rem; font-size: .75rem; color: #c5bec7; line-height: 1.4; padding: .6rem .4rem; }
.method-stages button span { font-size: .75rem; }
.method-stages button.is-active, .method-stages button.is-active:hover,
.mirror-signals button.is-active, .mirror-signals button.is-active:hover {
  background: var(--gold); color: var(--black); transform: none;
}
.method-stages button.is-active span { color: var(--black); }
.method-stages button.is-active::before { background: var(--black); border-color: var(--black); box-shadow: none; }
.mirror-signals button { color: #cec5ce; font-size: .875rem; }
.mirror-signals button.is-active::before { background: var(--gold); }
.method-action { color: var(--gold); font-size: .875rem; }
.method-question > span, .method-question p, .mirror-question span { color: #c5b8cb; font-size: .875rem; }
.method-detail > div:first-child > p:last-child, .mirror-reading > p:not(.mirror-label) { color: var(--body-on-dark); }
.method-track-line span, .mirror-route i, .tempo-trace i { animation: none; }
.method-track-line span { width: 100%; background: linear-gradient(90deg,var(--violet),var(--electric),transparent); opacity: .5; }
.site-footer .legal { color: #b9b0ba; font-size: .75rem; }
.page-footer-links a, .back-top { font-size: .875rem; }
.page-footer-links a { color: #c9c0cc; }
.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(.65rem); }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }

/* Internal-page canvas: no unbroken light chapters. */
.page-shell { background: var(--graphite); color: var(--ivory); }
.page-shell .site-header, .page-shell .site-header.is-scrolled {
  color: var(--ivory); background: rgba(25,25,27,.92); border-color: rgba(233,225,213,.12);
}
.page-shell .site-header .brand-mark { background-image: url("logo-mark-light.svg"); }
.page-shell .menu-toggle { color: var(--ivory); }
.page-shell .menu-toggle[aria-expanded="true"] { color: var(--gold); }
.page-shell .nav-cta { border-color: rgba(180,154,99,.65); }
.page-shell .nav-cta:hover { color: var(--electric-soft); }
.page-shell .chapter-keyframe { min-height: clamp(41rem,88svh,62rem); }
.page-shell .chapter-keyframe > img { object-fit: cover; object-position: var(--scene-position,center); }
.editorial-hero { display: flex; align-items: end; isolation: isolate; }
.editorial-hero::after {
  z-index: 1;
  background: linear-gradient(90deg,rgba(19,17,24,.89),rgba(25,20,31,.62) 42%,rgba(25,25,27,.08) 82%),linear-gradient(0deg,rgba(25,25,27,.96),transparent 70%);
}
.editorial-hero-copy { position: relative; z-index: 2; padding: 12rem clamp(1.25rem,8vw,9rem) 6.5rem; width: 100%; }
.editorial-hero-copy .kicker { color: var(--gold); margin-bottom: 2rem; }
.editorial-hero-copy h1 { max-width: 13ch; font: 400 clamp(3.4rem,6.4vw,7rem)/1.02 var(--serif); letter-spacing: -.04em; margin: 0 0 1.5rem; text-wrap: balance; }
.editorial-hero-copy > p:last-child { max-width: 37rem; color: #ded4df; font-size: clamp(1rem,1.4vw,1.2rem); line-height: 1.6; }
.editorial-hero .chapter-tag { bottom: 1.6rem; left: clamp(1.25rem,8vw,9rem); right: auto; border: 0; border-top: 1px solid rgba(180,154,99,.4); padding: .8rem 0; background: transparent; backdrop-filter: none; }
.page-shell .chapter-tag, .page-shell figcaption { font-size: .75rem; letter-spacing: .11em; flex-wrap: wrap; }
.page-shell .chapter-intro { padding-block: clamp(3.5rem,7vw,6rem); gap: 3rem; background: var(--graphite); border-bottom: 1px solid var(--line-dark); }
.page-shell .chapter-number { color: var(--gold); font-size: clamp(4rem,8vw,7rem); }
.page-shell .chapter-intro-copy .kicker { color: var(--label-on-dark); }
.page-shell .chapter-intro h2 { font-size: clamp(2.2rem,3.7vw,4rem); max-width: 21ch; margin-bottom: 1.4rem; }
.page-shell .chapter-lead { color: var(--body-on-dark); font-size: clamp(1.15rem,1.8vw,1.6rem); }
.page-shell .chapter-section { background: var(--graphite-soft); color: var(--ivory); }
.page-shell .chapter-section.dark { background: var(--graphite); }
.page-shell .chapter-section.purple { background: var(--purple-deep); }
.page-shell .chapter-section.soft { background: #302736; }
.page-shell .chapter-heading { gap: clamp(2rem,6vw,6rem); margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.page-shell .chapter-heading > div > p:last-child { color: var(--body-on-dark); }
.page-shell .kicker, .page-shell .section-index, .page-shell .chapter-section .kicker { color: var(--label-on-dark); }
.page-shell .kicker, .page-shell .section-index p { font-size: .875rem; }
.page-shell .section-index span { color: var(--gold); }
.page-shell .principle-grid, .page-shell .principle-grid article, .page-shell .principle-grid .route-tile { border-color: rgba(233,225,213,.18); }
.page-shell .principle-grid article { background: rgba(13,13,15,.1); }
.page-shell .principle-grid .index { color: var(--gold); font-size: .8rem; }
.page-shell .principle-grid p, .page-shell .included-grid p, .page-shell .outcome-grid p { color: var(--body-on-dark); font-size: 1rem; }
.page-shell .included-grid span, .page-shell .outcome-grid span { font-size: .8rem; color: var(--gold); }
.page-shell .signal-list, .page-shell .signal-list article { border-color: var(--line-dark); }
.page-shell .signal-list span { color: var(--gold); font-size: .8rem; }
.page-shell .signal-list p { color: var(--body-on-dark); }
.page-shell .product-card { background: #242127; }
.page-shell .product-card.is-flagship { background: #302338; }
.page-shell .product-card p { color: var(--body-on-dark); }
.page-shell .product-type { color: var(--gold); font-size: .8rem; }
.page-shell .product-image { width: calc(100% + 2 * clamp(1.7rem,3vw,3rem)); height: 17rem; margin: calc(-1 * clamp(1.7rem,3vw,3rem)) calc(-1 * clamp(1.7rem,3vw,3rem)) 2rem; object-fit: cover; }
.page-shell .is-flagship .product-image { height: 23rem; }
.page-shell .route-tile { background: rgba(13,13,15,.24); transition: background .25s; }
.page-shell .route-tile:hover, .page-shell .route-tile:focus-visible { background: #3b2c46; }
.page-shell .route-tile:active { background: var(--gold); color: var(--black); }
.page-shell .route-tile:active :is(p,.index,.route-card-link) { color: var(--black); }
.page-shell .route-thumb { height: 12rem; object-fit: cover; margin-bottom: 1.5rem; }
.page-shell .editorial-quote { position: relative; background: #38243f; padding-block: clamp(3rem,6vw,5rem); border-top: 1px solid rgba(180,154,99,.25); }
.page-shell .editorial-quote blockquote { max-width: 25ch; color: var(--ivory); font-size: clamp(2.2rem,4.5vw,4.8rem); }
.page-shell .editorial-quote cite { color: var(--gold); font-size: .8rem; }
.page-shell .editorial-quote.breathing-space { background: var(--sand); }
.page-shell .editorial-quote.breathing-space blockquote { color: var(--purple-deep); }
.page-shell .editorial-quote.breathing-space cite { color: #56433e; }
.page-shell .experience-facts { background: var(--graphite); padding-top: 2rem; }
.page-shell .experience-facts article { border-color: var(--line-dark); min-height: 13rem; }
.page-shell .experience-facts span { color: var(--gold); font-size: .8rem; }
.page-shell .experience-facts p { color: var(--body-on-dark); font-size: 1rem; }
.page-shell .experience-facts strong { margin-top: 1.2rem; }
.page-shell .experience-sequence { border-color: var(--line-dark); gap: 0; }
.page-shell .experience-sequence { grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.page-shell .outcome-grid, .page-shell.private-immersion .principle-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); }
.page-shell :is(.experience-sequence,.outcome-grid,.principle-grid) > * { min-width: 0; }
.page-shell .experience-sequence li { border-color: var(--line-dark); }
.page-shell .experience-sequence span { color: var(--gold); font-size: .8rem; }
.page-shell .experience-sequence p { color: var(--body-on-dark); font-size: 1rem; }
.page-shell .experience-sequence li::before { background: var(--gold); border-color: var(--graphite-soft); box-shadow: none; }
.page-shell .experience-sequence::before { background: linear-gradient(90deg,var(--violet-bright),var(--electric),var(--gold)); }
.page-shell .day-architecture { background: var(--line-dark); }
.page-shell .day-architecture article { background: #231d29; }
.page-shell .day-architecture article:nth-child(2) { background: #302338; }
.page-shell .day-architecture span { color: var(--gold); font-size: .8rem; }
.page-shell .day-architecture p { color: var(--body-on-dark); }
.page-shell .day-architecture li { font-size: 1rem; border-color: var(--line-dark); }
.page-shell .day-architecture ul { border-color: var(--line-dark); }
.page-shell .rights-section { background: #28252d; }
.page-shell .rights-layout p { color: var(--body-on-dark); }
.page-shell .rights-layout p+p { border-color: var(--line-dark); }
.page-shell .method-dimensions { margin-bottom: 0; border-color: var(--line-dark); }
.page-shell .method-dimensions article { border-color: var(--line-dark); }
.page-shell .method-dimensions span { color: var(--gold); font-size: .8rem; }
.page-shell .method-dimensions strong { color: var(--ivory); }
.page-shell .method-dimensions p { color: var(--body-on-dark); font-size: 1rem; }
.page-shell .method-track { margin-bottom: 0; background: #211b26; padding: 1.4rem; }
.page-shell .method-stages { grid-template-columns: repeat(11,minmax(6.5rem,1fr)); }
.page-shell .method-detail { background: #302338; border-color: rgba(180,154,99,.4); }
.page-shell .timeline li { border-color: var(--line-dark); }
.page-shell .timeline-copy p { color: var(--body-on-dark); }
.page-shell .timeline-time { color: var(--label-on-dark); font-size: .875rem; }
.page-shell .timeline-marker span { background: var(--graphite-soft); color: var(--gold); border-color: var(--gold); }
.page-shell .full-package { background: linear-gradient(110deg,#201d24,#34223e); }
.page-shell .package-panel { background: rgba(13,13,15,.24); border-color: rgba(180,154,99,.35); }
.page-shell .package-copy p, .page-shell .package-caveat { color: var(--body-on-dark); }
.page-shell .package-facts dt, .page-shell .package-list span { color: var(--gold); font-size: .8rem; }
.page-shell .package-facts dd, .page-shell .package-list { color: var(--ivory); }
.page-shell .package-caveat { font-size: .875rem; }
.page-shell .split-editorial { background: #2e2235; }
.page-shell .split-editorial-copy p { color: var(--body-on-dark); font-size: 1rem; }
.page-shell .split-editorial-copy .kicker { color: var(--gold); font-size: .875rem; }
.page-shell .split-editorial-copy h2 { max-width: 13ch; font-size: clamp(2.5rem,4vw,4.7rem); }
.page-shell .split-editorial.reverse .split-editorial-media { order: 2; }
.page-shell .experience-navigation a[aria-current="page"] { background: var(--gold); color: var(--black); }
.page-shell .experience-navigation a[aria-current="page"] :is(span,small) { color: #2b2317; }
.page-shell .experience-navigation a[aria-current="page"]::after { background: var(--gold); }
.page-shell .experience-navigation span { font-size: .8rem; }
.page-shell .experience-navigation small { font-size: .875rem; color: var(--body-on-dark); }
.page-shell .tempo-copy p:last-child { color: #e0d6df; }
.page-shell .partnership-badge { border-top-color: var(--gold); background: rgba(22,19,27,.9); }
.page-shell .partnership-badge span, .page-shell .partnership-badge small { font-size: .8rem; }
.page-shell .partnership-badge small { color: #cfc4d2; }
.page-shell .partnership-badge span { color: var(--gold); }
.page-shell .chapter-cta { background: #1c1921; border-top-color: rgba(180,154,99,.4); }

/* Paired scenes are chapters: a precise action and room for its consequence. */
.story-pair { display: grid; grid-template-columns: 1.08fr .92fr; background: var(--graphite); }
.story-panel { position: relative; min-width: 0; min-height: clamp(33rem,65svh,48rem); overflow: hidden; margin: 0; display: flex; align-items: end; isolation: isolate; }
.story-panel > img { position: absolute; inset: -24px 0; width: 100%; height: calc(100% + 48px); object-fit: cover; z-index: -2; }
.story-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(24,18,29,.95),rgba(24,18,29,.1) 87%); }
.story-panel figcaption { position: relative; padding: clamp(2rem,4vw,4rem); max-width: 38rem; letter-spacing: normal; font-size: 1rem; }
.story-panel .kicker { color: var(--gold); }
.story-panel h2 { font: 400 clamp(2rem,3.6vw,3.8rem)/1.08 var(--serif); margin: 1rem 0; max-width: 13ch; }
.story-panel p:last-child { color: #e0d5df; margin: 0; }
.story-panel:first-child { border-right: 1px solid rgba(180,154,99,.3); }
.scene-divider { display: flex; align-items: center; gap: 1.4rem; background: #241e2a; padding: 1.2rem clamp(1.25rem,8vw,9rem); color: var(--gold); font-size: .8rem; letter-spacing: .13em; text-transform: uppercase; }
.scene-divider::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg,var(--electric),var(--violet),transparent); }
.page-shell .application-notes, .page-shell .application-notes article { border-color: var(--line-dark); }
.page-shell .application-notes span { color: var(--gold); font-size: .8rem; }
.page-shell .application-notes p { color: var(--body-on-dark); }
.page-shell .application-form { background: #241c2b; border: 1px solid rgba(180,154,99,.4); }
.page-shell .application-form label span { font-size: .875rem; color: #d4c4dc; letter-spacing: .05em; }
.page-shell .application-form input, .page-shell .application-form textarea { padding: .8rem .4rem; }
.page-shell .application-form input::placeholder, .page-shell .application-form textarea::placeholder { color: #b6aaba; }
.page-shell .application-form :is(input,textarea):focus-visible { outline: 2px solid var(--electric); outline-offset: 3px; }
.application-form .route-choices { grid-column: 1/-1; min-width: 0; margin: 1rem 0 .5rem; padding: 0; border: 0; }
.route-choices legend { margin-bottom: .75rem; font-size: .875rem; color: #d4c4dc; }
.route-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.route-choices .route-choice { position: relative; display: block; cursor: pointer; }
.route-choices .route-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.route-choices .route-choice span { display: flex; align-items: center; min-height: 4.2rem; height: 100%; padding: .9rem 1rem; margin: 0; border: 1px solid #776781; color: #e1d8e6; background: #302737; font-size: .9rem; letter-spacing: 0; text-transform: none; transition: background .2s, border-color .2s; }
.route-choice input:hover + span { border-color: var(--electric); background: #40304b; }
.route-choices .route-choice input:checked + span { background: var(--gold); border-color: var(--gold); color: var(--black); }
.route-choice input:checked + span::after { content: "✓"; margin-left: auto; padding-left: .7rem; font-weight: 700; }
.route-choice input:focus-visible + span { outline: 2px solid var(--electric); outline-offset: 3px; }
.page-shell .application-form .form-note { color: #c9bdce; font-size: .875rem; }
.page-shell .application-form .form-success { color: var(--gold); font-size: 1rem; }
.page-shell .application-form button[data-confirmed] { background: var(--gold); color: var(--black); }
.page-shell .application-photo { position: relative; height: 19rem; overflow: hidden; margin: 2rem 0; }
.application-photo img { height: 100%; object-fit: cover; }
.journal-signal-grid .signal-image { height: 14rem; width: calc(100% + 3.4rem); margin: -1.7rem -1.7rem 1.5rem; object-fit: cover; }
.journal-signal-grid article:nth-child(2n) { background: #302637; }
.journal-signal-grid .signal-question { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid rgba(180,154,99,.4); color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }

/* Transform the image plane only; capped offsets are computed once per frame. */
[data-parallax] { transform: translate3d(0,var(--parallax-y,0px),0) scale(1.025); }
.speed-panel:hover > img, .stillness-panel:hover > img,
.weekend-filmstrip figure:hover img[data-parallax] { transform: translate3d(0,var(--parallax-y,0px),0) scale(1.025); }
.page-shell .editorial-hero > img[data-parallax], .page-shell .detail-keyframe > img[data-parallax],
.page-shell .page-image > img[data-parallax], .page-shell .split-editorial-media > img[data-parallax] {
  inset: -24px 0; width: 100%; height: calc(100% + 48px); max-height: none;
}
.page-shell .page-image > img { object-position: var(--scene-position,center); }
@media (max-width: 1320px) and (min-width: 1121px) {
  .site-header { padding-inline: 1.5rem; }
  .brand { gap: .5rem; }
  .brand-name { font-size: 1rem; }
  .site-nav a { font-size: .8rem; }
}
@media (max-width: 1120px) {
  .site-nav { visibility: hidden; }
  .site-nav.is-open { visibility: visible; }
  .site-nav a { font-size: 2rem; }
  .page-shell .site-nav { background: #251c2d; color: var(--ivory); }
  .page-shell.menu-open .site-header { color: var(--ivory); }
  .page-shell .experience-navigation strong { font-size: 1.7rem; }
  .page-shell .split-editorial-copy { padding: 3rem 2rem; }
  .page-shell .method-detail { grid-template-columns: 1fr; }
  .page-shell .method-track { margin-inline: 0; }
  .editorial-hero-copy { padding-top: 10rem; }
}
@media (max-width: 800px) {
  .story-pair, .page-shell .split-editorial { grid-template-columns: 1fr; }
  .page-shell .split-editorial.reverse .split-editorial-media { order: 0; }
  .story-panel { min-height: 34rem; }
  .story-panel:first-child { border-right: 0; border-bottom: 1px solid rgba(180,154,99,.3); }
  .page-shell .split-editorial-media { min-height: 30rem; }
}
@media (max-width: 680px) {
  .site-nav a { font-size: 1.8rem; }
  .page-shell .chapter-keyframe { min-height: 43rem; }
  .editorial-hero-copy { padding: 11rem 1.25rem 6rem; }
  .editorial-hero-copy h1 { font-size: clamp(3rem,13vw,4.3rem); }
  .editorial-hero-copy > p:last-child { max-width: 30rem; }
  .editorial-hero::after { background: linear-gradient(0deg,rgba(25,25,27,.98),rgba(25,20,31,.65) 55%,rgba(25,25,27,.14)); }
  .editorial-hero .chapter-tag { right: 1.25rem; justify-content: start; gap: .55rem; }
  .chapter-tag i { width: 1.5rem; }
  .page-shell .chapter-intro { gap: 1.5rem; }
  .page-shell .chapter-heading h2 { font-size: clamp(2.4rem,11vw,3.7rem); }
  .page-shell .page-image figcaption { left: 1rem; right: 1rem; bottom: 1rem; padding: .7rem; }
  .page-shell .chapter-cta { gap: 2rem; }
  .page-shell .chapter-cta h2 { font-size: clamp(2.4rem,11vw,3.7rem); }
  .page-shell .product-image { height: 15rem; }
  .page-shell .is-flagship .product-image { height: 18rem; }
  .page-shell .split-editorial-copy { padding: 3rem 1.25rem; }
  .page-shell .detail-hero-copy { bottom: 3.5rem; }
  .page-shell .detail-hero-copy h1 { font-size: clamp(3rem,13vw,4.3rem); }
  .route-choice-grid { grid-template-columns: 1fr; }
  .story-panel figcaption { padding: 2rem 1.25rem; }
  .story-panel h2 { font-size: 2.8rem; }
  .page-shell .partnership-scene { min-height: 37rem; }
  .page-shell .partnership-scene > img { object-position: 40% center; }
  .page-shell .partnership-badge { margin-bottom: 2rem; }
  [data-parallax] { transform: translate3d(0,var(--parallax-y,0px),0) scale(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-parallax] { transform: none !important; will-change: auto; }
  .motion-ready .reveal, .motion-ready .reveal.is-visible { opacity: 1; transform: none; }
}

input[type="checkbox"], input[type="radio"], progress { accent-color: var(--gold); }

/* Photographic chapters: pictures live inside the thinking and the journey. */
.chapter-media { position: relative; overflow: hidden; min-width: 0; margin: 0; aspect-ratio: 1.45; background: #201b26; }
.chapter-media > img { position: absolute; inset: -24px 0; width: 100%; height: calc(100% + 48px); object-fit: cover; }
.chapter-media::after { transform-origin: left; transform: scaleX(.55); transition: transform .6s cubic-bezier(.2,.75,.25,1); content: ""; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg,var(--electric),var(--violet),transparent); opacity: .65; pointer-events: none; }
.page-shell .visual-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--line-dark); background: var(--line-dark); }
.page-shell .visual-grid-wide { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-shell .visual-grid > :is(article,li) { display: flex; flex-direction: column; min-width: 0; padding: 0; border: 0; overflow: hidden; background: #242127; }
.page-shell .visual-grid > :nth-child(2n) { background: #302637; }
.visual-grid .chapter-media { flex: 0 0 auto; }
.visual-card-copy { padding: clamp(1.5rem,2.7vw,2.7rem); }
.page-shell .visual-card-copy > :is(h3,strong) { margin-top: 1.5rem; }
.page-shell .visual-grid h3 { max-width: 20ch; }
.page-shell .method-dimensions.visual-grid { margin-top: 0; }
.page-shell .method-dimensions.visual-grid > article { display: flex; }
.page-shell .method-dimensions .visual-card-copy > span { display: block; margin-bottom: 1rem; }
.page-shell .method-dimensions .visual-card-copy > strong { display: block; font-size: clamp(1.8rem,2.7vw,2.7rem); margin: 0 0 1rem; }
.chapter-scene { position: relative; margin: 0; min-width: 0; min-height: 34rem; display: flex; align-items: end; overflow: hidden; background: #1e1924; isolation: isolate; }
.chapter-scene > img { position: absolute; z-index: -2; inset: -24px 0; width: 100%; height: calc(100% + 48px); object-fit: cover; }
.chapter-scene::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg,rgba(22,17,28,.97),rgba(22,17,28,.2) 75%); pointer-events: none; }
.chapter-scene figcaption { padding: clamp(1.5rem,3.5vw,3.5rem); width: 100%; }
.page-shell .chapter-scene .kicker { color: var(--gold); font-size: .75rem; margin: 0 0 1.3rem; }
.page-shell .chapter-scene .scene-title { color: var(--ivory); font: 400 clamp(2rem,3.2vw,3.5rem)/1.08 var(--serif); letter-spacing: -.025em; max-width: 17ch; margin: 0; }
.page-shell .chapter-scene .scene-caption { color: #ded4df; font: 400 1rem/1.6 var(--sans); margin: 1.3rem 0 0; letter-spacing: 0; }
.scene-led { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem,3vw,3rem); align-items: start; }
.scene-led > .chapter-scene { position: sticky; top: 7rem; min-height: clamp(32rem,72svh,47rem); }
.page-shell .scene-led > :is(.principle-grid,.outcome-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-shell .scene-led .signal-list article { grid-template-columns: 1fr; gap: .55rem; padding: 1.4rem; }
.page-shell .scene-led .signal-list strong { font-size: 1.65rem; }
.page-shell .scene-led .signal-list p { font-size: 1rem; }
.page-shell.page-apply .scene-led > .principle-grid { grid-template-columns: 1fr; }
.page-shell .founder-question-scene { padding: 0; border: 0; align-self: start; }
.founder-question-scene .chapter-scene { min-height: 36rem; }
.page-shell .founder-question-scene .scene-title { font-size: clamp(2.2rem,3.5vw,3.7rem); }
.page-founder .chapter-section > .chapter-scene { min-height: 30rem; margin: 0 0 3rem; }
.page-founder .chapter-section > .chapter-scene .scene-title { max-width: 22ch; }
/* Each journey step holds its own scene; the original sequence remains a true list. */
.page-shell .visual-timeline { max-width: none; }
.page-shell .visual-timeline > li { grid-template-columns: 3rem minmax(0,1fr) minmax(0,1.1fr); gap: 0 2rem; padding: 1.7rem 0; border-top: 1px solid var(--line-dark); }
.visual-timeline .timeline-marker { grid-column: 1; grid-row: 1/3; }
.visual-timeline .timeline-time { grid-column: 2; grid-row: 1; align-self: end; padding-top: .3rem; padding-bottom: .9rem; }
.visual-timeline .timeline-copy { grid-column: 2; grid-row: 2; border: 0; padding-bottom: 1.2rem; }
.visual-timeline .timeline-copy h3 { margin-bottom: 1rem; font-size: clamp(1.8rem,2.7vw,2.7rem); }
.visual-timeline .chapter-media { grid-column: 3; grid-row: 1/3; aspect-ratio: 1.7; min-height: 16rem; }
.visual-timeline .timeline-marker::after { background: linear-gradient(var(--gold),var(--violet),var(--electric)); top: 3.1rem; bottom: -1.8rem; opacity: .45; }
.page-shell .visual-sequence { list-style: none; margin: 0; padding: 0; }
.page-shell .visual-sequence::before, .page-shell .visual-sequence > li::before { display: none; }
.page-shell .visual-sequence strong { display: block; font: 400 clamp(1.8rem,2.5vw,2.5rem)/1.12 var(--serif); }
.page-shell .visual-sequence span { color: var(--gold); }
.page-shell .visual-sequence li > .visual-card-copy { padding-top: 1.5rem; }
/* The 11 stages have a responsive image plane, inside the labelled tab panel. */
.page-shell .method-detail-visual { display: grid; grid-template-columns: 1fr 1fr; padding: 0; margin-top: 1rem; gap: 0; }
.method-stage-scene { min-height: 36rem; align-self: stretch; }
.page-shell .method-stage-scene .scene-title { font-size: clamp(2rem,3vw,3.4rem); }
.method-detail-copy { padding: clamp(1.5rem,3vw,3rem); align-self: center; }
.page-shell .method-detail-copy h3 { font: 400 clamp(2rem,3.5vw,3.7rem)/1.08 var(--serif); margin: 1.3rem 0; }
.page-shell .method-detail-copy > div > p:not(.method-action) { color: var(--body-on-dark); font-size: 1rem; }
.method-detail-copy .method-question { border-left: 0; border-top: 1px solid rgba(180,154,99,.4); padding: 1.7rem 0 0; margin-top: 2rem; }
.page-shell .method-detail-copy .method-question strong { font: 400 clamp(1.4rem,2vw,2rem)/1.25 var(--serif); }
/* Photographic route choices remain native radio controls. */
.route-choices .route-choice span { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; align-items: center; padding: 0; overflow: hidden; }
.route-choice span > img { grid-column: 1/-1; width: 100%; height: 7.5rem; object-fit: cover; }
.route-choice span > b { font-weight: 500; line-height: 1.35; padding: .9rem; }
.route-choices .route-choice input:checked + span::after { padding: 0 .9rem 0 0; margin-left: 0; }

/* Context at rest, a consistent gold finish on every action. */
.button { background: var(--button-rest-bg,transparent); color: var(--button-rest-fg,inherit); transition: background .24s ease,color .24s ease,border-color .24s ease,transform .24s ease; }
.button-primary { background: var(--button-rest-bg,var(--purple-deep)); color: var(--button-rest-fg,var(--ivory)); }
.hero .button-primary { background: #4b3158; color: var(--ivory); border-color: #9a7fab; }
.page-shell .chapter-cta .button-primary { background: #5c3f6b; color: var(--ivory); border-color: #a185b1; }
:is(.page-method,.page-grand-prix-experience) .chapter-cta .button-primary { background: var(--ivory); color: var(--purple-deep); border-color: var(--ivory); }
:is(.page-founder,.page-private-immersion) .chapter-cta .button-primary { background: transparent; color: var(--ivory); border-color: #bca9c7; }
.page-shell .application-form .button-primary { background: #6b487c; color: var(--ivory); border-color: #bca9c7; }
body .hero .button-primary:is(:hover,:focus-visible,:active),
body .button:is(:hover,:focus-visible,:active),
body.page-shell .button:is(:hover,:focus-visible,:active),
body .site-nav .nav-cta:is(:hover,:focus-visible,:active),
body .mirror-signals button:is(:hover,:focus-visible,[aria-selected="true"]),
body .method-stages button:is(:hover,:focus-visible,[aria-selected="true"]),
body.page-shell .experience-navigation a:is(:hover,:focus-visible,[aria-current="page"]) {
  background: var(--gold); color: var(--black); border-color: var(--gold);
}
body .button:is(:hover,:focus-visible,:active)::before { background: linear-gradient(100deg,transparent,rgba(233,225,213,.2),transparent); }
body .button:is(:hover,:focus-visible,:active) *,
body .method-stages button:is(:hover,:focus-visible,[aria-selected="true"]) span,
body.page-shell .experience-navigation a:is(:hover,:focus-visible,[aria-current="page"]) :is(span,small) { color: var(--black); }
body .method-stages button:is(:hover,:focus-visible,[aria-selected="true"])::before { background: var(--black); border-color: var(--black); box-shadow: none; }
body .site-nav a:not(.nav-cta):is(:hover,:focus-visible),
body .text-link:is(:hover,:focus-visible),
body .text-link:is(:hover,:focus-visible) span,
body .route-card-link:is(:hover,:focus-visible),
body .page-footer-links a:is(:hover,:focus-visible),
body .back-top:is(:hover,:focus-visible) { color: var(--gold); border-color: var(--gold); }
body .site-nav a:is(:hover,:focus-visible)::after { background: var(--gold); }
body .menu-toggle:is(:hover,:focus-visible) { color: var(--gold); }
body.page-shell .principle-grid .route-tile:is(:hover,:focus-visible,:active) { background: var(--gold); color: var(--black); }
body.page-shell .principle-grid .route-tile:is(:hover,:focus-visible,:active) :is(.index,p,.route-card-link) { color: var(--black); }
body .route-choices .route-choice:is(:hover,:focus-within) span,
body .route-choices .route-choice input:checked + span { background: var(--gold); border-color: var(--gold); color: var(--black); }
body .route-choices .route-choice input:focus-visible + span { outline: 2px solid var(--electric); outline-offset: 3px; }
body .platform-paths > a:is(:hover,:focus-visible) :is(h3,b),
body .path-card:is(:hover,:focus-visible) :is(h3,.path-link) { color: var(--gold); }

@media (max-width: 1120px) {
  .page-shell .visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-shell .method-dimensions.visual-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .scene-led { grid-template-columns: 1fr 1fr; }
  .page-shell .scene-led > :is(.principle-grid,.outcome-grid) { grid-template-columns: 1fr; }
  .page-shell .method-detail-visual { grid-template-columns: 1fr 1fr; }
  .method-stage-scene { min-height: 35rem; }
}
@media (max-width: 800px) {
  .scene-led { grid-template-columns: 1fr; gap: 2rem; }
  .scene-led > .chapter-scene { position: relative; top: auto; min-height: 32rem; }
  .page-shell .scene-led > :is(.principle-grid,.outcome-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-shell .method-dimensions.visual-grid, .page-shell .method-detail-visual { grid-template-columns: 1fr; }
  .method-stage-scene { min-height: 28rem; }
  .page-shell .visual-timeline > li { grid-template-columns: 2.5rem minmax(0,1fr); gap: 0 1rem; }
  .visual-timeline .chapter-media { grid-column: 2; grid-row: 3; min-height: 0; aspect-ratio: 1.6; margin-bottom: 1rem; }
  .visual-timeline .timeline-marker { grid-row: 1/4; }
}
@media (max-width: 580px) {
  .page-shell .visual-grid, .page-shell .scene-led > :is(.principle-grid,.outcome-grid) { grid-template-columns: 1fr; }
  .chapter-media { aspect-ratio: 1.5; }
  .visual-card-copy { padding: 1.5rem; }
  .page-shell .chapter-scene .scene-title { font-size: 2.8rem; }
  .founder-question-scene .chapter-scene { min-height: 33rem; }
  .page-shell .visual-timeline > li { grid-template-columns: 2rem minmax(0,1fr); gap: 0 .75rem; }
  .visual-timeline .timeline-marker span { width: 2rem; height: 2rem; }
  .route-choice span > img { height: 9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .scene-led > .chapter-scene { position: relative; top: auto; }
}

.visual-grid > :hover .chapter-media::after, .visual-timeline > :hover .chapter-media::after { transform: scaleX(1); }
/* Keep image tracks contained when text is enlarged. */
.chapter-media { width: 100%; }
@media (min-width: 1121px) {
  .site-header { gap: 2rem; }
  .site-header .brand { flex-shrink: 0; }
  .site-nav { min-width: 0; flex-wrap: wrap; justify-content: flex-end; row-gap: .8rem; }
  .site-nav a { white-space: nowrap; }
}

/* A complete, quiet footer and readable legal chapters. */
.site-footer { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) auto; align-items: start; gap: 2rem 3rem; padding: 4rem clamp(1.25rem,6vw,6rem) 2rem; }
.site-footer .footer-brand .brand-name { display: inline; color: var(--ivory); font-size: 1.2rem; }
.footer-origin { color: #c8bacc; font-size: .875rem; margin-top: 1.2rem !important; }
.site-footer .page-footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1.6rem; }
.site-footer :is(.page-footer-links,.footer-legal-links) a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.footer-legal-links { display: flex; flex-wrap: wrap; grid-column: 1/-1; gap: .2rem 2.4rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.footer-legal-links a { color: #d2c8d5; font-size: .875rem; }
.footer-legal-links a:is(:hover,:focus-visible,[aria-current]), .page-footer-links a[aria-current] { color: var(--gold); }
.site-footer .legal { grid-column: 1/3; max-width: 65rem; }
.footer-copyright { font-size: .75rem; color: #b9b0ba; text-align: right; }
.legal-hero { padding: clamp(10rem,16vw,15rem) clamp(1.25rem,8vw,9rem) 4rem; background: linear-gradient(115deg,#211b27,#302139); }
.legal-hero h1 { font: 400 clamp(3rem,6vw,6rem)/1.04 var(--serif); letter-spacing: -.035em; max-width: 15ch; margin: 1.5rem 0; }
.legal-lead { font: 400 clamp(1.2rem,2vw,1.7rem)/1.45 var(--serif); color: #ded3e0; max-width: 38rem; }
.legal-date { font-size: .875rem; color: #beaeca; margin-top: 2rem; }
.legal-layout { display: grid; grid-template-columns: minmax(12rem,.7fr) minmax(0,2fr); gap: clamp(2rem,7vw,7rem); padding: 4rem clamp(1.25rem,8vw,9rem) 6rem; }
.legal-contents { position: sticky; top: 8rem; align-self: start; }
.legal-contents a { display: block; min-height: 2.75rem; padding: .65rem 0; border-bottom: 1px solid var(--line-dark); color: #cbbbd3; font-size: .95rem; }
.legal-contents a:is(:hover,:focus-visible) { color: var(--gold); }
.legal-copy { max-width: 53rem; }
.legal-copy section { padding: 0 0 2.4rem; margin-bottom: 2.4rem; border-bottom: 1px solid var(--line-dark); }
.legal-copy h2 { font: 400 clamp(1.9rem,3vw,2.7rem)/1.13 var(--serif); margin: 0 0 1.4rem; }
.legal-copy p { color: var(--body-on-dark); font-size: 1rem; line-height: 1.75; }
.legal-copy a { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }
.legal-copy a:is(:hover,:focus-visible) { color: var(--ivory); }
.cookie-status-list { background: #2a2130; padding: .7rem 1.5rem; margin: 2rem 0; border-left: 2px solid var(--gold); }
.cookie-status-list p { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1.2rem; padding: .6rem 0; }
.cookie-status-list strong { color: var(--ivory); font-weight: 500; }
@media (max-width: 800px) {
 .site-footer { grid-template-columns: 1fr; gap: 1.6rem; }
 .site-footer .legal, .footer-legal-links { grid-column: 1; }
 .footer-copyright { text-align: left; }
 .site-footer .back-top { justify-self: start; }
 .legal-layout { grid-template-columns: 1fr; }
 .legal-contents { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
 .legal-contents .kicker { grid-column: 1/-1; }
 .cookie-status-list p { grid-template-columns: 1fr; gap: .3rem; }
}
@media (prefers-reduced-motion: reduce) { .legal-contents { position: static; } }

/* The R and W are bends in one circuit, with a gold start / finish. */
.brand-mark { width: 3.9rem; height: 2.5rem; flex-basis: 3.9rem; }
.brand { gap: .65rem; }
.footer-brand { flex-wrap: wrap; }
.site-footer .brand-mark { width: 6.5rem; height: 4.2rem; flex-basis: 6.5rem; }
@media (max-width: 540px) {
  .site-header .brand-mark { width: 3.2rem; height: 2.1rem; flex-basis: 3.2rem; }
  .site-header .brand-name { font-size: .94rem; }
  .site-footer .brand-mark { width: 5.4rem; height: 3.5rem; flex-basis: 5.4rem; }
}

.visual-grid .product-card.editorial-card { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.7rem,3vw,3rem); background: linear-gradient(150deg,#3a2747,#25212b); border-top: 1px solid var(--gold); }
.editorial-card .card-statement { margin: 0 0 3rem; font: 400 clamp(1.8rem,3vw,3.1rem)/1.14 var(--serif); color: var(--ivory); }
.visual-grid .editorial-card .visual-card-copy { padding: 0; }
.principles-only .principle-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 800px) { .principles-only .principle-grid { grid-template-columns: 1fr; } }
/* Gold hover surfaces retain readable ink on the homepage's light sections. */
body:not(.page-shell) .site-nav a:not(.nav-cta):is(:hover,:focus-visible),
body:not(.page-shell) .text-link:is(:hover,:focus-visible) { background: var(--gold); color: var(--black); }
body:not(.page-shell) .text-link:is(:hover,:focus-visible) span { color: var(--black); }
body:not(.page-shell) .path-card:is(:hover,:focus-visible) { background: var(--gold); color: var(--black); }
body:not(.page-shell) .path-card:is(:hover,:focus-visible) :is(h3,p,.path-link,.path-number) { color: var(--black); }
.legal-copy a { color: #c9abd9; }
.legal-copy a:is(:hover,:focus-visible) { color: var(--gold); }
.legal-contents a[aria-current="location"] { color: var(--gold); border-color: var(--gold); }
body .method-stages button[aria-selected="true"], body .mirror-signals button[aria-selected="true"] { box-shadow: inset 0 -3px 0 var(--black); }
/* Keep visual footer order aligned with keyboard and document order. */
.site-footer > .page-footer-links { order: 0; grid-column: auto; grid-row: auto; grid-template-columns: repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
.site-footer > .legal { grid-row: auto; order: 0; }
.site-footer .footer-copyright { font-family: var(--sans); font-size: .75rem; }
body:not(.page-shell) .menu-toggle:is(:hover,:focus-visible,[aria-expanded="true"]) { background: var(--gold); color: var(--black); }
body:not(.page-shell) .path-card:is(:hover,:focus-visible) :is(span,b,i) { color: var(--black); }
