.partner-links { overflow:hidden; padding:48px 0 36px; background:#fff; }
.partner-slider-window { position:relative; overflow:hidden; }
.partner-links-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.partner-slide { position:absolute; inset:0; visibility:hidden; opacity:0; transform:translateX(35px); transition:opacity .42s ease,transform .42s ease,visibility .42s; }
.partner-slide.active { position:relative; visibility:visible; opacity:1; transform:translateX(0); }
.partner-link { display:flex; min-width:0; aspect-ratio:1.72/1; align-items:center; justify-content:center; overflow:hidden; padding:12px; border:1px solid #d9dde4; background:#fff; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.partner-link:hover { transform:translateY(-3px); border-color:#9ba8b8; box-shadow:0 10px 24px rgba(15,23,42,.09); }
.partner-link:focus-visible { outline:3px solid rgba(37,99,235,.28); outline-offset:3px; }
.partner-link img { display:block; width:100%; height:100%; object-fit:contain; }
.partner-slider-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:24px; }
.partner-slider-controls>button { display:grid; width:38px; height:38px; place-items:center; padding:0; border:1px solid #cbd5e1; border-radius:50%; color:var(--navy); background:#fff; font-size:17px; cursor:pointer; transition:.2s; }
.partner-slider-controls>button:hover { border-color:var(--blue); color:#fff; background:var(--blue); }
.partner-slider-dots { display:flex; align-items:center; gap:7px; }
.partner-slider-dots button { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#cbd5e1; cursor:pointer; transition:width .25s ease,background .25s ease; }
.partner-slider-dots button.active { width:25px; background:var(--blue); }
@media(max-width:1100px) { .partner-links-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px) { .partner-links { padding:30px 0 24px; } .partner-links-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .partner-link { padding:9px; } .partner-slider-controls { margin-top:18px; } }
@media(prefers-reduced-motion:reduce) { .partner-slide { transition:none; } }
:root{--navy:#062848;--blue:#075ea8;--sky:#43b4d8;--gold:#f4b740;--ink:#102338;--muted:#627284;--soft:#f2f6f8;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 'DM Sans',sans-serif;background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:#031b32;color:#bad0e1;font-size:12px}.topbar .container{height:36px;display:flex;align-items:center;justify-content:space-between}.topbar a{margin-left:25px}.header{height:84px;background:#fff;position:relative;z-index:20;box-shadow:0 2px 18px #001c3510}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:45px;height:52px;background:var(--blue);color:#fff;font:800 28px 'Libre Franklin';clip-path:polygon(50% 0,100% 18%,90% 82%,50% 100%,10% 82%,0 18%)}.brand b{display:block;color:var(--navy);font:800 23px 'Libre Franklin';line-height:1}.brand small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}.nav nav{display:flex;gap:34px;font-size:14px;font-weight:600}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;left:0;bottom:-10px;width:0;height:2px;background:var(--blue);transition:.2s}.nav nav a:hover:after{width:100%}.menu{display:none;border:0;background:none;font-size:24px}.hero{height:680px;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.01)}.hero-content{position:relative;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:700;color:#85d8ee}.eyebrow.dark{color:var(--blue)}h1,h2,h3{font-family:'Libre Franklin',sans-serif;line-height:1.15}.hero h1{font-size:clamp(42px,6vw,76px);max-width:840px;margin:20px 0}.hero-content>p{max-width:650px;font-size:19px;color:#d7e3eb}.actions{display:flex;gap:12px;margin-top:35px}.btn{display:inline-flex;align-items:center;gap:22px;padding:14px 22px;font-weight:700;font-size:14px;border:1px solid transparent}.btn.primary{background:var(--blue);color:#fff}.btn.ghost{border-color:#ffffff80;color:#fff}.btn.light{background:#fff;color:var(--navy)}.hero-links{position:absolute;bottom:0;left:0;right:0;background:#051f39dd;backdrop-filter:blur(8px)}.hero-links .container{display:grid;grid-template-columns:repeat(3,1fr)}.hero-links a{display:flex;gap:16px;padding:24px;border-right:1px solid #ffffff25}.hero-links b{color:var(--sky);font-size:12px}.hero-links span{font-weight:700}.hero-links small{display:block;font-weight:400;color:#b7cad8}.numbers{background:var(--blue);color:#fff}.numbers .container{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0}.numbers div{border-right:1px solid #ffffff35;text-align:center}.numbers div:last-child{border:0}.numbers strong{display:block;font:700 29px 'Libre Franklin'}.numbers span{font-size:13px;color:#d5e9f7}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section h2{font-size:42px;margin:10px 0}.more,.read{font-size:14px;font-weight:700;color:var(--blue)}.featured{display:grid;grid-template-columns:1.25fr 1fr;background:var(--soft);margin-bottom:35px}.featured-image img{height:100%;min-height:420px;object-fit:cover}.featured-copy{padding:55px}.tag{display:inline-block;color:var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.date{font-size:12px;color:var(--muted);margin:8px 0}.featured-copy h3{font-size:31px;margin:14px 0}.featured-copy>p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:#fff;border:1px solid #e1e8ec}.card img{height:210px;object-fit:cover}.card>div{padding:24px}.card h3{font-size:20px;margin:10px 0}.card p{font-size:14px;color:var(--muted);line-height:1.55}.listing{row-gap:40px}.programs{background:var(--navy);color:#fff}.programs h2{font-size:50px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid #ffffff25}.program-grid article{padding:40px 35px;border-right:1px solid #ffffff25}.program-grid article:first-child{padding-left:0}.program-grid article>span{color:var(--sky);font-size:12px}.program-grid h3{font-size:22px}.program-grid p{color:#bbccda}.program-grid a{color:#8ad8ec;font-weight:700;font-size:13px}.agenda{background:#f7f9fa}.event-list article{display:grid;grid-template-columns:95px 1fr 50px;gap:28px;align-items:center;padding:26px 0;border-top:1px solid #dce5ea}.event-date{width:72px;height:78px;background:var(--blue);color:#fff;display:grid;place-content:center;text-align:center}.event-date b{font:700 27px 'Libre Franklin';line-height:1}.event-date span{font-size:11px;letter-spacing:.12em}.event-meta{font-size:12px;color:var(--blue);text-transform:uppercase;letter-spacing:.06em}.event-list h3{font-size:21px;margin:5px 0}.event-list p{margin:0;color:var(--muted)}.round{display:grid;place-items:center;width:42px;height:42px;border:1px solid #bdcbd4;border-radius:50%}.cta{padding:100px 0;color:#fff;background:linear-gradient(110deg,#075ea8ed,#032b50c7),url('https://images.unsplash.com/photo-1541339907198-e08756dedf3f?auto=format&fit=crop&w=1800&q=85') center/cover}.cta h2{font-size:50px;margin:15px 0 30px}.page-hero{background:var(--navy);color:#fff;padding:90px 0}.page-hero h1{font-size:58px;margin:14px 0}.page-hero p{color:#c1d1dd;font-size:18px}.article header{background:var(--soft);padding:90px 0}.narrow{max-width:800px}.article h1{font-size:48px}.lead{font-size:21px;color:#53697a}.article-image{max-width:1100px;margin-top:55px}.article-image img{height:560px;object-fit:cover}.article-body{padding-top:60px;padding-bottom:90px;font-size:18px;line-height:2}.article-body h2{margin-top:50px}.pager{display:flex;gap:8px;justify-content:center;margin-top:40px}.pager li{list-style:none}.pager a,.pager span{display:block;padding:8px 14px;border:1px solid #dbe3e8}footer{background:#031b32;color:#b7cad8;padding-top:65px}.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:70px}.footer-brand b{color:#fff}.footer-grid h4{color:#fff}.footer-grid a{display:block;margin:8px 0}.copyright{margin-top:50px;padding:22px 0;border-top:1px solid #ffffff18;font-size:12px}.footer-brand small{color:#b7cad8}@media(max-width:800px){.topbar{display:none}.header{height:70px}.brand small{display:none}.brand-mark{width:38px;height:44px}.menu{display:block}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;gap:18px;box-shadow:0 10px 20px #0002}.nav nav.open{display:flex}.hero{height:700px}.hero-content{padding-bottom:150px}.hero-links .container{grid-template-columns:1fr}.hero-links a{padding:12px 20px}.hero-links small{display:none}.numbers .container{grid-template-columns:repeat(2,1fr);gap:25px}.section{padding:70px 0}.section-head{display:block}.more{display:block;margin-top:18px}.featured{grid-template-columns:1fr}.featured-image img{min-height:260px}.featured-copy{padding:28px}.cards,.program-grid,.footer-grid{grid-template-columns:1fr}.program-grid article{border-right:0;border-bottom:1px solid #ffffff25;padding:30px 0}.event-list article{grid-template-columns:72px 1fr}.round{display:none}.page-hero h1,.article h1{font-size:38px}.article-image img{height:300px}}
.topbar .container { justify-content:flex-end; }
/* Dynamic homepage slider */
.hero-slider { isolation:isolate; }
.hero-slides,.hero-slide { position:absolute; inset:0; }
.hero-slide { z-index:0; visibility:hidden; opacity:0; transition:opacity .7s ease,visibility .7s ease; }
.hero-slide.active { z-index:1; visibility:visible; opacity:1; }
.hero-slide>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.045); transition:transform 7s ease; }
.hero-slide.active>img { transform:scale(1); }
.hero-navigation { position:absolute; z-index:5; right:0; left:0; bottom:28px; display:flex; align-items:center; justify-content:flex-end; gap:10px; pointer-events:none; }
.hero-arrow,.hero-dot { pointer-events:auto; cursor:pointer; }
.hero-arrow { display:grid; width:42px; height:42px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(3,27,50,.42); font-size:26px; line-height:1; backdrop-filter:blur(7px); transition:.2s; }
.hero-arrow:hover { border-color:#fff; background:#fff; color:var(--navy); }
.hero-dots { display:flex; align-items:center; gap:7px; margin:0 4px; pointer-events:auto; }
.hero-dot { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.48); transition:width .25s ease,background .25s ease; }
.hero-dot.active { width:26px; background:#fff; }
.hero-slider .hero-links { z-index:4; }

@media(max-width:800px){
    .hero-navigation { bottom:22px; justify-content:center; }
    .hero-arrow { width:36px; height:36px; font-size:22px; }
    .hero-slide>img { object-position:center; }
}
@media(prefers-reduced-motion:reduce){
    .hero-slide,.hero-slide>img { transition:none !important; transform:none !important; }
}
/* Gallery and video showcase */
.media-showcase { overflow:hidden; background:linear-gradient(180deg,#f4f8fb 0%,#fff 100%); }
.media-section-head { margin-bottom:34px; }
.media-section-head p { margin:5px 0 0; color:var(--muted); }
.media-showcase-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:25px; }
.media-showcase-grid.single { grid-template-columns:1fr; }
.media-panel { overflow:hidden; border:1px solid #dfe8ee; background:#fff; box-shadow:0 18px 45px rgba(6,40,72,.09); }
.media-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; }
.media-panel-heading span { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.14em; }
.media-panel-heading h3 { margin:3px 0 0; color:var(--navy); font-size:21px; }
.media-panel-heading .media-total { padding:6px 10px; border-radius:99px; background:#edf7fc; letter-spacing:.04em; white-space:nowrap; }
.media-carousel { position:relative; overflow:hidden; background:#061f37; }
.media-slides { position:relative; height:430px; }
.media-slide { position:absolute; inset:0; visibility:hidden; margin:0; opacity:0; transition:opacity .55s ease,visibility .55s ease; }
.media-slide.active { visibility:visible; opacity:1; }
.gallery-panel .media-slide>img { width:100%; height:100%; object-fit:cover; transform:scale(1.035); transition:transform 6s ease; }
.gallery-panel .media-slide.active>img { transform:scale(1); }
.gallery-panel .media-slide::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(3,20,36,.94)); }
.gallery-panel figcaption { position:absolute; z-index:2; right:0; bottom:0; left:0; padding:32px 28px 54px; color:#fff; }
.gallery-panel figcaption span,.video-slide-copy>span { color:#73d1e9; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.gallery-panel figcaption h4 { max-width:560px; margin:5px 0; font:700 24px 'Libre Franklin',sans-serif; line-height:1.25; }
.gallery-panel figcaption p { display:-webkit-box; max-width:590px; margin:6px 0 0; overflow:hidden; color:#cedbe5; font-size:13px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.video-panel .media-slides { height:430px; }
.video-slide { display:flex; flex-direction:column; background:#071e34; }
.video-preview { position:relative; display:block; height:290px; overflow:hidden; background:linear-gradient(135deg,#0a3459,#061a2d); }
.video-preview>img { width:100%; height:100%; object-fit:cover; opacity:.78; transition:transform .35s ease,opacity .35s ease; }
.video-preview:hover>img { transform:scale(1.035); opacity:.92; }
.video-preview::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(3,19,33,.68)); }
.video-play { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:68px; height:68px; place-items:center; padding-left:4px; border:1px solid rgba(255,255,255,.65); border-radius:50%; color:#fff; background:rgba(7,94,168,.82); font-size:21px; transform:translate(-50%,-50%); box-shadow:0 12px 30px rgba(0,0,0,.25); transition:.25s; }
.video-preview:hover .video-play { color:var(--blue); background:#fff; transform:translate(-50%,-50%) scale(1.08); }
.video-preview-fallback { display:grid; height:100%; place-items:center; color:#7ccde3; font-size:80px; }
.video-slide-copy { flex:1; padding:20px 24px 52px; color:#fff; }
.video-slide-copy h4 { margin:5px 0 9px; overflow:hidden; font-size:20px; white-space:nowrap; text-overflow:ellipsis; }
.video-slide-copy a { color:#8bd9ed; font-size:12px; font-weight:700; }
.media-carousel-controls { position:absolute; z-index:5; right:20px; bottom:16px; display:flex; align-items:center; gap:8px; }
.media-carousel-controls>button { display:grid; width:32px; height:32px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(3,27,50,.7); font-size:20px; cursor:pointer; }
.media-carousel-dots { display:flex; gap:5px; }
.media-carousel-dots button { width:7px; height:7px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.42); cursor:pointer; transition:.2s; }
.media-carousel-dots button.active { width:20px; background:#fff; }

@media(max-width:900px){
    .media-showcase-grid { grid-template-columns:1fr; }
    .media-slides,.video-panel .media-slides { height:420px; }
}
@media(max-width:600px){
    .media-panel-heading { padding:18px; }
    .media-panel-heading h3 { font-size:18px; }
    .media-slides,.video-panel .media-slides { height:360px; }
    .gallery-panel figcaption { padding:25px 20px 50px; }
    .gallery-panel figcaption h4 { font-size:20px; }
    .video-preview { height:235px; }
    .video-slide-copy { padding:17px 20px 48px; }
}
@media(prefers-reduced-motion:reduce){
    .media-slide,.gallery-panel .media-slide>img,.video-preview>img { transition:none !important; transform:none !important; }
}
.gallery-image-fallback { display:grid; width:100%; height:100%; place-content:center; gap:8px; color:#8ad8ec; text-align:center; background:radial-gradient(circle at 70% 20%,rgba(67,180,216,.24),transparent 35%),linear-gradient(135deg,#0b426e,#041d34); }
.gallery-image-fallback span { font-size:62px; line-height:1; }
.gallery-image-fallback small { color:#c6dce8; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.agenda-empty { padding:48px 25px; border:1px dashed #cbd9e2; color:var(--muted); text-align:center; background:#fff; }
.agenda-empty>span { display:block; color:var(--blue); font-size:42px; line-height:1; }
.agenda-empty h3 { margin:12px 0 5px; color:var(--navy); }
.agenda-empty p { margin:0; }
.rich-article-body p { margin:0 0 1.35em; }
.rich-article-body h2 { margin:2em 0 .65em; color:var(--navy); font-size:32px; }
.rich-article-body h3 { margin:1.7em 0 .6em; color:var(--navy); font-size:25px; }
.rich-article-body h4 { margin:1.5em 0 .55em; color:var(--navy); font-size:20px; }
.rich-article-body ul,.rich-article-body ol { margin:1.2em 0; padding-left:1.5em; }
.rich-article-body li { margin:.4em 0; }
.rich-article-body blockquote { margin:1.6em 0; padding:18px 24px; border-left:5px solid var(--blue); color:#53697a; background:var(--soft); font-size:1.08em; }
.rich-article-body a { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.rich-article-body hr { margin:2.2em 0; border:0; border-top:1px solid #dbe3e8; }
/* Program showcase - pejabat article slider */
.programs{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        linear-gradient(115deg,rgba(3,27,50,.95) 0%,rgba(7,94,168,.62) 50%,rgba(3,27,50,.89) 100%),
        linear-gradient(180deg,rgba(6,40,72,.08) 0%,rgba(3,27,50,.55) 100%),
        url('../images/students-learning-library.png') center 46%/cover no-repeat;
}
.program-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}
.program-heading>div{max-width:760px}
.program-heading h2{margin:0 0 8px;color:#fff;font-size:38px}
.program-heading p{margin:0;color:#b9cbd7}
.program-controls{display:flex;flex:0 0 auto;align-items:center;gap:12px}
.program-controls button{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04);font-size:18px;cursor:pointer;transition:.2s}
.program-controls button:hover:not(:disabled){border-color:var(--blue);color:#fff;background:var(--blue)}
.program-controls button:disabled{cursor:default;opacity:.35}
.program-controls span{min-width:54px;color:#9eb5c4;font-size:11px;text-align:center}
.program-controls b{color:#fff;font-size:14px}
.program-slider-window{position:relative}
.program-page{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;visibility:hidden;opacity:0;transform:translateX(26px);transition:opacity .42s ease,transform .42s ease,visibility .42s}
.program-page.active{position:relative;visibility:visible;opacity:1;transform:translateX(0)}
.program-card{position:relative;display:flex;min-height:0!important;aspect-ratio:auto!important;overflow:hidden;flex-direction:column;padding:0!important;border:1px solid #dce3e7!important;background:#fff!important;box-shadow:none!important;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.program-card::after{display:none!important}
.program-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;box-shadow:none;transition:transform .45s ease}
.program-card-shade{display:none}
.program-card-copy{position:static;display:block;min-height:178px;padding:28px 24px 30px;color:var(--navy);transform:none!important;background:#fff}
.program-card-copy small{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em;line-height:1.45;text-transform:uppercase}
.program-card-copy h3{margin:12px 0 0;color:var(--navy);font-size:21px;line-height:1.22}
.program-card-copy>span{display:block;width:34px;height:2px;margin-top:22px;background:#d8e5ec}
.program-card:hover{border-color:#b8cad5!important;box-shadow:0 14px 34px rgba(6,40,72,.1)!important;transform:translateY(-4px)}
.program-card:hover img{filter:none;transform:scale(1.025)}
.program-dots{display:flex;justify-content:center;gap:7px;margin-top:28px}
.program-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.35);cursor:pointer;transition:width .25s,background .25s}
.program-dots button.active{width:28px;background:var(--sky)}
.program-empty{padding:55px 25px;border:1px dashed #c5d5df;color:var(--muted);text-align:center;background:#fff}
.program-empty>span{display:block;color:var(--blue);font-size:38px}
.program-empty h3{margin:9px 0 3px;color:var(--navy)}
.program-empty p{margin:0}
@media(max-width:900px){
    .program-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
}
@media(max-width:600px){
    .program-heading{display:block;margin-bottom:26px}
    .program-heading h2{font-size:32px}
    .program-controls{justify-content:flex-start;margin-top:20px}
    .program-page{grid-template-columns:1fr;gap:20px}
    .program-card{max-width:420px;margin:0 auto;width:100%}
    .program-card-copy{min-height:150px;padding:24px 21px 26px}
    .program-card-copy h3{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
    .program-page,.program-card,.program-card img,.program-controls button,.program-dots button{transition:none!important;transform:none!important}
}
/* Catalog-style hover mega menu */
.header{position:sticky;top:0;z-index:40}
.primary-nav{display:block!important;align-self:stretch}
.nav-items{display:flex;height:100%;align-items:stretch;gap:18px}
.nav-item{display:flex;align-items:stretch}
.nav-link-row{display:flex;height:100%;align-items:center}
.nav-parent{position:relative;display:flex;height:100%;align-items:center;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}
.nav-parent::after{content:'';position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s}
.nav-parent::before{content:'';position:absolute;z-index:3;bottom:-1px;left:50%;border-right:8px solid transparent;border-bottom:10px solid #fff;border-left:8px solid transparent;opacity:0;transform:translate(-50%,8px);transition:opacity .18s,transform .18s}
.nav-item:hover .nav-parent::after,.nav-item:focus-within .nav-parent::after{transform:scaleX(1)}
.nav-item:hover .nav-parent::before,.nav-item:focus-within .nav-parent::before{opacity:1;transform:translate(-50%,0)}
.submenu-toggle{display:none}
.nav-mega-panel{position:absolute;top:100%;right:0;left:0;padding:22px 0 30px;background:rgba(3,20,36,.42);box-shadow:0 20px 45px rgba(3,20,36,.22);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nav-mega-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;background:#fff;box-shadow:0 10px 28px rgba(3,20,36,.2)}
.nav-mega-group{min-height:245px;padding:24px 24px 26px;border-right:1px solid #e6ebee}
.nav-mega-group:last-child{border-right:0}
.nav-mega-group h3{margin:0 0 12px;color:var(--blue);font:700 14px 'Libre Franklin',sans-serif}
.nav-mega-group a{display:block;padding:4px 0;color:#3f4d59;font-size:12px;line-height:1.45;transition:color .15s,transform .15s}
.nav-mega-group a:hover{color:var(--blue);transform:translateX(3px)}
@media(min-width:801px){
    .nav-item:hover .nav-mega-panel,.nav-item:focus-within .nav-mega-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
}
@media(max-width:1100px) and (min-width:801px){
    .nav-items{gap:11px}
    .nav-parent{font-size:11px}
    .brand small{max-width:195px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .nav-mega-group{padding:21px 18px}
}
@media(max-width:800px){
    .mobile-menu-trigger{display:block}
    .primary-nav{position:absolute;top:70px;right:0;left:0;display:none!important;max-height:calc(100vh - 70px);overflow-y:auto;background:#fff;box-shadow:0 18px 35px rgba(3,27,50,.16)}
    .primary-nav.open{display:block!important}
    .nav-items{display:block;height:auto;padding:10px 20px 22px}
    .nav-item{display:block;border-bottom:1px solid #e1e8ec}
    .nav-link-row{height:auto}
    .nav-parent{flex:1;height:auto;padding:14px 0;font-size:14px}
    .nav-parent::after,.nav-parent::before{display:none}
    .submenu-toggle{display:grid;width:38px;height:38px;place-items:center;padding:0;border:0;color:var(--blue);background:#edf6fa;font-size:19px;cursor:pointer}
    .nav-mega-panel{position:static;display:none!important;padding:0 0 16px;background:#fff;box-shadow:none;visibility:hidden;opacity:0;pointer-events:none;transform:none}
    .nav-item.submenu-open .nav-mega-panel{display:block!important;visibility:visible;opacity:1;pointer-events:auto}
    .nav-mega-groups{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dce5ea;border-left:1px solid #dce5ea;box-shadow:none}
    .nav-mega-group{min-height:0;padding:17px 15px;border-right:1px solid #dce5ea;border-bottom:1px solid #dce5ea}
    .nav-mega-group h3{font-size:13px}
    .nav-mega-group a{font-size:11px}
}
@media(max-width:480px){
    .nav-mega-groups{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .nav-parent::after,.nav-parent::before,.nav-mega-panel,.nav-mega-group a{transition:none!important;transform:none!important}
}

/* Enhanced navigation interactions */
@media(min-width:801px){
.header{background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(3,27,50,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-items{gap:5px}.nav-link-row{position:relative;padding:0 2px}
.nav-parent{height:auto;min-height:40px;padding:0 12px;border-radius:12px;transition:color .22s ease,background-color .22s ease,transform .22s ease,box-shadow .22s ease}
.nav-parent::after{right:12px;bottom:4px;left:12px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--blue),#49bdd8);transform:scaleX(0);transform-origin:center}
.nav-parent::before{bottom:-16px;border-right-width:9px;border-bottom-width:11px;border-left-width:9px;filter:drop-shadow(0 -3px 3px rgba(3,27,50,.06))}
.nav-item:hover .nav-parent,.nav-item:focus-within .nav-parent{color:var(--blue);background:linear-gradient(135deg,rgba(0,107,153,.1),rgba(73,189,216,.07));box-shadow:inset 0 0 0 1px rgba(0,107,153,.08),0 7px 16px rgba(0,107,153,.08);transform:translateY(-1px)}
.nav-mega-panel{padding:24px 0 36px;background:linear-gradient(135deg,rgba(3,20,36,.68),rgba(10,45,68,.48));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(-14px) scale(.985);transform-origin:top center;transition:opacity .24s ease,transform .3s cubic-bezier(.2,.75,.25,1),visibility .24s}
.nav-item:hover .nav-mega-panel,.nav-item:focus-within .nav-mega-panel{transform:translateY(0) scale(1)}
.nav-mega-groups{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 24px 60px rgba(1,20,36,.28),0 4px 14px rgba(1,20,36,.12)}
.nav-mega-groups::before{content:'';position:absolute;z-index:2;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--blue),#40bad8,#76c9b7,var(--blue));background-size:200% 100%;animation:megaAccent 5s linear infinite}
.nav-mega-group{position:relative;padding-top:29px;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .32s cubic-bezier(.2,.75,.25,1),background-color .2s ease}
.nav-item:hover .nav-mega-group,.nav-item:focus-within .nav-mega-group{opacity:1;transform:translateY(0)}
.nav-item:hover .nav-mega-group:nth-child(1),.nav-item:focus-within .nav-mega-group:nth-child(1){transition-delay:.04s}
.nav-item:hover .nav-mega-group:nth-child(2),.nav-item:focus-within .nav-mega-group:nth-child(2){transition-delay:.08s}
.nav-item:hover .nav-mega-group:nth-child(3),.nav-item:focus-within .nav-mega-group:nth-child(3){transition-delay:.12s}
.nav-item:hover .nav-mega-group:nth-child(4),.nav-item:focus-within .nav-mega-group:nth-child(4){transition-delay:.16s}
.nav-item:hover .nav-mega-group:nth-child(5),.nav-item:focus-within .nav-mega-group:nth-child(5){transition-delay:.2s}
.nav-mega-group:hover{background:linear-gradient(180deg,#fff 0%,#f1f9fc 100%)}
.nav-mega-group h3{position:relative;padding-bottom:11px;font-size:14px;letter-spacing:.01em}
.nav-mega-group h3::after{content:'';position:absolute;bottom:0;left:0;width:32px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--blue),#55c5dc);transition:width .22s ease}
.nav-mega-group:hover h3::after{width:54px}
.nav-mega-group a{position:relative;margin:1px -9px;padding:7px 28px 7px 20px;overflow:hidden;border-radius:8px;transition:color .18s ease,background-color .18s ease,transform .18s ease}
.nav-mega-group a::before{content:'>';position:absolute;left:7px;color:#55b7cf;font-size:13px;line-height:1;opacity:0;transform:translateX(-6px);transition:opacity .18s ease,transform .18s ease}
.nav-mega-group a::after{content:'';position:absolute;right:10px;width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;opacity:0;transform:translateX(-5px) rotate(45deg);transition:opacity .18s ease,transform .18s ease}
.nav-mega-group a:hover,.nav-mega-group a:focus-visible{color:var(--blue);background:rgba(0,107,153,.085);outline:none;transform:translateX(4px)}
.nav-mega-group a:hover::before,.nav-mega-group a:focus-visible::before{opacity:1;transform:translateX(0)}
.nav-mega-group a:hover::after,.nav-mega-group a:focus-visible::after{opacity:1;transform:translateX(0) rotate(45deg)}
}
@keyframes megaAccent{to{background-position:200% 0}}
@media(max-width:800px){
.mobile-menu-trigger{border-radius:10px;transition:color .2s,background-color .2s,transform .2s}
.mobile-menu-trigger:hover,.mobile-menu-trigger:focus-visible{color:var(--blue);background:#edf7fa;transform:scale(1.04)}
.submenu-toggle{border-radius:9px;transition:color .2s,background-color .2s,transform .25s ease}
.nav-item.submenu-open .submenu-toggle{color:#fff;background:var(--blue);transform:rotate(180deg)}
.nav-item.submenu-open .nav-mega-panel{animation:mobileMegaOpen .28s ease both}
.nav-mega-group h3{position:relative;padding-bottom:9px}
.nav-mega-group h3::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;border-radius:99px;background:var(--blue)}
.nav-mega-group a{margin:1px -7px;padding:7px;border-radius:7px}
.nav-mega-group a:hover,.nav-mega-group a:focus-visible{color:var(--blue);background:#edf7fa;outline:none}
}
@keyframes mobileMegaOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.nav-mega-groups::before{animation:none!important}.nav-mega-group,.nav-item.submenu-open .nav-mega-panel{animation:none!important;transition:none!important}}

/* Dynamic database-driven submenu */
.nav-mega-links{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.nav-mega-links .nav-mega-group{min-height:0;padding:22px 24px}
.nav-mega-links .nav-mega-group>a{font-weight:600}
@media(max-width:800px){.nav-mega-links{grid-template-columns:1fr}.nav-mega-links .nav-mega-group{padding:12px 15px}}
/* Third-level navigation */
.nav-mega-links .nav-submenu-parent{color:var(--blue);font:700 14px 'Libre Franklin',sans-serif}
.nav-third-level{margin-top:8px;padding-top:8px;border-top:1px solid #e4ebef}
.nav-third-level a{font-size:12px;font-weight:500}
@media(max-width:800px){.nav-mega-links .nav-submenu-parent{font-size:13px}.nav-third-level{margin-top:5px;padding-top:5px;padding-left:10px}}/* Uploaded site logo */
.brand-mark.brand-mark-logo{overflow:hidden;background:transparent;clip-path:none}
.brand-mark.brand-mark-logo img{width:100%;height:100%;object-fit:contain}

/* Public event cards and detail */
/* Homepage agenda cards */
.home-agenda{padding:76px 0 68px;background:#f2f6f9}
.home-agenda-heading{margin-bottom:26px}
.home-agenda-heading h2{margin:0;color:#080f18;font-size:clamp(32px,4vw,42px);letter-spacing:-.035em}
.home-agenda-heading h2::after{content:'';display:block;width:44px;height:4px;margin-top:17px;border-radius:99px;background:var(--blue)}
.home-agenda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-agenda-card{position:relative;display:flex;min-height:220px;flex-direction:column;padding:24px 18px 14px;border:1px solid #edf1f4;border-radius:11px;background:#fff;box-shadow:0 8px 22px rgba(16,35,56,.13);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-agenda-card:hover{z-index:1;transform:translateY(-4px);border-color:#cbdce7;box-shadow:0 15px 32px rgba(16,35,56,.17)}
.home-agenda-card:has(.event-card-link:focus-visible){outline:3px solid rgba(7,94,168,.25);outline-offset:3px}
.home-agenda-date{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}
.home-agenda-date b{color:#003775;font:800 38px/1 'Libre Franklin',sans-serif;letter-spacing:-.04em}
.home-agenda-date span{color:#f5a000;font-size:22px;font-weight:500;line-height:1}
.home-agenda-card h3{margin:0;color:#050b12;font:700 15px/1.4 'DM Sans',sans-serif}
.home-agenda-location{margin:auto 0 0;color:#0059a7;font-size:12px;line-height:1.55}
.home-agenda-actions{display:flex;justify-content:flex-end;margin-top:38px}
.home-agenda-actions a{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:2px solid #0864b8;border-radius:6px;color:#0059a7;background:#fff;font-size:12px;font-weight:700;transition:color .2s ease,background .2s ease,transform .2s ease}
.home-agenda-actions a:hover{color:#fff;background:#0864b8;transform:translateY(-2px)}
@media(max-width:850px){.home-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-agenda{padding:58px 0}.home-agenda-grid{grid-template-columns:1fr}.home-agenda-card{min-height:190px}.home-agenda-actions{margin-top:28px}}

/* Complete agenda page: three cards per row */
.agenda-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.agenda-page-card{position:relative;display:flex;min-height:220px;flex-direction:column;padding:24px 18px 14px;border:1px solid #edf1f4;border-radius:11px;background:#fff;box-shadow:0 8px 22px rgba(16,35,56,.13);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.agenda-page-card:hover{z-index:1;transform:translateY(-4px);border-color:#cbdce7;box-shadow:0 15px 32px rgba(16,35,56,.17)}
.agenda-page-card:has(.event-card-link:focus-visible){outline:3px solid rgba(7,94,168,.25);outline-offset:3px}
.agenda-page-date{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}
.agenda-page-date b{color:#003775;font:800 38px/1 'Libre Franklin',sans-serif;letter-spacing:-.04em}
.agenda-page-date span{color:#f5a000;font-size:22px;font-weight:500;line-height:1}
.agenda-page-card h3{margin:0;color:#050b12;font:700 15px/1.4 'DM Sans',sans-serif}
.agenda-page-location{margin:auto 0 0;color:#0059a7;font-size:12px;line-height:1.55}
@media(max-width:850px){.agenda-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.agenda-page-grid{grid-template-columns:1fr}.agenda-page-card{min-height:190px}}

.event-list .event-item{position:relative;margin-bottom:10px;padding:25px 22px;border:1px solid transparent;border-radius:14px;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.event-list .event-item:hover{transform:translateY(-3px);border-color:#cfe0ea;box-shadow:0 14px 30px rgba(3,43,80,.09)}
.event-list .event-item:has(.event-card-link:focus-visible){outline:3px solid rgba(7,94,168,.25);outline-offset:3px}
.event-card-link{position:absolute;z-index:3;inset:0;border-radius:inherit}
.event-list .event-content{min-width:0}
.event-list .event-meta{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.event-list .event-content h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.event-list .event-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:900px;line-height:1.65}
.event-list .event-item .round{transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.event-list .event-item:hover .round{transform:translateX(3px);border-color:var(--blue);color:#fff;background:var(--blue)}

.event-detail-hero{position:relative;overflow:hidden;padding:82px 0 88px;color:#fff;background:radial-gradient(circle at 85% 5%,rgba(67,180,216,.28),transparent 32%),linear-gradient(125deg,#031b32,#075ea8)}
.event-detail-hero::after{content:'';position:absolute;right:-90px;bottom:-180px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}
.event-detail-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:145px minmax(0,850px);gap:38px;align-items:center}
.event-detail-date{width:132px;height:150px;display:grid;place-content:center;text-align:center;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(255,255,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.18),0 18px 35px rgba(0,0,0,.15);backdrop-filter:blur(10px)}
.event-detail-date span{color:#9de3f4;font-size:11px;font-weight:800;letter-spacing:.18em}
.event-detail-date b{margin:3px 0;color:#fff;font:800 54px/1 'Libre Franklin',sans-serif}
.event-detail-date small{color:#d8eaf4;font-size:12px;font-weight:700;letter-spacing:.12em}
.event-back{display:inline-block;margin-bottom:20px;color:#badbea;font-size:12px;font-weight:600}
.event-back:hover{color:#fff}
.event-detail-eyebrow,.event-detail-label{color:#70cce5;font-size:10px;font-weight:800;letter-spacing:.18em}
.event-detail-heading h1{max-width:850px;margin:10px 0 14px;font-size:clamp(36px,5vw,62px);letter-spacing:-.035em}
.event-detail-heading p{margin:0;color:#d2e6f1;font-size:14px}
.event-detail-heading p span{margin-right:8px;color:#67d1e9;font-size:9px}
.event-detail-section{padding:75px 0 95px;background:linear-gradient(180deg,#f3f7f9,#fff)}
.event-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}
.event-detail-main,.event-info-card,.event-registration-card{border:1px solid #e0e9ee;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(3,43,80,.07)}
.event-detail-main{min-height:440px;padding:42px 45px}
.event-detail-label{display:block;color:var(--blue)}
.event-detail-main h2{margin:8px 0 0;color:var(--navy);font-size:clamp(26px,3vw,38px)}
.event-detail-divider{width:100%;height:1px;margin:30px 0;background:linear-gradient(90deg,#dce7ed,transparent)}
.event-description{margin-top:12px;color:#52677a;font-size:16px;line-height:1.9}
.event-description p{margin:0}
.event-detail-side{display:grid;gap:20px}
.event-info-card{padding:27px}
.event-info-card-head{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid #e8eef2}
.event-info-card-head>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--blue);font-size:20px}
.event-info-card-head small{display:block;color:#8294a3;font-size:9px;font-weight:800;letter-spacing:.15em}
.event-info-card-head h3{margin:2px 0 0;color:var(--navy);font-size:18px}
.event-info-list{margin:0}
.event-info-list>div{padding:17px 0;border-bottom:1px solid #edf1f4}
.event-info-list>div:last-child{padding-bottom:0;border:0}
.event-info-list dt{margin-bottom:3px;color:#8494a3;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.event-info-list dd{margin:0;color:#253e55;font-size:13px;font-weight:650;line-height:1.55}
.event-registration-card{padding:28px;color:#fff;border:0;background:linear-gradient(145deg,#075ea8,#043a6a);box-shadow:0 16px 35px rgba(7,94,168,.2)}
.event-registration-card>span{color:#8bd9eb;font-size:9px;font-weight:800;letter-spacing:.17em}
.event-registration-card h3{margin:7px 0 8px;font-size:21px}
.event-registration-card p{margin:0 0 18px;color:#d4e7f1;font-size:13px;line-height:1.6}
.event-register-button{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:9px;color:var(--navy);background:#fff;font-size:12px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}
.event-register-button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.18)}
.event-registration-url{display:block;overflow:hidden;margin-top:11px;color:#9bcfe1;font-size:9px;white-space:nowrap;text-overflow:ellipsis}
.event-registration-unavailable{display:block!important;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:#c3dce8!important;background:rgba(255,255,255,.08);font-size:11px!important;letter-spacing:0!important;text-align:center}
@media(max-width:850px){.event-detail-hero{padding:62px 0}.event-detail-hero-grid{grid-template-columns:105px 1fr;gap:25px}.event-detail-date{width:100px;height:116px}.event-detail-date b{font-size:40px}.event-detail-layout{grid-template-columns:1fr}.event-detail-side{grid-template-columns:1fr 1fr}.event-list .event-item{padding:21px 16px}}
@media(max-width:600px){.event-detail-hero-grid{grid-template-columns:1fr}.event-detail-date{display:none}.event-detail-heading h1{font-size:34px}.event-detail-section{padding:45px 0 65px}.event-detail-main{min-height:0;padding:28px 24px}.event-detail-side{grid-template-columns:1fr}.event-list .event-item{grid-template-columns:72px 1fr}.event-list .event-item .round{display:none}}
.topbar .pmb-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-left:0;padding:5px 8px 5px 16px;border:1px solid rgba(130,224,255,.65);border-radius:999px;color:#fff;background:linear-gradient(135deg,#0a75c7 0%,#0799bd 100%);box-shadow:0 5px 15px rgba(0,116,173,.32),inset 0 1px 0 rgba(255,255,255,.22);font-size:11px;font-weight:700;letter-spacing:.025em;line-height:1.4;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.topbar .pmb-button::after{content:'\2197';display:grid;width:21px;height:21px;place-items:center;border-radius:50%;color:#043858;background:rgba(255,255,255,.92);font-size:12px;font-weight:800;transition:transform .2s ease}
.topbar .pmb-button:hover{color:#fff;filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,137,193,.42),inset 0 1px 0 rgba(255,255,255,.3)}
.topbar .pmb-button:hover::after{transform:translate(2px,-2px)}
.topbar .pmb-button:active{transform:translateY(0)}
.topbar .pmb-button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Header and footer identity from settings.id = 1 */
.brand-copy{display:flex;min-width:0;align-items:center}
.brand-copy b{max-width:310px;font-size:18px;line-height:1.15}
.brand-copy.brand-copy-pmb{flex-direction:column;align-items:flex-start;gap:2px}
.brand .brand-copy-pmb small{display:block;max-width:none;margin-top:0;white-space:normal;font-size:11px;line-height:1.3;letter-spacing:0;color:var(--muted)}
.footer-brand .brand-copy-pmb small{color:#b7cad8}
@media(max-width:1100px) and (min-width:801px){.brand-copy b{max-width:210px;font-size:16px}}
@media(max-width:800px){.brand-copy b{max-width:min(240px,calc(100vw - 145px));font-size:16px;line-height:1.2}}

/* Registration and login shortcuts */
.topbar .container{height:auto;min-height:48px;padding-top:6px;padding-bottom:6px}
.topbar-actions{display:flex;align-items:center;gap:10px}
.topbar .pmb-button{min-height:34px;min-width:100px;font-size:12px}
.topbar .login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;min-width:100px;margin-left:0;padding:6px 16px;border:1px solid #c7e5f5;border-radius:999px;background:linear-gradient(135deg,#fff,#e2f3fc);color:#063859;box-shadow:0 4px 12px #0002,inset 0 1px 0 #fff;font-size:12px;font-weight:700;line-height:1.4;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.login-button svg{width:17px;height:17px;flex-shrink:0}
.topbar .login-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 7px 18px #0099c233}
.topbar .login-button:active{transform:translateY(0)}
.topbar .login-button:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px}
@media(max-width:800px){.topbar{display:block}.topbar .container{min-height:46px}.topbar-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.topbar .pmb-button,.topbar .pmb-button::after,.topbar .login-button{transition:none}.topbar .pmb-button:hover,.topbar .pmb-button:hover::after,.topbar .login-button:hover{transform:none}}
/* New student registration */
.registration-section{padding:70px 0;background:radial-gradient(circle at 10% 10%,#e0f5fc,transparent 45%),#f3f7fb}
.registration-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.registration-intro{padding-top:40px}.registration-intro h1{font-size:clamp(32px,4vw,48px);color:var(--navy);line-height:1.2}.registration-intro p{color:var(--muted);margin-bottom:28px}
.registration-card{padding:34px;background:#fff;border:1px solid #dfebf3;border-radius:24px;box-shadow:0 20px 60px #06284810}.registration-card h2{font-size:25px;margin:0 0 8px}.registration-card>p{color:var(--muted);font-size:14px}
.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.registration-fields label{font-size:13px;font-weight:700;min-width:0}.registration-wide{grid-column:1/-1}.registration-fields input,.registration-fields select{display:block;width:100%;min-height:48px;margin-top:7px;padding:11px 13px;border:1px solid #d6e2ec;border-radius:11px;background:#fafcfe;color:var(--ink);font:14px 'DM Sans',sans-serif}.registration-fields input:focus,.registration-fields select:focus{outline:2px solid #43b4d850;border-color:#0786bb;background:#fff}.registration-fields small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.registration-submit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 20px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#075ea8,#0799bd);box-shadow:0 6px 18px #075ea825;font:700 15px 'DM Sans',sans-serif;cursor:pointer}.registration-submit:hover{filter:brightness(1.08)}.registration-submit:focus-visible{outline:3px solid #43b4d8;outline-offset:3px}.registration-submit:disabled{opacity:.55;cursor:not-allowed}.registration-note{margin:24px 0 14px;font-size:13px;color:var(--muted)}.registration-errors{padding:16px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#9f1239;font-size:13px}.registration-errors ul{margin-bottom:0;padding-left:20px}.registration-success{padding:20px;border:1px solid #a7e0cc;border-radius:16px;background:#effbf6}.registration-success p{font-size:14px}.registration-success dt{font-size:12px;color:#466759}.registration-success dd{margin:2px 0 16px;font-size:24px;font-weight:700;letter-spacing:.04em;overflow-wrap:anywhere}
@media(max-width:800px){.registration-section{padding:32px 0}.registration-layout{grid-template-columns:1fr;gap:24px}.registration-intro{padding-top:0}.registration-intro h1{margin:12px 0}.registration-card{padding:24px}}
.program-selection-form .registration-submit{margin-top:16px;gap:16px}
.program-selection-form + h3{margin-top:28px}
.program-selection-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin:14px 0 16px;table-layout:fixed;border:1px solid #dce8f1;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 18px #163b5b08}
.program-selection-table th,.program-selection-table td{padding:17px 20px;text-align:left;overflow-wrap:anywhere;border:0}
.program-selection-table th{background:#edf6fc;color:#235777;font-size:12px;font-weight:700;letter-spacing:.25px;border-bottom:1px solid #dce8f1}
.program-selection-table td{color:#173d59;line-height:1.7;font-weight:500;transition:background .15s ease}
.program-selection-table tbody tr+tr td{border-top:1px solid #edf2f6}
.program-selection-table tbody tr:hover td{background:#f7fbfe}
.program-selection-table .program-selection-action{width:86px;text-align:center;padding:12px}
.program-selection-table td:first-child{border-left:3px solid #44aec5;padding-left:17px}
.program-selection-action form{margin:0}
.program-remove{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:9px;border:1px solid #dceaf3;border-radius:11px;background:#f0f7fc;color:#087fab;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.program-remove:hover{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.program-remove:focus-visible{outline:2px solid #0786bb;outline-offset:3px}
.program-remove:disabled{opacity:.4;cursor:not-allowed}
.program-selection-table .program-selection-empty{color:var(--muted);font-weight:400;border-left-color:transparent}
[data-program-autosave]{display:block;line-height:1.7;margin-top:10px}
@media(max-width:480px){.program-selection-table th,.program-selection-table td{padding:14px 12px}.program-selection-table td:first-child{padding-left:12px}.program-selection-table .program-selection-action{width:68px;padding:10px}}
@media(max-width:480px){.registration-fields{grid-template-columns:1fr}.registration-wide{grid-column:auto}}
.applicant-continue{margin-top:24px}.applicant-section-title{font-size:18px;margin:12px 0 0;padding-bottom:10px;border-bottom:1px solid #dfeaf2;color:var(--navy)}.applicant-logout{margin-top:22px;text-align:center}.applicant-logout button{border:0;background:none;color:var(--blue);font:600 13px 'DM Sans',sans-serif;cursor:pointer;text-decoration:underline}

.registration-fields [aria-invalid=true]{border-color:#be123c}.registration-fields .applicant-field-error{color:#9f1239}
.district-autocomplete{display:block;position:relative}.district-results{position:absolute;top:55px;left:0;right:0;z-index:20;max-height:230px;overflow:auto;border:1px solid #b7c4d2;background:#fff;box-shadow:0 6px 16px #0002;font-size:12px;font-weight:400}.district-results[hidden]{display:none}.district-results [role=option]{display:block;padding:7px 9px;cursor:pointer;overflow-wrap:anywhere}.district-results [role=option]:nth-child(even){background:#f0f2f5}.district-results [role=option]:hover,.district-results [aria-selected=true]{background:#102765;color:#fff}
