/* Campus life — scroll story (reference: orbit of photos → centre titles → photos fly into a row → sideways gallery)
   Without JavaScript (or with reduced motion) it falls back to a simple swipeable row of photos. */
.co{position:relative;background:#141235;color:#fff}
.co-stage{position:relative;overflow:hidden;padding:clamp(56px,8vw,96px) 0}
.co-bg{position:absolute;inset:0;z-index:0}
.co-bg img{width:100%;height:100%;object-fit:cover;filter:blur(6px) grayscale(.35);transform:scale(1.1);opacity:.35}
.co-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,53,.55),rgba(20,18,53,.85))}
.co-corner{position:absolute;z-index:3;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);display:flex;flex-direction:column;gap:4px}
.co-corner b{color:var(--yellow);font-weight:700}
.co-corner.tl{top:clamp(18px,3vh,32px);left:var(--pad,22px)}
.co-corner.bl{bottom:clamp(18px,3vh,32px);left:var(--pad,22px)}
.co-corner.br{bottom:clamp(18px,3vh,32px);right:var(--pad,22px);text-align:right}
.co-center{display:none}
.co-head{position:relative;z-index:3;font-size:clamp(40px,6vw,96px);line-height:1;padding-inline:var(--pad,22px);font-weight:500;letter-spacing:-.02em}
.co-sub{position:relative;z-index:3;max-width:56ch;margin-top:14px;padding-inline:var(--pad,22px);color:rgba(255,255,255,.8);font-size:clamp(14px,1.1vw,17px)}
.co-cards{position:relative;z-index:2;display:flex;gap:16px;overflow-x:auto;padding:28px var(--pad,22px) 8px;scroll-snap-type:x mandatory}
.co-card{flex:none;width:min(70vw,340px);margin:0;scroll-snap-align:start}
.co-img{border-radius:10px;overflow:hidden;aspect-ratio:4/5;background:#222}
.co-img img{width:100%;height:100%;object-fit:cover;display:block}
.co-card figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;color:rgba(255,255,255,.85)}
.co-card figcaption b{font-weight:700;color:#fff}
.co-card figcaption span{color:rgba(255,255,255,.6);white-space:nowrap}
.co-prog{display:none}

/* ===== animated version (js/campus-orbit.js adds .co-on) ===== */
.co.co-on{height:700vh}
.co.co-on .co-stage{position:sticky;top:0;height:100vh;padding:0}
.co.co-on .co-bg img{opacity:1;filter:none;transform:scale(1.05)}
.co.co-on .co-bg::after{background:rgba(20,18,53,.15)}
.co.co-on .co-center{display:flex;position:absolute;inset:0;z-index:3;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.co-l{margin:0;font-size:clamp(17px,1.7vw,26px);font-weight:600;line-height:1.25;color:#fff;opacity:0}
.co-l1{font-size:clamp(26px,3vw,46px);letter-spacing:-.01em;margin-bottom:14px}
.co-l5{font-size:clamp(26px,3vw,46px);margin-top:16px;color:var(--yellow)}
.co-l5 .ser{font-weight:400;color:#fff}
.co.co-on .co-head{position:absolute;left:0;top:clamp(84px,13vh,130px);margin:0;opacity:0}
.co.co-on .co-sub{position:absolute;right:var(--pad,22px);top:clamp(96px,14vh,140px);max-width:38ch;text-align:right;opacity:0;margin:0}
.co.co-on .co-cards{position:absolute;inset:0;display:block;overflow:visible;padding:0;scroll-snap-type:none}
.co.co-on .co-card{position:absolute;left:50%;top:50%;width:var(--cw,340px);will-change:transform,opacity;opacity:0;transform-origin:50% 50%}
.co.co-on .co-img{box-shadow:0 18px 40px rgba(0,0,0,.35)}
.co.co-on .co-card figcaption{opacity:var(--cap,0)}
.co.co-on .co-corner{opacity:var(--corner,0)}
.co.co-on .co-prog{display:block;position:absolute;z-index:4;left:var(--pad,22px);right:var(--pad,22px);bottom:12px;height:3px;background:rgba(255,255,255,.18);border-radius:3px}
.co.co-on .co-prog i{position:absolute;inset:0;border-radius:3px;background:linear-gradient(90deg,var(--yellow),var(--pink));transform-origin:left;transform:scaleX(0)}
@media(max-width:760px){.co.co-on .co-sub{display:none}.co.co-on{height:600vh}}
