  :root{
    --green:#0B5E2A; --green-mid:#094d22; --green-deep:#073d1b; --green-light:#0e7a36;
    --cream:#E8DFC5; --cream-2:#DDD3B0; --cream-3:#D4C89A;
    --glow:#7fd99a; --glow-2:#b8e8c4;
    --ink:#1a1a1a;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{width:100%;height:100%;overflow:hidden;background:#020302;}
  body{font-family:'Barlow',sans-serif;color:var(--cream);-webkit-font-smoothing:antialiased;}
  #stage{position:fixed;inset:0;}
  #stage canvas{display:block;}

  /* ---------- overlays ---------- */
  .vignette{position:fixed;inset:0;pointer-events:none;z-index:20;
    background:radial-gradient(ellipse 72% 62% at 50% 46%, rgba(0,0,0,0) 42%, rgba(0,0,0,.44) 74%, rgba(0,0,0,.86) 100%);}
  .grain{position:fixed;inset:-120px;pointer-events:none;z-index:21;opacity:.05;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/></svg>");
    animation:grain .9s steps(4) infinite;}
  @keyframes grain{
    0%{transform:translate(0,0)} 25%{transform:translate(-38px,22px)}
    50%{transform:translate(24px,-30px)} 75%{transform:translate(-16px,-14px)} 100%{transform:translate(0,0)}
  }
  #fade{position:fixed;inset:0;background:#020302;z-index:60;pointer-events:none;
    display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;
    transition:opacity 2.4s ease;opacity:1;}
  #fade .f-mark{font-family:'Bebas Neue';font-size:15px;letter-spacing:.55em;color:var(--cream-3);opacity:.8;padding-left:.55em;}
  #fade .f-rule{width:42px;height:1px;background:rgba(232,223,197,.3);}
  #fade .f-sub{font-family:'Barlow Condensed';font-weight:500;font-size:11px;letter-spacing:.4em;color:rgba(232,223,197,.42);padding-left:.4em;}
  #fade.out{opacity:0;}

  /* ---------- arena UI ---------- */
  #ui{position:fixed;inset:0;pointer-events:none;z-index:30;}
  .brand{position:absolute;top:34px;left:42px;font-family:'Bebas Neue';font-size:19px;letter-spacing:.42em;color:var(--cream);
    display:flex;align-items:center;gap:14px;}
  .brand .dot{width:6px;height:6px;border-radius:50%;background:var(--glow);box-shadow:0 0 10px var(--glow);flex:none;}
  a.brand{text-decoration:none;pointer-events:auto;cursor:pointer;}
  .backlink{position:absolute;top:66px;left:42px;display:inline-block;
    pointer-events:auto;cursor:pointer;
    font-family:'Barlow Condensed';font-weight:600;font-size:11px;letter-spacing:.3em;
    color:rgba(232,223,197,.55);text-decoration:none;padding:6px 0;
    border-bottom:1px solid rgba(232,223,197,.18);
    transition:color .3s ease,border-color .3s ease;}
  .backlink:hover{color:var(--cream);border-color:rgba(127,217,154,.6);}
  .caption{position:absolute;top:40px;left:50%;transform:translateX(-50%);
    font-family:'Barlow Condensed';font-weight:500;font-size:10.5px;letter-spacing:.34em;color:rgba(232,223,197,.5);
    white-space:nowrap;padding-left:.34em;}
  .caption:before,.caption:after{content:"";display:inline-block;width:34px;height:1px;background:rgba(232,223,197,.24);vertical-align:middle;margin:0 16px;}
  .exhibit-note{position:absolute;top:35px;right:44px;text-align:right;font-family:'Barlow Condensed';font-weight:500;
    font-size:10.5px;letter-spacing:.28em;color:rgba(232,223,197,.42);line-height:1.9;}
  .hero{position:absolute;left:46px;bottom:52px;max-width:560px;}
  .hero .h-over{font-family:'Barlow Condensed';font-weight:600;font-size:12.5px;letter-spacing:.46em;color:var(--glow);margin-bottom:14px;}
  .hero h1{font-family:'Bebas Neue';font-weight:400;font-size:clamp(58px,7.6vw,112px);line-height:.92;color:var(--cream);
    letter-spacing:.015em;text-shadow:0 0 60px rgba(127,217,154,.14);}
  .hero .h-sub{font-family:'Barlow Condensed';font-weight:500;font-size:19px;letter-spacing:.14em;color:var(--cream-2);margin-top:14px;}
  .hero .h-counter{font-family:'Barlow Condensed';font-weight:600;font-size:14px;letter-spacing:.26em;color:rgba(127,217,154,0.9);margin-top:8px;}
  .hero .h-rule{width:74px;height:1px;background:rgba(232,223,197,.35);margin:22px 0;}
  .hero .h-row{display:flex;align-items:center;gap:26px;}
  .cta{pointer-events:auto;cursor:pointer;font-family:'Barlow Condensed';font-weight:600;font-size:14px;letter-spacing:.3em;
    color:var(--ink);background:var(--cream);border:1px solid var(--cream);padding:15px 30px 14px 34px;
    transition:background .5s ease,color .5s ease,box-shadow .7s ease;white-space:nowrap;}
  .cta:hover{background:transparent;color:var(--cream);box-shadow:0 0 34px rgba(127,217,154,.22);}
  .fine{font-family:'Barlow';font-weight:400;font-size:11.5px;letter-spacing:.14em;color:rgba(232,223,197,.55);line-height:1.7;}
  .skip{position:absolute;right:46px;bottom:46px;font-family:'Barlow Condensed';font-weight:500;font-size:11px;
    letter-spacing:.36em;color:rgba(232,223,197,.45);pointer-events:none;}
  .skip .k{border:1px solid rgba(232,223,197,.3);padding:3px 8px 2px;margin-right:10px;font-size:10px;}

  /* museum plaque card */
  #plaque{position:absolute;right:48px;bottom:120px;width:296px;padding:26px 28px 24px;
    background:rgba(4,8,5,.78);border:1px solid rgba(232,223,197,.34);
    box-shadow:inset 0 0 0 4px rgba(4,8,5,.9), inset 0 0 0 5px rgba(232,223,197,.16), 0 24px 60px rgba(0,0,0,.55);
    opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease;backdrop-filter:blur(3px);}
  #plaque.show{opacity:1;transform:translateY(0);}
  #plaque .p-acq{font-family:'Barlow Condensed';font-weight:600;font-size:10.5px;letter-spacing:.34em;color:var(--glow);margin-bottom:12px;}
  #plaque h3{font-family:'Bebas Neue';font-weight:400;font-size:34px;line-height:1;color:var(--cream);letter-spacing:.03em;}
  #plaque .p-rule{width:44px;height:1px;background:rgba(232,223,197,.4);margin:14px 0 12px;}
  #plaque .p-pos{font-family:'Barlow Condensed';font-weight:600;font-size:14px;letter-spacing:.22em;color:var(--cream-2);}
  #plaque .p-city{font-family:'Barlow';font-weight:400;font-size:12.5px;letter-spacing:.1em;color:rgba(232,223,197,.6);margin-top:5px;}
  #plaque .p-foot{margin-top:16px;padding-top:12px;border-top:1px solid rgba(232,223,197,.14);
    font-family:'Barlow Condensed';font-weight:500;font-size:10px;letter-spacing:.28em;color:rgba(232,223,197,.4);}

  /* hologram label */
  #holoLabel{position:absolute;left:0;top:0;transform:translate(-50%,-100%);text-align:center;
    opacity:0;transition:opacity .7s ease;pointer-events:none;}
  #holoLabel .hl-rule{width:1px;height:34px;background:linear-gradient(to bottom,rgba(184,232,196,0),rgba(184,232,196,.7));margin:0 auto 10px;}
  #holoLabel .hl-txt{font-family:'Barlow Condensed';font-weight:600;font-size:12.5px;letter-spacing:.4em;color:var(--glow-2);
    text-shadow:0 0 18px rgba(127,217,154,.5);padding-left:.4em;white-space:nowrap;}
  #holoLabel .hl-sub{font-family:'Barlow';font-weight:400;font-size:10px;letter-spacing:.22em;color:rgba(232,223,197,.5);margin-top:6px;}
  #holoLabel.show{opacity:1;}

  /* UI state fades — timed to the dive (arena UI gone by ~40% of the 2.4s move) */
  .ui-arena{transition:opacity .85s ease;}
  body.unfocusing .ui-arena{transition-delay:1.05s;}
  body.intro .ui-arena.hide-during-intro{opacity:0;}
  body.focus .ui-arena{opacity:0 !important;pointer-events:none !important;}
  body:not(.intro) .skip{opacity:0;transition:opacity .9s ease;}
  .skip{transition:opacity .9s ease;}

  /* ---------- globe HUD ---------- */
  #globeHud{position:fixed;inset:0;pointer-events:none;z-index:31;opacity:0;transition:opacity .7s ease;}
  body.focus #globeHud{opacity:1;transition:opacity .7s ease 1.68s;} /* in from ~70% of the 2.4s move */
  #globeHud .g-top{position:absolute;top:44px;left:50%;transform:translateX(-50%);text-align:center;}
  #globeHud .g-over{font-family:'Barlow Condensed';font-weight:600;font-size:11px;letter-spacing:.44em;color:var(--glow);padding-left:.44em;margin-bottom:10px;}
  #globeHud h2{font-family:'Bebas Neue';font-weight:400;font-size:clamp(30px,3.4vw,46px);letter-spacing:.06em;color:var(--cream);}
  #globeHud .g-stat{font-family:'Barlow Condensed';font-weight:600;font-size:12.5px;letter-spacing:.32em;color:var(--cream);margin-top:12px;
    text-shadow:0 0 24px rgba(127,217,154,.25);}
  #globeHud .g-stat .live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--glow);
    box-shadow:0 0 8px var(--glow);margin-right:12px;vertical-align:1px;animation:pulse 2.4s ease infinite;}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
  #globeHud .g-return{position:absolute;left:50%;bottom:50px;transform:translateX(-50%);pointer-events:auto;cursor:pointer;
    background:transparent;border:1px solid rgba(232,223,197,.4);color:var(--cream);
    font-family:'Barlow Condensed';font-weight:600;font-size:12.5px;letter-spacing:.34em;padding:14px 28px 13px 32px;
    transition:background .5s,color .5s,border-color .5s;}
  #globeHud .g-return:hover{background:var(--cream);color:var(--ink);border-color:var(--cream);}
  #globeHud .g-esc{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
    font-family:'Barlow Condensed';font-weight:500;font-size:10px;letter-spacing:.3em;color:rgba(232,223,197,.35);}
  #globeHud .g-note{position:absolute;right:50px;bottom:64px;text-align:right;
    font-family:'Barlow Condensed';font-weight:500;font-size:10.5px;letter-spacing:.26em;color:rgba(232,223,197,.42);line-height:2;}
  body:not(.focus) #globeHud .g-return{pointer-events:none;}
  body.focus .cta{pointer-events:none;}

  /* ---------- drafting-sheet backdrop (blueprint-14 atmosphere, brand recolor) ----------
     Only visible in globe focus: fades in during the back half of the 2.4s dive
     and clears completely on the way home. Deep-green blueprint paper —
     tinted light falloff, fine graph grid, luminescence bleed, vignette, grain. */
  #gSheet{position:fixed;inset:0;pointer-events:none;z-index:19;opacity:0;transition:opacity .9s ease .1s;}
  body.focus #gSheet{opacity:1;transition:opacity 1.3s ease 1.05s;}
  #gSheet>div{position:absolute;inset:0;}
  #gSheet .gs-tint{background:radial-gradient(130% 110% at 42% 26%, rgba(18,110,52,.22) 0%, rgba(9,77,34,.12) 46%, rgba(7,61,27,0) 76%);}
  #gSheet .gs-grid{background-image:
    repeating-linear-gradient(90deg, rgba(127,217,154,.045) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(0deg,  rgba(127,217,154,.045) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(90deg, rgba(127,217,154,.08) 0 1px, transparent 1px 130px),
    repeating-linear-gradient(0deg,  rgba(127,217,154,.08) 0 1px, transparent 1px 130px);}
  #gSheet .gs-glow{background:radial-gradient(44% 50% at 50% 46%, rgba(127,217,154,.10) 0%, rgba(127,217,154,.025) 55%, rgba(127,217,154,0) 78%);}
  #gSheet .gs-vig{background:radial-gradient(ellipse 120% 105% at 50% 42%, rgba(0,0,0,0) 50%, rgba(2,14,7,.36) 78%, rgba(1,9,4,.68) 100%);}
  #gSheet .gs-grain{inset:-120px;opacity:.07;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/></svg>");
    background-size:240px 240px;}

  /* ---------- drawing-sheet frame (blueprint-14) — lives inside the globe HUD ---------- */
  #globeHud .g-frame{position:absolute;inset:0;pointer-events:none;}
  #globeHud .gf-outer{position:absolute;inset:10px;border:1px solid rgba(212,200,154,.22);}
  #globeHud .gf-inner{position:absolute;inset:24px;border:1px solid rgba(212,200,154,.45);
    clip-path:inset(50% 50% 50% 50%);transition:clip-path 1.2s cubic-bezier(.6,.05,.2,1) .15s;}
  body.focus #globeHud .gf-inner{clip-path:inset(0 0 0 0);transition-delay:1.9s;}
  #globeHud .gf-tick{position:absolute;background:repeating-linear-gradient(90deg,rgba(212,200,154,.45) 0 1px,transparent 1px 48px);}
  #globeHud .gf-tick.t{top:10px;left:24px;right:24px;height:6px;}
  #globeHud .gf-tick.b{bottom:10px;left:24px;right:24px;height:6px;}
  #globeHud .gf-tick.l,#globeHud .gf-tick.r{width:6px;top:24px;bottom:24px;
    background:repeating-linear-gradient(0deg,rgba(212,200,154,.45) 0 1px,transparent 1px 48px);}
  #globeHud .gf-tick.l{left:10px;}#globeHud .gf-tick.r{right:10px;}
  #globeHud .gf-coord{position:absolute;font-family:'Barlow Condensed';font-weight:500;font-size:8px;
    letter-spacing:.08em;color:rgba(232,223,197,.35);}

  /* ---------- globe drafting layer (blueprint-14 detail, brand recolor) ---------- */
  #gDraft{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
  #gDraft path.gl{fill:none;stroke:rgba(212,200,154,.8);stroke-width:1;filter:drop-shadow(0 0 4px rgba(127,217,154,.55));}
  #gDraft circle.gd{fill:#b8e8c4;filter:drop-shadow(0 0 4px rgba(127,217,154,.8));}
  /* construction circle + rotating survey ticks around the globe silhouette */
  #gDraft #gcc{opacity:0;}
  #gDraft .gcc-glow{fill:none;stroke:rgba(127,217,154,.13);stroke-width:5;}
  #gDraft .gcc-c{fill:none;stroke:rgba(212,200,154,.4);stroke-width:1;}
  #gDraft .gcc-t{fill:none;stroke:rgba(212,200,154,.5);stroke-width:1;}
  #gDraft .gcc-x{fill:none;stroke:rgba(127,217,154,.6);stroke-width:1;}
  #gCallouts,#gArcs{position:absolute;inset:0;pointer-events:none;}
  .gco{position:absolute;left:0;top:0;width:210px;pointer-events:none;opacity:0;will-change:transform;
    text-shadow:0 1px 10px rgba(2,8,4,.9);}
  .gco .n{font-family:'Barlow Condensed';font-weight:600;font-size:12.5px;letter-spacing:.24em;color:var(--glow-2);white-space:nowrap;}
  .gco .l{font-family:'Barlow';font-weight:400;font-size:10px;letter-spacing:.14em;color:rgba(232,223,197,.72);white-space:nowrap;line-height:1.75;}
  .gco .l b{color:var(--cream);font-weight:500;}
  .gco .rule{height:1px;background:rgba(212,200,154,.55);margin:4px 0 5px;}
  .gco.left{text-align:right;}
  .gco .rv{clip-path:inset(0 100% 0 0);}
  .gco.left .rv{clip-path:inset(0 0 0 100%);}
  .gco.show .rv{clip-path:inset(0 0 0 0);transition:clip-path .5s cubic-bezier(.3,.7,.2,1);}
  .gco.show .rv:nth-child(1){transition-delay:.1s}
  .gco.show .rv:nth-child(2){transition-delay:.18s}
  .gco.show .rv:nth-child(3){transition-delay:.26s}
  .gco.show .rv:nth-child(4){transition-delay:.34s}
  .gco.show .rv:nth-child(5){transition-delay:.42s}
  .g-arclab{position:absolute;left:0;top:0;pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .4s ease;
    font-family:'Barlow Condensed';font-weight:600;font-size:11.5px;letter-spacing:.2em;color:var(--cream-3);
    text-shadow:0 1px 8px rgba(2,8,4,.9);}
  .g-arclab .u{display:block;height:1px;background:rgba(212,200,154,.4);margin-top:3px;}
  .g-reg{position:absolute;width:26px;height:26px;opacity:.45;}
  .g-reg:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(212,200,154,.8);}
  .g-reg:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(212,200,154,.8);}
  .g-reg i{position:absolute;inset:7px;border:1px solid rgba(212,200,154,.5);border-radius:50%;}
  .g-reg.tl{top:24px;left:24px}.g-reg.tr{top:24px;right:24px}
  .g-reg.bl{bottom:24px;left:24px}.g-reg.br{bottom:24px;right:24px}
  #gTblock{position:absolute;right:50px;bottom:134px;width:248px;border:1px solid rgba(212,200,154,.4);
    background:rgba(4,14,8,.55);backdrop-filter:blur(2px);}
  #gTblock .tb-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 7px;
    font-family:'Bebas Neue';font-size:13px;letter-spacing:.3em;color:var(--cream);}
  #gTblock .tb-head .rv2{font-family:'Barlow Condensed';font-weight:600;font-size:9px;letter-spacing:.24em;color:var(--cream-3);}
  #gTblock .tb-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(212,200,154,.28);}
  #gTblock .tb-cell{padding:6px 10px 5px;border-left:1px solid rgba(212,200,154,.28);}
  #gTblock .tb-cell:first-child{border-left:none;}
  #gTblock .tb-lab{font-family:'Barlow Condensed';font-weight:500;font-size:8px;letter-spacing:.26em;color:rgba(232,223,197,.45);margin-bottom:3px;}
  #gTblock .tb-val{font-family:'Barlow Condensed';font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--cream);}
  #gTblock .tb-cursor{display:inline-block;width:6px;height:9px;margin-left:7px;background:var(--glow);
    box-shadow:0 0 6px rgba(127,217,154,.7);animation:gcur 1.15s steps(2,end) infinite;}
  @keyframes gcur{50%{opacity:0}}
  @media (max-width:760px){ #gTblock{display:none} .g-reg{display:none} .gco{display:none} #globeHud .g-frame{display:none} }
  /* ---------- wall view (banner focus) ---------- */
  #wallView{position:fixed;top:0;right:0;bottom:0;width:min(408px,88vw);z-index:33;
    display:flex;flex-direction:column;justify-content:center;
    padding:90px 46px 60px;
    background:linear-gradient(to left, rgba(3,7,4,.94) 55%, rgba(3,7,4,.74));
    border-left:1px solid rgba(232,223,197,.26);
    box-shadow:-40px 0 90px rgba(0,0,0,.5);
    backdrop-filter:blur(6px);
    transform:translateX(106%);pointer-events:none;
    transition:transform .95s cubic-bezier(.23,.9,.22,1);}
  #wallView.show{transform:translateX(0);pointer-events:auto;transition-delay:.3s;}
  #wallClose{position:absolute;top:28px;right:32px;width:42px;height:42px;
    background:transparent;border:1px solid rgba(232,223,197,.32);color:var(--cream);
    font-family:'Barlow',sans-serif;font-size:20px;line-height:1;cursor:pointer;
    transition:background .4s ease,color .4s ease;}
  #wallClose:hover{background:var(--cream);color:var(--ink);}
  #wallView .w-over{font-family:'Barlow Condensed';font-weight:600;font-size:11px;letter-spacing:.44em;color:var(--glow);margin-bottom:18px;}
  #wallView .w-no{font-family:'Bebas Neue';font-size:clamp(72px,10vh,110px);line-height:.9;color:var(--cream);
    text-shadow:0 0 50px rgba(127,217,154,.18);}
  #wallView .w-name{font-family:'Bebas Neue';font-size:clamp(34px,4.6vh,48px);line-height:1;color:var(--cream);margin-top:14px;letter-spacing:.02em;}
  #wallView .w-city{font-family:'Barlow';font-weight:500;font-size:13px;letter-spacing:.18em;color:rgba(232,223,197,.66);margin-top:10px;}
  #wallView .w-pos{font-family:'Barlow Condensed';font-weight:600;font-size:15px;letter-spacing:.26em;color:var(--glow-2);margin-top:12px;}
  #wallView .w-found{font-family:'Barlow Condensed';font-weight:500;font-size:10.5px;letter-spacing:.32em;color:rgba(232,223,197,.5);margin-top:16px;}
  #wallView .w-rule{width:64px;height:1px;background:rgba(232,223,197,.4);margin:24px 0 18px;}
  #wallView .w-line{font-family:'Barlow';font-weight:400;font-size:13.5px;letter-spacing:.06em;color:rgba(232,223,197,.78);font-style:italic;}
  #wallView .w-share{margin-top:34px;}
  #wallView .w-share-cap{font-family:'Barlow Condensed';font-weight:600;font-size:10.5px;letter-spacing:.34em;color:rgba(232,223,197,.55);margin-bottom:10px;}
  #wallView .w-share-row{display:flex;gap:10px;align-items:stretch;}
  #wallView .w-link{flex:1;min-width:0;border:1px solid rgba(232,223,197,.22);padding:11px 12px 10px;
    font-family:'Barlow';font-size:11px;letter-spacing:.03em;color:rgba(232,223,197,.72);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:all;background:rgba(232,223,197,.04);}
  #wallView .w-copy{flex:none;cursor:pointer;background:var(--cream);color:var(--ink);border:1px solid var(--cream);
    font-family:'Barlow Condensed';font-weight:600;font-size:11.5px;letter-spacing:.24em;padding:0 18px 0 21px;
    transition:background .35s,color .35s;}
  #wallView .w-copy:hover{background:transparent;color:var(--cream);}
  #wallView .w-claim-btn{display:inline-block;margin-top:28px;background:var(--cream);color:var(--ink);
    font-family:'Barlow Condensed';font-weight:600;font-size:14px;letter-spacing:.3em;padding:15px 30px 14px 34px;
    border:1px solid var(--cream);text-decoration:none;transition:background .35s,color .35s,box-shadow .7s;text-align:center;width:fit-content;}
  #wallView .w-claim-btn:hover{background:transparent;color:var(--cream);box-shadow:0 0 34px rgba(127,217,154,.22);}
  #wallView .w-esc{margin-top:28px;font-family:'Barlow Condensed';font-weight:500;font-size:10px;letter-spacing:.3em;color:rgba(232,223,197,.35);}
  body.wall .ui-arena{opacity:0 !important;pointer-events:none !important;}
  body.wall .cta{pointer-events:none;}
  @media (max-width:760px){ #wallView{padding:80px 26px 40px;} }

  #err{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:99;color:var(--cream-2);
    font-family:'Barlow Condensed';letter-spacing:.2em;font-size:14px;text-align:center;padding:40px;}
  @media (max-width:760px){
    .exhibit-note{display:none}
    .hero{left:26px;bottom:40px;right:26px}
    #plaque{right:26px;left:auto;bottom:auto;top:96px;width:250px}
    #globeHud .g-note{display:none}
    .brand{left:26px}
  }

  /* ---------- reduced motion ---------- */
  @media (prefers-reduced-motion: reduce){
    .grain{animation:none !important;}
    #fade{transition-duration:0.01s !important;}
    .ui-arena{transition-duration:0.01s !important;}
    #plaque{transition-duration:0.01s !important;}
    #holoLabel{transition-duration:0.01s !important;}
    #wallView{transition-duration:0.01s !important;}
    #globeHud{transition-duration:0.01s !important;}
    body.focus #globeHud{transition-delay:0s !important;}
    #gSheet{transition-duration:0.01s !important;}
    #globeHud .gf-inner{transition-duration:0.01s !important;}
    #gTblock .tb-cursor{animation:none !important;}
    @keyframes pulse{0%,100%{opacity:1}}
  }

  /* ---------- mobile fallback ---------- */
  #mobile-wall{display:none;}
  @media (max-width:768px){
    body.mobile-mode #stage,
    body.mobile-mode #ui,
    body.mobile-mode #globeHud,
    body.mobile-mode #wallView,
    body.mobile-mode .vignette,
    body.mobile-mode .grain,
    body.mobile-mode #gSheet,
    body.mobile-mode #fade{display:none !important;}
    body.mobile-mode #mobile-wall{display:block !important;}
    body.mobile-mode{overflow:auto;}
  }