/* Spectrum / Glass V03. Load after the existing layout and Mint V02.
   Colour lives on action edges, never on text or large decorative fills.
   The approved wordmark/icon selectors and their geometry are untouched. */

@property --spectrum-phase {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

:root {
  --paper: #f8f9fb;
  --ink: #242825;
  --muted: #60656d;
  --line: #dde0e6;
  --lime: #edf0f4;
  --mint: #e7ebf0;
  --mint-deep: #414752;
  --surface: #ffffff;
  --surface-soft: #f0f2f5;
  --edge: #d2d6de;
  --focus: #424854;
  background: var(--paper);
}

body { background: var(--paper); }
.hero {
  background:
    radial-gradient(ellipse at 18% 55%, #ffffff 0, transparent 42%),
    radial-gradient(ellipse at 84% 72%, #eceff4 0, transparent 43%),
    var(--paper);
}
.hero h1 span { color: #737985; }
.dreamline { color: #484e59; }
.hero-light {
  border-color: #d4d9e180;
  box-shadow: 0 0 0 50px #d9dfe625, 0 0 0 120px #d9dfe615;
}
.glass {
  background: #ffffffc9;
  border-color: #ffffffed;
  box-shadow: inset 0 1px 0 #fff, 0 5px 22px #24293608;
}
.composer { box-shadow: 0 16px 45px #2429360c, inset 0 1px 1px #fff; }
.nav-links a, .use-cases button { color: #525862; }
.nav-links a:hover { color: #242825; }
.tiny-orbit {
  background: #a6adb8;
  border-color: #6d7582;
  box-shadow: inset 2px 1px 3px #fff, 0 0 8px #c8cfd633;
}
.hero-copy, .composer-bottom > span, .composer input::placeholder,
.world-copy > p, .section-index, .scope-note, .plan-explanation,
.preview-note, .mini-copy, .footer, .float-card small, .example-label,
.hero-bottom, .use-cases > span, .principles-caption, .principle-list svg,
.closing-caption, .room-name, .workspace-progress, .workspace-footer,
.workspace-body label > span, .plan-item label, .export-status,
.evidence-detail, .evidence-detail dd, .info-body p, .story-message > p,
.story-example small, .story-note, .core-status, .core-detail > p,
.core-proof > span, .core-proof > p, .proof-list span,
.participate > div > p, .participate-card small, .participation-steps,
.participation-steps span { color: var(--muted); }
.preview-note > span { background: #818895; }
.hero-bottom, .hero-bottom a { border-color: var(--edge); }
.pill { border-color: #c2c8d2; color: #555d69; }
.text-link, .world-copy .text-link, .core-proof .text-link,
.participate-card .text-link, .vision-message .text-link,
.operation-card .text-link { border-color: #a3aab6; }
.quick-starts button {
  background: #ffffffb8;
  border-color: #d8dce5;
  transition: background .18s, border-color .18s;
}
.quick-starts button:hover { transform: none; background: #fff; border-color: #aeb6c3; }
.world-tabs { background: #edf0f4; border-color: #e0e4eb; }
.world-panel,
.world-panel[data-world='work'],
.world-panel[data-world='create'],
.world-panel[data-world='learn'] { background: #edf0f4; }
.orbital-ring { border-color: #bcc5d47a; }
.glass-orb {
  background:
    radial-gradient(circle at 30% 20%, #fff 0, #ffffff99 18%, transparent 48%),
    radial-gradient(circle at 67% 74%, #a4b0c288, transparent 48%),
    conic-gradient(from 80deg, #d4dce888, #f5f7fa88, #bfc9d799, #e9edf477, #d6deeb99);
  box-shadow: inset -13px -17px 35px #77859b20, inset 6px 8px 16px #ffffffee, 0 30px 45px #56647c1c;
}
.float-card { box-shadow: 0 14px 32px #2b354b10, inset 0 1px 1px #fff; }
.peach, .lilac { background: #e7ebf1; color: #687385; }
.mini-arrow { color: #687382; }
.focus-bars i { background: #939fb0; }
.focus-bars i:nth-child(2n) { background: #b8c2ce; }
.check-circle { background: #e8edf4; border-color: #c4cedc; color: #59677c; }
.step-number { color: #757e8d; }
.step-visual { background: #f0f2f6; border-color: #dfe4ec; }
.thought { color: #737c8b; }
.context span, .next-step > span { border-color: #dce2eb; background: #fff; }
.next-step > span:last-child { background: #e5eaf2; border-color: #cad3e1; }
.principles { background: #edf0f5; }
.principle-list article { border-color: #d5dce6; }
.closing-orbit { border-color: #d4dbe6; box-shadow: 0 0 0 50px #e8edf388; }

/* Pale interiors keep the film, scenarios and explanatory core coherent. */
.story-panel { border-color: #e0e4eb; }
.story-quote { color: #c9d1de; }
.story-task { background: #f3f5f8; border-color: #dfe5ed; }
.story-reward { background: #e8edf4; border-color: #cfd8e5; }
.story-example .card-icon { background: #ffffffbd; color: #59687e; }
.story-connection { color: #71809a; }
.story-connection > span { background: #a8b5c8; }
.life-film-stage { background: #20242c; }
.life-film-stage:after {
  background: linear-gradient(90deg, #151923e8, #151923ae 40%, #15192324),
    linear-gradient(0deg, #15192391, transparent 40%);
}
.life-film-copy .eyebrow { color: #dce3ef; }
.life-film-copy > p { color: #edf0f6; }
.film-link { border-color: #b9c5d8; }
.life-film-sphere {
  border-color: #e0e9ff80;
  box-shadow: inset 5px 9px 20px #ffffff55, inset -3px -8px 25px #bac9df28;
}
.life-film-halo { border-color: #e3ebff42; }
.film-chip { border-color: #e6edff7a; background: #edf3ff17; }
.chip-after { background: #e1eaff24; color: #f1f4fc; }
.film-progress i { background: #edf2ff; }
.image-caption { color: #f2f5fb; }
.life-film #motion-toggle { border-color: #dce4f27a; background: #1e2637de; color: #f5f7fd; }
.core-map { background: #edf0f5; color: var(--ink); border: 1px solid #dce2eb; }
.core-center small { color: #626d7d; }
.core-glow {
  border-color: #a1b0c53b;
  box-shadow: 0 0 0 30px #8699b20a, 0 0 0 65px #8699b207;
  background: radial-gradient(#b8c5d745, transparent);
}
.core-stations button > span { color: #626d7d; }
.core-detail, .proof-list li { border-color: #d5dce7; }
.participate-card {
  background: linear-gradient(135deg, #ffffffee, #e8edf5de);
  border-color: #d5dce7;
}
.participation-steps strong { color: var(--ink); }
.operation-card { border-color: #dfe4ec; }
.operation-card:nth-child(2), .operation-card:nth-child(3) { background: #f1f4f8; }
.operation-status { border-color: #cdd6e3; background: #f8f9fc; }
.faq-list, .faq-list details { border-color: #d4dce7; }

/* Workroom inputs retain a visible, neutral selected state. */
dialog { background: #fafbfd; border-color: #fff; box-shadow: 0 30px 100px #20263738; }
dialog::backdrop { background: #20263766; }
.workspace-top { background: #fafbfdeb; border-color: #dce2eb; }
.icon-button { background: #e9edf4; }
.workspace-progress .progress-active { border-color: #67758a; color: #3a475a; }
textarea { border-color: #ccd5e3; }
textarea::placeholder { color: #778396; }
.outcome-options label { background: #f0f3f8; border-color: #d9e0eb; }
.outcome-options input { accent-color: #53657d; }
.outcome-options label:has(input:checked) { background: #e6edf7; border-color: #8093af; }
.workspace-footer, .evidence-detail { border-color: #dce3ed; }
.draft-badge { background: #e8edf5; border-color: #cbd6e6; }
.plan-context { background: #eef2f8; }
.plan-item { border-color: #d6dfec; }
.plan-item select { border-color: #cfd9e8; background: #f0f4fa; color: #53657d; }
.noscript { background: #2a3343; }

/* Every control has a readable solid-border fallback before masking support.
   No DOM wrappers, positional transforms, filters or continuous JS loops. */
.primary, .nav-cta, .send,
.world-tabs button, .story-tabs button, .core-stations button {
  --spectrum-angle: 0deg;
  --glass-x: 50%;
  --glass-y: 0%;
  position: relative;
  isolation: isolate;
  border: 1px solid #cbd1dc;
  border-radius: 999px;
  color: var(--ink);
  background: radial-gradient(ellipse at var(--glass-x) var(--glass-y), #fff, #f8f9fc 76%);
  box-shadow: inset 0 1px 0 #fff, 0 3px 10px #26304609;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
  transform: none;
}
.primary, .nav-cta, .send {
  border-color: #bfc7d5;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.world-tabs button, .story-tabs button, .core-stations button {
  background: transparent;
  color: #606a79;
  border-color: transparent;
  box-shadow: none;
}
.story-tabs button { border-color: #d0d8e5; }
.core-stations button { background: #ffffff66; border-color: #d4dce8; }
.world-tabs button[aria-selected='true'],
.story-tabs button[aria-selected='true'],
.core-stations button[aria-selected='true'] {
  color: #293342;
  background: radial-gradient(ellipse at var(--glass-x) var(--glass-y), #fff, #f9faff 76%);
  border-color: #bac6d8;
  font-weight: 600;
  box-shadow: inset 0 1px 0 #fff, 0 3px 9px #2630460b;
}
.primary:hover, .nav-cta:hover, .send:hover,
.world-tabs button:hover, .story-tabs button:hover, .core-stations button:hover {
  color: var(--ink);
  background: radial-gradient(ellipse at var(--glass-x) var(--glass-y), #fff, #f4f6fb 80%);
  border-color: #aebace;
  box-shadow: inset 0 1px 0 #fff, 0 5px 16px #2630460d;
  transform: none;
}
.primary:focus-visible, .nav-cta:focus-visible, .send:focus-visible,
.world-tabs button:focus-visible, .story-tabs button:focus-visible,
.core-stations button:focus-visible,
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
.primary:disabled, .nav-cta[aria-disabled='true'], .send:disabled,
.world-tabs button:disabled, .story-tabs button:disabled, .core-stations button:disabled {
  color: #757b85;
  background: #eceff4;
  border-color: #d7dce5;
  box-shadow: none;
  cursor: not-allowed;
}

@supports ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  .primary::before, .nav-cta::before, .send::before,
  .world-tabs button::before, .story-tabs button::before, .core-stations button::before {
    content: '';
    position: absolute;
    inset: -1px;
    padding: 1.25px;
    border-radius: inherit;
    pointer-events: none;
    background: conic-gradient(
      from calc(var(--spectrum-angle) + var(--spectrum-phase)),
      #ed8cac 0deg,
      #eaa779 52deg,
      #d8be6c 95deg,
      #75bd9b 145deg,
      #73bdd7 195deg,
      #839de4 242deg,
      #b493df 298deg,
      #ed8cac 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    animation: ownmore-spectrum-turn 9s linear infinite;
    animation-play-state: paused;
    transition: opacity .2s;
  }
  .primary::before, .nav-cta::before, .send::before { opacity: .85; }
  .world-tabs button[aria-selected='true']::before,
  .story-tabs button[aria-selected='true']::before,
  .core-stations button[aria-selected='true']::before { opacity: .9; }

  /* Visible primary actions flow slowly; the observer pauses off-screen ones. */
  .primary[data-spectrum-visible='true']::before,
  .nav-cta[data-spectrum-visible='true']::before,
  .send[data-spectrum-visible='true']::before { animation-play-state: running; }
  /* Pointer and keyboard interaction may also wake a control. */
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button):focus-visible::before,
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button)[data-spectrum-active='true']::before {
    opacity: 1;
    animation-play-state: running;
  }
  @media (hover: hover) and (pointer: fine) {
    :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button):hover::before {
      opacity: 1;
      animation-play-state: running;
    }
  }
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button):disabled::before,
  .nav-cta[aria-disabled='true']::before { opacity: 0; animation: none; }
}

@keyframes ownmore-spectrum-turn {
  from { --spectrum-phase: 0deg; }
  to { --spectrum-phase: 360deg; }
}

@media (max-width: 700px) {
  .life-film-stage:after {
    background: linear-gradient(180deg, #151923ed, #151923b8 44%, #15192324 75%, #15192382);
  }
}

/* Explicit page/motion state covers pointer transitions as well as keyframes. */
html[data-motion='paused'], html[data-page-hidden='true'] { scroll-behavior: auto; }
html[data-motion='paused'] *, html[data-motion='paused'] *::before, html[data-motion='paused'] *::after,
html[data-page-hidden='true'] *, html[data-page-hidden='true'] *::before, html[data-page-hidden='true'] *::after {
  animation-play-state: paused !important;
  transition: none !important;
}
html[data-motion='paused'] :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button) {
  --spectrum-angle: 0deg !important;
  --glass-x: 50% !important;
  --glass-y: 0% !important;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button) {
    --spectrum-angle: 0deg !important;
    --glass-x: 50% !important;
    --glass-y: 0% !important;
  }
}
@media (prefers-reduced-transparency: reduce) {
  .glass, .workspace-top, .participate-card,
  .primary, .nav-cta, .send,
  .world-tabs button, .story-tabs button, .core-stations button {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
    border-color: #9ca9bd;
  }
  .film-chip, .life-film #motion-toggle { background: #252e3f; color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  dialog::backdrop { background: #202637d9; -webkit-backdrop-filter: none; backdrop-filter: none; }
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button)::before {
    display: none;
    animation: none;
  }
  .world-tabs button[aria-selected='true'], .story-tabs button[aria-selected='true'], .core-stations button[aria-selected='true'] {
    background: #e5ebf4;
    border-color: #657894;
  }
}
@media (forced-colors: active) {
  .glass, .hero, .world-panel, .world-panel[data-world], .principles,
  .story-panel, .story-task, .story-reward, .core-map, .core-detail,
  .participate-card, .operation-card, .operation-card:nth-child(2), .operation-card:nth-child(3),
  dialog, .workspace-top { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .primary, .nav-cta, .send,
  .world-tabs button, .story-tabs button, .core-stations button {
    forced-color-adjust: auto;
    background: ButtonFace !important;
    color: ButtonText !important;
    border-color: ButtonText !important;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  :is(.primary, .nav-cta, .send, .world-tabs button, .story-tabs button, .core-stations button)::before { display: none; animation: none; }
  .world-tabs button[aria-selected='true'], .story-tabs button[aria-selected='true'], .core-stations button[aria-selected='true'] {
    border-color: Highlight !important;
    background: Highlight !important;
    color: HighlightText !important;
  }
  .core-stations button[aria-selected='true'] > span { color: HighlightText; }
  button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible,
  summary:focus-visible, [tabindex]:focus-visible { outline-color: Highlight; }
  .primary:disabled, .nav-cta[aria-disabled='true'], .send:disabled,
  .world-tabs button:disabled, .story-tabs button:disabled, .core-stations button:disabled {
    color: GrayText !important;
    background: Canvas !important;
    border-color: GrayText !important;
  }
}

/* V04 — living organization world, production candidate */
:root { --scroll-progress: 0; }
body::before {
  content:""; position:fixed; inset:-20%; z-index:-2; pointer-events:none;
  background:
    radial-gradient(circle at var(--world-x-one,12%) 18%, #72f5cb24, transparent 24%),
    radial-gradient(circle at 84% var(--world-y-two,22%), #a978ff20, transparent 26%),
    radial-gradient(circle at var(--world-x-three,75%) 82%, #ffb25120, transparent 27%),
    radial-gradient(circle at 20% 70%, #58a8ff17, transparent 23%);
}
main > section { --reveal-y: 0px; }
.js-motion main > section:not(.is-visible) { opacity:.62; transform:translateY(22px); }
.js-motion main > section { transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1); }
.organization-world { padding-top:clamp(90px,12vw,180px); padding-bottom:clamp(100px,14vw,210px); }
.organization-heading { max-width:850px; }
.organization-heading h2 { font-size:clamp(42px,6.2vw,90px); line-height:.94; letter-spacing:-.065em; margin:22px 0 26px; }
.organization-heading > p { max-width:690px; color:#4d5665; font-size:clamp(17px,1.8vw,23px); line-height:1.5; }
.organization-stage {
  --stage-progress:0; position:relative; min-height:760px; margin-top:70px;
  border:1px solid #dce2eb; border-radius:34px; overflow:hidden; isolation:isolate;
  background:linear-gradient(145deg,#ffffffdc,#eef2f8e8);
  box-shadow:inset 0 1px 0 #fff,0 40px 100px #23304a12;
}
.organization-stage::before {
  content:""; position:absolute; inset:7%; border-radius:50%;
  border:1px solid #8da3c329; transform:rotate(var(--stage-angle,0deg));
  box-shadow:0 0 0 70px #7f9ec80a,0 0 0 145px #997ec808;
}
.organization-stage::after {
  content:""; position:absolute; left:50%; top:50%; width:62%; height:1px; z-index:-1;
  background:linear-gradient(90deg,transparent,#2d8fff66 20%,#b555ff70 50%,#ff9a4470 80%,transparent);
  transform:translate(-50%,-50%) rotate(var(--stage-angle-reverse,-14deg));
  filter:blur(.2px); box-shadow:0 0 18px #8b6dff66;
}
.world-aura { position:absolute; inset:0; background:conic-gradient(from var(--stage-angle,0deg),#57efbd16,#59a9ff18,#af6bff18,#ff698a18,#ffb54818,#57efbd16); filter:blur(55px); z-index:-2; }
.organization-core,.person-orbit,.capability-ring { position:absolute; display:flex; flex-direction:column; justify-content:center; }
.organization-core { left:50%; top:50%; width:245px; height:245px; transform:translate(-50%,-50%); align-items:center; border-radius:50%; text-align:center; }
.organization-brand,.core-brand { font-size:27px; line-height:1; }
.organization-core > strong { margin-top:18px; font-size:15px; }
.organization-core > small { margin-top:8px; font-size:8px; letter-spacing:.16em; color:#566274; }

.person-orbit { left:5%; top:8%; width:190px; height:190px; padding:34px; border-radius:50%; color:#f8fbff; background:linear-gradient(145deg,#202733,#11151c); box-shadow:0 25px 60px #17213a2d, inset 0 1px 1px #ffffff38; }
.person-orbit::after { content:""; position:absolute; inset:-13px; border:1px solid #6ce8c982; border-radius:50%; box-shadow:0 0 34px #62e9c436; }
.person-orbit .orbit-label { color:#86f3d4; font-size:9px; letter-spacing:.2em; }
.person-orbit strong { margin:8px 0; font-size:25px; }
.person-orbit small { color:#c8d1df; line-height:1.4; }
.capability-ring { width:210px; min-height:118px; padding:22px 25px; border:1px solid #ffffffc9; border-radius:24px; background:#ffffffb5; backdrop-filter:blur(18px); box-shadow:0 18px 50px #2a385012,inset 0 1px 0 #fff; }
.capability-ring::before { content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:conic-gradient(from var(--stage-angle,0deg),#62ebc8,#67b8ff,#c174ff,#ff768e,#ffc45a,#62ebc8); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.8; }
.capability-ring > span { color:#46566d; font-size:9px; letter-spacing:.18em; }
.capability-ring > strong { margin:8px 0 4px; font-size:20px; }
.capability-ring > small { color:#596577; line-height:1.35; }
.capability-opportunity { right:7%; top:9%; }
.capability-build { right:3%; top:39%; }
.capability-operate { right:10%; bottom:8%; }
.capability-govern { left:8%; bottom:9%; }
.world-outcomes { position:absolute; left:50%; bottom:6%; transform:translateX(-50%); display:flex; gap:8px; flex-wrap:wrap; justify-content:center; max-width:480px; }
.world-outcomes span { border:1px solid #cfd7e4; background:#ffffffb8; border-radius:999px; padding:10px 16px; color:#465367; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.organization-outcome { display:grid; grid-template-columns:1.5fr 1fr; gap:60px; margin-top:30px; padding:30px 4px; border-top:1px solid #dce2eb; }
.organization-outcome p { margin:0; font-size:clamp(21px,2.5vw,34px); line-height:1.25; letter-spacing:-.03em; }
.organization-outcome > span { color:#606b7b; font-size:13px; line-height:1.6; }

/* Exact header brand component in the core; copy and mark stay together. */
.core-map { position:relative; overflow:clip; grid-template-columns:minmax(0,1fr) minmax(280px,1fr); }
.core-center { min-height:290px; gap:0; padding:44px 30px; }
.core-center .core-brand { position:relative; z-index:2; margin:0 0 34px; transform:scale(1.12); color:#171b21; }
.core-center .core-brand .brand-mark { transform:none; margin:0; color:inherit; }
.core-center small { position:relative; z-index:2; margin:0; color:#4b5668; font-size:8px; font-weight:650; letter-spacing:.18em; text-align:center; }
.core-glow {
  width:190px; height:190px; border-color:#667d9b56;
  background:radial-gradient(circle,#ffffffd6 0 34%,#7ee7d328 56%,#7e8fff18 72%,transparent 74%);
  box-shadow:0 0 0 32px #5ba9ff0c,0 0 0 68px #ba71ff0a;
}
.core-glow::before,.core-glow::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.core-glow::before { inset:-32px; border:1px dashed #6682a552; animation:core-orbit 14s linear infinite; }
.core-glow::after { width:10px; height:10px; left:50%; top:-37px; background:#fff; border:2px solid #7778ff; box-shadow:0 0 18px #7778ff; }
.core-stations { min-width:0; }
.core-stations button { min-width:0; overflow:hidden; color:#344154; }
.core-stations button > span { color:#48566a; font-weight:700; }
.core-stations button::after { content:""; position:absolute; left:-35%; top:0; width:28%; height:100%; background:linear-gradient(90deg,transparent,#fff9,transparent); transform:skewX(-20deg); animation:station-pulse 5.6s ease-in-out infinite; animation-delay:calc(var(--pulse-index,0) * .7s); pointer-events:none; }
.core-stations button:nth-child(2){--pulse-index:1}.core-stations button:nth-child(3){--pulse-index:2}.core-stations button:nth-child(4){--pulse-index:3}
@keyframes core-orbit { to { transform:rotate(1turn); } }
@keyframes station-pulse { 0%,55%{left:-35%;opacity:0}65%{opacity:1}85%,100%{left:115%;opacity:0} }

@media (max-width:900px) {
  .organization-stage { min-height:900px; }
  .organization-core { top:45%; }
  .person-orbit { left:5%; top:6%; width:170px; height:170px; }
  .capability-ring { width:190px; }
  .capability-opportunity { right:5%; top:7%; }
  .capability-build { right:4%; top:30%; }
  .capability-operate { right:6%; bottom:13%; }
  .capability-govern { left:6%; bottom:13%; }
  .organization-outcome { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:700px) {
  .organization-heading h2 { font-size:clamp(40px,13vw,62px); }
  .organization-stage { min-height:auto; padding:28px 18px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .organization-stage::before,.organization-stage::after { inset:12%; }
  .person-orbit,.organization-core,.capability-ring,.world-outcomes { position:relative; inset:auto; left:auto; right:auto; top:auto; bottom:auto; transform:none; width:auto; height:auto; min-height:130px; }
  .person-orbit { grid-column:1 / -1; width:170px; height:170px; justify-self:center; }
  .organization-core { grid-column:1 / -1; width:210px; height:210px; justify-self:center; }
  .capability-ring { padding:18px; min-width:0; }
  .world-outcomes { grid-column:1 / -1; max-width:none; }
  .core-map { grid-template-columns:1fr; padding:22px; gap:18px; overflow:visible; }
  .core-center { min-height:235px; padding:40px 20px; }
  .core-stations { grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:100%; }
  .core-stations button { padding:14px 12px; font-size:11px; }
}
@media (max-width:430px) {
  .organization-stage { grid-template-columns:1fr; }
  .capability-ring,.world-outcomes { grid-column:1; }
  .core-stations { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  body::before,.organization-stage::before,.organization-stage::after,.world-aura { transform:none!important; }
  .core-glow::before,.core-stations button::after,.capability-ring::before { animation:none!important; }
  .js-motion main > section { opacity:1!important; transform:none!important; }
}

/* User-marked core legibility correction */
.core-map { grid-template-columns:minmax(360px,1.12fr) minmax(300px,.88fr); }
.core-center { min-height:350px; padding:58px 34px; }
.core-center .core-brand { margin-bottom:46px; transform:scale(1); font-size:clamp(38px,4vw,52px); font-weight:650; letter-spacing:-.06em; }
.core-center .core-brand .brand-mark { width:1.08em; height:1.08em; flex:0 0 auto; }
.core-center small { max-width:240px; color:#2f3b4d; font-size:10px; font-weight:750; line-height:1.45; letter-spacing:.16em; }
.core-glow { width:230px; height:230px; opacity:.86; }
.organization-brand { font-size:34px; font-weight:650; }
.organization-brand .brand-mark { width:1.05em; height:1.05em; }
.organization-core { width:275px; height:275px; }
@media (max-width:700px) {
  .core-map { grid-template-columns:1fr; }
  .core-center { min-height:300px; }
  .core-center .core-brand { font-size:42px; margin-bottom:42px; }
  .organization-core { width:230px; height:230px; }
  .organization-brand { font-size:30px; }
}

/* V05 — centered brand lockup and visibly scroll-responsive world */
.core-lockup { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:25px; }
.core-center .core-lockup .core-brand { margin:0; }
.core-center .core-lockup small { margin:0; }
.core-center .core-brand { display:inline-flex; align-items:center; justify-content:center; gap:.24em; white-space:nowrap; }
.core-center .core-brand .brand-mark { position:relative; inset:auto; align-self:center; }
.core-center .core-brand .brand-mark i { display:block; }
.core-glow { left:50%; top:50%; transform:translate(-50%,-50%); }
main > .section-shell { position:relative; isolation:isolate; }
main > .section-shell::before {
  content:""; position:absolute; z-index:-1; inset:8% -5%; pointer-events:none; opacity:var(--section-light,.16);
  background:radial-gradient(ellipse at var(--section-x,50%) 48%,hsl(var(--section-hue,190) 92% 70% / .24),transparent 58%);
  transform:translate3d(0,var(--section-shift,0px),0) scale(1.05);
  transition:opacity .45s ease;
}
.js-motion main > .section-shell.is-visible .section-heading,
.js-motion main > .section-shell.is-visible .organization-heading,
.js-motion main > .section-shell.is-visible .principles-intro,
.js-motion main > .section-shell.is-visible .faq-intro {
  animation:section-arrive .9s cubic-bezier(.16,1,.3,1) both;
}
.steps article,.operation-card,.principle-list article,.float-card,.capability-ring {
  transform:translate3d(0,var(--item-shift,0px),0);
  transition:transform .18s linear,box-shadow .45s ease;
}
.organization-stage { box-shadow:inset 0 1px 0 #fff,0 45px 120px hsl(var(--stage-hue,210) 70% 35% / .16); }
.organization-stage .person-orbit { transform:translate3d(0,var(--person-shift,0px),0); }
.organization-stage .organization-core { transform:translate(-50%,calc(-50% + var(--core-shift,0px))) scale(var(--core-scale,1)); }
.capability-opportunity { transform:translate3d(var(--ring-a-x,0px),var(--ring-a-y,0px),0); }
.capability-build { transform:translate3d(var(--ring-b-x,0px),var(--ring-b-y,0px),0); }
.capability-operate { transform:translate3d(var(--ring-c-x,0px),var(--ring-c-y,0px),0); }
.capability-govern { transform:translate3d(var(--ring-d-x,0px),var(--ring-d-y,0px),0); }
@keyframes section-arrive { from{opacity:.35;transform:translate3d(0,50px,0) scale(.985)} to{opacity:1;transform:none} }
@media (max-width:700px) {
  .organization-stage .organization-core,.capability-opportunity,.capability-build,.capability-operate,.capability-govern { transform:translate3d(0,var(--item-shift,0px),0); }
}
@media (prefers-reduced-motion:reduce) {
  main > .section-shell::before,.steps article,.operation-card,.principle-list article,.float-card,.capability-ring,.organization-stage .person-orbit,.organization-stage .organization-core { transform:none!important; transition:none!important; animation:none!important; }
}

/* V05.1 — scale the complete original logo lockup, never its mark alone */
.core-center .core-brand { font-size:27px; gap:9px; transform:scale(1.72); transform-origin:center; }
.core-center .core-brand .brand-mark { width:29px; height:24px; flex:0 0 29px; }
.core-center .core-brand .brand-mark i { width:18px; height:18px; top:4px; }
.core-center .core-brand .brand-mark i:first-child { left:0; }
.core-center .core-brand .brand-mark i:last-child { left:10px; }
.organization-brand { font-size:27px; gap:9px; transform:scale(1.24); transform-origin:center; }
.organization-brand .brand-mark { width:29px; height:24px; flex:0 0 29px; }
.organization-brand .brand-mark i { width:18px; height:18px; top:4px; }
.organization-brand .brand-mark i:first-child { left:0; }
.organization-brand .brand-mark i:last-child { left:10px; }
@media (max-width:700px) {
  html,body { max-width:100%; overflow-x:clip; }
  main,.section-shell,.organization-stage,.core-map,.life-film-stage { min-width:0; max-width:100%; box-sizing:border-box; }
  .section-shell { width:100%; padding-left:20px; padding-right:20px; }
  .world-tabs,.story-tabs,.use-cases { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  .core-center .core-brand { font-size:27px; transform:scale(1.5); }
  .core-center .core-brand .brand-mark { width:29px; height:24px; }
  .organization-brand { font-size:27px; transform:scale(1.12); }
}

/* V05.2 — contain decorative bleed without widening the document */
html,body { max-width:100%; overflow-x:clip; }
@media (max-width:700px) {
  .section-shell,.footer.section-shell { width:calc(100% - 32px); margin-left:auto; margin-right:auto; padding-left:0; padding-right:0; }
  .organization-world.section-shell { width:calc(100% - 32px); }
}