/* KOBaP 2026 — championship night redesign */
:root{--n:#071d4d;--d:#020b1e;--b:#1763ff;--r:#f20d1a;--y:#ffc400;--paper:#f7f9fc;--line:rgba(255,255,255,.14)}
body{background:var(--d);color:#eaf1ff;overflow-x:hidden}
.bar{position:relative;z-index:31;background:var(--r);color:#fff;text-transform:uppercase;letter-spacing:.08em;padding:9px 15px}
.bar:after{content:"";position:absolute;right:0;top:0;border-top:34px solid var(--y);border-left:42px solid transparent}
header{top:0;background:rgba(2,11,30,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
nav{height:82px}.brand{font-family:Oswald,sans-serif;font-style:italic;letter-spacing:.05em}.brand img{width:72px;height:58px}.links{gap:24px}.links>a:not(.btn){position:relative}.links>a:not(.btn):after{content:"";position:absolute;height:3px;left:0;right:100%;bottom:-10px;background:var(--y);transform:skewX(-25deg);transition:.25s}.links>a:hover:after{right:0}
.btn{border-radius:4px;transform:skewX(-7deg);text-transform:uppercase;letter-spacing:.035em;font-size:.78rem;box-shadow:6px 6px 0 rgba(0,0,0,.18)}.btn:hover{transform:skewX(-7deg) translate(-2px,-2px);box-shadow:9px 9px 0 rgba(0,0,0,.22)}.btn.red{background:var(--r);border-color:var(--r)}
.hero{isolation:isolate;min-height:820px;background:var(--d)}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,11,30,.98) 0%,rgba(2,11,30,.88) 32%,rgba(2,11,30,.25) 65%,rgba(2,11,30,.12)),url('../assets/kobap-poster-background.png') center/cover no-repeat}.hero:before{z-index:-1;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;inset:auto 0 0;background:linear-gradient(0deg,var(--d),transparent 80%);clip-path:none}.hero-grid{min-height:750px;grid-template-columns:1.05fr .95fr}.hero-grid>div{position:relative;padding:30px 0}.hero-grid>div:before{content:"KOBaP";position:absolute;z-index:-1;left:-8px;top:-55px;font:italic 900 9rem Oswald;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);letter-spacing:-.05em}.hero .eyebrow{display:inline-flex;align-items:center;background:var(--y);color:var(--d);padding:6px 12px;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}h1{font-size:clamp(5.8rem,11vw,10.5rem);text-shadow:8px 8px 0 rgba(20,87,230,.35);line-height:.82;margin:24px 0}.subtitle{max-width:630px;border-left:6px solid var(--r);padding-left:18px;font-size:clamp(1.2rem,2vw,1.75rem)}.tag{font-size:1.08rem;letter-spacing:.04em}.facts{width:min(600px,100%);background:rgba(5,20,54,.78);border:1px solid var(--line);border-left:5px solid var(--b);padding:14px 20px;backdrop-filter:blur(8px)}.facts small{color:#8eaeef}.hero-logo{align-self:end;justify-self:end;width:min(500px,85%);margin-bottom:20px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.6));animation:f 4s ease-in-out infinite}
.count{margin-top:-64px;z-index:4;border-radius:0;background:var(--y);color:var(--d);box-shadow:14px 14px 0 var(--r);clip-path:polygon(0 0,98% 0,100% 23%,100% 100%,2% 100%,0 77%);padding:28px 40px}.count .eyebrow{color:var(--r)}.count h3{font-size:1.8rem}.time{border-left:1px solid rgba(2,11,30,.2)}.time b{color:var(--d);font-size:3.2rem}.time span{color:#443800}
.section{position:relative;padding:110px 0}.section h2{color:#fff;font-style:italic;letter-spacing:-.02em}.section .eyebrow{color:var(--y)}.head{border-bottom:1px solid var(--line);padding-bottom:25px}.head p,.about p{color:#aab9d8}.about{align-items:center}.about h2{font-size:clamp(3.4rem,7vw,6.4rem)}.highlights{gap:4px}.chip{position:relative;overflow:hidden;background:#0b2255;color:#fff;border:0;border-bottom:4px solid var(--b);border-radius:0;padding:24px 22px;text-transform:uppercase;font-size:.82rem}.chip:nth-child(2){border-color:var(--r)}.chip:nth-child(3){border-color:var(--y)}.chip:nth-child(4){border-color:#fff}
.program{background:#f4f7fc;color:#13203c;clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);padding:150px 0}.program h2{color:var(--n)}.program .head{border-color:#dce4f1}.program .head p{color:#5d6880}.cards{gap:0}.card{position:relative;border:0;border-top:8px solid var(--accent);border-radius:0;min-height:360px;box-shadow:none;padding:34px 30px;background:#fff}.card+ .card{border-left:1px solid #e0e6f0}.card:before{content:attr(data-day);position:absolute;right:16px;bottom:-15px;font:italic 900 9rem Oswald;color:#071d4d0b;line-height:1}.card .date{position:relative}.card h3{font-size:2.1rem;margin:24px 0}.card li{margin:10px 0;color:#526079}
.events{gap:2px}.event{position:relative;border:1px solid var(--line);border-radius:0;min-height:190px;background:#07183b;transition:.25s;overflow:hidden}.event:after{content:"";position:absolute;width:70px;height:5px;right:-10px;bottom:15px;background:var(--r);transform:skewX(-25deg)}.event:hover{background:var(--b);transform:translateY(-8px);border-color:var(--b)}.event i{font-size:2.2rem}.event b{color:#fff;font-size:1.45rem}.event small{color:#91a8d7}
.dark{background:linear-gradient(120deg,#050f29,#071d4d)}.dark:before{content:"HOUSE CHAMPIONSHIP";position:absolute;right:-50px;top:70px;font:italic 800 8vw Oswald;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06)}.houses{gap:12px}.house{border-radius:0;clip-path:polygon(0 0,92% 0,100% 12%,100% 100%,8% 100%,0 88%);min-height:330px;padding:38px}.house:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 45%,rgba(0,0,0,.3));pointer-events:none}.house h3{font-size:3rem;font-style:italic}.house p{font-size:1.08rem}.house small{z-index:1}
.epodium{position:relative;border-radius:0;background:linear-gradient(115deg,#071d4d,#0b328e);border:1px solid rgba(255,255,255,.18);box-shadow:18px 18px 0 var(--r);clip-path:polygon(0 0,97% 0,100% 12%,100% 100%,3% 100%,0 88%);padding:65px}.epodium:before{content:"LIVE DATA";position:absolute;right:30px;top:15px;font:italic 700 5rem Oswald;color:rgba(255,255,255,.045)}.epodium h2{font-size:clamp(2.8rem,5vw,4.6rem)}.emark{display:inline-block;background:var(--y);color:var(--d);padding:2px 12px;transform:skewX(-9deg)}.feature{border-radius:0;background:rgba(255,255,255,.08);border-left:3px solid var(--y)}
.results .panel{border-radius:0;border:1px solid var(--line);background:#061536;padding:32px}.panel h3{font-size:1.65rem;margin-bottom:18px}.empty{border-radius:0;background:#0d2b69;color:#aebfe5;border:1px dashed #31569e}.results table th,.results table td{border-color:rgba(255,255,255,.1)}.results th{color:#849aca}
.gallery{background:#f4f7fc;color:#13203c;clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);padding:140px 0}.gallery h2{color:var(--n)}.gallery .head{border-color:#dce4ef}.gallery .head p{color:#5d6880}.photos{gap:6px}.photo{position:relative;border-radius:0;min-height:210px;background:linear-gradient(135deg,#071d4d,#1457e6);font-family:Oswald;font-size:1.35rem;text-transform:uppercase;clip-path:polygon(0 0,93% 0,100% 12%,100% 100%,0 100%)}.photo:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 12px,rgba(255,255,255,.035) 12px 13px)}
.cta{border-radius:0;padding:60px;background:linear-gradient(110deg,var(--r) 0 26%,var(--n) 26% 76%,var(--b) 76%);clip-path:polygon(0 0,96% 0,100% 18%,100% 100%,4% 100%,0 82%);box-shadow:14px 14px 0 var(--y)}.cta h2{font-size:clamp(2.6rem,5vw,4.8rem)}.qrbox{border:12px solid #fff;box-shadow:12px 12px 0 var(--b)}
footer{background:#010714;border-top:6px solid var(--r)}.foot img{width:180px}.copy{border-color:var(--line)}
@media(max-width:900px){.hero{min-height:880px}.hero-grid{min-height:800px}.hero:after{background:linear-gradient(90deg,rgba(2,11,30,.98),rgba(2,11,30,.62)),url('../assets/kobap-poster-background.png') 62% center/cover no-repeat}.hero-logo{position:absolute;right:0;top:35px;width:260px;opacity:.35}.cards{gap:12px}.card+.card{border-left:0}.program,.gallery{clip-path:none;padding:100px 0}.epodium{padding:45px}.count{clip-path:none}}
@media(max-width:600px){.bar{font-size:.68rem}.hero{min-height:760px}.hero-grid{min-height:680px;padding-top:30px}.hero-grid>div:before{font-size:5rem;top:-20px}h1{font-size:5.6rem;margin:20px 0}.subtitle{font-size:1.15rem}.hero-logo{top:15px;width:190px}.facts{display:grid;grid-template-columns:1fr;padding:12px 14px}.count{margin-top:-35px;padding:22px 12px;box-shadow:8px 8px 0 var(--r)}.time b{font-size:2.25rem}.section{padding:80px 0}.about h2{font-size:3.6rem}.epodium{padding:30px 22px;box-shadow:8px 8px 0 var(--r);clip-path:none}.cta{padding:40px 25px;box-shadow:8px 8px 0 var(--y);clip-path:none}.foot img{width:150px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Logo-led hero */
.hero-grid{grid-template-columns:1fr}
.hero-grid>div:before{content:none}
.hero-main-logo{width:min(620px,72vw);height:auto;margin:24px 0 20px;justify-self:auto;align-self:auto;opacity:1}
@media(max-width:900px){.hero-main-logo{position:static;width:min(520px,78vw);opacity:1;margin:22px 0}.hero-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hero-main-logo{position:static;width:min(400px,88vw);opacity:1;margin:18px 0}}

/* Static hero logo */
.hero-logo,.hero-main-logo{animation:none!important;transform:none!important}

/* Live KOBaP entries from Galeri Aktiviti */
.live-photo{display:flex;position:relative;padding:0;min-height:230px;isolation:isolate;background:#071d4d}
.live-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s ease}
.live-photo:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(2,11,30,.95),rgba(2,11,30,.06) 68%)}
.live-photo:hover img{transform:scale(1.05)}
.live-photo-copy{position:relative;width:100%;display:flex;flex-direction:column;align-self:flex-end;padding:22px;z-index:2}
.live-photo-copy small{color:#ffc400;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.live-photo-copy strong{font:600 1.35rem/1.12 Oswald,sans-serif;text-transform:uppercase;color:#fff}
.photo-fallback{position:absolute;inset:0;display:grid;place-items:center;font:italic 800 4rem Oswald;color:rgba(255,255,255,.12);letter-spacing:.08em}
.gallery-loading,.gallery-empty-live{grid-column:1/-1;min-height:180px;justify-content:center;align-items:center;text-align:center;background:#071d4d}
.gallery-source{text-align:right;margin-top:22px}.gallery-source a{font-weight:800;color:#1457e6;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}.gallery-source a:hover{color:#f20d1a}
/* Editorial refinement: restrained, event-led, less decorative */
.btn{transform:none;box-shadow:none;border-radius:3px}.btn:hover{transform:translateY(-2px);box-shadow:none}
.count{clip-path:none;box-shadow:none;border-left:6px solid var(--r);border-right:1px solid rgba(2,11,30,.15)}
.section h2{font-style:normal;letter-spacing:-.015em}.program,.gallery{clip-path:none}
.card{min-height:330px}.card:before{font-size:6.5rem;bottom:-4px;color:#071d4d08}.card h3{font-style:normal}
.chip{background:#0a1c42;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--b);border-bottom:0;font-size:.76rem;letter-spacing:.025em}.chip:nth-child(2){border-left-color:var(--r)}.chip:nth-child(3){border-left-color:var(--y)}.chip:nth-child(4){border-left-color:#fff}
.event{min-height:170px;background:#07183b}.event:after{display:none}.event:hover{transform:translateY(-4px);background:#0a2457}.event i{font:700 .75rem/1 Inter,sans-serif;letter-spacing:.08em;color:var(--y);border:1px solid rgba(255,196,0,.45);width:max-content;padding:7px 8px}
.dark:before,.epodium:before{display:none}.house{clip-path:none;border-radius:2px;min-height:300px}.house h3{font-style:normal}.house:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.2))}
.epodium{clip-path:none;border-radius:2px;box-shadow:none;border-top:5px solid var(--y)}.emark{transform:none;border-radius:2px}
.photos{gap:12px}.photo{clip-path:none;border-radius:2px}.photo:before{display:none}
.cta{clip-path:none;border-radius:2px;box-shadow:none;background:var(--n);border-top:5px solid var(--r);border-bottom:5px solid var(--b)}
.qrbox{box-shadow:none;border:1px solid #dce4ef}
.status-mark{display:inline-block;margin-bottom:12px;padding:5px 9px;border:1px solid #5e78ac;color:#9db4df;font-size:.68rem;font-weight:800;letter-spacing:.12em}
@media(max-width:600px){.count,.epodium,.cta{box-shadow:none}.card{min-height:auto}.house{min-height:270px}}
/* Premium editorial about section */
.about-section{overflow:hidden;background:#030d22}
.about-section:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.about-premium{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(460px,1.18fr);gap:clamp(55px,8vw,120px);align-items:start}
.about-heading{position:sticky;top:130px;padding-top:4px}
.about-heading .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:25px;color:#ffc400}
.about-heading .eyebrow:before{content:"";width:38px;height:2px;background:#f20d1a}
.about-heading h2{font-size:clamp(4rem,7vw,7rem);line-height:.88;letter-spacing:-.045em;color:#f7f9ff;margin:0 0 30px}
.about-intro{max-width:430px;margin:0;color:#9eb0d2;font-size:1rem;line-height:1.75}
.about-story{position:relative;padding:38px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.story-rule{display:flex;justify-content:space-between;gap:20px;color:#7186ad;font-size:.65rem;font-weight:800;letter-spacing:.14em;margin-bottom:55px}
.story-lead{max-width:700px;margin:0 0 25px;color:#fff;font:500 clamp(1.65rem,3vw,2.6rem)/1.28 Oswald,sans-serif;letter-spacing:-.015em}
.about-story>p:not(.story-lead){max-width:650px;margin:0;color:#9eb0d2;font-size:.98rem;line-height:1.8}
.event-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:58px 0 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.event-facts>div{padding:25px 18px 24px 0}.event-facts>div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.14)}
.event-facts dt{margin:0;color:#fff;font:600 2rem/1 Oswald,sans-serif;letter-spacing:-.02em}.event-facts>div:last-child dt{color:#ffc400;font-size:1.45rem;padding-top:5px}
.event-facts dd{margin:10px 0 0;color:#7489b1;font-size:.66rem;font-weight:800;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.about-premium{grid-template-columns:1fr;gap:55px}.about-heading{position:static}.about-heading h2{font-size:clamp(4rem,12vw,6.2rem)}.about-intro{max-width:620px}.story-rule{margin-bottom:38px}}
@media(max-width:600px){.about-section{padding:85px 0}.about-premium{gap:42px}.about-heading h2{font-size:3.7rem}.story-lead{font-size:1.75rem}.event-facts{grid-template-columns:repeat(2,1fr);margin-top:42px}.event-facts>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}.event-facts>div:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}}
/* Official programme and house information */
.schedule-cards .card{min-height:520px;padding-bottom:34px}
.schedule-cards .card:before{top:105px;bottom:auto}
.schedule-list{position:relative;z-index:1;list-style:none;margin:28px 0 0;padding:0}
.schedule-list li{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:12px 0;border-top:1px solid #e4e9f1;color:#4d5971;font-size:.78rem;line-height:1.45}
.schedule-list time{font:700 .72rem/1.45 Inter,sans-serif;color:var(--accent);letter-spacing:.03em}
.schedule-list span{display:block}
.awards-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:35px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.awards-strip span{margin-right:auto;color:#7186ad;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.awards-strip b{padding:8px 11px;border:1px solid rgba(255,255,255,.14);color:#dce6fa;font-size:.68rem;letter-spacing:.04em}
.house{min-height:440px}.house p{margin-bottom:28px}.house-teachers{position:relative;z-index:1;display:grid;gap:7px;padding-top:18px;border-top:1px solid rgba(255,255,255,.28)}
.house-teachers span{margin-bottom:3px;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.house-teachers b{max-width:260px;font-size:.72rem;line-height:1.35}
.house.yellow .house-teachers{border-color:rgba(3,17,38,.22)}
@media(max-width:900px){.schedule-cards .card{min-height:auto}.house{min-height:420px}}
@media(max-width:600px){.schedule-list li{grid-template-columns:48px 1fr}.awards-strip{align-items:flex-start}.awards-strip span{flex:0 0 100%;margin-bottom:5px}.house{min-height:410px}}
/* Official ePodium logo */
.epodium-logo{display:block;width:min(330px,80%);height:auto;object-fit:contain;margin:0 0 22px}.foot .epodium-logo{width:min(220px,90%);margin-bottom:14px}

/* School identity in header */
.school-brand{gap:12px}.school-mark{width:54px;height:54px;display:grid;place-items:center;padding:5px;border:2px solid #fff;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.school-brand .school-mark img{width:42px;height:42px;object-fit:contain}
.school-name{font:700 .82rem/1 Oswald,sans-serif;letter-spacing:.11em;color:#fff;white-space:nowrap}
@media(max-width:600px){.school-mark{width:48px;height:48px}.school-brand .school-mark img{width:37px;height:37px}.school-name{font-size:.72rem;letter-spacing:.08em}}
/* Shape-following school logo outline */
.school-mark{width:48px;height:54px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.school-brand .school-mark img{width:45px;height:50px;object-fit:contain;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}
@media(max-width:600px){.school-mark{width:43px;height:48px}.school-brand .school-mark img{width:40px;height:45px}}
/* Editorial gallery cards — image remains unobstructed */
.gallery .photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:24px}
.gallery .live-photo{display:grid;grid-template-rows:auto 1fr;min-height:0;padding:0;background:#fff;color:#071d4d;border:1px solid #dce3ef;box-shadow:0 12px 30px rgba(7,29,77,.07);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gallery .live-photo:after{display:none}
.live-photo-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#071d4d}
.gallery .live-photo .live-photo-media img{position:static;display:block;width:100%;height:100%;object-fit:cover;transform:none;transition:transform .45s ease}
.gallery .live-photo:hover{transform:translateY(-5px);border-color:#b9c7dd;box-shadow:0 18px 42px rgba(7,29,77,.13)}
.gallery .live-photo:hover .live-photo-media img{transform:scale(1.025)}
.gallery .live-photo-copy{display:flex;width:auto;min-height:180px;align-self:stretch;padding:24px 26px 22px;background:#fff;color:#071d4d}
.gallery .live-photo-copy small{margin-bottom:10px;color:#1457e6;font-size:.66rem;font-weight:800;letter-spacing:.12em}
.gallery .live-photo-copy strong{color:#071d4d;font:600 clamp(1.2rem,2vw,1.6rem)/1.2 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.gallery-open{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;color:#65728a;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gallery-open b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cfd8e7;color:#1457e6;font-size:.9rem}
.live-photo-media .photo-fallback{position:absolute;background:linear-gradient(135deg,#071d4d,#1457e6)}
@media(max-width:700px){.gallery .photos{grid-template-columns:1fr;gap:18px}.gallery .live-photo-copy{min-height:160px;padding:21px}.gallery .live-photo-copy strong{font-size:1.3rem}}