/* Fangzhou's own fictional campus series: neutral silver, readable editorial controls. */
:root{--paper:#f1f2f2;--ink:#191d21;--muted:#656b70}
.site-header{background:rgba(19,23,27,.9)}.hero{background:#12181b}.brand-statement{background:#20272d}.brand-statement .eyebrow,.statement-bottom{color:#cbd0d3}footer{background:#151b20}dialog{background:#1a2127}dialog::backdrop{background:#11171df2}.detail-inner>p{color:#c9ced2}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.campus{background:#e9ecee;color:#20262b;padding:70px 0 60px;scroll-margin-top:0}
.campus-heading{padding:0 var(--gutter) 35px;display:flex;justify-content:space-between;align-items:end;gap:28px}
.campus-heading .eyebrow{font-size:10px;letter-spacing:.18em;color:#515b64}.campus-heading h2{font-size:clamp(28px,3.4vw,52px);font-weight:500;letter-spacing:-.04em;margin-top:16px}.campus-heading>p{font-size:12px;text-align:right;line-height:1.9;flex-shrink:0}.campus-heading>p span{font-size:10px;color:#626b72}
.campus-stage{position:relative;aspect-ratio:16/9;max-height:850px;overflow:hidden;background:#bcc3c9;isolation:isolate;touch-action:pan-y}
.campus-stage:focus-visible{outline:2px solid #687985;outline-offset:-4px}
.campus-frame{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.campus-frame.is-active{opacity:1;visibility:visible}.campus-frame>img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.018);transition:transform 1s ease}.campus-frame.is-active>img{transform:scale(1)}
.campus-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b141acc 0,transparent 40%),linear-gradient(180deg,#1b28362b,transparent 25%);pointer-events:none;z-index:1}
.campus-sign{position:absolute;right:var(--gutter);top:30px;display:flex;align-items:center;gap:12px;color:#f7f8f9;z-index:2;background:#192127d6;padding:10px 16px}.campus-sign img{width:42px;height:31px;object-fit:contain;mix-blend-mode:screen}.campus-sign span{font-size:11px;font-weight:600;letter-spacing:.08em}
.campus-caption{position:absolute;inset:auto var(--gutter) 35px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#fff;pointer-events:none}.campus-en{font-size:10px;letter-spacing:.16em}.campus-caption h3{font-size:clamp(30px,4.8vw,70px);font-weight:500;letter-spacing:.02em;margin:12px 0}.campus-caption p{font-size:13px;color:#f1f3f4}.campus-expand{font-size:12px;display:flex;align-items:center;gap:26px;border-bottom:1px solid #fff9;min-height:44px;flex-shrink:0;pointer-events:auto}.campus-expand span{font-size:24px}
.campus-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px var(--gutter) 12px}.campus-progress{display:flex;align-items:center;gap:8px;font-size:18px;font-variant-numeric:tabular-nums}.campus-total{color:#67717a;font-size:12px}#campus-current-name{font-size:12px;margin-left:20px}.campus-controls{display:flex;gap:8px}.campus-controls button{width:48px;min-height:44px;font-size:24px;border:1px solid #9fa9b0;transition:color .2s,background .2s}.campus-controls button:hover{background:#20282e;color:white}
.campus-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding:8px var(--gutter) 0}.campus-thumb{min-width:0;padding:0;text-align:left;border-bottom:2px solid transparent;transition:border-color .2s}.campus-thumb>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;opacity:.67;transition:opacity .25s}.campus-thumb:hover>img,.campus-thumb[aria-pressed=true]>img{opacity:1}.campus-thumb[aria-pressed=true]{border-bottom-color:#28343f}.campus-thumb>span{display:flex;gap:12px;align-items:center;font-size:12px;padding:13px 0}.campus-thumb small{font-size:9px;color:#67737d}.campus-thumb b{margin-left:auto;font-size:17px;font-weight:400}
.campus-noscript{padding:20px var(--gutter);font-size:13px}.campus-noscript a{text-decoration:underline}
#campus-lightbox{background:#10171c;padding:20px var(--gutter);color:#eef1f3;overflow:auto}
#campus-lightbox[open]{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.campus-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0}.campus-lightbox-header p{font-size:12px}.campus-lightbox-header button{font-size:13px;padding:0 8px}.campus-lightbox-image{display:block;min-height:0;flex:1;width:100%;object-fit:contain}.campus-lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}.campus-lightbox-footer p{font-size:10px;color:#c0c8cf}.campus-lightbox-footer a{text-decoration:underline}.campus-lightbox-footer .campus-controls button{border-color:#69757f}
@media(max-width:1050px){.desktop-nav{gap:18px;padding:0 16px}.campus-thumbnails{gap:12px}.campus-caption{bottom:25px}.campus-heading{gap:16px}.campus-heading h2{font-size:32px}}
@media(max-width:700px){
 .campus{padding:45px 0 35px}.campus-heading{display:block;padding-bottom:22px}.campus-heading h2{font-size:29px;line-height:1.35;margin-top:13px}.campus-heading>p{font-size:11px;text-align:left;margin-top:14px}.campus-heading>p br{display:none}.campus-heading>p span{margin-left:10px;font-size:9px}.campus-heading .eyebrow{font-size:9px}
 .campus-stage{aspect-ratio:4/5;max-height:620px}.campus-frame>img{object-position:50% center}.campus-frame[data-space=landmark]>img{object-position:61% center}.campus-frame[data-space=arrival]>img{object-position:45% center}.campus-frame[data-space=lounge]>img{object-position:44% center}
 .campus-stage:after{background:linear-gradient(0deg,#0b141aeb,transparent 52%)}.campus-sign{top:18px;right:20px;padding:7px 10px;gap:8px}.campus-sign img{width:31px;height:23px}.campus-sign span{font-size:9px}
 .campus-caption{inset:auto 24px 24px;display:block}.campus-en{font-size:9px}.campus-caption h3{font-size:36px;margin:10px 0}.campus-caption p{font-size:11px;line-height:1.8;max-width:260px}.campus-expand{display:inline-flex;margin-top:12px;font-size:11px;gap:24px;min-height:36px}.campus-expand span{font-size:21px}
 .campus-toolbar{padding-top:16px}.campus-progress{font-size:17px}#campus-current-name{margin-left:12px}.campus-controls button{width:44px}.campus-thumbnails{display:flex;overflow-x:auto;gap:12px;padding-bottom:12px;scroll-padding-inline:24px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin}.campus-thumb{flex:0 0 116px;scroll-snap-align:start}.campus-thumb>span{font-size:11px;padding:11px 0}
 #campus-lightbox{padding:16px}.campus-lightbox-header p{font-size:11px}.campus-lightbox-footer{align-items:end}.campus-lightbox-footer p{font-size:9px;max-width:190px}.campus-lightbox-image{min-height:100px}
}
@media(prefers-reduced-motion:reduce){.campus-frame,.campus-frame>img{transition:none;transform:none}}
.motion-paused .campus-frame,.motion-paused .campus-frame>img{transition:none;transform:none}
/* Each concept appears once: text-only navigation, no recycled business imagery. */
.campus-thumb{border-top:1px solid #b6bec4;min-height:64px}
.campus-thumb[aria-pressed=true]{border-top-color:#28343f;background:#dce2e6}
.campus-thumb>span{padding:16px 8px;gap:8px}
.showcase-material{background:#20282d}
@media(max-width:700px){
 .campus-thumb{flex-basis:148px}
 .campus-frame[data-space=gateway]>img{object-position:48% center}
 .campus-frame[data-space=archive]>img{object-position:65% center}
 .campus-frame[data-space=atelier]>img{object-position:45% center}
 .campus-frame[data-space=salon]>img{object-position:55% center}
}
