/* Editorial layout: one visual idea at a time. Colours are document surfaces,
   not viewport overlays. The entrance spans the idea and the process chapter. */
html { scroll-behavior: auto; }
:root { --gutter: clamp(24px, 6vw, 112px); --chapter-transition: 0px; }
.content-width { max-width: 1500px; }
h2 { font-size: clamp(42px, 4.9vw, 78px); font-weight: 510; line-height: 1.08; letter-spacing: -.055em; }
h3 { font-weight: 510; }
.section-space { padding-block: clamp(90px, 10vw, 160px); }
.section-heading { gap: 8%; margin-bottom: 60px; }
.section-heading > p { max-width: 34ch; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.75; }
.chapter-kicker { border: 0; padding-top: 0; margin-bottom: 52px; font-size: 10px; letter-spacing: .17em; }
.chapter-kicker > span:last-child { color: inherit; opacity: .6; }
.hero h1 { max-width: 1250px; margin-inline: auto; font-weight: 530; }
.hero-description { font-size: clamp(17px, 1.3vw, 21px); }
.preview-stage { max-width: 1400px; margin-top: 72px; }
.room-preview { border-radius: 20px; box-shadow: 0 26px 72px -45px #18334c77; }
.steps-section { padding-top: 110px; padding-bottom: 150px; }
.steps-grid { gap: 6%; }
.step-copy h3 { font-size: clamp(23px, 2.1vw, 31px); }
.step-copy p { max-width: 30ch; }
.story-opening { background: #08182d; }
.chapter-idea {
  min-height: 0;
  display: block;
  padding-bottom: 40px;
  background: linear-gradient(180deg, #eef3fb 0, #d7e5f5 42%, #aec4dc 64%, #6083a4 83%, #193652 100%);
}
.idea-heading { grid-template-columns: .85fr 1fr; gap: 9%; }
.idea-heading h2 { font-size: clamp(70px, 9vw, 140px); }
.idea-copy { max-width: 28ch; font-size: clamp(23px, 2.1vw, 31px); line-height: 1.5; }
.idea-copy .intro-context { max-width: 34ch; font-size: 16px; line-height: 1.65; margin-bottom: 26px; }
.iv-exhibit { max-width: 1450px; margin: 32px auto 0; padding-inline: 32px; }
.iv-view-label { color: #132e4e; }
.iv-room-label { color: #17385d; }
.chapter-process { margin: 0; background: linear-gradient(180deg, #193652 0, #08182d 90svh); padding-top: 60px; padding-bottom: 0; }
.chapter-process::before, .chapter-process::after, .chapter-future::before { content: none; }
.chapter-process > .content-width > h2 { max-width: 17ch; }
.processing-layout { grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr); gap: 8%; margin-top: 70px; }
.processing-steps article { min-height: 78svh; padding-block: 100px; }
.processing-steps article:last-child { min-height: 0; padding-block: 100px 36px; }
.processing-steps h3 { font-size: clamp(30px,3vw,44px); max-width: 16ch; margin-bottom: 24px; }
.processing-steps p { max-width: 32ch; font-size: clamp(18px,1.45vw,22px); line-height: 1.65; }
.processing-steps .process-number { margin-bottom: 22px; color: #a2c2e7; }
.process-detail { margin-top: 28px; border-bottom: 0; max-width: 34ch; }
.process-detail summary { min-height: 54px; padding: 14px 0; color: #b4d0ed; font-size: 13px; }
.process-detail .detail-inner { padding-bottom: 0; }
.process-detail p { font-size: 16px; line-height: 1.75; }
.pv-visual { width: 110%; margin-left: -5%; }
.pv-sticky { top: 17svh; }
/* The return to light runs behind the heading and opaque contribution cards.
   Its length never creates an empty spacer before the chapter. */
.chapter-contribution { padding-top: 56px; background: linear-gradient(180deg, #08182d 0, #294763 220px, #8ba5c1 440px, #eef3fb 720px); }
.chapter-contribution > .content-width > .chapter-kicker { color: #b9cce3; }
.chapter-contribution > .content-width > h2 { color: #edf5ff; }
.chapter-contribution > div > h2 { margin-bottom: 64px; max-width: 17ch; }
.cv-stages { gap: 5%; }
.cv-foundation, .cv-geometry { padding-top: 0; }
.cv-surface { min-height: 365px; border-radius: 18px; background: transparent; box-shadow: none; border: 1px solid #c6d6ea; padding: 24px 24px 28px; }
.cv-foundation .cv-surface { border-radius: 18px; background: #f5f8fd; border-color: #c6d6ea; }
.cv-training .cv-surface { min-height: 365px; border-radius: 18px; box-shadow: 0 16px 40px -30px #056bff77; }
.cv-geometry .cv-surface { background: #f5f8fd; border-radius: 18px; }
.cv-copy h3 { font-size: clamp(24px,2.2vw,32px); }
.cv-copy p { font-size: 15px; line-height: 1.65; }
.research-tracks { margin-top: 52px; gap: 6%; }
.editorial-detail { min-width: 0; border-bottom: 0; }
.editorial-detail summary { align-items: center; padding-block: 28px; min-height: 100px; }
.editorial-detail summary h3 { margin: 0; font-size: clamp(24px,2.2vw,32px); }
.editorial-summary { display: block; }
.editorial-summary .track-status { margin-bottom: 12px; }
.editorial-detail .detail-inner { max-width: 42ch; }
.editorial-detail p { font-size: 17px; line-height: 1.75; color: var(--muted); }
.contribution-details { margin-top: 30px; font-size: 16px; }
.contribution-details summary { min-height: 72px; }
.contribution-details .detail-inner { max-width: 68ch; font-size: 16px; }
.chapter-lessons { padding-top: 45px; }
.lesson summary { min-height: 104px; padding-block: 29px; }
.lesson summary h3 { font-size: clamp(26px,2.7vw,39px); }
.lesson-text p { font-size: 16px; line-height: 1.7; max-width: 43ch; }
.chapter-journey { padding-top: 55px; padding-bottom: 130px; }
.chapter-future { margin-top: 0; padding-top: 80px; padding-bottom: 100px; background: #08182d; }
.chapter-future h2 { max-width: 17ch; }
.future-intro { font-size: 18px; max-width: 38ch; margin-top: 30px; }
.fv-feature { margin-top: 90px; }
.fv-title { font-size: clamp(31px,3.6vw,52px); }
.future-other { gap: 6%; margin-top: 80px; }
.future-other .editorial-detail summary h3 { color: #edf5ff; }
.future-other .editorial-detail p { color: #afc3dc; }
.scan-status { margin-top: 72px; }
@media(max-width:1000px) { .cv-surface,.cv-training .cv-surface { min-height: 330px; padding-inline: 18px; } .cv-art { min-height: 140px; } }
@media(max-width:800px) {
  .section-space { padding-block: 85px; }
  .chapter-idea { padding-bottom: 30px; }
  .idea-heading { grid-template-columns: 1fr; gap: 35px; }
  .idea-copy { max-width: 34ch; font-size: 24px; }
  .iv-exhibit { padding-inline: 24px; }
  .chapter-process { padding-top: 55px; padding-bottom: 0; }
  .processing-layout { display: grid; grid-template-columns: minmax(0,1fr); margin-top: 45px; }
  .pv-sticky { position: relative; top: auto; width: min(100%,520px); margin: 0 auto 30px; }
  .pv-visual { aspect-ratio: 1.8; max-height: 36svh; }
  .processing-steps { display: block; }
  .processing-steps article,.processing-steps article:last-child { min-height: 0; padding: 48px 0; max-width: 460px; margin-inline: auto; border-top: 1px solid #aac4e030; }
  .processing-steps p { font-size: 19px; }
  .process-detail p { font-size: 16px; }
  .chapter-contribution { padding-top: 48px; }
  .chapter-lessons,.chapter-journey { padding-top: 55px; }
  .chapter-future { padding-top: 64px; }
}
@media(max-width:560px) {
  :root { --gutter: 24px; }
  h2 { font-size: clamp(40px,10.5vw,55px); }
  .hero h1 { font-size: clamp(41px,11.2vw,61px); }
  .hero-description { font-size: 16px; }
  .preview-stage { margin-top: 42px; }
  .chapter-kicker { margin-bottom: 37px; }
  .idea-heading h2 { font-size: 74px; }
  .idea-copy { font-size: 23px; }
  .idea-copy .intro-context { font-size: 16px; }
  .iv-exhibit { margin-top: 32px; padding-inline: 14px; }
  .research-tracks { gap: 10px; }
  .editorial-detail summary { min-height: 88px; padding-block: 24px; }
  .editorial-detail summary h3 { font-size: 27px; }
  .cv-surface,.cv-training .cv-surface { min-height: 300px; padding: 26px; }
  .lesson summary { min-height: 100px; }
  .lesson summary h3 { font-size: 27px; }
  .lesson-text p { font-size: 16px; }
  .fv-feature { margin-top: 65px; }
  .future-other { gap: 10px; }
}
@media(prefers-reduced-motion:reduce) { .pv-sticky { position: relative; top: auto; } }
