:root{color-scheme:dark;--ink:#ece7dd;--muted:#b6becd;--gold:#e7c79a;--night:#101824}*{box-sizing:border-box}html{background:var(--night);scroll-padding-top:18px}body{margin:0;color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 72% 5%,#24354970,transparent 48%),#101824}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:#d7bd8d30}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #f3d28f;outline-offset:5px}button,summary{cursor:pointer}.wrap{max-width:1296px;margin:auto;padding-inline:40px}.skip{position:fixed;left:12px;top:-90px;padding:12px 18px;background:#fff0cf;color:#151e2c;z-index:20}.skip:focus{top:10px}.beta{min-height:29px;text-align:center;background:#0c131e;border-bottom:1px solid #677a8c30;font-size:11px;letter-spacing:.05em;color:#b3becb;padding:5px 12px}.beta strong{color:#ecdbc1;letter-spacing:.1em;margin-right:12px}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px}.identity{font:27px/1.15 Georgia,serif;text-decoration:none;white-space:nowrap}.identity span{display:block;color:#b8bec7;font:11px/1.5 system-ui;letter-spacing:.08em;margin-top:7px}.header nav{display:flex;align-items:center;gap:24px}.header nav a{font-size:13px;text-decoration:none;padding-block:13px}.header nav a:hover{color:var(--gold)}#motion-toggle{border:1px solid #b5c7dd3d;border-radius:25px;background:transparent;padding:9px 13px;font-size:11px;min-height:44px}.arrival{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:18px 0 48px}.welcome-eyebrow{display:flex;align-items:center;gap:12px;min-height:122px}.lantern{width:100px;height:132px;flex:0 0 100px;position:relative;pointer-events:auto;appearance:none;border:0;padding:0;background:transparent;border-radius:12px}.lantern svg,.lantern canvas{position:absolute;inset:0;width:100%;height:100%}.lantern[data-ready="true"] svg{visibility:hidden}.eyebrow{text-transform:uppercase;color:#d6c1a0;letter-spacing:.17em;font-size:10px;line-height:1.8;margin:0}h1{font:clamp(54px,6.4vw,85px)/.99 Georgia,serif;letter-spacing:-.04em;margin:17px 0 26px;font-weight:400}h1 em{font-weight:400;color:#e4d2ae}h2{font:42px/1.1 Georgia,serif;letter-spacing:-.025em;font-weight:400;margin:9px 0 0}.intro{font-size:16px;color:#c4ccd8;max-width:410px;line-height:1.85;margin:0 0 25px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:12px 24px;border:1px solid #d8bb8d85;border-radius:5px;text-decoration:none;font-size:13px}.primary{background:#e1c59c;color:#152031;font-weight:650;box-shadow:0 8px 28px #0002}.primary:hover{background:#ecd8b8}.secondary{background:#182333;color:#f1d9b2}.guide{display:flex;align-items:center;gap:8px;margin-top:23px;min-height:116px}.guide>img{width:105px;height:auto;max-height:114px;object-fit:contain;filter:drop-shadow(0 10px 12px #0005)}.guide details{max-width:260px}.guide summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:20px;font-size:13px;color:#e6d9c4}.guide summary::-webkit-details-marker{display:none}.guide details p{font-size:13px;line-height:1.65;color:#bfc9d7;margin:4px 0}.garden-feature{min-width:0;max-width:530px;justify-self:end;width:100%}.campus-art{position:relative;aspect-ratio:2/2.1;border-radius:100px 100px 8px 8px;overflow:hidden;box-shadow:0 30px 60px #0004;border:1px solid #9aafca38;background:#17233a}.campus-picture{position:absolute;inset:0;display:block}.campus-picture:focus-visible{outline-offset:-6px;z-index:3}.campus-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%}.campus-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0c1426f2,transparent 40%)}.campus-caption{position:absolute;left:28px;right:24px;bottom:26px;pointer-events:none;z-index:2;text-shadow:0 2px 20px #000}.campus-caption h2{font-size:43px;margin-top:6px;color:#f4eee2}.campus-caption .eyebrow{color:#ead4b0}.campus-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 19% 17% at var(--light-x,50%) var(--light-y,50%),var(--light-color,#dbbfff),transparent);mix-blend-mode:screen;opacity:0;transition:opacity .18s}.campus-art[data-selected] .campus-light{opacity:.55}.room-label{position:absolute;z-index:4;left:50%;top:12px;transform:translateX(-50%);padding:5px 14px;background:#101b2eee;border:1px solid #b7c8e170;border-radius:20px;font-size:12px;white-space:nowrap;pointer-events:none}.campus-room-links{display:flex;flex-wrap:wrap;justify-content:center;column-gap:18px;row-gap:0;padding:16px 0 0}.campus-room-links a{font-size:12px;min-height:44px;display:flex;align-items:center;text-decoration:none;color:#b8c1ce;border-bottom:1px solid transparent}.campus-room-links a:is(:hover,:focus-visible){color:var(--room-color);border-bottom-color:var(--room-color)}.map-hint{text-align:center;font-size:11px;color:#9aa8ba;margin:3px 0 0}.discovery{padding-top:20px;position:relative;border-top:1px solid #788ba436}.section-heading{margin-bottom:26px}.section-heading h2{font-size:38px}.doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.door{min-width:0;border:1px solid #6f819738;border-radius:9px;background:#15202e;overflow:hidden}.door>a{display:flex;height:100%;flex-direction:column;text-decoration:none}.door>a:focus-visible{outline-offset:-4px}.door-art{aspect-ratio:4/3;overflow:hidden;background:#233044}.door-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.door-copy{padding:20px;display:flex;flex-direction:column;flex:1}.door h3{font:25px/1.1 Georgia,serif;margin:8px 0 12px;color:#f1e8d7}.door-copy>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#b9c5d4;margin:0 0 20px}.door .eyebrow{font-size:8px}.door-action{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#e6cfa9;margin-top:auto;min-height:30px}.door:hover{border-color:#c1af8d90}.motion-enabled .door:hover img{transform:scale(1.025)}.pip-creator-entry{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;padding:40px 0 48px;margin-top:40px;border-top:1px solid #788ba436}.pip-creator-art{background:radial-gradient(ellipse,#30465b60,transparent 68%);height:270px;display:flex;align-items:center;justify-content:center}.pip-creator-art img{max-height:100%;width:100%;object-fit:contain}.pip-creator-entry h2{font-size:38px}.pip-creator-entry p:not(.eyebrow){color:#bdc7d5;max-width:430px;font-size:14px;line-height:1.8;margin:20px 0}.pip-creator-entry small{display:block;color:#a8b3c2;font-size:11px;margin-top:12px}footer{border-top:1px solid #788ba436;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px!important;font-size:11px;color:#a8b5c7}footer nav{display:flex;gap:24px;flex-wrap:wrap}footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.return-anchor{position:absolute;top:0}.motion-off *{scroll-behavior:auto!important;transition:none!important;animation:none!important}[hidden]{display:none!important}
@media(max-width:1000px){.wrap{padding-inline:28px}.arrival{gap:28px}.header nav{gap:14px}.doors{gap:12px}.door-copy{padding:16px}.door h3{font-size:22px}}
@media(max-width:760px){.header{align-items:flex-start;flex-direction:column;gap:12px;padding-block:22px}.header nav{width:100%;justify-content:space-between;gap:10px}.arrival{grid-template-columns:1fr;gap:20px;padding-top:0}.welcome{max-width:550px}.welcome-eyebrow{min-height:90px}.lantern{width:72px;height:96px;flex-basis:72px}h1{font-size:66px;margin-top:14px}.intro{max-width:490px}.guide{min-height:94px;margin-top:18px}.guide>img{max-height:90px;width:83px}.garden-feature{justify-self:center;max-width:600px}.campus-art{aspect-ratio:1/1;border-radius:70px 70px 8px 8px}.campus-caption h2{font-size:38px}.doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.discovery{padding-top:32px}.pip-creator-entry{gap:24px}.pip-creator-art{height:225px}.pip-creator-entry h2{font-size:31px}footer{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:440px){.wrap{padding-inline:20px}.identity{font-size:26px}.identity span{font-size:10px}.header nav a{font-size:12px}.header nav{gap:8px}#motion-toggle{padding:8px;font-size:10px}h1{font-size:58px}.intro{font-size:15px}.eyebrow{font-size:9px}.campus-caption{left:23px;bottom:21px}.campus-caption h2{font-size:34px}.campus-room-links{column-gap:16px}.section-heading h2{font-size:32px}.doors{gap:12px}.door-art{aspect-ratio:1/1}.door-copy{padding:14px 12px}.door h3{font-size:23px}.door-copy>p:not(.eyebrow){font-size:12px}.door-action{font-size:11px;align-items:flex-start}.door .eyebrow{font-size:7px;letter-spacing:.09em}.pip-creator-entry{grid-template-columns:1fr;gap:18px;padding-top:24px}.pip-creator-art{height:210px}.pip-creator-entry h2{font-size:34px}}
@media(max-width:340px){.wrap{padding-inline:16px}.header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:16px}.doors{grid-template-columns:1fr}.door-art{aspect-ratio:16/9}h1{font-size:52px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* H02: object-aligned, native links; named room links remain a full alternative. */
.campus-building-map{position:absolute;z-index:3;max-width:none;pointer-events:none;overflow:visible}
.campus-building-map a{pointer-events:visiblePainted;outline:none}
.campus-building-map polygon{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}
.campus-building-map a.is-selected polygon{fill:color-mix(in srgb,var(--room-color) 14%,transparent);stroke:color-mix(in srgb,var(--room-color) 35%,transparent)}
.campus-building-map a:focus-visible polygon{stroke:var(--room-color);stroke-width:3;fill:color-mix(in srgb,var(--room-color) 16%,transparent)}
.campus-room-links a.is-selected{color:var(--room-color);border-bottom-color:var(--room-color)}

.pip-creator-art.pip-lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:300px;align-items:end;gap:0;overflow:clip;margin-inline:-8px;padding-inline:8px}
.pip-lineup>span{position:relative;display:block;height:92%;min-width:0}
.pip-lineup>span.main-guide{height:100%;z-index:1}
.pip-creator-art.pip-lineup img{position:absolute;left:-50%;bottom:0;width:200%;max-width:none;height:100%;max-height:none;object-fit:contain}
@media(max-width:1000px) and (min-width:761px){.pip-creator-art.pip-lineup{height:245px}}
@media(max-width:760px) and (min-width:441px){.pip-creator-art.pip-lineup{height:210px}}
@media(max-width:440px){.pip-creator-art.pip-lineup{height:260px}}

/* H03: an operable object, including the non-WebGL fallback. */
.lantern svg,.lantern canvas{pointer-events:none}.lantern[data-lit="false"] .lantern-glow,.lantern[data-lit="false"] .lantern-flame{visibility:hidden}

/* G01: a full campus approach, readable doors, and a purpose-composed phone arrival. */
.arrival{align-items:center;gap:48px}.garden-feature{max-width:480px}.campus-art{aspect-ratio:2/3;border-radius:70px 70px 8px 8px;overflow:visible}.campus-picture{overflow:hidden;border-radius:inherit}.campus-art:after{border-radius:inherit;background:linear-gradient(0deg,#0c1426c0,transparent 24%)}.campus-caption{left:155px;right:16px;bottom:22px}.campus-caption h2{font-size:32px}.campus-art .guide{position:absolute;z-index:5;bottom:10px;left:-64px;margin:0;display:block;min-height:0;width:180px}.campus-art .guide>img{width:180px;max-height:194px;filter:drop-shadow(0 12px 9px #070e1fc0)}.guide details{position:relative}.guide summary{justify-content:center;background:#101824e8;border-radius:24px;border:1px solid #ad936347;gap:10px}.guide details[open]{background:#101824;border-radius:12px;padding:8px}.guide details p{font-size:13px}.guide:has(details[open]){width:230px}.campus-art .guide:after{content:'';position:absolute;left:35px;right:35px;bottom:43px;height:12px;border-radius:50%;background:#080c17a0;filter:blur(6px);z-index:-1}.door .eyebrow{font-size:11px;letter-spacing:.08em}.door-copy>p:not(.eyebrow){font-size:14px}.door-action{font-size:13px;min-height:44px}.door-copy{padding:18px}.pip-lineup>span:after{content:'';position:absolute;left:12%;right:12%;bottom:0;height:9px;border-radius:50%;background:#050b16a0;filter:blur(5px);z-index:-1}
@media(max-width:1100px){.doors{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-feature{max-width:430px}.campus-art .guide{left:-25px;width:140px}.campus-art .guide>img{width:140px;max-height:150px}.campus-caption{left:135px}.campus-caption h2{font-size:29px}}
@media(max-width:760px){.header{padding-block:10px;gap:4px;min-height:0}.identity{font-size:24px}.identity span{font-size:10px;margin-top:3px}.header nav{gap:8px;flex-wrap:nowrap;justify-content:space-between}.header nav a{font-size:12px;min-height:44px;padding-block:12px}#motion-toggle{font-size:10px;padding:6px 8px}.arrival{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:0}.welcome{display:contents}.welcome-eyebrow{position:absolute;right:0;top:4px;min-height:0;width:56px;height:76px}.welcome-eyebrow>.eyebrow{display:none}.lantern{width:56px;height:76px;flex-basis:56px}.arrival h1{font-size:44px;margin:7px 58px 0 0;line-height:1.02}.welcome>.primary{align-self:flex-start;margin:0;min-height:46px;padding:10px 20px}.garden-feature{order:1;width:100%;max-width:480px;align-self:center}.welcome>.intro{order:2;margin:0;max-width:none;font-size:15px;line-height:1.75}.campus-art{aspect-ratio:2/3;border-radius:40px 40px 8px 8px}.campus-art .guide{left:0;bottom:8px;width:112px}.campus-art .guide>img{width:112px;max-height:122px}.guide summary{font-size:12px;min-height:44px}.campus-caption{left:128px;right:12px;bottom:22px}.campus-caption h2{font-size:27px}.campus-caption .eyebrow{font-size:10px}.campus-room-links{column-gap:14px;padding-top:8px}.campus-room-links a{font-size:13px}.door-art{aspect-ratio:16/10}.doors{grid-template-columns:repeat(2,minmax(0,1fr))}.door-copy{padding:18px}.door .eyebrow{font-size:11px}.door h3{font-size:27px}.door-copy>p:not(.eyebrow){font-size:14px}.door-action{font-size:13px}.pip-creator-entry{grid-template-columns:1fr}}
@media(max-width:540px){.doors{grid-template-columns:1fr}.wrap{padding-inline:18px}.door>a{display:grid;grid-template-columns:1fr}.door-copy>p:not(.eyebrow){margin-bottom:10px}.door-art{aspect-ratio:16/9}}
@media(max-width:340px){.wrap{padding-inline:14px}.identity{font-size:23px}.arrival h1{font-size:38px}.header nav{column-gap:7px}.header nav a{font-size:11px}.campus-caption{left:116px;right:8px}.campus-caption h2{font-size:23px}.campus-art .guide{width:104px}.campus-art .guide>img{width:104px;max-height:112px}}
/* The foreground guide never steals the underlying building targets. */
.campus-art .guide{pointer-events:none}.campus-art .guide details{pointer-events:auto}
@media(min-width:761px){.arrival{align-items:start}.welcome{padding-top:50px}.garden-feature{max-width:430px}}

/* G01: light follows window details, leaving the painted facade intact. */
.campus-art[data-selected] .campus-light{opacity:0}.campus-building-map a.is-selected polygon{fill:transparent;stroke:transparent}.campus-building-map a:focus-visible polygon{stroke:var(--room-color);stroke-width:3;fill:transparent}.building-window{pointer-events:none;opacity:0;fill:var(--room-color);filter:drop-shadow(0 0 6px var(--room-color));transition:opacity .18s}.campus-building-map a.is-selected .building-window{opacity:.68}

/* C8: orientation stays secondary to the approved campus and four doors. */
footer .footer-identity{max-width:40rem}footer .footer-identity p{max-width:52ch;margin:8px 0 0;font-size:13px;color:var(--muted)}footer nav{flex-wrap:wrap}footer nav a{display:inline-flex;align-items:center;min-height:44px}

/* C11: readable, shorter phone discovery; actual playable scene preview. */
.door-art.playable-preview{background:#252233}.door-art.playable-preview img{object-fit:cover;object-position:40% 65%}
@media(max-width:540px){
 .discovery{padding-top:24px}.discovery .section-heading{margin-bottom:18px}
 .doors{gap:14px}.door-art{aspect-ratio:12/5}
 .door-copy{padding:14px 16px 10px}.door h3{font-size:26px;margin:6px 0 8px}
 .door-copy>p:not(.eyebrow){font-size:14px;line-height:1.55;margin-bottom:6px}
 .door-action{font-size:13px;min-height:44px;align-items:center}
 .pip-creator-entry{margin-top:28px}
}
