    :root {
      color-scheme: dark;
      --ink: #090b0b;
      --paper: #f3eee2;
      --muted: rgba(243, 238, 226, .62);
      --line: rgba(243, 238, 226, .22);
      --transition-progress: 0;
      --exterior-copy: 1;
      --interior-copy: 0;
      --exterior-scale: 1;
      --exterior-y: 0%;
      --interior-scale: 1.012;
      --interior-blur: 4px;
      --threshold-light: 0;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    html, body { width: 100%; margin: 0; }

    body {
      min-height: 100%;
      overflow-x: hidden;
      color: var(--paper);
      background: var(--ink);
      font-family: Arial, Helvetica, sans-serif;
    }

    a { color: inherit; }

    .story {
      position: relative;
      min-height: 300vh;
      min-height: 300svh;
      isolation: isolate;
    }

    .stage {
      position: sticky;
      top: 0;
      width: 100%;
      height: 100vh;
      height: 100svh;
      min-height: 30rem;
      overflow: hidden;
      isolation: isolate;
      background: #0a0c0c;
    }

    .scene {
      position: absolute;
      inset: 0;
      overflow: hidden;
      opacity: 0;
      visibility: hidden;
      transition: visibility 300ms;
    }

    .scene--exterior {
      opacity: calc(1 - var(--transition-progress));
      visibility: visible;
    }

    .scene--interior {
      opacity: var(--transition-progress);
      visibility: visible;
    }

    .scene__camera,
    .scene__still {
      position: absolute;
      inset: 0;
      background-color: #090b0b;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }

    .scene__depth {
      position: absolute;
      inset: 0;
      will-change: transform, filter;
    }

    .scene--exterior .scene__depth {
      transform: translate3d(0, var(--exterior-y), 0) scale(var(--exterior-scale));
      transform-origin: 50% 62%;
    }

    .scene--interior .scene__depth {
      filter: blur(var(--interior-blur));
      transform: scale(var(--interior-scale));
      transform-origin: 50% 58%;
    }

    .scene__camera {
      transform-origin: 50% 62%;
      animation: camera-drift 48s cubic-bezier(.45, 0, .55, 1) infinite alternate;
      will-change: transform;
    }

    .scene--interior .scene__camera { transform-origin: 50% 58%; }
    .scene--exterior .scene__camera,
    .scene--exterior .scene__still { background-image: url("../images/magritte-exterior.jpg"); }
    .scene--interior .scene__camera,
    .scene--interior .scene__still { background-image: url("../images/magritte-interior.jpg"); }

    .scene--exterior .scene__camera,
    .scene--exterior .scene__still,
    .scene--interior .scene__camera,
    .scene--interior .scene__still { background-image: none; }

    .scene__camera,
    .scene__still { display: block; }

    .scene__camera img,
    .scene__still img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
    }

    /* Source-aligned, feathered plates keep the gentlemen optically fixed. */
    .scene__still {
      z-index: 1;
      pointer-events: none;
      -webkit-mask-image: radial-gradient(ellipse 20% 34% at 50% 84%, #000 0 62%, transparent 100%);
      mask-image: radial-gradient(ellipse 20% 34% at 50% 84%, #000 0 62%, transparent 100%);
    }

    .scene--interior .scene__still {
      -webkit-mask-image: radial-gradient(ellipse 19% 31% at 50% 85%, #000 0 62%, transparent 100%);
      mask-image: radial-gradient(ellipse 19% 31% at 50% 85%, #000 0 62%, transparent 100%);
    }

    .scene__light,
    .scene__veil,
    .stage__grade,
    .stage__grain {
      position: absolute;
      pointer-events: none;
    }

    .threshold-light {
      position: absolute;
      inset: -8%;
      z-index: 3;
      opacity: var(--threshold-light);
      pointer-events: none;
      background: radial-gradient(ellipse at 50% 48%, rgba(238, 246, 248, .7), rgba(198, 221, 233, .18) 34%, transparent 68%);
      filter: blur(22px);
      mix-blend-mode: screen;
      will-change: opacity;
    }

    .scene__light,
    .scene__veil { inset: -12%; z-index: 2; }

    .scene__light {
      opacity: .12;
      background: radial-gradient(ellipse at 68% 42%, rgba(255, 224, 166, .4), transparent 34%);
      mix-blend-mode: soft-light;
      filter: blur(28px);
      animation: light-breathe 32s ease-in-out infinite alternate;
    }

    .scene--interior .scene__light {
      opacity: .09;
      background: radial-gradient(ellipse at 52% 36%, rgba(255, 220, 159, .34), transparent 38%);
    }

    .scene__veil {
      opacity: .075;
      background:
        radial-gradient(ellipse at 24% 28%, rgba(221, 239, 255, .5), transparent 30%),
        radial-gradient(ellipse at 76% 58%, rgba(255, 244, 221, .28), transparent 28%);
      filter: blur(38px);
      animation: veil-drift 40s ease-in-out infinite alternate;
    }

    .stage__grade {
      inset: 0;
      z-index: 3;
      background:
        linear-gradient(180deg, rgba(5, 7, 8, .08), transparent 34%, rgba(4, 5, 5, .22)),
        radial-gradient(ellipse at center, transparent 48%, rgba(2, 3, 3, .28) 120%);
    }

    .stage__grain {
      inset: 0;
      z-index: 4;
      opacity: .03;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    .masthead {
      position: absolute;
      top: clamp(1rem, 3vw, 2.5rem);
      left: clamp(1rem, 4vw, 4rem);
      right: clamp(1rem, 4vw, 4rem);
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      text-transform: uppercase;
      text-shadow: 0 1px 18px rgba(0, 0, 0, .5);
    }

    .masthead p {
      margin: 0;
      color: rgba(243, 238, 226, .88);
      font-size: clamp(.76rem, .97vw, .89rem);
      font-weight: 700;
      letter-spacing: .2em;
    }

    .global-nav {
      display: flex;
      align-items: center;
      gap: clamp(1.25rem, 2.5vw, 2.8rem);
      padding: .6rem .85rem;
      background: rgba(8, 10, 10, .14);
      backdrop-filter: blur(7px);
    }

    .global-nav button,
    .menu-toggle {
      min-height: 2.75rem;
      padding: 0;
      border: 0;
      color: rgba(243, 238, 226, .85);
      background: transparent;
      cursor: pointer;
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .17em;
      text-transform: uppercase;
      transition: color 220ms ease, opacity 220ms ease;
    }

    .global-nav button:hover,
    .global-nav button:focus-visible,
    .global-nav button[aria-current="true"],
    .menu-toggle:hover,
    .menu-toggle:focus-visible {
      color: var(--paper);
      outline: none;
    }

    .global-nav button::after {
      display: block;
      width: 100%;
      height: 1px;
      margin-top: .2rem;
      content: "";
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 220ms ease;
    }

    .global-nav button:hover::after,
    .global-nav button:focus-visible::after,
    .global-nav button[aria-current="true"]::after { transform: scaleX(1); }

    .menu-toggle { display: none; min-width: 2.75rem; }

    .mobile-menu {
      position: absolute;
      top: calc(100% + .65rem);
      right: 0;
      display: grid;
      width: min(15rem, calc(100vw - 2rem));
      padding: .65rem;
      border: 1px solid rgba(243, 238, 226, .15);
      background: rgba(10, 12, 12, .88);
      backdrop-filter: blur(16px);
      opacity: 0;
      pointer-events: none;
      transform: translate3d(0, -.35rem, 0);
      transition: opacity 220ms ease, transform 220ms ease;
    }

    .mobile-menu.is-open { opacity: 1; pointer-events: auto; transform: none; }

    .mobile-menu button {
      min-height: 2.9rem;
      padding: 0 .7rem;
      border: 0;
      border-bottom: 1px solid rgba(243, 238, 226, .09);
      color: rgba(243, 238, 226, .68);
      background: transparent;
      text-align: left;
      font-size: .66rem;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }

    .mobile-menu button:last-child { border-bottom: 0; }
    .mobile-menu button:focus-visible { color: var(--paper); outline: 1px solid rgba(243, 238, 226, .4); }

    .hotspot-canvas {
      position: absolute;
      inset: 0;
      z-index: 4;
      width: min(100vw, 100vh);
      height: min(100vw, 100vh);
      margin: auto;
      pointer-events: none;
      transform-origin: 50% 58%;
      animation: camera-drift 48s cubic-bezier(.45, 0, .55, 1) infinite alternate;
    }

    /* Isolated EXP_005 character event. No source artwork is altered. */
    .bird-canvas {
      position: absolute;
      inset: 0;
      z-index: 3;
      width: min(100vw, 100vh);
      height: min(100vw, 100vh);
      margin: auto;
      overflow: hidden;
      pointer-events: none;
      transform-origin: 50% 62%;
      animation: camera-drift 48s cubic-bezier(.45, 0, .55, 1) infinite alternate;
    }

    .bird {
      position: absolute;
      left: var(--bird-x, 0px);
      top: var(--bird-y, 0px);
      width: 6.8%;
      min-width: 1.5rem;
      max-width: 3.25rem;
      opacity: 0;
      pointer-events: none;
      filter: drop-shadow(0 .055rem .08rem rgba(18, 26, 29, .14));
      will-change: transform, opacity;
    }

    .bird.is-flying {
      animation: bird-flight var(--flight-duration, 8s) cubic-bezier(.32, .05, .62, .98) forwards;
    }

    .bird svg { display: block; width: 100%; height: auto; overflow: visible; }
    .bird__body { fill: url(#bird-plumage); }
    .bird__shade { fill: rgba(184, 195, 198, .42); }

    .orrery-kinetic { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
    .orrery-track {
      position: absolute;
      left: 50%;
      border: 1px solid rgba(195, 154, 91, .12);
      border-radius: 50%;
      box-shadow: inset 0 0 .8rem rgba(230, 194, 128, .025);
      transform: translate(-50%, -50%);
    }
    .orrery-track--primary { top: 48%; width: 76%; height: 25%; }
    .orrery-track--secondary { top: 34%; width: 49%; height: 15%; border-color: rgba(226, 235, 232, .1); }
    .orrery-bearing {
      position: absolute;
      left: 0;
      top: 0;
      width: .42rem;
      height: .42rem;
      border: 1px solid rgba(234, 204, 145, .52);
      border-radius: 50%;
      background: radial-gradient(circle at 35% 32%, rgba(255, 248, 221, .72), rgba(167, 122, 61, .3) 48%, rgba(69, 47, 28, .18) 72%);
      box-shadow: 0 0 .7rem rgba(229, 196, 132, .14);
      offset-rotate: 0deg;
      will-change: offset-distance;
    }
    .orrery-bearing--primary {
      offset-path: ellipse(38% 12.5% at 50% 48%);
      animation: orrery-travel 108s linear infinite;
    }
    .orrery-bearing--secondary {
      width: .34rem;
      height: .34rem;
      border-color: rgba(225, 238, 236, .46);
      background: radial-gradient(circle at 35% 30%, rgba(252, 255, 252, .7), rgba(139, 168, 166, .24) 55%, transparent 75%);
      offset-path: ellipse(24.5% 7.5% at 50% 34%);
      animation: orrery-travel-reverse 72s linear infinite;
    }


    .hotspot {
      position: absolute;
      min-width: 2.75rem;
      min-height: 2.75rem;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
      opacity: 0;
      pointer-events: none;
      transition: opacity 240ms ease;
    }

    .is-interior-active .hotspot { opacity: 1; pointer-events: auto; }

    .hotspot::before {
      position: absolute;
      left: 50%;
      top: 50%;
      width: .38rem;
      height: .38rem;
      border: 1px solid rgba(245, 233, 205, .56);
      border-radius: 50%;
      content: "";
      box-shadow: 0 0 0 .32rem rgba(245, 233, 205, .035), 0 0 1.1rem rgba(245, 233, 205, .16);
      transform: translate(-50%, -50%);
      animation: hotspot-breathe 5s ease-in-out infinite alternate;
    }

    .hotspot__label {
      position: absolute;
      left: calc(50% + .8rem);
      top: 50%;
      width: 13rem;
      padding: .8rem .9rem;
      border-left: 1px solid rgba(243, 238, 226, .3);
      color: var(--paper);
      background: rgba(9, 11, 11, .72);
      backdrop-filter: blur(10px);
      opacity: 0;
      pointer-events: none;
      text-align: left;
      transform: translate3d(.35rem, -50%, 0);
      transition: opacity 220ms ease, transform 220ms ease;
    }

    .hotspot:hover .hotspot__label,
    .hotspot:focus-visible .hotspot__label { opacity: 1; transform: translate3d(0, -50%, 0); }
    .hotspot:focus-visible { outline: 1px solid rgba(243, 238, 226, .34); outline-offset: 2px; }

    .hotspot__title,
    .hotspot__action { display: block; font-size: .59rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
    .hotspot__body { display: block; margin: .38rem 0 .55rem; color: rgba(243, 238, 226, .58); font: italic .7rem/1.45 Georgia, serif; }
    .hotspot__action { color: rgba(243, 238, 226, .7); }

    .hotspot__kinetic {
      position: absolute;
      left: calc(50% - .31rem);
      top: calc(50% - .31rem);
      width: .62rem;
      height: .62rem;
      pointer-events: none;
      will-change: transform;
    }
    .hotspot__kinetic--chip {
      border: 1px solid rgba(200, 229, 221, .42);
      border-radius: .08rem;
      background:
        linear-gradient(90deg, transparent 43%, rgba(183, 222, 213, .28) 44% 56%, transparent 57%),
        linear-gradient(transparent 43%, rgba(183, 222, 213, .28) 44% 56%, transparent 57%),
        rgba(55, 102, 98, .18);
      box-shadow: 0 0 .7rem rgba(115, 200, 186, .12);
      animation: capability-orbit 104s linear infinite;
    }
    .hotspot__kinetic--sphere {
      border: 1px solid rgba(239, 231, 205, .36);
      border-radius: 50%;
      background: radial-gradient(circle at 32% 28%, rgba(255, 252, 235, .72), rgba(188, 172, 130, .16) 48%, rgba(77, 67, 48, .16) 72%);
      box-shadow: 0 0 .7rem rgba(235, 214, 164, .12);
      animation: capability-orbit-reverse 74s linear infinite;
    }

    .hotspot--hpc { left: 14%; top: 38%; width: 20%; height: 20%; }
    .hotspot--enterprise { left: 65%; top: 37%; width: 19%; height: 17%; }
    .hotspot--advisory { left: 64%; top: 20%; width: 14%; height: 19%; }
    .hotspot--conversation { left: 36%; top: 43%; width: 29%; height: 32%; }
    .hotspot--enterprise .hotspot__label,
    .hotspot--advisory .hotspot__label { left: auto; right: calc(50% + .8rem); transform: translate3d(-.35rem, -50%, 0); }
    .hotspot--enterprise:hover .hotspot__label,
    .hotspot--enterprise:focus-visible .hotspot__label,
    .hotspot--advisory:hover .hotspot__label,
    .hotspot--advisory:focus-visible .hotspot__label { transform: translate3d(0, -50%, 0); }

    .capability-panel {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 30;
      display: flex;
      width: min(35rem, 100%);
      height: 100vh;
      height: 100svh;
      overflow-y: auto;
      padding: clamp(1.25rem, 4vw, 3.5rem);
      color: var(--paper);
      background: rgba(9, 11, 11, .94);
      backdrop-filter: blur(18px);
      opacity: 0;
      pointer-events: none;
      transform: translate3d(1.25rem, 0, 0);
      transition: opacity 280ms ease, transform 280ms cubic-bezier(.22, .61, .36, 1);
    }

    .capability-panel.is-open { opacity: 1; pointer-events: auto; transform: none; }
    .capability-panel.is-conversation { color: #171713; background: rgba(244, 239, 227, .97); }

    .panel__close {
      position: absolute;
      top: 1.25rem;
      right: 1.25rem;
      min-width: 2.75rem;
      min-height: 2.75rem;
      border: 1px solid currentColor;
      border-radius: 50%;
      color: inherit;
      background: transparent;
      cursor: pointer;
      opacity: .55;
    }

    .panel__close:hover,
    .panel__close:focus-visible { opacity: 1; outline: none; }
    .panel__content { align-self: center; width: 100%; padding: 3rem 0 1rem; }
    .capability-panel.is-long .panel__content { align-self: flex-start; }
    .panel__number { margin: 0 0 1rem; opacity: .46; font-size: .65rem; font-weight: 700; letter-spacing: .2em; }
    .panel__category { margin: 0 0 .75rem; opacity: .56; font-size: .63rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
    .panel__title { margin: 0 0 1rem; font: normal clamp(2rem, 4.5vw, 3.8rem)/.98 Georgia, serif; letter-spacing: -.035em; }
    .panel__body { max-width: 23rem; margin: 0 0 1.75rem; opacity: .7; font: normal .9rem/1.65 Georgia, serif; }
    .panel__cta { min-height: 2.75rem; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: inherit; background: transparent; font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

    .panel__choices { display: grid; gap: .65rem; margin: 1.7rem 0 0; }
    .panel__choice {
      display: grid;
      grid-template-columns: 2rem 1fr auto;
      align-items: center;
      gap: .7rem;
      min-height: 3.4rem;
      padding: .5rem 0;
      border: 0;
      border-bottom: 1px solid rgba(243, 238, 226, .2);
      color: inherit;
      background: transparent;
      cursor: pointer;
      text-align: left;
    }
    .panel__choice span:first-child { opacity: .45; font-size: .6rem; letter-spacing: .16em; }
    .panel__choice strong { font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
    .panel__choice span:last-child { opacity: .55; }
    .panel__choice:hover,
    .panel__choice:focus-visible { border-color: currentColor; outline: none; }

    .panel__details { max-height: 0; margin: 0; overflow: hidden; opacity: 0; transition: max-height 320ms ease, opacity 240ms ease, margin 320ms ease; }
    .panel__details.is-open { max-height: 22rem; margin: 0 0 1.4rem; opacity: 1; }
    .panel__details h3 { margin: 0 0 .75rem; font: normal 1.1rem/1.2 Georgia, serif; }
    .panel__details ul { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
    .panel__details li { padding-left: 1rem; opacity: .66; font: normal .76rem/1.45 Arial, sans-serif; }
    .panel__details li::before { float: left; margin-left: -1rem; content: "—"; opacity: .48; }

    .contact-form { display: none; margin-top: 1.5rem; }
    .capability-panel.is-conversation .contact-form { display: block; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
    .field { display: grid; gap: .35rem; }
    .field--wide { grid-column: 1 / -1; }
    .field label { font-size: .57rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
    .field label span { opacity: .58; }
    .field input,
    .field select,
    .field textarea {
      width: 100%;
      min-height: 2.75rem;
      padding: .72rem 0;
      border: 0;
      border-bottom: 1px solid rgba(23, 23, 19, .3);
      border-radius: 0;
      color: #171713;
      background: transparent;
      font: normal .85rem/1.45 Arial, sans-serif;
    }
    .field select { appearance: none; cursor: pointer; }
    .field textarea { min-height: 5.4rem; resize: vertical; }
    .field input:focus,
    .field select:focus,
    .field textarea:focus { border-color: #171713; outline: none; }
    .form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
    .form-consent { margin: 1rem 0 0; opacity: .68; font: normal .68rem/1.5 Arial, sans-serif; }
    .form-consent a,
    .privacy-notice a { color: inherit; text-underline-offset: .16em; }
    .contact-submit { min-height: 2.9rem; margin-top: 1.1rem; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: inherit; background: transparent; cursor: pointer; font-size: .63rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
    .contact-submit:disabled { cursor: wait; opacity: .5; }
    .form-status { min-height: 1.2rem; margin: .55rem 0 0; white-space: pre-line; font-size: .68rem; }
    .privacy-notice { margin-top: .8rem; font: normal .68rem/1.5 Arial, sans-serif; }
    .privacy-notice summary { cursor: pointer; font-size: .57rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
    .privacy-notice p { margin: .65rem 0 0; opacity: .68; }

    .panel-backdrop {
      position: fixed;
      inset: 0;
      z-index: 29;
      border: 0;
      background: rgba(4, 5, 5, .28);
      opacity: 0;
      pointer-events: none;
      transition: opacity 280ms ease;
    }

    .panel-backdrop.is-open { opacity: 1; pointer-events: auto; }

    /* EXP_008: the conversation state resolves the stage into three deliberate
       editorial zones. The source artwork remains untouched. */
    @media (min-width: 761px) {
      body.is-conversation-open {
        --cta-rail: 25vw;
        --cta-art: 32vw;
        --cta-panel: 43vw;
      }

      body.is-conversation-open .capability-panel.is-conversation {
        width: var(--cta-panel);
        padding: clamp(1.25rem, 3vw, 3.5rem);
        background: #f4efe3;
        box-shadow: -24px 0 32px -30px rgba(18, 18, 15, .7);
      }

      body.is-conversation-open .panel-backdrop.is-open {
        background:
          linear-gradient(90deg,
            rgba(8, 10, 10, .94) 0 var(--cta-rail),
            transparent var(--cta-rail) calc(var(--cta-rail) + var(--cta-art)));
      }

      body.is-conversation-open .scene--exterior .scene__depth {
        left: var(--cta-rail);
        right: var(--cta-panel);
        transform: none;
      }

      body.is-conversation-open .scene--exterior .scene__camera,
      body.is-conversation-open .scene--exterior .scene__still {
        background-size: cover;
        background-position: 50% 50%;
        animation: none;
      }

      body.is-conversation-open .scene--exterior .scene__still {
        display: none;
      }
    }

    .chapter-tabs {
      position: absolute;
      right: clamp(1rem, 4vw, 4rem);
      bottom: clamp(1rem, 3vw, 2.5rem);
      z-index: 10;
      display: flex;
      align-items: center;
      gap: .35rem;
      padding: .3rem;
      border: 1px solid rgba(243, 238, 226, .16);
      border-radius: 999px;
      background: rgba(8, 10, 10, .22);
      backdrop-filter: blur(10px);
    }

    .chapter-tabs a {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 6.3rem;
      min-height: 2.75rem;
      padding: .65rem .95rem;
      border-radius: 999px;
      color: rgba(243, 238, 226, .5);
      font-size: .66rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-align: center;
      text-decoration: none;
      text-transform: uppercase;
      transition: color 240ms ease, background-color 240ms ease;
    }

    .chapter-tabs a::after {
      position: absolute;
      left: 50%;
      bottom: .38rem;
      width: 1.1rem;
      height: 1px;
      content: "";
      background: currentColor;
      transform: translateX(-50%) scaleX(0);
      transition: transform 240ms ease;
    }

    .chapter-tabs a:hover,
    .chapter-tabs a:focus-visible {
      color: rgba(243, 238, 226, .88);
      background: rgba(243, 238, 226, .07);
    }

    .chapter-tabs a:hover { outline: none; }
    .chapter-tabs a:focus-visible {
      outline: 1px solid rgba(243, 238, 226, .72);
      outline-offset: 2px;
      box-shadow: inset 0 0 1rem rgba(243, 238, 226, .055), 0 0 0 .2rem rgba(8, 10, 10, .42);
    }

    .chapter-tabs a:hover::after,
    .chapter-tabs a:focus-visible::after,
    .chapter-tabs a[aria-current="true"]::after { transform: translateX(-50%) scaleX(1); }

    .chapter-tabs a[aria-current="true"] {
      color: var(--paper);
      background: rgba(243, 238, 226, .12);
    }

    .chapter-tabs a.is-discovery-pulsing:not([aria-current="true"]) {
      animation: chapter-discovery-pulse 2s cubic-bezier(.4, 0, .2, 1) both;
    }

    .chapter-tabs.is-transitioning { pointer-events: none; }

    .editorial {
      position: absolute;
      left: clamp(1rem, 4vw, 4rem);
      bottom: clamp(1rem, 3vw, 2.5rem);
      z-index: 10;
      width: min(22rem, calc(100% - 2rem));
      pointer-events: none;
      text-shadow: 0 1px 18px rgba(0, 0, 0, .62);
    }

    .copy {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      opacity: 0;
      transform: translate3d(0, .55rem, 0);
      transition: opacity 650ms ease, transform 650ms ease;
    }

    .copy.is-active { opacity: 1; transform: none; }

    .copy--exterior {
      opacity: var(--exterior-copy);
      transform: translate3d(0, calc((1 - var(--exterior-copy)) * -.45rem), 0);
    }

    .copy--interior {
      opacity: var(--interior-copy);
      transform: translate3d(0, calc((1 - var(--interior-copy)) * .55rem), 0);
    }

    .copy__eyebrow {
      margin: 0 0 .55rem;
      color: rgba(243, 238, 226, .52);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      margin: 0 0 .55rem;
      font: normal clamp(1.45rem, 2.8vw, 2.65rem)/1.02 Georgia, "Times New Roman", serif;
      letter-spacing: -.025em;
    }

    .copy__body {
      margin: 0;
      max-width: 18rem;
      color: var(--muted);
      font: italic clamp(.72rem, .9vw, .84rem)/1.55 Georgia, "Times New Roman", serif;
      letter-spacing: .035em;
    }

    .copy__positioning {
      display: block;
      max-width: 25rem;
      margin-top: .65rem;
      color: rgba(243, 238, 226, .7);
      font: normal .64rem/1.55 Arial, Helvetica, sans-serif;
      letter-spacing: .065em;
    }

    .markers {
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
    }

    .marker {
      position: absolute;
      left: 0;
      width: 1px;
      height: 1px;
    }

    .marker--exterior { top: 0; }
    .marker--interior { top: 200vh; top: 200svh; }

    @keyframes camera-drift {
      from { transform: scale(1.006) translate3d(-.08%, .04%, 0); }
      to { transform: scale(1.024) translate3d(.14%, -.1%, 0); }
    }

    @keyframes hotspot-breathe {
      from { opacity: .42; }
      to { opacity: .78; }
    }

    @keyframes bird-flight {
      0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(var(--bird-angle, 0deg)); }
      9% { opacity: var(--bird-opacity, .48); }
      42% { opacity: var(--bird-opacity, .48); }
      49% { opacity: .1; }
      56% { opacity: .16; }
      64% { opacity: var(--bird-opacity, .48); }
      91% { opacity: .36; }
      100% { opacity: 0; transform: translate3d(var(--bird-dx, 0px), var(--bird-dy, 0px), 0) rotate(var(--bird-angle, 0deg)); }
    }

    @keyframes orrery-travel { to { offset-distance: 100%; } }
    @keyframes orrery-travel-reverse { from { offset-distance: 100%; } to { offset-distance: 0%; } }
    @keyframes capability-orbit {
      from { transform: rotate(0deg) translateX(1.15rem) rotate(0deg); }
      to { transform: rotate(360deg) translateX(1.15rem) rotate(-360deg); }
    }
    @keyframes capability-orbit-reverse {
      from { transform: rotate(0deg) translateX(.95rem) rotate(0deg); }
      to { transform: rotate(-360deg) translateX(.95rem) rotate(360deg); }
    }
    @keyframes chapter-discovery-pulse {
      0%, 100% { color: rgba(243, 238, 226, .5); background: rgba(243, 238, 226, 0); box-shadow: inset 0 0 0 rgba(243, 238, 226, 0); }
      48% { color: rgba(243, 238, 226, .76); background: rgba(243, 238, 226, .055); box-shadow: inset 0 0 1.35rem rgba(243, 238, 226, .07); }
    }

    @keyframes light-breathe {
      from { opacity: .085; transform: translate3d(-.5%, .1%, 0) scale(1); }
      to { opacity: .14; transform: translate3d(.6%, -.15%, 0) scale(1.018); }
    }

    @keyframes veil-drift {
      from { transform: translate3d(-.6%, -.1%, 0); opacity: .05; }
      to { transform: translate3d(.7%, .2%, 0); opacity: .085; }
    }

    @media (max-width: 760px) {
      .stage { min-height: 26rem; }
      .global-nav { display: none; }
      .menu-toggle { display: block; }
      .editorial { bottom: 6.2rem; }
      .chapter-tabs { left: 50%; right: auto; transform: translateX(-50%); }
      .chapter-tabs a { min-width: 6rem; }
      .copy h1, .copy h2 { font-size: clamp(1.5rem, 7vw, 2.2rem); }
      .hotspot__label { display: none; }
      .capability-panel { width: 100%; }
      .capability-panel.is-conversation {
        padding: 1.1rem 1.25rem 2rem;
        background: #f4efe3;
      }
      .capability-panel.is-conversation .panel__content {
        align-self: flex-start;
        padding-top: 3.75rem;
      }
      body.is-conversation-open .panel-backdrop { display: none; }
      .bird { width: 6.5%; max-width: 3rem; }
      .orrery-bearing--primary { animation-duration: 132s; }
      .orrery-bearing--secondary { animation-duration: 96s; }
      .hotspot__kinetic--chip { animation-duration: 128s; }
      .hotspot__kinetic--sphere { animation-duration: 98s; }
    }

    @media (hover: none), (pointer: coarse) {
      .hotspot__kinetic { animation: none; transform: none; }
    }

    @media (max-width: 430px) {
      .chapter-tabs { width: calc(100% - 2rem); }
      .chapter-tabs a { flex: 1; min-width: 0; }
      .editorial { bottom: 6.5rem; }
      .copy__body { max-width: 15rem; }
      .copy__positioning { max-width: 18rem; font-size: .59rem; }
      .bird { width: 6.2%; min-width: 1.4rem; max-width: 1.75rem; }
      .form-grid { grid-template-columns: 1fr; }
      .field--wide { grid-column: auto; }
      .panel__title { font-size: clamp(1.85rem, 10vw, 2.65rem); }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .scene,
      .copy,
      .chapter-tabs a,
      .chapter-tabs a::after { transition: none; }
      .scene__camera,
      .hotspot-canvas,
      .bird-canvas,
      .scene__depth,
      .scene__light,
      .scene__veil { animation: none; }
      .scene__camera { transform: none; }
      .scene__depth { filter: none; transform: none; }
      .threshold-light { display: none; }
      .hotspot::before { animation: none; }
      .bird { display: none; animation: none; }
      .orrery-bearing,
      .hotspot__kinetic,
      .chapter-tabs a.is-discovery-pulsing { animation: none; }
      .global-nav button,
      .global-nav button::after,
      .mobile-menu,
      .hotspot,
      .hotspot__label,
      .capability-panel,
      .panel-backdrop { transition: none; }
      .panel__details { transition: none; }
    }

    .no-script {
      position: fixed;
      inset: auto 1rem 1rem;
      z-index: 50;
      padding: 1rem;
      color: #171713;
      background: #f3eee2;
      font: normal .82rem/1.5 Arial, sans-serif;
    }

    .legal-placeholders {
      display: grid;
      gap: .35rem;
      margin-top: 1.2rem;
      padding-top: .85rem;
      border-top: 1px solid rgba(23, 23, 19, .2);
      font-size: .58rem;
      line-height: 1.5;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .legal-placeholders dt { font-weight: 700; }
    .legal-placeholders dd { margin: 0 0 .35rem; opacity: .58; text-transform: none; }
    .field input:user-invalid,
    .field select:user-invalid,
    .field textarea:user-invalid { border-color: #8b3f31; }

    /* EXP_007_FULL_BLEED_HERO — isolated cinematic framing study.
       The square source plane remains intact; the viewport crops only its edges. */
    .stage {
      --art-size: max(100vh, min(82vw, 135vh));
      --art-left: calc((100vw - var(--art-size)) / 2);
      --art-top: calc((100svh - var(--art-size)) / 2);
      background: #070909;
    }

    .scene {
      --focal-x: 0px;
      --focal-y: -1.4vh;
    }

    .scene--interior { --focal-y: -2.2vh; }

    .scene__depth,
    .scene__still {
      inset: auto;
      left: calc(var(--art-left) + var(--focal-x));
      top: calc(var(--art-top) + var(--focal-y));
      width: var(--art-size);
      height: var(--art-size);
    }

    .scene__camera,
    .scene__still {
      background-size: 100% 100%;
    }

    .hotspot-canvas,
    .bird-canvas {
      width: 100%;
      height: 100%;
    }

    .stage__grade {
      background:
        linear-gradient(90deg, rgba(3, 4, 4, .7), transparent 16%, transparent 84%, rgba(3, 4, 4, .7)),
        linear-gradient(180deg, rgba(5, 7, 8, .25), transparent 31%, rgba(4, 5, 5, .38)),
        radial-gradient(ellipse at center, transparent 46%, rgba(2, 3, 3, .34) 118%);
    }

    /* Conversation crop override follows the EXP_007 full-bleed geometry so
       its portrait window is not enlarged by the canonical square art plane. */
    @media (min-width: 761px) {
      body.is-conversation-open .scene--exterior .scene__depth {
        inset: 0 var(--cta-panel) 0 var(--cta-rail);
        width: auto;
        height: auto;
      }

      body.is-conversation-open .scene--exterior .scene__camera {
        background-size: cover;
        background-position: 10% 50%;
      }

      body.is-conversation-open .scene--exterior .scene__camera img {
        object-position: 10% 50%;
      }
    }

    .masthead {
      text-shadow: 0 1px 24px rgba(0, 0, 0, .84), 0 0 8px rgba(0, 0, 0, .5);
    }

    .global-nav {
      background: linear-gradient(90deg, rgba(8, 10, 10, .06), rgba(8, 10, 10, .34));
      backdrop-filter: blur(4px);
    }

    .editorial {
      width: min(24rem, calc(100% - 2rem));
      padding: 4.5rem 4rem 0 0;
      background: radial-gradient(ellipse at 0 100%, rgba(4, 6, 6, .64), transparent 70%);
      text-shadow: 0 1px 22px rgba(0, 0, 0, .92), 0 0 7px rgba(0, 0, 0, .48);
    }

    .chapter-tabs {
      box-shadow: 0 1px 24px rgba(0, 0, 0, .2);
    }

    @media (orientation: portrait) {
      .stage {
        --art-size: max(100vw, min(100vh, 156vw));
      }

      .scene { --focal-y: -1vh; }
      .scene--interior { --focal-y: -1.7vh; }

      .stage__grade {
        background:
          linear-gradient(180deg, rgba(4, 5, 5, .34), transparent 23%, transparent 62%, rgba(3, 4, 4, .76)),
          linear-gradient(90deg, rgba(2, 3, 3, .3), transparent 16%, transparent 84%, rgba(2, 3, 3, .3));
      }
    }

    @media (max-width: 760px) {
      .editorial {
        width: min(22rem, calc(100% - 2rem));
        padding: 4rem 2rem 0 0;
      }
    }

    @media (max-width: 430px) {
      .stage { --art-size: min(100vh, 156vw); }
      .scene { --focal-y: -1.2vh; }
      .scene--interior { --focal-y: -1.8vh; }
      .editorial { padding-right: 1rem; }
      .copy__positioning { max-width: 17rem; }
    }

    /* EXP_009 — approved profile and proof hierarchy. */
    /* EXP_011 — post-RC ambient motion calibration.
       The source-aligned still plate keeps the gentleman optically fixed while
       the surrounding canvas and a few non-reading UI surfaces drift quietly. */
    .scene__camera {
      animation: ambient-camera-drift 52s cubic-bezier(.45, 0, .55, 1) infinite alternate;
    }

    @media (min-width: 761px) {
      body:not(:has(.capability-panel.is-open)) .masthead {
        animation: ambient-masthead-drift 19s ease-in-out -5s infinite alternate;
      }

      body:not(:has(.capability-panel.is-open)) .global-nav {
        animation: ambient-nav-drift 23s ease-in-out -11s infinite alternate;
      }

      body:not(:has(.capability-panel.is-open)) .editorial {
        animation: ambient-editorial-drift 17s ease-in-out -8s infinite alternate;
      }
    }

    @keyframes ambient-camera-drift {
      from { transform: scale(1.006) translate3d(-.08%, .04%, 0); }
      to { transform: scale(1.012) translate3d(.12%, -.08%, 0); }
    }

    @keyframes ambient-masthead-drift {
      from { transform: translate3d(-1px, 1px, 0); }
      to { transform: translate3d(2px, -3px, 0); }
    }

    @keyframes ambient-nav-drift {
      from { transform: translate3d(1px, -2px, 0); }
      to { transform: translate3d(-2px, 2px, 0); }
    }

    @keyframes ambient-editorial-drift {
      from { transform: translate3d(-1px, 1px, 0); }
      to { transform: translate3d(1px, -2px, 0); }
    }

    @media (max-width: 760px), (prefers-reduced-motion: reduce) {
      .masthead,
      .global-nav,
      .editorial { animation: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      .scene__camera { animation: none; transform: none; }
    }

    .panel__modules {
      display: grid;
      gap: 1.5rem;
      margin: 1.8rem 0 0;
      color: inherit;
      font: normal .78rem/1.62 Georgia, "Times New Roman", serif;
    }

    .panel__modules[hidden] { display: none; }
    .panel__modules p { margin: 0; }
    .content-module {
      padding-top: 1.3rem;
      border-top: 1px solid rgba(243, 238, 226, .2);
    }
    .content-module h3,
    .initiative h3 {
      margin: .35rem 0 .55rem;
      font: normal clamp(1.35rem, 3vw, 2.1rem)/1.03 Georgia, serif;
      letter-spacing: -.025em;
    }
    .module-label {
      opacity: .5;
      font: 700 .58rem/1.3 Arial, sans-serif;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .module-subhead {
      margin-bottom: .85rem !important;
      opacity: .68;
      font: 700 .62rem/1.45 Arial, sans-serif;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .module-statement {
      padding: 1rem 0;
      border-top: 1px solid rgba(243, 238, 226, .2);
      border-bottom: 1px solid rgba(243, 238, 226, .2);
      font: 700 .66rem/1.5 Arial, sans-serif;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .module-statement--small { margin-top: 1.15rem !important; font-size: .59rem; }
    .focus-list {
      display: flex;
      flex-wrap: wrap;
      gap: .35rem;
      margin: 1rem 0 0;
      padding: 0;
      list-style: none;
    }
    .focus-list li {
      padding: .38rem .55rem;
      border: 1px solid rgba(243, 238, 226, .17);
      font: 700 .54rem/1.2 Arial, sans-serif;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 1.2rem; }
    .proof {
      min-width: 0;
      padding: .65rem 1rem .65rem 0;
    }
    .proof + .proof { padding-left: 1rem; border-left: 1px solid rgba(243, 238, 226, .16); }
    .proof strong { display: block; font: normal clamp(1.9rem, 4vw, 2.8rem)/1 Georgia, serif; }
    .proof span { display: block; margin-top: .2rem; font: 700 .58rem/1.3 Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
    .proof p { margin-top: 1rem; opacity: .6; font-size: .68rem; line-height: 1.45; }
    .proof--single { max-width: 15rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(243, 238, 226, .16); }
    .proof--tenure {
      display: grid;
      grid-template-columns: 6rem 1fr;
      align-items: end;
      gap: 1.2rem;
      padding: .2rem 0 1.15rem;
      border-bottom: 1px solid rgba(243, 238, 226, .16);
    }
    .proof--tenure span { align-self: center; }
    .proof--tenure p { grid-column: 2; margin-top: -.65rem; }
    .proof-band {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin: .7rem 0 1.3rem;
      padding: .55rem 0;
      border-bottom: 1px solid rgba(243, 238, 226, .16);
    }
    .panel__modules blockquote {
      margin: 0;
      padding: 1rem 0 1rem 1.2rem;
      border-left: 1px solid currentColor;
      font-size: .95rem;
      font-style: italic;
    }
    .initiative { padding: 1.35rem; color: #171713; background: #ded6c6; }
    .initiative-axis { margin-top: 1.2rem !important; font: 700 .58rem/1.5 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
    .initiative-axis span { padding: 0 .4rem; opacity: .45; }
    .initiative--proof { margin-top: 0; }
    .credentials ul { display: grid; gap: .8rem; margin: 1rem 0 0; padding: 0; list-style: none; }
    .credentials li { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid rgba(243, 238, 226, .13); }
    .credentials strong { font: 700 .6rem/1.4 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
    .credentials span { opacity: .66; }
    .identity-note { padding-top: 1.2rem; border-top: 1px solid rgba(243, 238, 226, .2); opacity: .5; font-size: .66rem; }

    @media (max-width: 430px) {
      .copy h1, .copy h2 { font-size: clamp(1.65rem, 8vw, 2.2rem); }
      .copy__body { max-width: 19rem; font-size: .74rem; }
      .proof-grid,
      .proof-band { grid-template-columns: 1fr; }
      .proof + .proof { padding: 1rem 0; border-left: 0; border-top: 1px solid rgba(243, 238, 226, .16); }
      .proof-band .proof { padding: 1rem 0; }
      .proof--tenure { grid-template-columns: 5rem 1fr; }
    }
