.campus-word,.campus-caption{display:none}
.walk-interface{display:none}
body[data-direction=campus]{--ink:#193838;--paper:#fcfdf9;--muted:#526967;--line:#d5e0d8;--accent:#bb461f}
[data-direction=campus] .site-header{height:100px;padding:0 4%;color:#193838;border-bottom:1px solid #19383825}
[data-direction=campus] .wordmark{font-family:var(--sans);font-size:24px;letter-spacing:4px;text-transform:uppercase;font-weight:700}
[data-direction=campus] .wordmark span{color:#bb461f}
[data-direction=campus] nav{letter-spacing:.04em}
[data-direction=campus] .button{border-radius:3px;background:#193e38;color:#fff;padding:15px 24px}
[data-direction=campus] .button:hover{background:#2c5b4b}
[data-direction=campus] .button-small{padding:11px 20px}
[data-direction=campus] .hero{height:100svh;min-height:860px;max-height:1250px;background:#c9e5f5;color:#193838}
[data-direction=campus] .hero-art{z-index:0;background-size:cover;background-position:center;opacity:1}
[data-direction=campus] .hero-stage{position:absolute;inset:0;width:100%;height:100%;z-index:1}
[data-direction=campus] #hero-canvas{z-index:0;pointer-events:auto;cursor:grab;touch-action:pan-y}
[data-direction=campus] #hero-canvas:active{cursor:grabbing}
[data-direction=campus].hero-world-ready .hero-art{opacity:0}
[data-direction=campus] .hero-shade{z-index:2;pointer-events:none;background:linear-gradient(180deg,#eaf6fcf2 0,transparent 23%),linear-gradient(90deg,#f2f9f6e8 0,#f1f8f5a6 26%,transparent 57%),linear-gradient(0deg,#e8f2e8e0 0,transparent 16%)}
[data-direction=campus] .hero-copy{position:relative;z-index:4;pointer-events:none;width:500px;max-width:48%;padding:151px 0 0 4%}
[data-direction=campus] .hero-copy a{pointer-events:auto}
[data-direction=campus] .hero-copy{animation:campus-copy 1.1s cubic-bezier(.2,.7,.2,1) both}
[data-direction=campus] .hero .eyebrow{color:#37534d;font-size:13px;letter-spacing:2.2px;margin-bottom:22px}
[data-direction=campus] .hero h1{font-family:var(--sans);font-size:clamp(34px,3.55vw,55px);font-weight:500;line-height:1.09;letter-spacing:-2px}
[data-direction=campus] .hero-intro{color:#37534d;font-size:16px;max-width:330px;margin-top:20px}
[data-direction=campus] .hero-actions{gap:22px;margin-top:23px}
[data-direction=campus] .hero .text-link{color:#264c43;border-color:#264c4370;font-size:14px}
[data-direction=campus] .campus-word{position:absolute;z-index:3;left:3%;right:3%;bottom:102px;display:flex;justify-content:space-between;font-family:var(--sans);font-size:clamp(160px,29vw,470px);font-weight:600;line-height:.8;letter-spacing:-.07em;color:#fffef2;pointer-events:none;text-shadow:0 3px 35px #143b3216}
[data-direction=campus] .campus-word span{display:block;animation:campus-type 1.5s cubic-bezier(.2,.75,.2,1) both}
[data-direction=campus] .campus-word span:nth-child(2){animation-delay:.1s}
[data-direction=campus] .campus-word span:nth-child(3){animation-delay:.2s}
[data-direction=campus] .campus-word span:nth-child(4){animation-delay:.3s}
[data-direction=campus] .campus-caption{display:flex;position:absolute;z-index:4;right:4%;top:151px;flex-direction:column;text-align:right;line-height:1.6;color:#294d48;pointer-events:none}
[data-direction=campus] .campus-caption span:first-child{font-size:18px;letter-spacing:4px;font-weight:600}
[data-direction=campus] .campus-caption span:last-child{font-size:12px;letter-spacing:1.6px}
[data-direction=campus] .hero-foot{z-index:4;bottom:26px;left:4%;right:4%;color:#244d41;border-color:#294d4840;font-size:12px;letter-spacing:1px;pointer-events:none}
[data-direction=campus] .hero-foot a{pointer-events:auto}
[data-direction=campus] .hero-orbit-controls{display:none;position:absolute;z-index:5;bottom:90px;left:auto;right:4%;transform:none;align-items:center;gap:12px;background:#f5fcf1e8;color:#254a3e;border:1px solid #ffffff80;border-radius:3px;padding:6px 8px;letter-spacing:1px;font-size:12px}
[data-direction=campus].hero-world-ready .hero-orbit-controls{display:flex}
[data-direction=campus] .hero-orbit-controls button{background:transparent;border:1px solid #78938366;color:#254a3e;border-radius:50%;width:36px;height:36px;font-size:20px}
[data-direction=campus] .chapter-strip{background:#e4eecb;color:#35533c;font-family:var(--sans);font-size:16px;padding-top:27px;padding-bottom:27px}
[data-direction=campus] .chapter-strip>span:nth-child(even){color:#668652}
[data-direction=campus] h2,[data-direction=campus] .journey h3{letter-spacing:-.02em}
[data-direction=campus] .about h2 em,[data-direction=campus] .section-heading h2 em,[data-direction=campus] .journey h3 em,[data-direction=campus] .closing em{color:#598358}
[data-direction=campus] .signature,[data-direction=campus] .back-top{color:#466f50}
[data-direction=campus] .portrait{transform:rotate(2deg);box-shadow:0 18px 50px #294e3314}
[data-direction=campus] .interests{background:#eff4e9}
[data-direction=campus] .interest-menu button{color:#637863;border-color:#becfbd}
[data-direction=campus] .interest-menu button[aria-selected=true]{color:#234c39}
[data-direction=campus] .interest-text .eyebrow,[data-direction=campus] .interest-tags span,[data-direction=campus] .milestone-date,[data-direction=campus] .milestone .eyebrow{color:#51734d}
[data-direction=campus] .interest-tags span{border-color:#c0cfb9;font-size:12px}
[data-direction=campus] .interest-panel img{filter:none;border-radius:3px}
[data-direction=campus] .play{background:radial-gradient(ellipse at 77% 50%,#d1e5e6,transparent 60%),#eff4e9;color:#193838}
[data-direction=campus] .play .eyebrow,[data-direction=campus] .play h2 em,[data-direction=campus] .destination{color:#466f59}
[data-direction=campus] .play-copy>p:not(.eyebrow){color:#526967}
[data-direction=campus] .portal-controls{color:#3f6253;font-size:12px}
[data-direction=campus] .portal-controls button{color:#365f4b;border-color:#789a86}
[data-direction=campus] footer{color:#526967}
[data-direction=campus] .interest-text>p:not(.eyebrow),[data-direction=campus] .milestone p:last-child,[data-direction=campus] .journey-step>p:last-child{font-size:16px}
html[lang=zh-Hant] [data-direction=campus] .hero-copy{padding-top:151px}
html[lang=zh-Hant] [data-direction=campus] .hero h1{font-family:var(--sans);font-size:clamp(32px,3.5vw,49px);line-height:1.3;letter-spacing:0}
@keyframes campus-type{from{opacity:0;transform:translateY(70px) rotateX(25deg)}to{opacity:1;transform:none}}
@keyframes campus-copy{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
[data-direction=campus].motion-paused .campus-word span,[data-direction=campus].motion-paused .hero-copy{animation:none}
@media(min-width:1700px){[data-direction=campus] .hero-copy{padding-top:170px;width:580px}}
@media(max-width:850px){[data-direction=campus] .site-header{gap:20px}[data-direction=campus] nav{gap:15px}[data-direction=campus] nav a:last-child{display:none}[data-direction=campus] .hero-copy{max-width:58%}[data-direction=campus] .hero-actions{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:650px){
 [data-direction=campus] .site-header{height:82px;padding:0 6%}
 [data-direction=campus] .wordmark{font-size:21px;letter-spacing:3px}
 [data-direction=campus] .header-actions{gap:6px}
 [data-direction=campus] .button-small{font-size:13px;padding:10px 13px}
 [data-direction=campus] .hero{height:100svh;min-height:920px;max-height:none}
 [data-direction=campus] .hero-stage{inset:175px 0 0;width:100%;height:calc(100% - 175px)}
 [data-direction=campus] .hero-copy{max-width:none;width:100%;padding:118px 6% 0}
 [data-direction=campus] .hero h1{font-size:clamp(32px,7.8vw,46px);letter-spacing:-1.5px;max-width:380px}
 [data-direction=campus] .hero .eyebrow{font-size:12px;margin-bottom:17px}
 [data-direction=campus] .hero-intro{font-size:16px;margin-top:15px;max-width:310px}
 [data-direction=campus] .hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:19px}
 [data-direction=campus] .hero .button{padding:12px 18px}
 [data-direction=campus] .hero .text-link{max-width:145px;font-size:13px}
 [data-direction=campus] .hero-shade{background:linear-gradient(180deg,#e8f5fc 0,#e8f5fcf5 20%,#eaf5f499 37%,transparent 56%,#e7f1e895 100%)}
 [data-direction=campus] .hero-art{background-size:auto 70%;background-position:55% bottom}
 [data-direction=campus] .campus-word{font-size:29vw;bottom:151px;left:4%;right:5%}
 [data-direction=campus] .campus-caption{top:auto;bottom:285px;right:6%}
 [data-direction=campus] .campus-caption span:first-child{font-size:16px}
 [data-direction=campus] .hero-orbit-controls{bottom:93px;right:6%;font-size:11px;gap:10px}
 [data-direction=campus] .hero-foot{left:6%;right:6%;font-size:12px;letter-spacing:0;gap:20px;align-items:flex-end}
 [data-direction=campus] .hero-foot>span{max-width:160px}
 [data-direction=campus] .hero-foot>a{text-align:right}
 [data-direction=campus] .chapter-strip{font-size:14px}
 html[lang=zh-Hant] [data-direction=campus] .hero-copy{padding-top:118px;padding-bottom:0}
 html[lang=zh-Hant] [data-direction=campus] .hero h1{font-size:34px}
}
@media(prefers-reduced-motion:reduce){[data-direction=campus] .campus-word span{animation:none}}

/* Native page scrolling drives a pinned walk; no wheel or touch interception. */
[data-direction=campus].hero-world-ready:not(.motion-paused) .campus-walk{height:970svh}
[data-direction=campus].hero-world-ready:not(.motion-paused) .campus-walk>.hero{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
[data-direction=campus] .campus-walk .hero-stage{inset:0;width:100%;height:100%}
[data-direction=campus] .campus-walk .hero-orbit-controls{display:none}
[data-direction=campus].hero-world-ready:not(.motion-paused) .walk-interface{display:block;position:absolute;inset:0;z-index:6;pointer-events:none}
[data-direction=campus] .campus-walk .hero-copy{opacity:var(--intro-opacity,1);translate:0 var(--intro-shift,0px)}
[data-direction=campus] .campus-walk .campus-word{opacity:var(--intro-opacity,1);translate:0 var(--intro-shift,0px)}
[data-direction=campus] .campus-walk .hero-foot{display:none}
[data-direction=campus] .walk-started .hero-copy{visibility:hidden}
[data-direction=campus] .walk-started .campus-caption{display:none}
[data-direction=campus] .walk-started .hero-shade{opacity:.12;transition:opacity .4s}
[data-direction=campus] .walk-caption{position:absolute;left:4%;top:42px;max-width:390px;padding:18px 22px;background:#f9fff2e8;border:1px solid #ffffffb0;border-radius:3px;opacity:0;transition:opacity .35s}
[data-direction=campus] .walk-started .walk-caption{opacity:1}
[data-direction=campus] .walk-caption .eyebrow{font-size:12px;letter-spacing:1.3px;color:#597054}
[data-direction=campus] .walk-caption p{font-size:20px;line-height:1.5;margin-top:7px;color:#193e38}
[data-direction=campus] .walk-caption .walk-note{display:block;font-size:12px;line-height:1.5;margin-top:10px;color:#617363;max-width:290px}
[data-direction=campus] .hero:not([data-walk-chapter="5"]):not([data-walk-chapter="6"]):not([data-walk-chapter="7"]) .walk-note{display:none}
[data-direction=campus] .walk-controls{position:absolute;bottom:28px;left:4%;right:4%;display:flex;gap:16px;align-items:center;background:#f5faeeeF;color:#294c3c;border:1px solid #ffffffb0;border-radius:3px;padding:10px 14px;pointer-events:auto}
[data-direction=campus] .walk-controls button{background:none;border:1px solid #637f6066;color:inherit;width:42px;height:42px;border-radius:50%;font-size:20px}
[data-direction=campus] .walk-controls button:disabled{opacity:.3;cursor:default}
[data-direction=campus] #walk-hint{font-size:13px;letter-spacing:1.1px}
[data-direction=campus] .walk-controls a{margin-left:auto;border-bottom:1px solid #61795755;font-size:14px}
[data-direction=campus] .walk-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff50}
[data-direction=campus] .walk-progress span{display:block;width:100%;height:100%;background:#456743;transform:scaleX(var(--walk-progress,0));transform-origin:left}
[data-direction=campus].motion-paused .hero-copy,[data-direction=campus].motion-paused .campus-word{opacity:1;translate:0 0;visibility:visible}
@media(max-width:650px){
 [data-direction=campus].hero-world-ready:not(.motion-paused) .campus-walk{height:890svh}
 [data-direction=campus] .campus-walk .hero-copy{padding-top:112px}
 [data-direction=campus] .campus-walk .campus-word{bottom:128px}
 [data-direction=campus] .walk-caption{top:22px;left:5%;right:5%;max-width:none;padding:14px 17px}
 [data-direction=campus] .walk-caption p{font-size:18px}
 [data-direction=campus] .walk-controls{bottom:19px;left:5%;right:5%;gap:10px;flex-wrap:wrap;padding:10px 12px}
 [data-direction=campus] .walk-controls a{width:100%;margin-left:0;text-align:center;font-size:13px;border:0;padding:2px 0}
 [data-direction=campus] #walk-hint{flex:1;text-align:center;font-size:12px;letter-spacing:0}
}
