    body { background: var(--void); color: var(--parchment); font-family: 'Cormorant Garamond', serif; font-weight: 300; cursor: none; }
    .cursor { position: fixed; width: 6px; height: 6px; background: var(--gold); border-radius: 50%; pointer-events: none; z-index: 9999; will-change: transform; mix-blend-mode: screen; }
    .cursor-ring { position: fixed; width: 36px; height: 36px; border: 1px solid rgba(212,168,67,0.6); border-radius: 50%; pointer-events: none; z-index: 9998; will-change: transform; transition: transform 0.12s ease; }
    #entry-veil { position: fixed; inset: 0; background: #000; z-index: 5000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); transition: opacity 1.8s ease; pointer-events: none; }
    #entry-veil.dissolving { opacity: 0; pointer-events: none; }
    #entry-veil .veil-enter, #entry-veil .veil-text, #entry-veil .veil-sub { pointer-events: auto; }
    .veil-text { font-size: 0.65rem; letter-spacing: 0.55em; text-transform: uppercase; color: rgba(212,168,67,0.9); animation: veil-pulse 2s ease-in-out infinite; text-align: center; padding: 0 1.5rem; }
    .veil-sub  { font-size: 0.55rem; letter-spacing: 0.45em; text-transform: uppercase; color: rgba(212,168,67,0.75); text-align: center; padding: 0 1.5rem; }
    .veil-enter { font-size: clamp(1.3rem,4vw,2.5rem); font-style: italic; color: rgba(242,234,216,0.7); border: 1px solid rgba(212,168,67,0.45); padding: 1rem 2.5rem; transition: all 0.4s ease; letter-spacing: 0.05em; text-align: center; }
    .veil-enter:hover, .veil-enter:active { color: var(--cream); border-color: rgba(212,168,67,0.6); background: rgba(212,168,67,0.05); }
    #main-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 6000; display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 5vw; padding-top: calc(1.2rem + env(safe-area-inset-top)); background: linear-gradient(to bottom, rgba(6,5,4,0.9), transparent); opacity: 0; transition: opacity 1s ease; }
    nav.visible { opacity: 1; }
    .nav-logo { font-size: 0.65rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--mist); text-decoration: none; transition: color 0.3s ease; position: relative; z-index: 9000; }
    .nav-logo:hover { color: var(--gold); }
    .nav-label { font-size: 0.65rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--gold); }
    #room { opacity: 0; transition: opacity 1.5s ease 0.4s; }
    #room.visible { opacity: 1; }
    .threshold { height: 100vh; height: 100dvh; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 0 5vw; }
    .threshold-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(212,168,67,0.06) 0%, transparent 70%); top: 50%; left: 50%; transform: translate(-50%,-50%); will-change: transform, opacity; animation: breathe 7s ease-in-out infinite; }
    .threshold-eyebrow { font-size: 0.6rem; letter-spacing: 0.6em; text-transform: uppercase; color: var(--gold); margin-bottom: 2rem; opacity: 0.7; text-align: center; }
    .threshold-title { font-size: clamp(3.5rem,12vw,11rem); font-weight: 300; line-height: 0.88; text-align: center; }
    .threshold-title .line-a { display: block; color: rgba(242,234,216,0.15); font-style: italic; letter-spacing: 0.05em; }
    .threshold-title .line-b { display: block; color: var(--cream); letter-spacing: -0.02em; }
    .threshold-title .line-c { display: block; color: rgba(212,168,67,0.85); font-style: italic; font-size: 0.38em; letter-spacing: 0.2em; text-transform: uppercase; margin-top: 1.5rem; }
    .threshold-scroll { position: absolute; bottom: calc(3rem + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 0.8rem; }
    .scroll-label { font-size: 0.58rem; letter-spacing: 0.5em; text-transform: uppercase; color: rgba(168,159,140,0.4); }
    .scroll-line { width: 1px; height: 50px; background: linear-gradient(to bottom, var(--gold), transparent); opacity: 0.4; animation: scroll-drop 2.2s ease-in-out infinite; }
    @keyframes scroll-drop { 0%{transform:scaleY(0);transform-origin:top;opacity:0} 40%{transform:scaleY(1);transform-origin:top;opacity:0.4} 60%{transform:scaleY(1);transform-origin:bottom;opacity:0.4} 100%{transform:scaleY(0);transform-origin:bottom;opacity:0} }
    .wall { min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 6rem 5vw; }
    .wall-inner { max-width: 56rem; margin: 0 auto; position: relative; z-index: 2; width: 100%; }
    .wall-inner--east { width: 100%; max-width: 100%; text-align: center; }
    .registry-title-em { color: var(--gold-light); }
    .wall-north { background: linear-gradient(160deg,#0a0907 0%,#0e0d0a 60%,#060504 100%); }
    .wall-north-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 50% 70% at 80% 30%, rgba(212,168,67,0.04) 0%, transparent 60%), radial-gradient(ellipse 30% 40% at 10% 80%, rgba(212,168,67,0.03) 0%, transparent 60%); }
    .north-statement { font-size: clamp(1.8rem,4.5vw,4.2rem); font-weight: 300; line-height: 1.3; color: var(--cream); margin-bottom: 3rem; }
    .north-statement em { color: var(--gold-light); font-style: italic; }
    .north-tenets { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid rgba(212,168,67,0.28); }
    .tenet { padding: 2rem; border-right: 1px solid rgba(212,168,67,0.22); border-bottom: 1px solid rgba(212,168,67,0.22); transition: background 0.4s ease; }
    .tenet:nth-child(even) { border-right: none; }
    .tenet:nth-child(3), .tenet:nth-child(4) { border-bottom: none; }
    .tenet:hover { background: rgba(212,168,67,0.03); }
    .tenet-word { font-size: 1.4rem; font-style: italic; color: var(--gold); display: block; margin-bottom: 0.6rem; }
    .tenet-desc { font-size: 0.95rem; line-height: 1.85; color: var(--parchment); opacity: 0.8; }
    .wall-east { background: var(--void); flex-direction: column; text-align: center; }
    .wall-east-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(212,168,67,0.04) 0%, transparent 65%); }
    .east-heading { font-size: 0.62rem; letter-spacing: 0.5em; text-transform: uppercase; color: var(--gold); margin-bottom: 3rem; opacity: 0.7; }
    .scrolling-texts { width: 100%; overflow: hidden; margin-bottom: 3rem; }
    .texts-track { display: flex; white-space: nowrap; will-change: transform; animation: march 35s linear infinite; }
    .texts-track:hover { animation-play-state: paused; }
    .texts-track span { flex-shrink: 0; font-size: clamp(1.4rem,3.5vw,3rem); font-style: italic; font-weight: 300; color: rgba(242,234,216,0.12); padding: 0 2.5rem; transition: color 0.4s ease; }
    .texts-track span:hover { color: rgba(242,234,216,0.5); }
    .texts-track span.gold { color: rgba(212,168,67,0.6); }
    @keyframes march { from{transform:translateX(0)} to{transform:translateX(-50%)} }
    .east-aphorisms { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; text-align: left; width: 100%; max-width: 60rem; margin: 0 auto; }
    .aphorism { background: rgba(255,255,255,0.015); padding: 2.5rem 1.8rem; position: relative; overflow: hidden; transition: background 0.5s ease, transform 0.5s ease; }
    .aphorism::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(to right, transparent, var(--gold), transparent); opacity: 0; transition: opacity 0.5s ease; }
    .aphorism:hover { background: rgba(212,168,67,0.05); transform: translateY(-2px); }
    .aphorism:hover::before { opacity: 0.7; }
    .aphorism:hover .aphorism-roman { color: rgba(212,168,67,0.8); }
    .aphorism:hover .aphorism-text { opacity: 1; }
    .aphorism-roman { font-size: 0.6rem; letter-spacing: 0.35em; text-transform: uppercase; color: rgba(212,168,67,0.75); margin-bottom: 1rem; display: block; }
    .aphorism-text { font-size: 1rem; font-style: italic; color: var(--parchment); opacity: 0.8; line-height: 1.9; }
    .aphorism-text em { color: var(--cream); font-style: normal; opacity: 1; }
    .wall-south { background: #000; min-height: 100vh; flex-direction: column; text-align: center; padding: 6rem 5vw; }
    .chamber-label { font-size: 0.6rem; letter-spacing: 0.55em; text-transform: uppercase; color: rgba(212,168,67,0.85); margin-bottom: 3rem; }
    .chamber-center { position: relative; width: min(280px,70vw); height: min(280px,70vw); margin: 0 auto 3rem; }
    .chamber-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(212,168,67,0.32); will-change: transform; animation: ring-spin 25s linear infinite; }
    .chamber-ring:nth-child(2) { inset: 20px; border-color: rgba(212,168,67,0.45); animation-direction: reverse; animation-duration: 18s; }
    .chamber-ring:nth-child(3) { inset: 45px; border-color: rgba(212,168,67,0.2); animation-duration: 32s; }
    .chamber-core { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
    .chamber-dot { width: 4px; height: 4px; background: var(--gold); border-radius: 50%; will-change: transform, box-shadow; animation: dot-pulse 4s ease-in-out infinite; }
    @keyframes ring-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
    @keyframes dot-pulse { 0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(212,168,67,0)} 50%{transform:scale(1.5);box-shadow:0 0 20px 6px rgba(212,168,67,0.2)} }
    .chamber-text { font-size: clamp(1.3rem,3vw,2.8rem); font-style: italic; color: rgba(242,234,216,0.6); line-height: 1.5; max-width: 36rem; margin: 0 auto 3rem; }
    .chamber-text em { color: var(--gold-light); font-style: normal; }
    .chamber-whisper { font-size: 0.65rem; letter-spacing: 0.4em; text-transform: uppercase; color: rgba(168,159,140,0.3); padding: 0 1rem; }
    .wall-west { background: var(--charcoal); }
    .west-bg { position: absolute; inset: 0; background: linear-gradient(to right, rgba(212,168,67,0.03) 0%, transparent 30%), linear-gradient(to left, rgba(212,168,67,0.03) 0%, transparent 30%); }
    .registry-title { font-size: clamp(1.8rem,4vw,3.5rem); font-weight: 300; color: var(--cream); margin-bottom: 1rem; }
    .registry-sub { font-size: 1rem; font-style: italic; color: var(--parchment); opacity: 0.75; margin-bottom: 3rem; }
    .registry-table { width: 100%; border-collapse: collapse; }
    .registry-table thead tr { border-bottom: 1px solid rgba(212,168,67,0.5); }
    .registry-table th { font-size: 0.58rem; letter-spacing: 0.45em; text-transform: uppercase; color: var(--gold); padding-bottom: 1.2rem; text-align: left; font-weight: 400; }
    .registry-table tbody tr { border-bottom: 1px solid rgba(212,168,67,0.2); transition: background 0.3s ease; }
    .registry-table tbody tr:hover { background: rgba(212,168,67,0.03); }
    .registry-table td { padding: 1.5rem 1.5rem 1.5rem 0; font-size: 1rem; color: var(--parchment); opacity: 0.8; vertical-align: top; line-height: 1.65; }
    .registry-table td:first-child { font-style: italic; color: var(--cream); font-size: 1.05rem; opacity: 1; }
    .registry-status { display: inline-block; font-size: 0.58rem; letter-spacing: 0.25em; text-transform: uppercase; padding: 0.3em 0.8em; border: 1px solid rgba(212,168,67,0.5); color: var(--gold); }
    /* Horizontal scroll wrapper for registry on mobile */
    .registry-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .registry-scroll .registry-table { min-width: 36rem; }
    .exit-panel { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 6rem 5vw; padding-bottom: calc(6rem + env(safe-area-inset-bottom)); background: var(--void); position: relative; }
    .exit-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 50% 60% at 50% 50%, rgba(212,168,67,0.04) 0%, transparent 70%); }
    .exit-label { font-size: 0.58rem; letter-spacing: 0.6em; text-transform: uppercase; color: rgba(212,168,67,0.75); margin-bottom: 2.5rem; }
    .exit-statement { font-size: clamp(1.5rem,3.5vw,3rem); font-style: italic; color: rgba(242,234,216,0.5); line-height: 1.5; max-width: 38rem; margin-bottom: 3rem; }
    .exit-link { font-size: 0.65rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--gold); text-decoration: none; border: 1px solid rgba(212,168,67,0.5); padding: 0.9em 2.5em; transition: all 0.4s ease; cursor: pointer; position: relative; z-index: 9000; display: inline-block; }
    .exit-link:hover, .exit-link:active { color: var(--gold-light); border-color: var(--gold-light); }
    /* ─── SECTION NAVIGATION ARROWS ─── */
    .section-nav {
      position: fixed;
      right: 2rem;
      top: 50%;
      transform: translateY(-50%);
      z-index: 50;
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.8s ease;
    }
    .section-nav.visible {
      opacity: 1;
      pointer-events: auto;
    }
    .section-nav-btn {
      width: 2.8rem;
      height: 2.8rem;
      color: var(--gold);
      border: 1px solid rgba(212,168,67,0.5);
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(3,3,2,0.7);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: color 0.3s ease, border-color 0.3s ease, background 0.3s ease;
      cursor: pointer;
    }
    .section-nav-btn:hover:not(:disabled) {
      color: var(--gold-light);
      border-color: rgba(212,168,67,0.7);
      background: rgba(212,168,67,0.06);
    }
    .section-nav-btn:disabled {
      opacity: 0.2;
      cursor: default;
      pointer-events: none;
    }
    /* CSS-only chevrons — no SVG, no Trusted Types issue */
    .section-nav-btn::before {
      content: '';
      display: block;
      width: 7px;
      height: 7px;
      border-right: 1.5px solid currentColor;
      border-top: 1.5px solid currentColor;
    }
    .section-nav-up::before   { transform: rotate(-45deg) translate(1px, 2px); }
    .section-nav-down::before { transform: rotate(135deg) translate(-1px, -2px); }

    @media (max-width: 768px) {
      .section-nav { right: 0.75rem; }
      .section-nav-btn { width: 3rem; height: 3rem; }
      .section-nav-btn::before { width: 9px; height: 9px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; }
      .texts-track { animation-duration: 55s; }
    }
    @media (max-width: 768px) {
      body { cursor: default; }
      .cursor, .cursor-ring { display: none; }
      .north-tenets { grid-template-columns: 1fr; }
      .tenet:nth-child(even) { border-right: 1px solid rgba(212,168,67,0.22); }
      .tenet:nth-child(3) { border-bottom: 1px solid rgba(212,168,67,0.22); }
      .tenet:nth-child(4) { border-bottom: none; }
      .east-aphorisms { grid-template-columns: 1fr; }
      .wall { padding: 4rem 5vw; }
      .wall-south { padding: 4rem 5vw; }
      .nav-label { display: none; }
      .tenet-desc { line-height: 2; }
      .aphorism-text { line-height: 2; }
      .chamber-text { line-height: 1.7; }
      .north-statement { line-height: 1.45; }
    }
    @media (max-width: 480px) {
      .threshold-title .line-c { letter-spacing: 0.1em; font-size: 0.32em; }
      .veil-enter { padding: 0.9rem 1.8rem; }
      .wall { padding: 3rem 4vw; }
      .wall-south { padding: 3rem 4vw; }
      .tenet { padding: 1.5rem; }
      .aphorism { padding: 1.8rem 1.2rem; }
      .exit-panel { padding: 4rem 4vw; }
    }
    @media (max-height: 500px) { .threshold-title { font-size: clamp(2.5rem,10vw,6rem); } }



    /* ─── ROOM PAGE — hamburger and menu above veil ─── */
    .room-hamburger {
      position: fixed;
      top: calc(1.2rem + env(safe-area-inset-top));
      right: 5vw;
      z-index: 9900;
    }
    .room-hamburger span {
      background: #d4a843;
    }
    #mobile-menu {
      z-index: 9950;
    }
