/* The existing split hero stays still; real school stories share its photo panel. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-news{isolation:isolate;touch-action:pan-y;background:var(--deep);color:#fff}
.hero-slide{position:absolute;inset:0;margin:0;overflow:hidden;opacity:0;visibility:hidden}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide>img{height:100%;width:100%;object-fit:cover;object-position:46% center}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,30,27,.28) 0%,rgba(25,30,27,0) 28%,rgba(25,30,27,.12) 42%,rgba(25,30,27,.78) 76%,rgba(25,30,27,.92) 100%);pointer-events:none}
.hero-story{position:absolute;left:36px;right:36px;bottom:102px;z-index:1}
.hero-story h2{font-size:clamp(26px,2.55vw,37px);line-height:1.2;max-width:540px;margin:0 0 14px;letter-spacing:-.025em}
.hero-story h2 a{text-decoration:none;color:#fff}
.hero-story h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.hero-story p{font-size:14px;color:#E2E5E0;margin:0 0 18px;line-height:1.6}
.story-link{font-size:14px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:7px}
.hero-news-top{position:absolute;z-index:3;left:36px;right:36px;top:28px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:#fff}
.hero-count{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.hero-controls{position:absolute;z-index:3;bottom:28px;left:36px;right:36px;display:flex;align-items:center;gap:24px}
.hero-progress{display:flex;flex:1;gap:10px;max-width:230px}
.hero-progress button{flex:1;min-width:25px;height:44px;padding:12px 0;background:transparent;cursor:pointer}
.hero-progress button>span{display:block;height:2px;background:#ffffff60;overflow:hidden}
.hero-progress i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.hero-progress [aria-current=true]>span{background:#fff}
.hero-buttons{display:flex;gap:7px;margin-left:auto}
.hero-buttons button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff65;background:transparent;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.hero-buttons button:hover{background:#ffffff20;border-color:#fff}
.hero-news :focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-toggle .play-symbol{display:none}
.hero-toggle.is-paused .play-symbol{display:block}
.hero-toggle.is-paused .pause-symbol{display:none}
.hero-progress button[aria-current=true] i{transform:scaleX(1)}
.hero-news.is-enhanced .hero-progress button i{transform:scaleX(0)}

/* Emblem reveal: a brief visual bridge, never a dependency for page content. */
.page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--primary);visibility:hidden;pointer-events:none;opacity:0}
.is-loading .page-loader,.is-leaving .page-loader{visibility:visible;opacity:1;pointer-events:auto}
.is-leaving{cursor:progress}
.loader-mark{width:150px;display:flex;flex-direction:column;align-items:center;gap:22px;color:#fff}
.loader-logo{width:96px;overflow:hidden}
.loader-logo img{display:block;width:100%;height:auto}
.loader-name{font-size:16px;letter-spacing:.18em;font-weight:700;line-height:1}
.loader-rule{width:100%;height:1px;background:#fff;transform-origin:left}
html.scroll-locked{overflow:hidden;scrollbar-gutter:stable}
@media(min-width:761px) and (max-width:1050px){.hero-story{left:26px;right:26px}.hero-news-top,.hero-controls{left:26px;right:26px}.hero-controls{gap:18px}.hero-buttons{gap:4px}.hero-buttons button{width:40px}}
@media(max-width:760px){.hero-news{height:470px}.hero-story{left:24px;right:24px;bottom:100px}.hero-story h2{font-size:30px;max-width:550px}.hero-news-top{left:24px;right:24px;top:24px}.hero-controls{left:24px;right:24px;bottom:24px;gap:22px}.hero-progress{max-width:170px}.hero-slide>img{object-position:center 38%}}
@media(max-width:370px){.hero-story h2{font-size:27px}.hero-controls{gap:14px}.hero-buttons{gap:4px}.hero-buttons button{width:40px}.hero-progress{gap:7px}}
@media(prefers-reduced-motion:reduce){.page-loader{display:none}.hero-slide>img{transform:none!important}}
