.sound-entry.campus-welcome { display:grid;opacity:1;pointer-events:auto;background:#101116;transition:opacity 650ms ease; }
.campus-welcome[hidden],.campus-welcome__recovery[hidden] { display:none; }
.campus-welcome__status { min-height:24px;margin:22px 0 0;font:13px var(--sans);color:var(--ink-soft); }
.campus-welcome__recovery { display:flex;justify-content:center;gap:22px;align-items:center; }
.campus-welcome__recovery button { border:1px solid var(--line);background:none;border-radius:24px;padding:12px 20px;color:var(--ink); }
.campus-welcome button:focus-visible { outline:2px solid var(--warm);outline-offset:5px; }
.sound-entry.campus-welcome.is-leaving { opacity:0;pointer-events:none; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { .campus-welcome { transition:none; } }

/* Viewport-owned backdrop: WebKit subtracts grid padding from an absolute image’s percentage height. */
.campus-welcome__preview { position:fixed;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);max-width:none;object-fit:cover;filter:blur(7px) brightness(.42);pointer-events:none; }
.campus-welcome .sound-entry__portal { z-index:1; }

.campus-welcome [role='status'][aria-busy='true']::after {
  content: ''; display: inline-block; width: 12px; height: 12px;
  border: 1px solid currentColor; border-right-color: transparent; border-radius: 50%;
  animation: campus-entry-wait 900ms linear infinite;
}
@keyframes campus-entry-wait { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .campus-welcome [role='status'][aria-busy='true']::after { animation: none; }
}
.mobile-story-back,.mobile-story-label {display:none;}
@media(max-width:700px),(pointer:coarse) and (max-width:1024px) {
 .campus-landing .hero .scroll-cue {left:0;right:0;width:max-content;max-width:calc(100% - 32px);margin-inline:auto;transform:none;align-items:center;justify-content:center;transition:opacity 180ms ease;}
 html.mobile-exploring,html.mobile-exploring body {height:100%;overflow:hidden;overscroll-behavior:none;}
 .mobile-exploring .campus-landing {--story-blend-extension:clamp(100px,14svh,150px);}
 .mobile-exploring .campus-landing .hero,.mobile-reading .campus-landing .hero {height:100svh;height:100dvh;min-height:0;}
 /* Preserve the authored tall scene projection inside the clipped viewport. */
 .mobile-exploring .campus-frame,.mobile-reading .campus-frame {height:calc(100% + var(--story-blend-extension));}
 .mobile-exploring .story {display:none;}
 .mobile-exploring .presence-layer,.mobile-exploring .room-profile {visibility:hidden!important;}
 .mobile-exploring .scroll-cue .mobile-story-label {display:inline;}
 .mobile-exploring .campus-landing .scroll-cue {bottom:calc(8px + env(safe-area-inset-bottom,0px));white-space:nowrap;min-height:44px;flex-direction:row;gap:6px;font:500 13px var(--sans);letter-spacing:0;text-transform:none;}
 .mobile-exploring .campus-landing .campus-rooms {bottom:calc(63px + env(safe-area-inset-bottom,0px));}
 .mobile-exploring .campus-landing .campus-look-hint {bottom:calc(147px + env(safe-area-inset-bottom,0px));}
 .mobile-reading .hero {position:fixed!important;inset:0;visibility:hidden!important;pointer-events:none!important;}
 .mobile-reading .hero *,.mobile-reading .site-header,.mobile-reading .site-header * {visibility:hidden!important;pointer-events:none!important;}
 .mobile-reading .campus-landing .story {padding-top:calc(80px + env(safe-area-inset-top,0px));}
 .mobile-reading .mobile-story-back {display:block;position:fixed;z-index:90;top:calc(12px + env(safe-area-inset-top,0px));left:max(18px,env(safe-area-inset-left,0px));min-height:44px;padding:8px 14px;border:1px solid rgba(81,70,55,.15);border-radius:24px;background:#f2eadcf2;color:#453d32;font:500 13px var(--sans);cursor:pointer;}
 .mobile-story-back:focus-visible {outline:2px solid #453d32;outline-offset:3px;}
}

@media(max-width:1024px) and (max-height:500px) {
 .mobile-exploring .campus-landing .hero-copy {padding-top:72px;}
 .mobile-exploring .campus-landing .hero h1 {font-size:30px;}
 .mobile-exploring .campus-landing .hero-subtitle {font-size:14px;max-width:340px;margin-top:10px;}
 .mobile-exploring .campus-landing .campus-intro-actions {margin-top:12px;}
 .mobile-exploring .campus-look-hint {display:none;}
}
html.journey-sliding {overflow:hidden!important;}
.journey-sliding body {pointer-events:none!important;}
.journey-sliding::view-transition-group(root) {animation-duration:380ms;}
.journey-sliding::view-transition-old(root),.journey-sliding::view-transition-new(root) {mix-blend-mode:normal;animation-duration:380ms;animation-timing-function:cubic-bezier(.22,.72,.2,1);}
.journey-sliding::view-transition-old(root) {animation-name:journey-up-out;}
.journey-sliding::view-transition-new(root) {animation-name:journey-up-in;}
.journey-sliding-back::view-transition-old(root) {animation-name:journey-down-out;}
.journey-sliding-back::view-transition-new(root) {animation-name:journey-down-in;}
@keyframes journey-up-out {to {transform:translateY(-100%);}}
@keyframes journey-up-in {from {transform:translateY(100%);}}
@keyframes journey-down-out {to {transform:translateY(100%);}}
@keyframes journey-down-in {from {transform:translateY(-100%);}}
.campus-frame-retiring { position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none; }
.campus-frame[data-pending],.campus-frame.is-entering { opacity:0;pointer-events:none; }
.campus-frame.is-entering { transition:opacity 600ms ease; }
.campus-frame.is-entering.is-visible { opacity:1; }
/* Room names read as navigation rather than another pair of entry actions. */
.campus-rooms { position:absolute;z-index:8;bottom:calc(65px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,auto);column-gap:28px;row-gap:2px;white-space:nowrap;margin:0;min-inline-size:0;width:max-content;padding:3px 18px 10px;border:1px solid rgba(81,70,55,.18);border-radius:12px;background:transparent; }
.campus-place-label { grid-column:1 / -1;margin-inline:auto;padding-inline:10px;text-align:center;font:400 12px/18px var(--sans);color:rgba(243,234,219,.8);text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none; }
.campus-rooms button { position:relative;border:0;border-radius:0;min-height:44px;padding:8px 2px;background:transparent;color:rgba(243,234,219,.76);font:500 13px var(--sans);text-shadow:0 1px 5px rgba(0,0,0,.7);cursor:pointer;transition:color 180ms ease; }
.campus-rooms button::after { content:'';position:absolute;bottom:2px;left:50%;width:calc(100% - 4px);height:1px;border-radius:0;background:currentColor;opacity:0;transform:translateX(-50%) scaleX(.65);transition:width 520ms cubic-bezier(.22,.72,.2,1),height 520ms ease,border-radius 520ms ease,opacity 180ms ease,transform 520ms cubic-bezier(.22,.72,.2,1); }
.campus-rooms button[aria-pressed=true] { color:var(--ink); }
.campus-rooms button[aria-pressed=true]::after { opacity:.85;transform:translateX(-50%) scaleX(1); }
.campus-rooms button:hover { color:var(--ink); }
.campus-rooms button:focus-visible { outline:2px solid var(--ink);outline-offset:5px; }
.campus-rooms[data-loading] button[aria-pressed=true]:not([aria-busy=true])::after { opacity:0; }
.campus-rooms button[aria-busy=true]::after { bottom:1px;width:4px;height:4px;border-radius:50%;opacity:.7;transform:translateX(-50%) scaleX(1);animation:campus-room-point-breathe 1.7s ease-in-out infinite; }
@keyframes campus-room-point-breathe { 0%,100% { opacity:.48; } 50% { opacity:.9; } }
.campus-room-status { position:absolute;z-index:8;bottom:calc(160px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);font:12px var(--sans);color:var(--ink);text-shadow:0 1px 4px #000; }
.campus-room-status:not(:empty) { padding:6px 12px;border-radius:20px;background:rgba(15,18,15,.65); }
.campus-room-status[data-loading],.campus-room-status[data-ready] { clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap; }
html:not(.campus-arrived) .campus-rooms { visibility:hidden; }
.campus-landing .scroll-cue { bottom:calc(27px + env(safe-area-inset-bottom,0px)); }
@media(max-width:700px) {

 .campus-rooms { column-gap:20px;padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) { .campus-frame.is-entering,.campus-rooms button,.campus-rooms button::after { transition:none;animation:none; } }

/* The previous photographic floor overlapped the hero's controls on phones. */
.campus-landing { --campus-story-background:#f2eadc; }
/* Keep the seam pure ivory; daylight colour only emerges farther into the story. */
.campus-landing .story {
 margin-top:0;min-height:0;padding-top:clamp(24px,4vw,48px);
 background:
  linear-gradient(180deg,var(--campus-story-background) 0px,var(--campus-story-background) 60px,rgba(242,234,220,0) 360px),
  radial-gradient(ellipse 48% 44% at -8% 38%,rgba(124,145,108,.13),rgba(124,145,108,0) 100%),
  radial-gradient(ellipse 42% 40% at 108% 70%,rgba(133,150,117,.11),rgba(133,150,117,0) 100%),
  radial-gradient(ellipse 36% 52% at 52% 48%,rgba(255,249,235,.32),rgba(255,249,235,0) 100%),
  var(--campus-story-background);
}
.campus-landing .story::before { content:none; }
.campus-landing .story-brand { margin-bottom:clamp(48px,6vw,80px); }
/* Continue the live room below its controls so the dissolve has room to breathe.
   The scene itself supplies every room/camera colour, without pixel readback. */
.campus-landing { --story-blend-extension:clamp(100px,14svh,150px); }
.campus-landing .hero { min-height:calc(100svh + var(--story-blend-extension));background:var(--campus-story-background); }
.campus-landing .campus-rooms { bottom:calc(65px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px)); }
.campus-landing .campus-look-hint { bottom:calc(151px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px)); }
.campus-landing .scroll-cue { bottom:calc(27px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px)); }
.campus-landing .campus-room-status { bottom:calc(160px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px)); }
.campus-landing .hero::after { content:none; }
.campus-landing .campus-rooms button { color:#655b4e;text-shadow:none; }
.campus-landing .campus-rooms button[aria-pressed=true],.campus-landing .campus-rooms button:hover { color:#302a23; }
.campus-landing .campus-place-label { color:#514637;text-shadow:none;font-weight:500; }
.campus-landing .scroll-cue { color:#746858; }
.campus-landing .story h2,.campus-landing .story-copy,.campus-landing .story-copy .story-lead,.campus-landing .story-closing,.campus-landing .story-signature strong { color:#453d32; }
.campus-landing .story-brand { color:#453d32; }
.campus-landing .story-signature span,.campus-landing .story > .landing-legal-footer,.campus-landing .story > .landing-legal-footer a { color:#756857;text-shadow:none; }
.campus-landing .story-mac-action, .campus-landing .story-mac-action:hover, .campus-landing .story-mac-action:focus-visible { color:#514637;text-shadow:none; }
.campus-landing .story-download-action { box-shadow:0 5px 18px rgba(69,61,50,.1);border:1px solid rgba(69,61,50,.16); }

.campus-landing .campus-look-hint { color:#514637;text-shadow:none; }

/* Enough room for the mobile author above each opening, without long empty pauses. */
.campus-landing .story-copy { gap:clamp(76px,7vw,108px);margin-top:clamp(84px,8vw,120px); }
.campus-landing .story-closing { margin-top:clamp(86px,8vw,120px); }
.campus-landing .story-signature { margin-top:clamp(64px,6vw,84px); }

/* Writing changes visibility, never the ink colour on the light paper. */
.campus-landing .story-beat.is-being-written { color:#453d32;text-shadow:none; }

.campus-landing .campus-look-hint { font-size:12px;font-weight:500; }
.campus-landing .campus-look-hint.is-visible { animation:none; }
.campus-landing .campus-look-hint::before { width:14px;height:14px;margin-right:6px;vertical-align:-2px; }

/* Preserve the floating animation's phase across travel, writing and rest. */
.campus-landing .room-person.is-story-writing img {
 animation:story-world-float 5.6s ease-in-out infinite,story-writing-light 1.48s ease-in-out both;
}
@keyframes story-writing-light {
 0%,100% { filter:saturate(.9) sepia(.14) hue-rotate(-8deg) brightness(.99) contrast(1.02); }
 42% { filter:saturate(.98) sepia(.1) hue-rotate(-8deg) brightness(1.07) contrast(1.02); }
 76% { filter:saturate(.94) sepia(.12) hue-rotate(-8deg) brightness(1.03) contrast(1.02); }
}
@media(prefers-reduced-motion:reduce) {
 .campus-landing .room-person.is-world-presence img,.campus-landing .room-person.is-story-writing img { animation:none; }
}

/* The entry actions stay available through the letter, yielding to its ending. */
.campus-landing .campus-header-actions { position:fixed;z-index:72;top:28px;right:clamp(32px,5.2vw,84px);pointer-events:auto;transition:opacity 320ms ease,transform 380ms cubic-bezier(.2,.72,.2,1); }
.campus-landing .campus-header-actions.is-yielding { opacity:0;transform:translateY(-8px);pointer-events:none; }
html:not(.campus-arrived) .campus-header-actions { visibility:hidden; }
@media(max-width:700px) {
 .campus-landing .campus-header-actions { top:18px;right:18px; }
 .campus-header-actions .hero-mac-action { display:none; }
}
@media(prefers-reduced-motion:reduce) { .campus-landing .campus-header-actions { transition:none; } }

@media(max-width:700px) { .hero.has-person-card .campus-rooms,.hero.has-person-card .scroll-cue,.hero.has-person-card .campus-look-hint { visibility:hidden; } }
@media(max-width:700px) { .campus-landing .story-brand { margin-bottom:100px; } }
@media(max-width:700px) and (pointer:coarse) {
 .campus-look-hint::before { content:'↔';mask:none;background:none;width:auto;height:auto;vertical-align:baseline;font-size:16px; }
}

@media(max-width:700px) {
 .campus-landing .campus-rooms {bottom:calc(43px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px));}
 .campus-landing .campus-look-hint {bottom:calc(129px + var(--story-blend-extension) + env(safe-area-inset-bottom,0px));}
 .campus-landing .site-header {padding-top:calc(22px + env(safe-area-inset-top,0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));}
 .campus-landing .hero-copy {padding-top:calc(106px + env(safe-area-inset-top,0px));}
 .campus-look-hint.is-touch::before {mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M7 8l-4 4 4 4M17 8l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;}
}

/* The iframe's top layer cannot cover siblings in the landing document. */
@media(max-width:700px),(pointer:coarse) and (max-width:1024px) {
 .hero.has-mobile-sheet .campus-rooms {visibility:hidden;}
}

/* Only controls covered by the iframe sheet yield to its top layer. */
@media(max-width:700px),(pointer:coarse) and (max-width:1024px){
 .landing-sheet-obscured,.landing-sheet-obscured * {visibility:hidden!important;pointer-events:none!important;}
 .hero.has-person-card :is(.campus-rooms,.campus-look-hint,.scroll-cue,[data-room-status]){visibility:hidden;pointer-events:none;}
}

html:has(body.campus-landing){overscroll-behavior-y:none;}

/* Relay the same action without positional motion on mobile. */
@media(max-width:700px),(pointer:coarse) and (max-width:1024px){
 /* This relay follows the already-smoothed camera fade on every update. */
 .campus-landing .campus-header-actions{opacity:var(--entry-relay-opacity,1);transform:none;transition:none;}
 .campus-landing .campus-header-actions.is-yielding{transform:none;}
 .mobile-reading .campus-landing .site-header .campus-header-actions,
 .mobile-reading .campus-landing .site-header .campus-header-actions *{visibility:visible!important;pointer-events:auto!important;}
 .mobile-reading .campus-header-actions.is-yielding,
 .mobile-reading .campus-header-actions.is-yielding *{pointer-events:none!important;}
 .mobile-reading .campus-landing .campus-header-actions{top:calc(12px + env(safe-area-inset-top,0px));right:18px;transition:opacity 180ms ease;}
 .mobile-reading .campus-header-actions [data-inline-enter]{font-size:13px;min-height:44px;padding:8px 14px;}
}
@media(prefers-reduced-motion:reduce){.campus-landing .campus-header-actions{transition:none;}}
/* The original landing owns typography and layout; the iframe uses app CSS. */
.campus-frame { position:absolute;inset:0;width:100%;height:100%;border:0; }
/* Camera updates are already damped. Follow their opacity directly rather
   than continuously cancelling and restarting a compositor transition. */
.campus-landing .hero-shade {
 pointer-events:none;
 background:radial-gradient(ellipse min(760px,95vw) 430px at 130px 150px,rgba(5,7,12,.66) 0%,rgba(5,7,12,.44) 42%,rgba(5,7,12,.16) 70%,transparent 100%);
 opacity:var(--intro-opacity,1);transition:none;
}
.campus-landing .hero-copy {
 pointer-events:none;top:0;width:100%;padding:108px clamp(32px,5.2vw,84px) 0;text-align:left;
 opacity:var(--intro-opacity,1);transition:none;
}
.campus-landing .hero h1 { max-width:none;font-size:clamp(48px,5.8vw,76px);line-height:.9;text-shadow:0 2px 8px rgba(0,0,0,.22); }
.campus-landing .hero-subtitle { width:auto;max-width:620px;margin:24px 0 0;font-size:clamp(18px,1.25vw,20px);line-height:1.5;font-weight:500;color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.4); }
.campus-landing .hero-actions { width:auto;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px;margin:18px auto 0; }
.campus-landing .hero-actions a { min-height:50px;font-size:15px; }
.hero-actions { pointer-events:none; }
.hero-actions a { pointer-events:auto; }
.hero h1 em { display:block; }
.campus-word-line { display:block;min-height:1.05em; }
[data-campus-word] { display:inline-block;transition:opacity .42s ease,transform .42s ease; }
[data-campus-word].is-changing { opacity:0;transform:translateY(-8px); }
.story-author-home { position:absolute;top:40px;left:50%;width:64px;height:64px;opacity:0;pointer-events:none; }
.story-author-home .room-person { --person-size:64px;--person-x:0px;--person-y:0px; }
@media(prefers-reduced-motion:reduce) { [data-campus-word] { transition:none; } }

@media(max-width:700px) {
 .campus-landing .hero-copy { padding:94px 18px 0; }
 .campus-landing .hero h1 { font-size:clamp(39px,9.5vw,62px); }
 .campus-landing .hero-subtitle { max-width:350px;margin-top:15px;font-size:16px; }
 .campus-landing .hero-actions { margin-top:16px;gap:10px; }
}

/* Two explicit routes, presented once in the hero. */
.hero-mac-action { min-height:52px;padding:0 20px;color:var(--ink); }
[data-native-download] svg { fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
[data-native-download][hidden] { display:none!important; }
@media(max-width:700px) { .hero-actions { gap:10px; } }

.campus-landing .site-header { justify-content:space-between;gap:20px; }
.campus-landing .campus-header-actions { margin:0;gap:10px;flex-wrap:nowrap; }
.campus-landing .campus-header-actions a { min-height:44px;font-size:14px; }
.campus-header-actions .hero-enter-action { padding:0 20px; }
@media(max-width:700px) {
 .campus-landing .site-header { padding:22px 18px;align-items:flex-start; }
 .campus-landing .brand { font-size:22px; }
 .campus-landing .campus-header-actions a { min-height:44px;font-size:14px;padding:0 12px; }
 .campus-landing .hero-copy { padding:106px 22px 0; }
 .campus-landing .hero-subtitle { margin:20px 0 0;max-width:310px; }
}
@media(prefers-reduced-motion:reduce) { .campus-landing .hero-copy,.campus-landing .hero-shade { transition:none; } }

/* Keep navigation legible independently of the introduction's fading shade. */
.campus-landing .site-header { background:linear-gradient(180deg,rgba(5,7,12,.2),transparent); }
.campus-landing .brand { text-shadow:0 1px 4px rgba(0,0,0,.4); }
.campus-landing .brand-mark { filter:drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
.campus-landing .hero-actions .manyplace-chrome-glass {
 --bar-blur:24px;
 --chrome-glass-tint-top:rgba(242,241,231,.82);
 --chrome-glass-tint-bottom:rgba(225,230,216,.76);
 color:#22231c;font-weight:600;text-shadow:none;
}
.campus-landing .hero-actions .mac-action:hover { transform:none;color:#171913; }
.campus-landing .hero-actions .mac-action:focus-visible { transform:none;outline:2px solid var(--ink);outline-offset:4px; }

.campus-landing .campus-intro-actions { justify-content:flex-start;margin:26px 0 0;gap:12px;visibility:visible;transition:visibility 0s; }
.campus-intro-actions .hero-enter-action { padding:0 22px; }
/* Inert prevents nearly invisible links from taking pointer or keyboard input. */
.campus-intro-actions[inert],.campus-intro-actions[inert] a { pointer-events:none; }

.enter-label-mobile { display:none; }
@media(max-width:700px) {
 .enter-label-desktop { display:none; }
 .enter-label-mobile { display:inline; }
}

.campus-look-hint { position:absolute;z-index:8;bottom:calc(151px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);margin:0;white-space:nowrap;font:500 14px/20px var(--sans);color:var(--ink);text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;opacity:0;transition:opacity 350ms ease; }
.campus-look-hint::before { content:"";display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-4px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18M9 6l3-3 3 3M9 18l3 3 3-3M6 9l-3 3 3 3M18 9l3 3-3 3'/%3E%3C/svg%3E") center/contain no-repeat; }
.campus-look-hint.is-visible { opacity:1;animation:campus-look-breathe 3.6s ease-in-out infinite; }
@keyframes campus-look-breathe { 0%,100% { opacity:1; } 50% { opacity:.7; } }
@media(prefers-reduced-motion:reduce) { .campus-look-hint { transition:none; } .campus-look-hint.is-visible { animation:none; } }
/* The room dissolve and the letter share one authored palette, not sampled pixels. */
body.campus-landing{--story-rgb:242,234,220;--story-ink:#453d32;--story-muted:#756857;--story-wash:124,145,108;--campus-story-background:rgb(var(--story-rgb));}
body.campus-landing[data-place=morphea]{--story-rgb:19,27,40;--story-ink:#eee6d9;--story-muted:#c0b8ae;--story-wash:151,115,82;}
body.campus-landing .story{background:linear-gradient(180deg,rgba(var(--story-rgb),1) 60px,rgba(var(--story-rgb),0) 360px),radial-gradient(ellipse at 50% 70%,rgba(var(--story-wash),.14),transparent 70%),rgb(var(--story-rgb));transition:background-color .65s ease,color .65s ease;}
body.campus-landing .story :is(h2,.story-copy,.story-lead,.story-closing,.story-signature strong,.story-brand,.story-beat.is-being-written){color:var(--story-ink);}
body.campus-landing .story :is(.story-signature span,.landing-legal-footer,.landing-legal-footer a,.story-mac-action){color:var(--story-muted);}
body.campus-landing :is(.campus-rooms button,.campus-place-label,.campus-look-hint,.scroll-cue,.landing-place-caption){color:var(--story-ink);}
body.campus-landing .campus-rooms button[aria-pressed=true]{color:var(--story-ink);}
.landing-places,.landing-campus-rooms{display:flex;justify-content:center;gap:16px;}
.landing-campus-rooms[hidden]{display:none;}
body.campus-landing .campus-rooms{display:flex;flex-direction:column;align-items:center;gap:0;max-width:calc(100% - 32px);white-space:normal;border-color:rgba(160,150,135,.3);}
body.campus-landing .landing-places,body.campus-landing .landing-campus-rooms{width:100%;}
body.campus-landing .mobile-story-back{background:rgb(var(--story-rgb));color:var(--story-ink);border-color:var(--story-muted);}
@media(prefers-reduced-motion:reduce){body.campus-landing .story{transition:none;}}

