/* TASTE editorial pass. Teachers, careers, home and the art room retain approved styles. */
:root{--chapter-sans:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',Arial,sans-serif;--chapter-serif:'Noto Serif SC','Source Han Serif SC','Songti SC','STSong','SimSun',serif;--chapter-paper:#f5f2eb;--chapter-text:#292d29;--chapter-muted:#646860}
:is(main,.chapter-scroll-shell)>section:not(#home):not(#careers):not(#teachers){min-height:100svh;scroll-margin-top:0}
section[data-chapter-tone]{position:relative;isolation:isolate;--ink:var(--chapter-text);--line:#302e2726;--muted:var(--chapter-muted)}
#history,#campus,#life{padding:32px var(--gutter) 64px;color:var(--chapter-text);background:var(--chapter-paper)}
#history .section-meta,#campus .section-meta,#life .section-meta{font-size:12px;font-weight:400;letter-spacing:.05em;border-color:#33352d26;padding-top:14px;margin-bottom:0;line-height:1.6}
[data-title-motion]{font-family:var(--chapter-sans);font-weight:500;letter-spacing:-.035em;line-height:1.25}
[data-title-motion] .title-line{display:block;max-width:100%;width:fit-content;transform:translate3d(var(--title-px,0px),var(--title-py,0px),0);transition:transform .35s ease-out}
[data-title-motion] .char{display:inline-block;white-space:pre;transform-origin:50% 80%;font-kerning:normal}
[data-title-motion="ink"] .char{opacity:1;filter:none;transform:none;clip-path:inset(0 calc((1 - var(--char-progress,1))*100%) 0 0)}
[data-title-motion="rise"] .char{filter:none;transform:translate3d(calc((1 - var(--char-progress,1))*var(--char-side,1)*9px),var(--char-y,0px),0)}
[data-title-motion="soft"]{font-family:var(--chapter-sans);font-weight:500}
[data-title-motion="soft"] .char{transform:translate3d(calc((1 - var(--char-progress,1))*12px),0,0);filter:blur(calc((1 - var(--char-progress,1))*3px))}
[data-title-motion="play"]{font-family:var(--chapter-sans);font-weight:500}
[data-title-motion="play"] .char{filter:none;transform:translate3d(0,calc((1 - var(--char-progress,1))*22px),0) rotate(calc((1 - var(--char-progress,1))*var(--char-side,1)*7deg))}
[data-title-motion="lines"] .char{opacity:1;transform:none;filter:none}
[data-title-motion="lines"] .title-line{opacity:var(--line-progress,1);clip-path:inset(calc((1 - var(--line-progress,1))*100%) 0 0 0);transform:translateY(calc((1 - var(--line-progress,1))*16px))}
[data-title-motion="tracking"]{font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-weight:500}
[data-title-motion="tracking"] .char{filter:none;transform:translateX(calc((1 - var(--char-progress,1))*14px))}
[data-title-motion="quiet"] .char{filter:none;transform:scale(calc(.95 + var(--char-progress,1)*.05))}

/* Archive: an open index and a spread of original photographs, without an outer container. */
#history{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.6fr);grid-template-rows:auto auto 1fr auto;column-gap:6%;row-gap:28px;background:#f1eee6;--archive-red:#a04734}
#history:before{content:'';position:absolute;z-index:-1;inset:0 auto 0 0;width:calc(var(--gutter) + (100% - 2 * var(--gutter)) * .348);background:var(--archive-red)}
#history .section-meta{grid-column:1/-1;color:#f9eee0;border-top:0;position:relative}
#history .section-meta:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#ffffff40 0 34.8%,#33352d26 34.8%)}
#history .section-meta span:last-child{color:#5c625b}
#history .archive-heading{grid-column:1;grid-row:2;display:block;margin:0;padding:8px 16px 0 0;color:#fff5e8;--ink:#fff5e8}
#history .archive-heading h2{font-size:clamp(34px,3.15vw,52px);line-height:1.32;letter-spacing:-.055em}
#history .archive-heading .eyebrow{color:#f5d6c8;font-size:12px;margin-bottom:20px;letter-spacing:.05em}
#history .archive-heading>p{font-size:13px;line-height:1.85;text-align:left;color:#f7e4d7;margin-top:24px;max-width:300px}
#history .archive-heading>p span{color:inherit;letter-spacing:0}
#history .archive-layout{display:contents}
#history .archive-tabs{grid-column:1;grid-row:3;display:flex;flex-direction:column;justify-content:flex-start;align-self:start;gap:0;max-height:none;overflow:visible;border:0;background:none;padding:0 26px 0 0}
#history .archive-tab{display:flex;justify-content:space-between;gap:14px;width:100%;min-height:38px;padding:8px 0;border-radius:0;border-bottom:1px solid #f7e7d620;color:#f5d9cb;font-size:13px;transition:color .2s,padding .2s}
#history .archive-tab small{font-size:11px;opacity:.8}
#history .archive-tab[aria-selected=true]{color:#fffdf7;background:none;padding-left:14px;box-shadow:inset 2px 0 #efd5b1}
#history .archive-tab:hover{color:white;background:#ffffff0b}
#history .archive-tab:focus-visible{outline:2px solid #fff1d8;outline-offset:3px}
#history .archive-content{grid-column:2;grid-row:2/span 2;min-width:0;display:flex;flex-direction:column;min-height:0}
#history .archive-stage{flex:1;min-height:310px;height:auto;background:none;margin:0 -24px;--archive-photo-height:340px}
#history .archive-stage:before,#history .archive-depth-mark{display:none}
#history .archive-perspective{perspective:none}
#history .archive-photo{background:#fffdf7;border:1px solid #e1ded5;border-radius:0;padding:10px;box-shadow:2px 10px 18px #30272012,16px 28px 45px #30272019}
#history .archive-photo-visual{background:#f1eee5}
#history .archive-photo.is-current{box-shadow:0 2px 3px #30272014,12px 28px 48px #30272026}
#history .is-ready .archive-photo{top:46%;backface-visibility:visible}
#history .archive-stage-note{left:24px;right:24px;bottom:12px;color:#64665e;font-size:12px;letter-spacing:0;justify-content:flex-end}
#history .archive-stage-note span:first-child{display:none}
#history .archive-toolbar{flex-shrink:0;background:none;border-top:1px solid #302e2726;padding:20px 0 18px;gap:20px;align-items:start;flex-wrap:wrap}
#history .archive-caption h3{font-family:var(--chapter-sans);font-size:20px;line-height:1.4;font-weight:500;color:#30352e;margin-bottom:7px}
#history .archive-caption p{font-size:12px;line-height:1.7;color:#62665e}
#history .archive-actions{gap:10px;align-self:center}
#history .archive-actions button{height:42px;min-width:42px;border-color:#babfb2;color:#40483b}
#history .archive-actions .archive-open{margin-left:6px;min-width:112px;font-size:12px;border-radius:3px}
#history .archive-actions button:hover{background:#e5e7dd}
#history .archive-count,#history .archive-count b{color:#535d4e;font-size:12px}
#history .archive-scrub{height:3px;width:100%;margin:0;background:linear-gradient(to right,#a04734 0 var(--archive-progress,0%),#d8d8ce var(--archive-progress,0%) 100%)}
#history .archive-scrub::-webkit-slider-thumb{width:13px;height:13px;background:#a04734;border-color:#f1eee6;box-shadow:0 0 0 1px #a04734}
#history .history-source-note{grid-column:2;grid-row:4;font-size:11px;line-height:1.8;color:#66695f;margin:0;border:0;padding:0}
/* Campus: a real space behind the photograph selection, warm paper in the reading area. */
#campus{display:flex;flex-direction:column;background:#f5f1e5;overflow:hidden}
.campus-scene{position:absolute;z-index:-1;right:0;top:0;bottom:190px;width:41%;background:#b39359;overflow:hidden;pointer-events:none}
.campus-scene img{width:100%;height:100%;object-fit:cover;opacity:.38;filter:saturate(.7)}
.campus-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f4e4be15,#91785018 60%,#c8aa6f99)}
#campus .section-meta{flex-shrink:0;margin-bottom:32px}
#campus .section-meta span:last-child{color:#303d30;background:#f5f1e5;padding:3px 8px;margin:-3px -8px}
#campus .section-heading{display:block;flex-shrink:0;margin-bottom:24px;width:59%}
#campus .display{font-size:clamp(36px,3.65vw,60px);line-height:1.24;letter-spacing:-.055em}
#campus .section-intro{color:#626450;font-size:14px;line-height:1.8;margin-top:20px;max-width:520px}
#campus .section-intro br{display:none}
#campus .campus-collection-tabs{flex-shrink:0;gap:0;border-top:1px solid #4d543c30;border-bottom:1px solid #4d543c30;align-self:flex-start;background:#f5f1e5}
#campus .campus-collection-tabs button{border:0;border-radius:0;border-bottom:2px solid transparent;padding:12px 22px;color:#555d48;font-size:14px;gap:18px;box-shadow:none}
#campus .campus-collection-tabs button:first-child{padding-left:0}
#campus .campus-collection-tabs button[aria-selected=true]{background:none;color:#283d30;border-color:#997d40}
#campus .campus-collection-tabs button:hover{background:#e7dec84d}
#campus #campus-album-panel{display:flex;flex-direction:column;flex:1;min-height:0}
#campus .campus-album-top{flex-shrink:0;min-height:66px;gap:16px;padding-top:8px;align-items:center}
#campus .campus-topics button{font-size:12px;color:#5a624f;min-height:36px;padding:7px 10px}
#campus .campus-topics button:first-child{margin-left:-10px}
#campus .campus-topics button[aria-pressed=true]{background:#e5dfca;color:#2d412e;border-color:transparent}
#campus .campus-album-note{color:#606852;font-size:12px;padding:0;max-width:340px;text-align:right}
#campus .campus-navigation{background:#f5f1e5;padding:5px 0 5px 12px}
#campus .campus-navigation button{width:42px;height:42px;border-color:#aeb6a2}
#campus .campus-counter{color:#42503c;font-size:12px}
#campus .campus-fan{flex:1;min-height:280px;height:auto;margin:0 calc(var(--gutter)*-1)}
#campus .campus-fan:before{display:none}
#campus .campus-photo{width:min(32vw,440px,var(--campus-fit-width,440px))}
#campus .campus-print{padding:8px;background:#fffdf5;border-color:#dfded3;border-radius:1px;box-shadow:0 4px 10px #3037250d,0 18px 35px #30372526}
#campus .campus-photo-media{aspect-ratio:1.68}
#campus .campus-photo-label{color:#424c3b;font-size:13px;padding:12px 7px 4px}
#campus .campus-bottom{flex-shrink:0;justify-content:space-between;align-items:center;min-height:47px;margin-top:8px;width:100%;padding:5px 0}
#campus .campus-current-kind{color:#6a705f;font-size:12px}
#campus .campus-current-title{font-family:var(--chapter-sans);font-size:20px;font-weight:500;color:#303b2d;margin-top:3px}
#campus .campus-progress{height:2px;margin-top:14px;background:#485d3820}
#campus .campus-progress span{background:#657050}
#campus .campus-instructions{flex-shrink:0;margin-top:14px;font-size:11px;color:#4e5945;gap:20px}
#campus .campus-instructions span{padding:2px 0}
/* Life: a wide film still meets the rose chapter accent. */
#life{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr;gap:32px 5%;align-items:center;background:#f5efea;overflow:hidden}
#life:before{content:'';position:absolute;z-index:-1;inset:35% 0 0 43%;background:#c58c81}
#life .section-meta{grid-column:1/-1;align-self:start}
#life .life-title{text-align:left;padding:0;margin:0;z-index:1}
#life .life-title h2{font-family:var(--chapter-sans);font-size:clamp(36px,3.7vw,59px);line-height:1.4;letter-spacing:-.055em}
#life .life-title>p{font-size:14px;line-height:1.9;color:#675e53;margin-top:28px}
#life .life-grid-single{width:calc(100% + var(--gutter));max-width:none;margin:0;align-self:center;transform:translateY(-28px)}
#life .film{border:0;border-radius:0;box-shadow:0 22px 42px #493f3326;aspect-ratio:1.4}
#life .film img{object-fit:cover}
#life .film-caption{padding:24px}
#faq{background:#f7f7f2;padding-top:40px;padding-bottom:80px}
#faq .section-meta{font-size:12px;margin-bottom:56px}
#faq-title{font-family:var(--chapter-sans);font-size:clamp(32px,3.25vw,50px);font-weight:500;line-height:1.4;letter-spacing:-.04em}
#faq .faq-title>p{font-size:14px;line-height:1.9}
#faq summary{min-height:76px;font-size:16px}
/* Gallery is an intentionally separate, user-controlled exhibition surface. */
#works-title{font-family:var(--chapter-serif);font-size:27px;letter-spacing:.06em}
/* Click feedback covers the viewport, then reveals the selected section in place. */
.chapter-transition{position:fixed;inset:0;z-index:450;pointer-events:none;overflow:hidden;background:var(--transition-tone,#eadbc4);color:var(--transition-ink,#233e36);will-change:clip-path,opacity}
.chapter-transition:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 35% 25%,#fff3,transparent 70%)}
.chapter-transition-copy{position:absolute;left:var(--gutter);bottom:16%;font-family:var(--chapter-sans);font-size:clamp(40px,7vw,96px);letter-spacing:-.025em;line-height:1.3}
.chapter-transition-copy small{display:block;font:10px Arial,sans-serif;letter-spacing:.3em;margin-bottom:20px;opacity:.65}
.chapter-transition-image{position:absolute;right:9%;top:12%;height:76%;width:auto;max-width:35%;object-fit:contain;transform:rotate(7deg);opacity:.4;mix-blend-mode:multiply}
.chapter-arriving{--chapter-arrival:1}

@media(min-width:1001px) and (min-height:650px){#history,#campus,#life{height:100svh;min-height:650px}}
@media(max-height:800px) and (min-width:1001px){
 #history,#campus,#life{padding-top:24px;padding-bottom:54px}
 #history{row-gap:16px;column-gap:5%}#history .archive-heading h2{font-size:36px}#history .archive-heading .eyebrow{margin-bottom:12px}#history .archive-heading>p{margin-top:16px}#history .archive-tab{min-height:33px;padding-top:5px;padding-bottom:5px;font-size:12px}#history .archive-stage{min-height:245px}#history .archive-toolbar{padding-top:13px;padding-bottom:14px}#history .archive-caption h3{font-size:18px}
 #campus .section-meta{margin-bottom:20px}#campus .display{font-size:40px}#campus .section-heading{margin-bottom:16px}#campus .section-intro{margin-top:14px}#campus .campus-album-top{min-height:58px}#campus .campus-photo{width:min(30vw,365px,var(--campus-fit-width,365px))}#campus .campus-fan{min-height:220px}#campus .campus-bottom{min-height:40px}#campus .campus-current-title{font-size:18px}#campus .campus-instructions{margin-top:10px}
}
@media(max-width:1100px) and (min-width:1001px){#history{column-gap:4%;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr)}#history .archive-heading h2{font-size:34px}#history .archive-actions{width:100%}#campus .campus-album-note{display:none}}
@media(max-width:1000px){
 #history{display:flex;flex-direction:column;gap:22px;padding-bottom:72px}
 #history:before{inset:0 0 auto;width:100%;height:292px}
 #history .section-meta{color:#fff3e6}#history .section-meta:before{background:#ffffff40}#history .section-meta span:last-child{color:inherit}
 #history .archive-heading{padding:0;min-height:205px}#history .archive-heading h2{font-size:clamp(34px,5vw,44px)}#history .archive-heading .eyebrow{margin-bottom:12px}#history .archive-heading>p{margin-top:14px;font-size:13px;max-width:none}#history .archive-heading>p br{display:none}#history .archive-heading>p span{margin-left:12px}
 #history .archive-layout{display:flex;flex-direction:column;flex:1;min-height:0}
 #history .archive-tabs{display:flex;flex-direction:row;align-self:stretch;overflow:auto;padding:0;border-bottom:1px solid #303c3026;gap:22px;max-width:100%;scrollbar-width:thin}
 #history .archive-tab{width:auto;flex-shrink:0;color:#62695b;min-height:44px;padding:8px 0;border-bottom:2px solid transparent}
 #history .archive-tab[aria-selected=true]{padding-left:0;box-shadow:none;background:none;color:#983f2e;border-bottom-color:#983f2e}
 #history .archive-tab:hover{color:#983f2e;background:none}#history .archive-tab:focus-visible{outline-color:#983f2e;outline-offset:-2px}
 #history .archive-stage{height:430px;min-height:0;flex:none;margin:0 calc(var(--gutter)*-1)}#history .archive-toolbar{padding:18px 0}#history .history-source-note{font-size:11px}
 #campus{padding-bottom:72px}.campus-scene{width:32%}#campus .section-heading{width:75%}#campus .display{font-size:44px}#campus .campus-fan{height:370px;flex:none;min-height:0}#campus .campus-photo{width:430px}#campus .campus-album-note{display:none}
 #life{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-items:start;gap:30px}#life:before{inset:45% 0 0 24%}#life .life-title h2{font-size:44px}#life .life-title .title-line{display:inline}#life .life-title .title-line:first-child{display:block}#life .life-title>p{margin-top:18px}#life .life-grid-single{transform:none;width:100%;padding-bottom:24px}#life .film{aspect-ratio:1.8}
}
@media(max-width:700px){
 #history,#campus,#life{padding:24px 24px 72px}
 #history{gap:20px}#history:before{height:284px}#history .archive-heading{min-height:204px}#history .archive-heading h2{font-size:clamp(29px,8vw,38px);line-height:1.3}#history .archive-heading>p{font-size:12px;margin-top:16px}#history .archive-heading>p span{display:block;margin-left:0}#history .archive-tabs{gap:20px}#history .archive-tab{font-size:12px;gap:10px}#history .archive-stage{height:310px;margin:0 -24px}#history .archive-stage-note{font-size:11px;bottom:5px}#history .archive-photo{padding:7px}#history .archive-toolbar{gap:14px}#history .archive-caption h3{font-size:18px}#history .archive-actions{width:100%}#history .archive-open{margin-left:auto!important}#history .archive-count{min-width:58px}#history .history-source-note{line-height:1.8}
 .campus-scene{top:330px;bottom:200px;width:33%;opacity:.85}#campus .section-meta{margin-bottom:26px}#campus .section-meta span:last-child{background:none;font-size:10px;padding:0;margin:0}#campus .section-heading{width:100%;margin-bottom:24px}#campus .display{font-size:clamp(29px,8vw,38px);line-height:1.3}#campus .section-intro{font-size:13px;margin-top:18px}#campus .campus-collection-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}#campus .campus-collection-tabs button{padding:12px 0;font-size:12px;gap:0;flex-direction:column;line-height:1.7}#campus .campus-collection-tabs button span{font-size:10px}#campus .campus-album-top{flex-wrap:wrap;gap:6px;padding-top:12px}#campus .campus-topics{gap:1px;background:#f5f1e5}#campus .campus-topics button{font-size:11px;padding:7px}#campus .campus-topics button:first-child{margin-left:-7px}#campus .campus-navigation{margin-left:auto;gap:10px}#campus .campus-fan{height:270px;margin:0 -24px}#campus .campus-photo{width:min(83vw,380px)}#campus .campus-photo-label{font-size:12px;padding-top:10px}#campus .campus-bottom{margin-top:0;align-items:flex-start;text-align:left;gap:8px}#campus .campus-album-note{text-align:left;display:block;font-size:11px}#campus .campus-current-title{font-size:18px}#campus .campus-instructions{font-size:11px;line-height:1.6;flex-wrap:wrap;gap:5px;text-align:left}#campus .campus-instructions span{padding:0}
 #life{gap:30px}#life .life-title h2{font-size:clamp(29px,7.8vw,38px);line-height:1.45}#life .life-title>p{font-size:13px}#life .life-grid-single{width:calc(100% + 24px)}#life .film{aspect-ratio:1.25}
 #faq .section-meta{font-size:11px;margin-bottom:32px}#faq-title{font-size:32px}#faq summary{font-size:15px;min-height:70px}
 .hub-return{width:44px;height:44px;padding:0;justify-content:center;font-size:0;gap:0}.hub-return>span{font-size:22px}.chapter-transition-copy{bottom:18%;font-size:40px}.chapter-transition-image{right:-8%;top:9%;height:55%;max-width:60%;opacity:.25}
}
@media(prefers-reduced-motion:reduce){[data-title-motion] .char,[data-title-motion] .title-line{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}.chapter-transition{display:none}}
.motion-off [data-title-motion] .char,.motion-off [data-title-motion] .title-line{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
