:root{--sis-blue:#073b82;--sis-navy:#061d45;--sis-gold:#c99118;--sis-teal:#0f9b9f;--sis-soft:#f4f7fb;--sis-text:#10223f;--sis-border:#dce5f1;--radius:18px;--shadow:0 18px 45px rgba(6,29,69,.12)}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--sis-text);background:#fff}.public-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(6,29,69,.08)}.brand-logo{width:54px;height:54px;object-fit:contain}.navbar-brand strong{display:block;color:var(--sis-blue);font-size:1.1rem;line-height:1}.navbar-brand small{display:block;color:var(--sis-navy);font-size:.78rem}.nav-link{font-weight:650;color:#19304f!important}.nav-link:hover{color:var(--sis-gold)!important}.btn-gold{background:linear-gradient(135deg,#d8a62a,#b9840d);color:#fff;border:0;box-shadow:0 10px 25px rgba(201,145,24,.28)}.btn-primary{background:var(--sis-blue);border-color:var(--sis-blue)}.btn-teal{background:var(--sis-teal);border-color:var(--sis-teal);color:#fff}.hero{position:relative;min-height:620px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(6,29,69,.88),rgba(6,29,69,.36)),url('../img/hero-campus.svg');background-size:cover;background-position:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -8% -18% -8%;height:170px;background:#fff;border-radius:50% 50% 0 0}.hero .container{position:relative;z-index:2}.hero h1{font-size:clamp(2.5rem,5vw,5.2rem);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:.95}.hero p{font-size:1.25rem;color:rgba(255,255,255,.92)}.section-title{font-weight:800;color:var(--sis-navy);letter-spacing:-.03em}.quick-card,.program-card,.news-card,.info-card{background:#fff;border:1px solid var(--sis-border);border-radius:var(--radius);box-shadow:0 12px 30px rgba(6,29,69,.07)}.quick-card{padding:20px;height:100%;transition:.2s}.quick-card:hover,.program-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.quick-icon{width:48px;height:48px;border-radius:14px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-weight:800}.program-card{overflow:hidden;height:100%;transition:.2s}.program-img{height:170px;background:linear-gradient(135deg,#dfe8f5,#fff);position:relative;overflow:hidden}.program-img img{width:100%;height:100%;object-fit:cover}.program-body{padding:20px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef8f8;color:var(--sis-teal);padding:6px 12px;font-size:.78rem;font-weight:700}.cta-band{background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));border-radius:28px;color:#fff;padding:42px;box-shadow:var(--shadow)}.page-hero{background:linear-gradient(135deg,var(--sis-blue),#0e5bbb);color:#fff;padding:80px 0 54px}.content-page{font-size:1.06rem;line-height:1.8}.public-footer{background:var(--sis-navy);color:#fff}.public-footer a{display:block;color:rgba(255,255,255,.76);text-decoration:none;margin:.38rem 0}.footer-logo{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}.footer-bottom{background:rgba(0,0,0,.18);color:rgba(255,255,255,.75)}.ai-float{position:fixed;right:22px;bottom:22px;z-index:1040;border:0;border-radius:999px;background:linear-gradient(135deg,var(--sis-teal),#086f7b);color:#fff;padding:14px 20px;font-weight:800;box-shadow:0 16px 40px rgba(15,155,159,.35)}.ai-modal{border:0;border-radius:22px;overflow:hidden}.ai-modal .modal-header{background:var(--sis-teal);color:#fff}.ai-messages{height:310px;overflow:auto;background:var(--sis-soft);border-radius:16px;padding:14px}.ai-msg{max-width:86%;padding:10px 12px;border-radius:14px;margin-bottom:10px;font-size:.94rem}.ai-msg.bot{background:#fff;border:1px solid var(--sis-border)}.ai-msg.user{margin-left:auto;background:var(--sis-blue);color:#fff}.admin-body{background:#f3f6fb;min-height:100vh}.admin-login{min-height:100vh;background:radial-gradient(circle at top left,#e8f1ff 0,#fff 42%,#f5f7fb 100%);display:flex;align-items:center}.login-card{background:#fff;border:1px solid var(--sis-border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.login-brand{background:linear-gradient(180deg,#edf5ff,#fff);display:flex;align-items:center;justify-content:center;text-align:center;padding:48px}.login-brand img{width:140px}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:270px;background:linear-gradient(180deg,var(--sis-navy),#063a7d);color:#fff;position:fixed;inset:0 auto 0 0;padding:22px 16px;z-index:10}.admin-sidebar .logo{display:flex;gap:12px;align-items:center;margin-bottom:24px}.admin-sidebar img{width:46px;height:46px;background:#fff;border-radius:50%;padding:3px}.admin-sidebar a{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.83);text-decoration:none;padding:12px 14px;border-radius:13px;font-weight:650;margin:4px 0}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.12);color:#fff}.admin-main{margin-left:270px;flex:1}.admin-topbar{height:74px;background:#fff;border-bottom:1px solid var(--sis-border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.admin-content{padding:26px}.stat-card,.admin-card{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06)}.stat-card{padding:22px}.stat-card h3{font-weight:850;margin:8px 0 0}.table-card{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06);overflow:hidden}.table th{font-size:.78rem;text-transform:uppercase;color:#62708a;background:#f7f9fd}.badge-soft{background:#e8f7ee;color:#18894b;border-radius:999px;padding:5px 10px;font-weight:700;font-size:.76rem}.badge-draft{background:#fff5d6;color:#a16b00}.form-control,.form-select{border-radius:12px;border-color:#d6e1ef;padding:.75rem .9rem}.btn{border-radius:12px;font-weight:700}.upload-tile{border:2px dashed #b9c8dc;border-radius:18px;min-height:160px;display:grid;place-items:center;background:#fbfdff;text-align:center;color:#65758e}.thumb{height:150px;background:#dfe8f5;border-radius:16px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.small-muted{color:#687992;font-size:.87rem}@media(max-width:992px){.admin-sidebar{position:static;width:100%;height:auto}.admin-shell{display:block}.admin-main{margin-left:0}.hero{min-height:540px}.quick-card{margin-bottom:12px}.cta-band{padding:28px}.admin-content{padding:18px}}
.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:#dbe6f5}.timeline-item{position:relative;margin-bottom:16px}.timeline-item:before{content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--sis-blue);box-shadow:0 0 0 4px #eef5ff}.status-new{background:#e8f1ff;color:#0d4ca3}.status-in_progress,.status-scheduled{background:#fff5d6;color:#a16b00}.status-responded,.status-completed{background:#e8f7ee;color:#18894b}.status-closed,.status-cancelled{background:#f4e8e8;color:#a33}.action-bar{display:flex;gap:8px;flex-wrap:wrap}.form-section{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06);padding:24px}.export-chip{border:1px solid var(--sis-border);background:#fff;border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--sis-blue);font-weight:700}
.status-in-progress{background:#fff5d6;color:#a16b00}

/* Phase 1.4 SEO Manager */
.seo-check-list{display:grid;gap:.65rem;color:#334155;font-size:.94rem}.google-preview{border:1px solid #dbe4ef;background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.gp-url{font-size:.85rem;color:#15803d;margin-bottom:4px}.gp-title{font-size:1.12rem;color:#1a0dab;line-height:1.25;margin-bottom:5px}.gp-desc{font-size:.92rem;color:#4d5156;line-height:1.35}

/* Phase 2.1 Menu Manager & Header/Footer Control */
.public-topbar{background:linear-gradient(90deg,var(--sis-navy),var(--sis-blue));color:rgba(255,255,255,.88);padding:8px 0}.topbar-link{color:#fff;text-decoration:none;font-weight:700;border-left:1px solid rgba(255,255,255,.22);padding-left:10px}.topbar-link:hover{color:#ffd77a}.public-nav .nav-link.active{color:var(--sis-gold)!important}.footer-social a{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;margin:0;background:rgba(255,255,255,.08);color:#fff;font-weight:900}.footer-social a:hover{background:var(--sis-gold);color:#fff}.menu-location-card{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:1px solid var(--sis-border);background:#fff;border-radius:16px;padding:14px 16px;color:var(--sis-navy);font-weight:800;box-shadow:0 8px 20px rgba(6,29,69,.05);transition:.18s}.menu-location-card strong{background:#eef5ff;color:var(--sis-blue);border-radius:999px;min-width:34px;text-align:center;padding:4px 8px}.menu-location-card:hover,.menu-location-card.active{border-color:rgba(7,59,130,.35);transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,29,69,.09)}.menu-location-card.active{background:linear-gradient(135deg,#eef5ff,#fff)}.admin-table code{background:#f4f7fb;border:1px solid #e2e8f0;border-radius:8px;padding:4px 7px;color:#0f376c}@media(max-width:992px){.public-topbar{display:none!important}}

/* Phase 2.2 Calendar & Events Schedule */
.calendar-hero{background:linear-gradient(135deg,rgba(7,59,130,.96),rgba(6,29,69,.92)),url('../img/hero-campus.svg');background-size:cover;background-position:center}.calendar-mini-card{background:#fff;color:var(--sis-navy);border-radius:28px;padding:26px;text-align:center;box-shadow:var(--shadow);max-width:260px;margin-left:auto}.calendar-mini-month{font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--sis-gold);font-size:.9rem}.calendar-mini-day{font-size:4.5rem;line-height:1;font-weight:900;color:var(--sis-blue)}.calendar-mini-text{color:#64748b;font-weight:700}.event-filter-bar{background:#fff;border:1px solid var(--sis-border);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(6,29,69,.07)}.event-list{display:grid;gap:16px}.event-item{display:flex;gap:18px;background:#fff;border:1px solid var(--sis-border);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(6,29,69,.06);transition:.18s}.event-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.event-date-box{min-width:78px;height:86px;border-radius:18px;background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(7,59,130,.22)}.event-date-box strong{font-size:2rem;line-height:1;font-weight:900}.event-date-box span{text-transform:uppercase;font-size:.8rem;font-weight:800;color:#ffd77a}.event-content h4{font-weight:850;color:var(--sis-navy);margin-bottom:8px}.calendar-cat{display:inline-flex;align-items:center;border-radius:999px;background:#eef5ff;color:var(--sis-blue);padding:5px 10px;font-size:.76rem;font-weight:800}.calendar-audience{display:inline-flex;align-items:center;border-radius:999px;background:#eef8f8;color:var(--sis-teal);padding:5px 10px;font-size:.76rem;font-weight:800}.calendar-chip{display:inline-flex;border:1px solid var(--sis-border);border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--sis-navy);font-weight:800;background:#fff}.calendar-chip:hover,.calendar-chip.active{background:var(--sis-blue);border-color:var(--sis-blue);color:#fff}.event-feature-card{background:#fff;border:1px solid var(--sis-border);border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(6,29,69,.07);transition:.18s}.event-feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.event-feature-card img{width:100%;height:150px;object-fit:cover;background:#eef5ff}@media(max-width:768px){.event-item{display:block}.event-date-box{margin-bottom:14px}.calendar-mini-card{margin-left:0}.calendar-mini-day{font-size:3.4rem}}

/* Phase 2.3 Multilingual English / Lao UI */
@font-face {
  font-family: 'Phetsarath OT';
  src: local('Phetsarath OT'), local('PhetsarathOT');
  font-display: swap;
}
.font-lao,
html[lang="lo"] body,
.font-lao input,
.font-lao textarea,
.font-lao select,
.translation-lao {
  font-family: 'Phetsarath OT', 'PhetsarathOT', 'Phetsarath', 'Saysettha OT', 'Noto Sans Lao', 'Lao UI', Arial, sans-serif !important;
  line-height: 1.72;
}
.language-switcher,
.topbar-lang {
  opacity: .9;
}
.translation-list {
  max-height: 560px;
  overflow: auto;
}
.translation-field textarea.bg-light,
.translation-field input.bg-light {
  color: #52627a;
  border-style: dashed;
}
.public-nav .nav-link.active {
  font-weight: 800;
}


/* ===== UI RESTORE HOTFIX: Phase 1.7/1.8/2.0 polished public + admin styles restored ===== */
:root{--sis-blue:#073b82;--sis-navy:#061d45;--sis-gold:#c99118;--sis-teal:#0f9b9f;--sis-soft:#f4f7fb;--sis-text:#10223f;--sis-border:#dce5f1;--radius:18px;--shadow:0 18px 45px rgba(6,29,69,.12)}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--sis-text);background:#fff}.public-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(6,29,69,.08)}.brand-logo{width:54px;height:54px;object-fit:contain}.navbar-brand strong{display:block;color:var(--sis-blue);font-size:1.1rem;line-height:1}.navbar-brand small{display:block;color:var(--sis-navy);font-size:.78rem}.nav-link{font-weight:650;color:#19304f!important}.nav-link:hover{color:var(--sis-gold)!important}.btn-gold{background:linear-gradient(135deg,#d8a62a,#b9840d);color:#fff;border:0;box-shadow:0 10px 25px rgba(201,145,24,.28)}.btn-primary{background:var(--sis-blue);border-color:var(--sis-blue)}.btn-teal{background:var(--sis-teal);border-color:var(--sis-teal);color:#fff}.hero{position:relative;min-height:620px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(6,29,69,.88),rgba(6,29,69,.36)),url('../img/hero-campus.svg');background-size:cover;background-position:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -8% -18% -8%;height:170px;background:#fff;border-radius:50% 50% 0 0}.hero .container{position:relative;z-index:2}.hero h1{font-size:clamp(2.5rem,5vw,5.2rem);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:.95}.hero p{font-size:1.25rem;color:rgba(255,255,255,.92)}.section-title{font-weight:800;color:var(--sis-navy);letter-spacing:-.03em}.quick-card,.program-card,.news-card,.info-card{background:#fff;border:1px solid var(--sis-border);border-radius:var(--radius);box-shadow:0 12px 30px rgba(6,29,69,.07)}.quick-card{padding:20px;height:100%;transition:.2s}.quick-card:hover,.program-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.quick-icon{width:48px;height:48px;border-radius:14px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-weight:800}.program-card{overflow:hidden;height:100%;transition:.2s}.program-img{height:170px;background:linear-gradient(135deg,#dfe8f5,#fff);position:relative;overflow:hidden}.program-img img{width:100%;height:100%;object-fit:cover}.program-body{padding:20px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef8f8;color:var(--sis-teal);padding:6px 12px;font-size:.78rem;font-weight:700}.cta-band{background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));border-radius:28px;color:#fff;padding:42px;box-shadow:var(--shadow)}.page-hero{background:linear-gradient(135deg,var(--sis-blue),#0e5bbb);color:#fff;padding:80px 0 54px}.content-page{font-size:1.06rem;line-height:1.8}.public-footer{background:var(--sis-navy);color:#fff}.public-footer a{display:block;color:rgba(255,255,255,.76);text-decoration:none;margin:.38rem 0}.footer-logo{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}.footer-bottom{background:rgba(0,0,0,.18);color:rgba(255,255,255,.75)}.ai-float{position:fixed;right:22px;bottom:22px;z-index:1040;border:0;border-radius:999px;background:linear-gradient(135deg,var(--sis-teal),#086f7b);color:#fff;padding:14px 20px;font-weight:800;box-shadow:0 16px 40px rgba(15,155,159,.35)}.ai-modal{border:0;border-radius:22px;overflow:hidden}.ai-modal .modal-header{background:var(--sis-teal);color:#fff}.ai-messages{height:310px;overflow:auto;background:var(--sis-soft);border-radius:16px;padding:14px}.ai-msg{max-width:86%;padding:10px 12px;border-radius:14px;margin-bottom:10px;font-size:.94rem}.ai-msg.bot{background:#fff;border:1px solid var(--sis-border)}.ai-msg.user{margin-left:auto;background:var(--sis-blue);color:#fff}.admin-body{background:#f3f6fb;min-height:100vh}.admin-login{min-height:100vh;background:radial-gradient(circle at top left,#e8f1ff 0,#fff 42%,#f5f7fb 100%);display:flex;align-items:center}.login-card{background:#fff;border:1px solid var(--sis-border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.login-brand{background:linear-gradient(180deg,#edf5ff,#fff);display:flex;align-items:center;justify-content:center;text-align:center;padding:48px}.login-brand img{width:140px}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:270px;background:linear-gradient(180deg,var(--sis-navy),#063a7d);color:#fff;position:fixed;inset:0 auto 0 0;padding:22px 16px;z-index:10}.admin-sidebar .logo{display:flex;gap:12px;align-items:center;margin-bottom:24px}.admin-sidebar img{width:46px;height:46px;background:#fff;border-radius:50%;padding:3px}.admin-sidebar a{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.83);text-decoration:none;padding:12px 14px;border-radius:13px;font-weight:650;margin:4px 0}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.12);color:#fff}.admin-main{margin-left:270px;flex:1}.admin-topbar{height:74px;background:#fff;border-bottom:1px solid var(--sis-border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.admin-content{padding:26px}.stat-card,.admin-card{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06)}.stat-card{padding:22px}.stat-card h3{font-weight:850;margin:8px 0 0}.table-card{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06);overflow:hidden}.table th{font-size:.78rem;text-transform:uppercase;color:#62708a;background:#f7f9fd}.badge-soft{background:#e8f7ee;color:#18894b;border-radius:999px;padding:5px 10px;font-weight:700;font-size:.76rem}.badge-draft{background:#fff5d6;color:#a16b00}.form-control,.form-select{border-radius:12px;border-color:#d6e1ef;padding:.75rem .9rem}.btn{border-radius:12px;font-weight:700}.upload-tile{border:2px dashed #b9c8dc;border-radius:18px;min-height:160px;display:grid;place-items:center;background:#fbfdff;text-align:center;color:#65758e}.thumb{height:150px;background:#dfe8f5;border-radius:16px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.small-muted{color:#687992;font-size:.87rem}@media(max-width:992px){.admin-sidebar{position:static;width:100%;height:auto}.admin-shell{display:block}.admin-main{margin-left:0}.hero{min-height:540px}.quick-card{margin-bottom:12px}.cta-band{padding:28px}.admin-content{padding:18px}}
.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:#dbe6f5}.timeline-item{position:relative;margin-bottom:16px}.timeline-item:before{content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--sis-blue);box-shadow:0 0 0 4px #eef5ff}.status-new{background:#e8f1ff;color:#0d4ca3}.status-in_progress,.status-scheduled{background:#fff5d6;color:#a16b00}.status-responded,.status-completed{background:#e8f7ee;color:#18894b}.status-closed,.status-cancelled{background:#f4e8e8;color:#a33}.action-bar{display:flex;gap:8px;flex-wrap:wrap}.form-section{background:#fff;border:1px solid var(--sis-border);border-radius:20px;box-shadow:0 10px 28px rgba(6,29,69,.06);padding:24px}.export-chip{border:1px solid var(--sis-border);background:#fff;border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--sis-blue);font-weight:700}
.status-in-progress{background:#fff5d6;color:#a16b00}

/* Phase 1.4 SEO Manager */
.seo-check-list{display:grid;gap:.65rem;color:#334155;font-size:.94rem}.google-preview{border:1px solid #dbe4ef;background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.gp-url{font-size:.85rem;color:#15803d;margin-bottom:4px}.gp-title{font-size:1.12rem;color:#1a0dab;line-height:1.25;margin-bottom:5px}.gp-desc{font-size:.92rem;color:#4d5156;line-height:1.35}

.ai-note{font-size:.82rem;color:#5c6f8a;background:#eef8f8;border:1px solid #d8eeee;border-radius:12px;padding:9px 11px}.ai-quick{display:flex;flex-wrap:wrap;gap:8px}.ai-chip{border:1px solid #d6e1ef;background:#fff;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:700;color:var(--sis-blue)}.ai-chip:hover{background:#eef5ff}.ai-lead-form{background:#fff;border:1px solid var(--sis-border);border-radius:16px;padding:12px}.ai-msg.bot br{display:block;margin-bottom:4px}.intent-badge{border-radius:999px;padding:5px 10px;font-weight:800;font-size:.76rem;background:#eef5ff;color:var(--sis-blue)}.confidence-low{background:#fff5d6;color:#9a6600}.confidence-high{background:#e8f7ee;color:#18894b}.admin-mini-card{background:#fff;border:1px solid var(--sis-border);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(6,29,69,.05)}

/* Phase 1.7 Public UI Polish */
.public-topbar{background:linear-gradient(90deg,var(--sis-navy),var(--sis-blue));color:rgba(255,255,255,.86);font-size:.86rem;padding:.55rem 0}.public-topbar a{color:#fff;text-decoration:none;font-weight:700}.topbar-message{font-weight:800;color:#fff}.public-nav{border-bottom:1px solid rgba(220,229,241,.72)}.nav-link{position:relative}.nav-link.active{color:var(--sis-blue)!important}.nav-link.active:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.18rem;height:3px;border-radius:999px;background:var(--sis-gold)}.btn-white{background:#fff;color:var(--sis-blue);border-color:#fff;box-shadow:0 10px 25px rgba(255,255,255,.18)}.btn-white:hover{background:#eef5ff;color:var(--sis-blue);border-color:#eef5ff}.hero-v2{min-height:690px;background:radial-gradient(circle at 88% 20%,rgba(15,155,159,.28),transparent 28%),linear-gradient(90deg,rgba(6,29,69,.96),rgba(7,59,130,.76),rgba(6,29,69,.6)),url('../img/hero-campus-modern.svg');background-size:cover;background-position:center}.hero-v2:after{height:125px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 68%);border-radius:0}.hero-bg-shape{position:absolute;right:-180px;top:40px;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(1px)}.tag-light{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px)}.hero-subtitle{max-width:620px}.hero-trust{display:flex;gap:14px;flex-wrap:wrap}.hero-trust div{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 16px;color:#fff;min-width:150px;backdrop-filter:blur(8px)}.hero-trust strong{display:block;font-size:1.08rem}.hero-trust span{display:block;font-size:.82rem;opacity:.78}.hero-visual-card{position:relative;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:34px;padding:18px;box-shadow:0 30px 70px rgba(0,0,0,.18);backdrop-filter:blur(10px)}.hero-visual-card img{width:100%;border-radius:24px;display:block}.hero-floating-card{position:absolute;background:#fff;color:var(--sis-navy);border:1px solid var(--sis-border);box-shadow:var(--shadow);border-radius:18px;padding:12px 15px;display:flex;align-items:center;gap:8px}.hero-floating-card.top{left:-24px;top:34px}.hero-floating-card.bottom{right:-16px;bottom:46px}.quick-wrap{position:relative;margin-top:-60px;z-index:4}.quick-card-link{display:block;text-decoration:none;color:var(--sis-text);min-height:178px}.quick-card-link:hover{color:var(--sis-text)}.quick-card h5{font-weight:850;color:var(--sis-navy)}.section-heading{gap:1rem}.section-intro{color:#687992;margin:0;max-width:620px}.program-card-v2{border:0;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 14px 34px rgba(6,29,69,.09)}.program-card-v2 .program-img{height:190px}.program-card-v2 .program-body{position:relative}.program-badge{display:inline-flex;border-radius:999px;background:#fff6dd;color:#9b680b;padding:5px 10px;font-weight:800;font-size:.74rem;margin-bottom:.7rem}.program-card-v2 h5{font-weight:850;color:var(--sis-navy)}.why-section{background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));position:relative;overflow:hidden}.why-section:before{content:"";position:absolute;inset:-160px auto auto -160px;width:420px;height:420px;background:rgba(255,255,255,.08);border-radius:50%}.text-white-75{color:rgba(255,255,255,.76)}.why-card{height:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:22px;color:#fff;padding:22px;backdrop-filter:blur(10px);transition:.2s}.why-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.15)}.why-card h5{margin-top:12px;font-weight:850}.why-card p{margin-bottom:0;color:rgba(255,255,255,.76)}.link-arrow{font-weight:800;color:var(--sis-blue);text-decoration:none}.link-arrow:hover{color:var(--sis-gold)}.news-card-v2{border:0;box-shadow:0 14px 34px rgba(6,29,69,.08)}.news-thumb{width:138px;height:108px;flex:0 0 138px}.weekly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.weekly-item{position:relative;display:block;border-radius:18px;overflow:hidden;min-height:128px;background:#dfe8f5;color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(6,29,69,.08)}.weekly-item img{width:100%;height:100%;min-height:128px;object-fit:cover;display:block;transition:.3s}.weekly-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(6,29,69,.8))}.weekly-item span{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;font-size:.8rem;font-weight:800;text-shadow:0 2px 5px rgba(0,0,0,.28)}.weekly-item:hover img{transform:scale(1.08)}.empty-state{border:1px dashed #b9c8dc;background:#fbfdff;border-radius:18px;padding:28px;text-align:center;color:#687992}.cta-band-v2{position:relative;overflow:hidden}.cta-band-v2:after{content:"";position:absolute;right:-90px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.1)}.footer-wave{height:12px;background:linear-gradient(90deg,var(--sis-gold),var(--sis-teal),var(--sis-blue))}.public-footer{position:relative;margin-top:0}.footer-social a{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center!important;color:#fff!important;font-weight:900;margin:0!important}.ai-float{display:flex;gap:8px;align-items:center}.ai-modal .modal-header{background:linear-gradient(135deg,var(--sis-teal),var(--sis-blue))}.ai-modal .btn-close{opacity:.9}.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 35%,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,var(--sis-blue),#0e5bbb)}.page-hero:after{content:"";position:absolute;right:-120px;top:-140px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}@media(max-width:1200px){.weekly-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.hero-v2{min-height:620px;text-align:left}.hero-actions .btn{width:100%;justify-content:center}.hero-trust{display:grid;grid-template-columns:1fr}.quick-wrap{margin-top:-36px}.nav-link.active:after{display:none}.weekly-grid{grid-template-columns:repeat(2,1fr)}.news-thumb{width:110px;height:96px;flex-basis:110px}}@media(max-width:576px){.hero-v2{min-height:620px}.hero h1{font-size:2.55rem}.hero p{font-size:1.04rem}.quick-card-link{min-height:160px;padding:16px}.weekly-grid{grid-template-columns:1fr 1fr}.weekly-item{min-height:112px}.news-card-v2{display:block!important}.news-thumb{width:100%!important;height:150px!important;margin-bottom:12px}.cta-band{border-radius:22px;padding:24px}}

/* Keep CTA content clickable above its decorative transparent circle. */
.cta-band-v2:after{z-index:0;pointer-events:none}
.cta-band-v2>.row{position:relative;z-index:1}
.cta-band-v2 .btn{position:relative;z-index:2;pointer-events:auto}

/* Phase 1.8 Admin UI Polish + Hamburger Sidebar */
.admin-body{--admin-sidebar-width:286px;--admin-sidebar-collapsed:86px;background:#f4f7fb;color:#14213d;overflow-x:hidden}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:var(--admin-sidebar-width);background:linear-gradient(180deg,#041936 0%,#063a7d 58%,#052b5f 100%);color:#fff;position:fixed;inset:0 auto 0 0;padding:18px 14px;z-index:1045;display:flex;flex-direction:column;box-shadow:14px 0 42px rgba(4,25,54,.18);transition:width .22s ease,transform .22s ease}.admin-sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}.admin-brand-link{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;min-width:0}.admin-brand-link:hover{color:#fff}.admin-brand-link img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:3px;box-shadow:0 8px 20px rgba(0,0,0,.16)}.brand-text{min-width:0;white-space:nowrap}.brand-text strong{display:block;font-size:1rem;line-height:1.05}.brand-text small{display:block;color:rgba(255,255,255,.68);font-size:.78rem}.admin-sidebar-close{display:none;width:38px;height:38px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:1.45rem;line-height:1}.admin-nav{flex:1;overflow-y:auto;padding-right:4px}.admin-nav::-webkit-scrollbar{width:6px}.admin-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}.admin-sidebar a{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.82);text-decoration:none;padding:12px 13px;border-radius:15px;font-weight:720;margin:4px 0;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.admin-sidebar a:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateX(2px)}.admin-sidebar a.active{background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.10));color:#fff;box-shadow:inset 4px 0 0 var(--sis-gold)}.nav-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.10);flex:0 0 30px;font-size:1.02rem}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:10px}.admin-main{margin-left:var(--admin-sidebar-width);flex:1;min-width:0;transition:margin-left .22s ease}.admin-topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,241,.9);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:1030}.admin-title-group{display:flex;align-items:center;gap:14px;min-width:0}.admin-toggle{width:44px;height:44px;border:1px solid var(--sis-border);border-radius:14px;background:#fff;color:var(--sis-blue);font-size:1.2rem;font-weight:900;box-shadow:0 8px 18px rgba(6,29,69,.07);display:grid;place-items:center}.admin-toggle:hover{background:#eef5ff}.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-user-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--sis-border);border-radius:999px;padding:7px 12px;font-weight:800;box-shadow:0 8px 18px rgba(6,29,69,.05)}.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--sis-blue),var(--sis-teal));color:#fff;display:grid;place-items:center;font-size:.82rem}.admin-content{padding:28px}.stat-card,.admin-card,.table-card,.form-section,.admin-mini-card{border:1px solid rgba(220,229,241,.9);box-shadow:0 12px 32px rgba(6,29,69,.065)}.stat-card{position:relative;overflow:hidden;min-height:132px}.stat-card:after{content:"";position:absolute;right:-34px;top:-38px;width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,rgba(7,59,130,.10),rgba(15,155,159,.10))}.stat-card h3{font-size:2.05rem;letter-spacing:-.04em;color:var(--sis-navy)}.admin-card{overflow:hidden}.table-card .table{margin-bottom:0}.table-card .table td,.table-card .table th{vertical-align:middle;padding:1rem}.form-control,.form-select{min-height:46px}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-sm{min-height:34px}.admin-overlay{display:none;position:fixed;inset:0;background:rgba(4,25,54,.52);z-index:1040;backdrop-filter:blur(2px)}
body.sidebar-collapsed .admin-sidebar{width:var(--admin-sidebar-collapsed);padding-left:12px;padding-right:12px}body.sidebar-collapsed .admin-main{margin-left:var(--admin-sidebar-collapsed)}body.sidebar-collapsed .brand-text,body.sidebar-collapsed .nav-label{display:none}body.sidebar-collapsed .admin-sidebar a{justify-content:center;padding:12px 8px}body.sidebar-collapsed .admin-sidebar a:hover{transform:none}body.sidebar-collapsed .admin-brand-link{justify-content:center;width:100%}body.sidebar-collapsed .admin-sidebar-brand{justify-content:center}body.sidebar-collapsed .admin-sidebar a.active{box-shadow:inset 0 -3px 0 var(--sis-gold)}
.dashboard-grid-icon{width:46px;height:46px;border-radius:16px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-size:1.25rem}.shortcut-card{border:1px solid var(--sis-border);border-radius:18px;background:#fff;padding:17px;height:100%;transition:.18s;box-shadow:0 10px 22px rgba(6,29,69,.04)}.shortcut-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(6,29,69,.09)}
@media(max-width:992px){.admin-sidebar{transform:translateX(-104%);width:286px;max-width:86vw;position:fixed;height:100vh}.admin-main{margin-left:0}.admin-sidebar-close{display:grid;place-items:center}.admin-topbar{height:auto;min-height:72px;padding:12px 16px}.admin-content{padding:18px}.admin-top-actions .btn{display:none!important}body.sidebar-open .admin-sidebar{transform:translateX(0)}body.sidebar-open .admin-overlay{display:block}.admin-title-group h5{font-size:1rem}.admin-title-group small{font-size:.76rem}.table-card{overflow-x:auto}.table{min-width:760px}.stat-card{min-height:116px}}
@media(max-width:576px){.admin-content{padding:14px}.admin-title-group{gap:10px}.admin-toggle{width:40px;height:40px}.admin-user-pill{padding:6px}.admin-card,.stat-card,.table-card,.form-section{border-radius:16px}.stat-card h3{font-size:1.72rem}}


/* Phase 2.0 Public Pages Content Builder */
.builder-section{padding:74px 0;background:#fff}.builder-soft{background:#f5f8fc}.builder-dark{background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));color:#fff}.builder-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#fff6dd;color:#9b680b;padding:7px 13px;font-weight:850;font-size:.78rem;margin-bottom:.85rem}.builder-dark .builder-kicker{background:rgba(255,255,255,.12);color:#fff}.builder-hero{min-height:560px;background:linear-gradient(90deg,rgba(6,29,69,.86),rgba(6,29,69,.35)),url('../img/hero-campus-modern.svg');background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;position:relative;overflow:hidden}.builder-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.builder-hero .container{position:relative;z-index:2}.builder-hero h1{font-size:clamp(2.6rem,5vw,5.3rem);font-weight:900;letter-spacing:-.05em;line-height:.95;max-width:850px}.builder-lead{font-size:1.14rem;line-height:1.75;max-width:760px;color:inherit}.builder-intro{max-width:760px;color:#5d6d85;line-height:1.75}.builder-dark .builder-intro,.builder-dark .builder-body,.builder-dark .builder-card p{color:rgba(255,255,255,.78)}.builder-body{font-size:1.05rem;line-height:1.85;color:#334155}.builder-image{width:100%;border-radius:28px;box-shadow:var(--shadow);object-fit:cover;max-height:440px}.builder-card{background:#fff;border:1px solid var(--sis-border);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(6,29,69,.07);transition:.18s}.builder-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.builder-dark .builder-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}.builder-card-icon{width:52px;height:52px;border-radius:16px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-size:1.35rem;margin-bottom:15px}.builder-card h5{font-weight:850;color:var(--sis-navy)}.builder-dark .builder-card h5{color:#fff}.builder-card p{color:#60708a}.builder-faq .accordion-item{border:1px solid var(--sis-border);border-radius:18px!important;overflow:hidden;margin-bottom:12px;box-shadow:0 8px 22px rgba(6,29,69,.05)}.builder-faq .accordion-button{font-weight:850;color:var(--sis-navy)}.builder-cta{background:linear-gradient(135deg,var(--sis-blue),var(--sis-navy));color:#fff;border-radius:30px;padding:46px;text-align:center;box-shadow:var(--shadow)}.builder-cta.builder-soft{background:linear-gradient(135deg,#eef5ff,#ffffff);color:var(--sis-navy);border:1px solid var(--sis-border)}.builder-cta h2{font-weight:900;letter-spacing:-.04em}.builder-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.builder-gallery-item{position:relative;border-radius:20px;overflow:hidden;min-height:160px;background:#dfe8f5;box-shadow:0 12px 28px rgba(6,29,69,.08)}.builder-gallery-item img{width:100%;height:100%;min-height:160px;object-fit:cover;display:block}.builder-gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(6,29,69,.82))}.builder-gallery-item span{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;color:#fff;font-weight:850;font-size:.9rem}.builder-admin-list{display:grid;gap:14px}.builder-admin-item{background:#fff;border:1px solid var(--sis-border);border-radius:20px;padding:18px;box-shadow:0 10px 26px rgba(6,29,69,.055)}.builder-admin-order{width:42px;height:42px;border-radius:14px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-weight:900;flex:0 0 42px}.builder-admin-preview{font-size:.92rem;color:#5f6f88}.builder-admin-item .action-bar{justify-content:flex-end}@media(max-width:992px){.builder-section{padding:54px 0}.builder-gallery-grid{grid-template-columns:repeat(2,1fr)}.builder-hero{min-height:480px}.builder-admin-item>.d-flex{display:block!important}.builder-admin-order{margin-bottom:12px}.builder-admin-item .action-bar{margin-top:12px;justify-content:flex-start}}@media(max-width:576px){.builder-gallery-grid{grid-template-columns:1fr}.builder-cta{padding:28px;border-radius:22px}.builder-hero h1{font-size:2.55rem}}

/* ===== Phase 2.3.1 multilingual top-up ===== */
.font-lao,
html[lang="lo"] body,
html[lang="lo"] .navbar,
html[lang="lo"] .admin-body {
  font-family: 'Noto Sans Lao', 'Phetsarath OT', 'Saysettha OT', 'Lao UI', Arial, sans-serif;
}
.language-switcher,.topbar-lang{opacity:.95}.translation-list{max-height:560px;overflow:auto}.translation-field textarea.bg-light,.translation-field input.bg-light{color:#52627a;border-style:dashed}.public-nav .nav-link.active{font-weight:800}.language-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sis-border);border-radius:999px;padding:6px 10px;background:#fff;color:var(--sis-blue);font-weight:800;text-decoration:none}.language-pill.active,.language-pill:hover{background:var(--sis-blue);color:#fff;border-color:var(--sis-blue)}

/* Phase 2.4 Analytics & Inquiry Reports */
.fw-black{font-weight:900;letter-spacing:-.03em}.analytics-stat{min-height:138px}.analytics-bars{display:grid;gap:13px}.analytics-bar-row{display:grid;grid-template-columns:74px 1fr 72px;align-items:center;gap:12px;font-size:.92rem}.bar-track{height:12px;background:#edf3fb;border-radius:999px;overflow:hidden;border:1px solid #e0eaf6}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--sis-blue),#2d7be8)}.bar-fill.teal{background:linear-gradient(90deg,var(--sis-teal),#38c6bd)}.bar-fill.gold{background:linear-gradient(90deg,var(--sis-gold),#f3c24c)}.table-bar{height:10px;min-width:110px}.report-meter{display:grid;gap:8px;margin-bottom:16px}.empty-state{background:#f8fbff;border:1px dashed #c9d6e7;color:#63748d;border-radius:18px;padding:22px;text-align:center}.empty-state.small{padding:14px;font-size:.9rem}.analytics-note{background:linear-gradient(135deg,#eef5ff,#ffffff);border:1px solid var(--sis-border);border-radius:18px;padding:16px;color:#486078}@media(max-width:576px){.analytics-bar-row{grid-template-columns:1fr;gap:6px}.analytics-bar-row strong{text-align:right}.table-bar{min-width:80px}}

/* Phase 2.5 Landing Page Professional UI Upgrade */
:root{--sis-blue-2:#0a4fa4;--sis-ink:#071b3a;--sis-cream:#fff8ea;--sis-glass:rgba(255,255,255,.82)}
body{font-family:'Manrope',Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;letter-spacing:-.01em;background:#fbfdff}.font-lao,html[lang="lo"] body{font-family:'Noto Sans Lao','Phetsarath OT','Lao UI',Arial,sans-serif}.public-topbar{font-size:.85rem}.public-nav{border-bottom:1px solid rgba(220,229,241,.86)}.public-nav .navbar-brand strong{font-weight:900;letter-spacing:-.035em}.public-nav .nav-link{font-size:.94rem}.public-nav .btn-gold{padding:.55rem .95rem}.btn-light-outline{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.34);box-shadow:0 16px 34px rgba(6,29,69,.18)}.btn-light-outline:hover{background:#fff;color:var(--sis-blue)}
.home-hero-v2{position:relative;overflow:hidden;padding:104px 0 138px;background:radial-gradient(circle at 17% 12%,rgba(15,155,159,.30),transparent 30%),linear-gradient(135deg,#061d45 0%,#073b82 52%,#0b68c6 100%);color:#fff}.home-hero-v2:after{content:"";position:absolute;inset:auto -8% -90px -8%;height:190px;background:#fbfdff;border-radius:50% 50% 0 0}.hero-bg-orb{position:absolute;border-radius:999px;filter:blur(1px);opacity:.72}.hero-orb-one{width:340px;height:340px;background:rgba(243,194,76,.22);right:8%;top:8%}.hero-orb-two{width:240px;height:240px;background:rgba(15,155,159,.24);left:4%;bottom:8%}.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);padding:9px 14px;font-size:.78rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.eyebrow-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sis-gold);box-shadow:0 0 0 5px rgba(201,145,24,.18)}.eyebrow-pill.soft{background:#fff7df;color:#96650c;border-color:#ffe3a1}.hero-title-v2{font-family:'Playfair Display','Manrope',serif;font-size:clamp(3rem,6.2vw,6.9rem);line-height:.9;font-weight:800;letter-spacing:-.055em;margin:0;text-shadow:0 18px 40px rgba(0,0,0,.18)}.hero-lead-v2{font-size:clamp(1.05rem,1.5vw,1.34rem);line-height:1.7;color:rgba(255,255,255,.88);max-width:720px}.hero-actions .btn{border-radius:16px;padding:.92rem 1.22rem;font-weight:900}.hero-trust-row span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.10);border-radius:999px;padding:8px 12px;font-weight:800;font-size:.86rem;color:rgba(255,255,255,.92)}.hero-showcase-card{position:relative;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:34px;padding:18px;box-shadow:0 28px 72px rgba(0,0,0,.22);backdrop-filter:blur(16px)}.hero-photo-wrap{position:relative;border-radius:28px;overflow:hidden;background:#fff;min-height:385px}.hero-photo-wrap img{width:100%;height:100%;min-height:385px;object-fit:cover;display:block}.hero-photo-badge{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--sis-navy);border-radius:18px;padding:13px 16px;box-shadow:0 16px 32px rgba(6,29,69,.18)}.hero-photo-badge strong{display:block;font-size:.72rem;text-transform:uppercase;color:#6a7890}.hero-photo-badge span{display:block;font-size:1.65rem;font-weight:950;color:var(--sis-blue)}.hero-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.hero-info-grid>div{background:#fff;border-radius:18px;padding:14px;color:var(--sis-navy)}.mini-label{display:block;text-transform:uppercase;color:#79879a;font-size:.66rem;font-weight:900;letter-spacing:.07em}.hero-info-grid strong{font-size:.94rem}.quick-access-wrap{position:relative;margin-top:-84px;z-index:4}.quick-access-panel{background:rgba(255,255,255,.95);border:1px solid rgba(220,229,241,.9);border-radius:30px;padding:18px;box-shadow:0 28px 72px rgba(6,29,69,.13);backdrop-filter:blur(14px)}.quick-card-v2{height:100%;display:flex;gap:15px;align-items:flex-start;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #e1eaf6;border-radius:22px;padding:18px;transition:.22s}.quick-card-v2:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(6,29,69,.10);border-color:rgba(7,59,130,.22)}.quick-icon-v2{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#eef5ff;font-size:1.4rem;flex:0 0 54px}.quick-card-v2 h5{font-weight:950;color:var(--sis-navy);margin-bottom:4px}.quick-card-v2 p{font-size:.88rem;color:#63758f;margin:0 0 7px}.quick-card-v2 span{font-size:.82rem;color:var(--sis-blue);font-weight:900}.display-heading{font-family:'Playfair Display','Manrope',serif;font-weight:800;line-height:1.02;letter-spacing:-.045em;color:var(--sis-ink);font-size:clamp(2rem,3.2vw,3.55rem)}.section-lead{font-size:1.06rem;line-height:1.75;color:#64748b;margin-top:1rem}.home-intro-section{position:relative}.why-card{height:100%;padding:24px;border:1px solid #e1eaf6;border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(6,29,69,.06);transition:.2s}.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.why-card span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--sis-blue);color:#fff;font-weight:950;margin-bottom:16px}.why-card h5{font-weight:950;color:var(--sis-navy)}.why-card p{color:#65758e;margin:0;line-height:1.65}.programs-v2-section{background:linear-gradient(180deg,#f7fbff,#fff)}.program-card-v2{display:block;height:100%;border-radius:28px;overflow:hidden;background:#fff;border:1px solid #e0e9f5;box-shadow:0 14px 36px rgba(6,29,69,.07);transition:.22s;color:var(--sis-navy)}.program-card-v2:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(6,29,69,.12);color:var(--sis-navy)}.program-card-image{height:210px;position:relative;overflow:hidden;background:#dce8f5}.program-card-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.program-card-v2:hover img{transform:scale(1.06)}.program-number{position:absolute;top:14px;left:14px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--sis-blue);font-weight:950;padding:7px 11px;box-shadow:0 10px 22px rgba(6,29,69,.12)}.program-card-body{padding:23px}.program-card-body h5{font-weight:950;margin-bottom:5px}.program-card-body p{color:#687992;margin-bottom:16px}.program-card-body span{font-weight:900;color:var(--sis-gold)}.stats-band-v2{border-radius:34px;background:linear-gradient(135deg,var(--sis-navy),var(--sis-blue));color:#fff;padding:35px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stats-band-v2:before{content:"";position:absolute;right:-80px;top:-110px;width:300px;height:300px;border-radius:50%;background:rgba(243,194,76,.18)}.stats-band-v2 strong{display:block;font-size:clamp(1.9rem,3vw,3rem);font-weight:950;letter-spacing:-.06em}.stats-band-v2 span{display:block;color:rgba(255,255,255,.74);font-weight:800}.news-card-v2{display:flex;gap:18px;padding:15px;background:#fff;border:1px solid #e1eaf6;border-radius:24px;box-shadow:0 12px 30px rgba(6,29,69,.06);margin-bottom:16px;transition:.2s}.news-card-v2:hover{transform:translateX(4px);box-shadow:var(--shadow)}.news-thumb-v2{width:176px;min-height:132px;flex:0 0 176px;border-radius:20px;overflow:hidden;background:#e6eef8}.news-thumb-v2 img{width:100%;height:100%;object-fit:cover}.news-content-v2 h5{font-weight:950;color:var(--sis-navy);margin:.55rem 0}.news-content-v2 p{color:#65758e;margin-bottom:.55rem}.news-content-v2 a,.view-link{font-weight:950;color:var(--sis-blue);text-decoration:none}.news-category{display:inline-flex;border-radius:999px;background:#eef8f8;color:var(--sis-teal);padding:6px 10px;font-size:.72rem;font-weight:950;text-transform:uppercase}.photo-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-tile{position:relative;min-height:132px;border-radius:22px;overflow:hidden;background:#dce8f5;box-shadow:0 10px 24px rgba(6,29,69,.08);text-decoration:none}.photo-tile.large{grid-column:span 2;grid-row:span 2}.photo-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.3s}.photo-tile:hover img{transform:scale(1.07)}.photo-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(6,29,69,.82))}.photo-tile span{position:absolute;left:12px;right:12px;bottom:11px;z-index:2;color:#fff;font-weight:900;font-size:.84rem}.events-strip-v2{border:1px solid #e1eaf6;background:linear-gradient(135deg,#fff,#f4f9ff);border-radius:32px;padding:30px;box-shadow:0 16px 40px rgba(6,29,69,.08)}.event-mini-card{height:100%;background:#fff;border:1px solid #e0e9f5;border-radius:22px;padding:18px;box-shadow:0 10px 26px rgba(6,29,69,.05)}.event-mini-card strong{display:inline-flex;border-radius:12px;background:#eef5ff;color:var(--sis-blue);padding:7px 10px;font-weight:950;margin-bottom:12px}.event-mini-card h6{font-weight:950;color:var(--sis-navy)}.event-mini-card p{color:#6b7a91;margin:0;font-size:.88rem}.cta-band-v2{border-radius:36px;background:radial-gradient(circle at 90% 20%,rgba(243,194,76,.28),transparent 24%),linear-gradient(135deg,#073b82,#061d45);color:#fff;padding:48px;box-shadow:0 28px 72px rgba(6,29,69,.16);overflow:hidden}.cta-band-v2 span{color:#f7d578;text-transform:uppercase;font-weight:950;letter-spacing:.09em;font-size:.75rem}.cta-band-v2 h2{font-family:'Playfair Display','Manrope',serif;font-weight:800;font-size:clamp(2rem,3vw,3.35rem);letter-spacing:-.045em;margin:.45rem 0}.cta-band-v2 p{color:rgba(255,255,255,.76);line-height:1.7;margin:0}.ai-float{font-family:'Manrope',Inter,sans-serif}.public-footer{margin-top:2rem!important;background:linear-gradient(180deg,#061d45,#041631)}
@media(max-width:1200px){.hero-title-v2{font-size:clamp(3rem,5.4vw,5.4rem)}}
@media(max-width:992px){.home-hero-v2{padding:76px 0 128px}.hero-showcase-card{margin-top:12px}.quick-access-wrap{margin-top:-74px}.quick-card-v2{display:block}.quick-icon-v2{margin-bottom:12px}.photo-mosaic{grid-template-columns:repeat(2,1fr)}.news-card-v2{display:block}.news-thumb-v2{width:100%;height:190px;margin-bottom:13px}.cta-band-v2{padding:34px}}
@media(max-width:576px){.home-hero-v2{padding:54px 0 112px}.hero-title-v2{font-size:3.05rem}.hero-actions .btn{width:100%}.hero-info-grid{grid-template-columns:1fr}.quick-access-panel{border-radius:22px;padding:12px}.quick-card-v2{padding:15px;border-radius:18px}.display-heading{font-size:2.16rem}.program-card-image{height:178px}.stats-band-v2{padding:26px 16px;border-radius:26px}.photo-mosaic{grid-template-columns:1fr}.photo-tile.large{grid-column:auto;grid-row:auto}.cta-band-v2{border-radius:26px;padding:28px}.public-nav .navbar-brand small{font-size:.7rem}}

/* Phase 2.5.2 Landing page typography/card spacing refinement */
body{font-size:15.5px;line-height:1.6}.home-hero-v2{padding:78px 0 112px}.home-hero-v2:after{height:150px;bottom:-78px}.hero-orb-one{width:250px;height:250px}.hero-orb-two{width:180px;height:180px}.eyebrow-pill{padding:7px 12px;font-size:.70rem;letter-spacing:.04em}.hero-title-v2{font-family:'Manrope','Noto Sans Lao',system-ui,sans-serif;font-size:clamp(2.35rem,4.4vw,4.75rem);line-height:1.02;font-weight:850;letter-spacing:-.05em;max-width:780px}.hero-lead-v2{font-size:clamp(.98rem,1.15vw,1.14rem);line-height:1.65;max-width:640px}.hero-actions .btn{border-radius:13px;padding:.74rem 1rem;font-size:.98rem}.hero-trust-row span{padding:6px 10px;font-size:.78rem}.hero-showcase-card{border-radius:26px;padding:14px}.hero-photo-wrap{border-radius:22px;min-height:300px}.hero-photo-wrap img{min-height:300px}.hero-photo-badge{left:14px;bottom:14px;border-radius:14px;padding:10px 13px}.hero-photo-badge span{font-size:1.35rem}.hero-info-grid{gap:8px;margin-top:10px}.hero-info-grid>div{border-radius:14px;padding:11px}.hero-info-grid strong{font-size:.86rem}.mini-label{font-size:.61rem}.quick-access-wrap{margin-top:-58px}.quick-access-panel{border-radius:24px;padding:14px}.quick-card-v2{gap:12px;border-radius:18px;padding:14px}.quick-icon-v2{width:46px;height:46px;border-radius:14px;font-size:1.18rem;flex-basis:46px}.quick-card-v2 h5{font-size:1rem;margin-bottom:3px}.quick-card-v2 p{font-size:.82rem;line-height:1.45}.quick-card-v2 span{font-size:.78rem}.display-heading{font-family:'Manrope','Noto Sans Lao',system-ui,sans-serif;font-size:clamp(1.65rem,2.4vw,2.55rem);line-height:1.15;font-weight:850;letter-spacing:-.04em}.section-lead{font-size:.98rem;line-height:1.65}.home-intro-section.py-5,.programs-v2-section.py-5,.news-gallery-section.py-5,.container.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.why-card{border-radius:20px;padding:18px}.why-card span{width:36px;height:36px;border-radius:12px;font-size:.86rem;margin-bottom:12px}.why-card h5{font-size:1.02rem}.why-card p{font-size:.88rem;line-height:1.55}.program-card-v2{border-radius:22px}.program-card-image{height:172px}.program-number{top:11px;left:11px;padding:5px 9px;font-size:.82rem}.program-card-body{padding:17px}.program-card-body h5{font-size:1.02rem}.program-card-body p{font-size:.86rem;margin-bottom:10px}.program-card-body span{font-size:.84rem}.stats-band-v2{border-radius:26px;padding:26px}.stats-band-v2 strong{font-size:clamp(1.45rem,2.1vw,2.15rem)}.stats-band-v2 span{font-size:.86rem}.news-card-v2{gap:14px;padding:12px;border-radius:20px;margin-bottom:12px}.news-thumb-v2{width:145px;min-height:108px;flex-basis:145px;border-radius:16px}.news-content-v2 h5{font-size:1.02rem;margin:.38rem 0}.news-content-v2 p{font-size:.86rem;line-height:1.5}.news-category{padding:5px 9px;font-size:.66rem}.photo-mosaic{gap:10px}.photo-tile{min-height:112px;border-radius:18px}.photo-tile span{font-size:.78rem;bottom:9px}.events-strip-v2{border-radius:26px;padding:24px}.event-mini-card{border-radius:18px;padding:15px}.event-mini-card strong{padding:6px 9px;font-size:.82rem}.event-mini-card h6{font-size:.96rem}.cta-band-v2{border-radius:28px;padding:38px}.cta-band-v2 span{font-size:.68rem}.cta-band-v2 h2{font-family:'Manrope','Noto Sans Lao',system-ui,sans-serif;font-size:clamp(1.7rem,2.45vw,2.6rem);line-height:1.16}.cta-band-v2 p{font-size:.96rem}.public-nav .nav-link{font-size:.92rem}.navbar-brand strong{font-size:1.02rem}.navbar-brand small{font-size:.72rem}.brand-logo{width:48px;height:48px}.btn-lg{font-size:1rem;padding:.72rem 1rem}.section-header-v2{margin-bottom:1.25rem!important}
@media(max-width:1200px){.hero-title-v2{font-size:clamp(2.35rem,4.2vw,4.2rem)}}
@media(max-width:992px){body{font-size:15px}.home-hero-v2{padding:58px 0 100px}.hero-showcase-card{margin-top:0}.quick-access-wrap{margin-top:-52px}.quick-card-v2{min-height:100%}.display-heading{font-size:clamp(1.55rem,3vw,2.15rem)}.news-thumb-v2{height:160px}.photo-mosaic{grid-template-columns:repeat(2,1fr)}.cta-band-v2{padding:30px}.home-intro-section.py-5,.programs-v2-section.py-5,.news-gallery-section.py-5,.container.py-5{padding-top:2.5rem!important;padding-bottom:2.5rem!important}}
@media(max-width:576px){.home-hero-v2{padding:44px 0 96px}.hero-title-v2{font-size:2.35rem;line-height:1.05}.hero-lead-v2{font-size:.95rem}.hero-actions .btn{width:100%;font-size:.94rem}.hero-photo-wrap,.hero-photo-wrap img{min-height:235px}.hero-info-grid{grid-template-columns:1fr}.quick-access-panel{border-radius:18px;padding:10px}.quick-card-v2{padding:13px}.display-heading{font-size:1.72rem}.program-card-image{height:155px}.stats-band-v2{padding:22px 14px}.photo-mosaic{grid-template-columns:1fr}.photo-tile.large{grid-column:auto;grid-row:auto}.cta-band-v2{border-radius:22px;padding:24px}.public-nav .navbar-brand small{font-size:.66rem}.brand-logo{width:42px;height:42px}}

/* Phase 2.5.3 Quick Access Curve / Padding Hotfix
   Fixes the tight top-left/top-right spacing where the quick access panel overlaps the blue hero curve. */
.quick-access-wrap{
    position:relative;
    z-index:5;
    margin-top:-38px!important;
    padding-left:18px;
    padding-right:18px;
}
.quick-access-panel{
    background:#fff;
    border:1px solid #dce6f2;
    border-radius:26px;
    padding:20px!important;
    box-shadow:0 18px 44px rgba(6,29,69,.08);
    overflow:visible;
}
.quick-access-panel .row{
    --bs-gutter-x:18px;
    --bs-gutter-y:18px;
}
.quick-card-v2{
    min-height:118px;
    padding:17px 18px!important;
    border-radius:18px;
}
.home-intro-section{
    padding-top:3.25rem!important;
}
@media(max-width:992px){
    .quick-access-wrap{
        margin-top:-30px!important;
        padding-left:14px;
        padding-right:14px;
    }
    .quick-access-panel{
        padding:16px!important;
        border-radius:22px;
    }
    .quick-card-v2{
        min-height:auto;
        padding:15px!important;
    }
}
@media(max-width:576px){
    .quick-access-wrap{
        margin-top:-22px!important;
        padding-left:10px;
        padding-right:10px;
    }
    .quick-access-panel{
        padding:12px!important;
        border-radius:18px;
    }
    .quick-access-panel .row{
        --bs-gutter-x:12px;
        --bs-gutter-y:12px;
    }
}


/* Phase 2.5.4 Page / Landing Hero Background Control */
.home-hero-v2[style*="background-image"]{
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}
.page-hero{
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}


/* Phase 2.5.7 — Public Header Logo / Wordmark Refinement */
.public-nav{
  min-height:76px;
}
.public-nav .navbar-brand{
  gap:12px!important;
  padding-top:10px;
  padding-bottom:10px;
}
.public-nav .brand-logo{
  width:68px!important;
  height:68px!important;
  flex:0 0 68px;
  object-fit:contain;
}
.public-nav .brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
  min-width:180px;
}
.public-nav .brand-wordmark strong,
.public-nav .navbar-brand strong{
  font-family:'Georgia','Times New Roman',serif;
  font-size:1.52rem!important;
  font-weight:800!important;
  line-height:.95!important;
  letter-spacing:-.025em;
  color:var(--sis-blue)!important;
}
.public-nav .brand-wordmark small,
.public-nav .navbar-brand small{
  font-family:'Georgia','Times New Roman',serif;
  font-size:1.03rem!important;
  font-weight:600;
  line-height:1.05!important;
  letter-spacing:-.012em;
  color:var(--sis-navy)!important;
  transform:scaleX(1.08);
  transform-origin:left center;
}
@media (max-width:991.98px){
  .public-nav{min-height:70px}
  .public-nav .brand-logo{width:58px!important;height:58px!important;flex-basis:58px}
  .public-nav .brand-wordmark{min-width:150px}
  .public-nav .brand-wordmark strong,
  .public-nav .navbar-brand strong{font-size:1.28rem!important}
  .public-nav .brand-wordmark small,
  .public-nav .navbar-brand small{font-size:.88rem!important}
}
@media (max-width:575.98px){
  .public-nav .navbar-brand{gap:9px!important}
  .public-nav .brand-logo{width:50px!important;height:50px!important;flex-basis:50px}
  .public-nav .brand-wordmark{min-width:132px}
  .public-nav .brand-wordmark strong,
  .public-nav .navbar-brand strong{font-size:1.1rem!important}
  .public-nav .brand-wordmark small,
  .public-nav .navbar-brand small{font-size:.76rem!important;transform:scaleX(1.06)}
}

/* Phase 2.5.8 — Dynamic Header Brand Format from Settings */
.public-nav{
  min-height:88px;
}
.public-nav .public-brand,
.public-nav .navbar-brand.public-brand{
  gap:16px!important;
  padding-top:12px;
  padding-bottom:12px;
  max-width:430px;
  min-width:0;
}
.public-nav .public-brand .brand-logo{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(6,29,69,.12));
}
.public-nav .public-brand .brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.05;
}
.public-nav .public-brand .brand-wordmark strong{
  font-family:'Manrope','Noto Sans Lao',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  font-size:1.38rem!important;
  font-weight:850!important;
  line-height:1.05!important;
  letter-spacing:-.04em;
  color:var(--sis-blue)!important;
  white-space:normal;
}
.public-nav .public-brand .brand-wordmark small{
  font-family:'Manrope','Noto Sans Lao',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  font-size:.88rem!important;
  font-weight:650;
  line-height:1.15!important;
  letter-spacing:normal;
  color:var(--sis-navy)!important;
  opacity:.92;
  transform:none!important;
  white-space:normal;
  margin-top:3px;
}
@media (min-width:1200px){
  .public-nav .public-brand{max-width:455px}
  .public-nav .public-brand .brand-logo{width:74px!important;height:74px!important;flex-basis:74px}
  .public-nav .public-brand .brand-wordmark strong{font-size:1.48rem!important}
  .public-nav .public-brand .brand-wordmark small{font-size:.93rem!important}
}
@media (max-width:991.98px){
  .public-nav{min-height:78px}
  .public-nav .public-brand{gap:12px!important;max-width:330px}
  .public-nav .public-brand .brand-logo{width:60px!important;height:60px!important;flex-basis:60px}
  .public-nav .public-brand .brand-wordmark strong{font-size:1.15rem!important;line-height:1.08!important}
  .public-nav .public-brand .brand-wordmark small{font-size:.76rem!important}
}
@media (max-width:575.98px){
  .public-nav{min-height:70px}
  .public-nav .public-brand{gap:10px!important;max-width:270px}
  .public-nav .public-brand .brand-logo{width:52px!important;height:52px!important;flex-basis:52px}
  .public-nav .public-brand .brand-wordmark strong{font-size:1rem!important;letter-spacing:-.035em}
  .public-nav .public-brand .brand-wordmark small{font-size:.68rem!important;line-height:1.12!important}
}

/* Phase 2.5.11 - School Apps / Portal Thumbnails */
.quick-card-link{display:flex;text-decoration:none;color:inherit}.quick-card-link:hover{color:inherit}.apps-hero{background:linear-gradient(135deg,var(--sis-blue),#0e5bbb)}.apps-filter .btn{border-radius:999px}.app-card-link{text-decoration:none;color:inherit;display:block;height:100%}.app-card{height:100%;background:#fff;border:1px solid var(--sis-border);border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(6,29,69,.07);transition:.22s}.app-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(6,29,69,.13);border-color:#b9cbea}.app-thumb{height:190px;position:relative;background:#eef3fb;overflow:hidden}.app-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.app-card:hover .app-thumb img{transform:scale(1.04)}.app-audience{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.93);color:var(--sis-blue);border:1px solid rgba(11,75,147,.12);border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:800}.app-card-body{padding:20px}.app-card-body h4{font-size:1.15rem;font-weight:850;color:var(--sis-navy);margin:0}.app-card-body p{color:#687992;margin:.55rem 0 0;line-height:1.55}.app-open-icon{width:34px;height:34px;border-radius:12px;background:#eef5ff;color:var(--sis-blue);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.apps-group-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--sis-gold),var(--sis-teal));box-shadow:0 0 0 6px rgba(216,166,42,.12)}
@media(max-width:576px){.app-thumb{height:165px}.app-card-body{padding:16px}.app-card-body h4{font-size:1.05rem}}


/* Phase 2.5.12 Alumni Portal Navigation */
.alumni-hero {
    background: linear-gradient(135deg, rgba(6, 48, 103, .96), rgba(19, 88, 163, .88)), url('../img/hero-campus-modern.svg') center/cover no-repeat;
    color: #fff;
}
.alumni-app-card .app-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2, 21, 57, 0), rgba(2, 21, 57, .08));
    pointer-events: none;
}
.alumni-help-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px;
    border-radius: 28px;
    color: #fff;
    background: linear-gradient(135deg, #08265a, #0f55a2);
    box-shadow: 0 18px 45px rgba(8, 38, 90, .22);
}
.alumni-help-panel .eyebrow-pill {
    color: #fff;
    border-color: rgba(255,255,255,.26);
    background: rgba(255,255,255,.12);
}
.alumni-empty-card {
    border-radius: 26px;
}
.alumni-map-prompt {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    border: 1px solid #cfe0f2;
    border-radius: 22px;
    background: linear-gradient(135deg, #f3f8ff, #fff);
    box-shadow: 0 12px 30px rgba(8, 48, 103, .07);
}
.alumni-map-prompt-icon {
    display: grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(135deg, var(--sis-blue), #1c7bc2);
    box-shadow: 0 9px 20px rgba(11, 75, 147, .2);
}
.alumni-map-prompt-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.alumni-map-prompt-label {
    display: block;
    margin-bottom: 3px;
    color: var(--sis-blue);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.alumni-map-prompt p {
    margin: 0;
    color: var(--sis-navy);
    font-size: 1.06rem;
    font-weight: 750;
    line-height: 1.5;
}
.alumni-map-shell{overflow:hidden;border:1px solid #c9dbea;border-radius:24px;background:#e8f2f7;box-shadow:0 18px 42px rgba(8,48,103,.12)}
.alumni-interactive-map{width:100%;height:520px;z-index:1}
.alumni-map-pin{display:grid!important;width:34px!important;height:34px!important;margin:-17px 0 0 -17px!important;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#087d4d;box-shadow:0 5px 14px rgba(0,0,0,.28);transform:rotate(-45deg)}
.alumni-map-pin span{display:block;width:10px;height:10px;border-radius:50%;background:#fff}
.alumni-map-popup{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;min-width:245px;padding:3px}
.alumni-map-popup.no-photo{grid-template-columns:1fr}
.alumni-map-popup img{width:68px;height:82px;border-radius:10px;object-fit:cover;background:#eaf0f6}
.alumni-map-popup h3{margin:0 0 3px;color:#0b4b93;font-size:1rem;font-weight:850}
.alumni-map-popup .location{display:block;margin-bottom:7px;color:#617187;font-size:.76rem}
.alumni-map-popup p{margin:2px 0;color:#263c58;font-size:.77rem;line-height:1.35}
.alumni-map-popup .details{margin-top:7px;color:#5d6f84}
.alumni-map-shell .leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 12px 34px rgba(0,24,62,.22)}
.alumni-map-shell .leaflet-popup-content{margin:14px}
@media (max-width: 767.98px) {
    .alumni-help-panel {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px;
        border-radius: 22px;
    }
    .alumni-map-prompt {
        align-items: flex-start;
        padding: 18px;
        border-radius: 18px;
    }
    .alumni-map-prompt-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }
    .alumni-map-prompt p {
        font-size: .96rem;
    }
    .alumni-interactive-map{height:390px}
}


/* Phase 2.5.13 — Public login link and professional secure login UI */
.topbar-login-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    color:#fff!important;
    text-decoration:none;
    font-weight:800;
    transition:.2s ease;
}

/* Admin access is intentionally private and must not appear on public pages. */
.public-topbar .topbar-login-link,
.public-nav .btn-login-nav {
  display: none !important;
}
.topbar-login-link:hover{background:#fff;color:var(--sis-blue)!important;transform:translateY(-1px)}
.btn-login-nav{
    background:#082a5a;
    color:#fff!important;
    border:1px solid rgba(8,42,90,.12);
    box-shadow:0 10px 24px rgba(8,42,90,.16);
}
.btn-login-nav:hover{background:#0d438d;color:#fff!important;transform:translateY(-1px)}
.secure-login-page{
    min-height:100vh;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#eef6ff 0%,#ffffff 42%,#f7fbff 100%);
    font-family:'Manrope',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}
.login-bg-orb{position:absolute;border-radius:999px;filter:blur(6px);opacity:.55;pointer-events:none}
.login-orb-1{width:420px;height:420px;background:rgba(12,77,160,.15);top:-120px;left:-110px}
.login-orb-2{width:360px;height:360px;background:rgba(201,145,24,.14);right:-130px;bottom:-120px}
.secure-login-card{
    overflow:hidden;
    border-radius:34px;
    border:1px solid rgba(210,225,244,.92);
    background:#fff;
    box-shadow:0 28px 80px rgba(6,29,69,.16);
}
.secure-login-brand{
    position:relative;
    padding:42px;
    color:#fff;
    background:radial-gradient(circle at 28% 16%,rgba(255,255,255,.2),transparent 35%),linear-gradient(155deg,#07244f 0%,#0a4d9d 68%,#0b6d9f 100%);
}
.login-back-link{
    display:inline-flex;
    color:rgba(255,255,255,.86);
    text-decoration:none;
    font-weight:800;
    font-size:.9rem;
    margin-bottom:38px;
}
.login-back-link:hover{color:#fff}
.login-brand-block img{
    width:112px;
    height:112px;
    object-fit:contain;
    background:#fff;
    border-radius:50%;
    padding:7px;
    box-shadow:0 16px 45px rgba(0,0,0,.22);
}
.login-brand-block h1{
    margin:20px 0 8px;
    font-size:clamp(1.75rem,2.5vw,2.6rem);
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.045em;
}
.login-brand-block p{font-size:1.02rem;color:rgba(255,255,255,.78);margin:0;max-width:330px}
.login-security-notes{margin-top:44px;display:grid;gap:12px}
.login-security-notes div{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:0 12px;
    align-items:center;
    padding:13px 14px;
    border-radius:18px;
    background:rgba(255,255,255,.11);
    border:1px solid rgba(255,255,255,.14);
}
.login-security-notes span{grid-row:span 2;width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.16)}
.login-security-notes strong{font-size:.93rem}
.login-security-notes small{font-size:.78rem;color:rgba(255,255,255,.72)}
.secure-login-form-wrap{padding:54px 58px;background:linear-gradient(180deg,#fff,#fbfdff)}
.login-form-header{margin-bottom:26px}
.login-pill{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:#eef7f8;
    color:var(--sis-teal);
    font-weight:900;
    font-size:.78rem;
    margin-bottom:14px;
}
.login-form-header h2{font-size:clamp(2rem,3vw,3rem);font-weight:900;letter-spacing:-.05em;color:var(--sis-navy);margin-bottom:8px}
.login-form-header p{color:#667894;max-width:560px;margin:0}
.secure-login-form .form-label{font-weight:850;color:var(--sis-navy);font-size:.9rem;margin-bottom:8px}
.login-input-group{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:56px;
    border:1px solid #dbe7f5;
    border-radius:17px;
    background:#fff;
    padding:0 14px;
    transition:.2s ease;
}
.login-input-group:focus-within{border-color:#0f64c2;box-shadow:0 0 0 4px rgba(15,100,194,.11)}
.login-input-group>span{width:28px;text-align:center;opacity:.75}
.login-input-group .form-control{border:0!important;box-shadow:none!important;padding-left:0;background:transparent;min-height:52px}
.password-toggle{border:0;background:#edf4fd;color:var(--sis-blue);border-radius:10px;padding:7px 10px;font-weight:850;font-size:.78rem}
.login-submit-btn{min-height:54px;border-radius:16px;font-weight:900;box-shadow:0 16px 34px rgba(10,77,157,.22)}
.login-demo-note{text-align:center;margin-top:16px;color:#7c8ca4;font-size:.88rem}
@media(max-width:991.98px){
    .secure-login-brand,.secure-login-form-wrap{padding:32px 24px}
    .login-security-notes{margin-top:28px}
}
@media(max-width:575.98px){
    .secure-login-card{border-radius:24px}
    .login-brand-block img{width:90px;height:90px}
    .login-security-notes{display:none}
    .secure-login-form-wrap{padding:28px 18px}
    .login-input-group{min-height:52px;border-radius:14px}
    .login-form-header h2{font-size:1.85rem}
}

/* Phase 2.5.15 — Standard login size + hero background */
.secure-login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    background-image:linear-gradient(135deg,rgba(4,21,50,.86),rgba(8,63,135,.72)),var(--login-bg-image);
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
}
.secure-login-page:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.12),transparent 28%),radial-gradient(circle at 86% 18%,rgba(201,145,24,.16),transparent 24%);
    pointer-events:none;
}
.secure-login-page .container{position:relative;z-index:2}
.login-bg-orb{opacity:.22;filter:blur(12px)}
.secure-login-card{
    max-width:980px;
    margin:0 auto;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.96);
    box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.secure-login-brand{
    padding:30px 32px;
    background:linear-gradient(160deg,rgba(5,29,70,.96),rgba(8,68,146,.92));
}
.login-back-link{font-size:.82rem;margin-bottom:24px}
.login-brand-block img{width:82px;height:82px;padding:6px;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.login-brand-block h1{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.14;letter-spacing:-.035em;margin:16px 0 6px}
.login-brand-block p{font-size:.92rem;line-height:1.5;max-width:280px}
.login-security-notes{margin-top:28px;gap:10px}
.login-security-notes div{grid-template-columns:34px 1fr;padding:10px 11px;border-radius:15px}
.login-security-notes span{width:34px;height:34px;border-radius:12px;font-size:.9rem}
.login-security-notes strong{font-size:.84rem}
.login-security-notes small{font-size:.72rem;line-height:1.35}
.secure-login-form-wrap{padding:36px 42px;background:linear-gradient(180deg,#fff,#f8fbff)}
.login-form-header{margin-bottom:20px}
.login-pill{padding:6px 10px;font-size:.72rem;margin-bottom:10px}
.login-form-header h2{font-size:clamp(1.55rem,2.3vw,2.25rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:6px}
.login-form-header p{font-size:.92rem;line-height:1.55;max-width:470px}
.secure-login-form .form-label{font-size:.84rem;margin-bottom:6px}
.login-input-group{min-height:48px;border-radius:14px;padding:0 12px}
.login-input-group .form-control{min-height:46px;font-size:.94rem}
.password-toggle{padding:6px 9px;border-radius:9px;font-size:.72rem}
.login-submit-btn{min-height:48px;border-radius:13px;font-size:.95rem}
.login-demo-note{margin-top:12px;font-size:.8rem}
@media(max-width:991.98px){
    .secure-login-page{background-attachment:scroll;padding:18px 0}
    .secure-login-card{max-width:720px}
    .secure-login-brand,.secure-login-form-wrap{padding:28px 24px}
    .login-security-notes{display:none}
}
@media(max-width:575.98px){
    .secure-login-card{border-radius:20px}
    .login-brand-block img{width:72px;height:72px}
    .login-brand-block h1{font-size:1.28rem}
    .secure-login-form-wrap{padding:24px 18px}
    .login-form-header h2{font-size:1.55rem}
}

/* Phase 2.5.16 - Email verification code login */
.otp-input-group .otp-code-input{
    font-size:1.45rem!important;
    font-weight:900;
    letter-spacing:.42rem;
    text-align:center;
    color:var(--sis-navy);
}
.secure-login-form .btn-outline-primary{
    border-color:rgba(15,76,140,.28);
    color:var(--sis-blue);
    font-weight:800;
    border-radius:12px;
}
.secure-login-form .btn-outline-primary:hover{
    background:var(--sis-blue);
    color:#fff;
}
.secure-login-form code,
.secure-login-form-wrap code{
    color:#0f4c8c;
    background:#eef5ff;
    padding:.08rem .32rem;
    border-radius:6px;
}
@media(max-width:575.98px){
    .otp-input-group .otp-code-input{font-size:1.18rem!important;letter-spacing:.28rem;}
}

/* Phase 2.5.18 - Login cleanup and Terms footer/page */
.login-demo-note{display:none!important}
.footer-legal-links a{display:inline-block;color:rgba(255,255,255,.82);text-decoration:none;margin:0;font-weight:650}
.footer-legal-links a:hover{color:#fff;text-decoration:underline}
.terms-page{background:#f7fafd}
.terms-card{font-size:1rem;line-height:1.8;color:#17304f}
.terms-card h2,.terms-card h3{font-weight:800;color:var(--sis-navy);margin-top:1.4rem;margin-bottom:.75rem}
.terms-card h2:first-child,.terms-card h3:first-child{margin-top:0}
.terms-card p{color:#52657f}
.terms-card ul{color:#52657f}
@media(max-width:767.98px){.footer-bottom .container{font-size:.88rem}.terms-card{padding:1.25rem!important}}

/* Phase 2.5.20 — Clean Professional Admin Dashboard */
.admin-body{
  background:#f4f7fb!important;
}
.admin-content{
  padding:24px!important;
}
.dash-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:24px;
  align-items:stretch;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.18) 0 90px,transparent 91px),
    linear-gradient(135deg,#073b82 0%,#061d45 70%);
  color:#fff;
  border-radius:28px;
  padding:30px;
  box-shadow:0 22px 55px rgba(6,29,69,.18);
  overflow:hidden;
  position:relative;
}
.dash-hero-card:before{
  content:"";
  position:absolute;
  inset:auto -60px -96px auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(216,166,42,.18);
}
.dash-hero-content,.dash-hero-panel{position:relative;z-index:1}
.dash-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  border-radius:999px;
  padding:7px 12px;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:14px;
}
.dash-kicker:before{content:"●";color:#d8a62a;font-size:.7rem}
.dash-hero-content h2{
  font-family:'Manrope','Noto Sans Lao',system-ui,sans-serif;
  font-weight:850;
  font-size:clamp(1.8rem,3vw,3rem);
  letter-spacing:-.045em;
  line-height:1.05;
  margin:0 0 10px;
}
.dash-hero-content p{
  max-width:720px;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.65;
  margin-bottom:18px;
}
.dash-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.dash-hero-actions .btn{border-radius:14px;padding:.72rem 1rem;font-weight:850}
.dash-hero-panel{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  align-content:center;
}
.dash-hero-panel>div{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  padding:16px;
  backdrop-filter:blur(10px);
}
.dash-hero-panel small{
  display:block;
  color:rgba(255,255,255,.68);
  font-weight:750;
  font-size:.73rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.dash-hero-panel strong{font-size:1.55rem;line-height:1;font-weight:900}
.dash-stat{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dce6f2;
  border-radius:22px;
  padding:20px;
  min-height:158px;
  box-shadow:0 10px 30px rgba(6,29,69,.06);
  color:#061d45;
  transition:.18s ease;
  position:relative;
  overflow:hidden;
}
.dash-stat:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(6,29,69,.11);border-color:#c8d7ea;color:#061d45}
.dash-stat:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-36px;
  width:112px;
  height:112px;
  border-radius:50%;
  opacity:.14;
  background:#073b82;
}
.dash-stat-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#eef5ff;
  font-size:1.35rem;
  margin-bottom:13px;
}
.dash-stat small{display:block;color:#6b7b93;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.dash-stat strong{display:block;font-size:2rem;line-height:1.05;font-weight:900;letter-spacing:-.04em;margin:6px 0 2px}
.dash-stat em{font-style:normal;color:#6b7b93;font-size:.88rem}
.dash-stat-gold .dash-stat-icon{background:#fff5d9}.dash-stat-gold:after{background:#d8a62a}
.dash-stat-teal .dash-stat-icon{background:#e7f8f7}.dash-stat-teal:after{background:#0f9b9f}
.dash-stat-green .dash-stat-icon{background:#eaf8ef}.dash-stat-green:after{background:#1c9b56}
.dash-card{
  background:#fff;
  border:1px solid #dce6f2;
  border-radius:24px;
  box-shadow:0 10px 30px rgba(6,29,69,.06);
  padding:22px;
}
.dash-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.dash-card-head h5{
  margin:0;
  color:#061d45;
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:-.02em;
}
.dash-card-head p{
  margin:5px 0 0;
  color:#718199;
  font-size:.9rem;
}
.dash-card-head a{
  color:#073b82;
  font-weight:850;
  font-size:.88rem;
  text-decoration:none;
  white-space:nowrap;
}
.dash-bars{
  height:255px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:13px;
  align-items:end;
  padding:10px 4px 0;
}
.dash-bar-item{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.dash-bar-value{font-size:.78rem;font-weight:850;color:#061d45;min-height:19px}
.dash-bar-track{
  width:100%;
  max-width:44px;
  height:185px;
  background:#edf3fb;
  border-radius:999px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:1px solid #e0e9f5;
}
.dash-bar-track span{
  display:block;
  width:100%;
  min-height:10px;
  border-radius:999px;
  background:linear-gradient(180deg,#2f7ee6,#073b82);
}
.dash-bar-item small{font-weight:800;color:#718199;font-size:.76rem}
.status-stack{display:grid;gap:14px}
.status-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.status-row strong{color:#061d45;font-size:.92rem}
.status-row span{color:#718199;font-size:.84rem}
.status-progress{height:9px;background:#eef3fa;border-radius:999px;overflow:hidden}
.status-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#073b82,#0f9b9f)}
.dash-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dash-shortcut{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  text-decoration:none;
  color:#061d45;
  border:1px solid #dce6f2;
  background:#fbfdff;
  border-radius:18px;
  padding:15px;
  transition:.18s ease;
}
.dash-shortcut:hover{background:#fff;border-color:#c5d7ed;transform:translateY(-2px);box-shadow:0 12px 28px rgba(6,29,69,.08);color:#061d45}
.dash-shortcut>span{
  width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#eef5ff;font-size:1.35rem
}
.dash-shortcut strong{display:block;font-size:.98rem;font-weight:900;margin-bottom:2px}
.dash-shortcut small{display:block;color:#718199;line-height:1.35;font-size:.84rem}
.dash-shortcut em{font-style:normal;font-size:.78rem;color:#073b82;background:#eef5ff;border-radius:999px;padding:6px 9px;font-weight:850}
.dash-list{display:grid;gap:10px}
.dash-list-item,.dash-event-item{
  display:flex;
  gap:12px;
  align-items:center;
  border:1px solid #e2eaf5;
  background:#fbfdff;
  border-radius:16px;
  padding:12px;
}
.dash-avatar{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#073b82;color:#fff;font-weight:900;flex:0 0 40px
}
.dash-list-item strong,.dash-event-item strong{display:block;color:#061d45;font-size:.94rem;font-weight:900;line-height:1.25}
.dash-list-item small,.dash-event-item small{display:block;color:#718199;font-size:.8rem;margin-top:2px}
.dash-date{width:48px;height:48px;border-radius:15px;background:#eef5ff;color:#073b82;display:grid;place-items:center;line-height:1;flex:0 0 48px}
.dash-date strong{font-size:1.05rem!important}.dash-date small{font-weight:900;color:#073b82!important;margin-top:-10px!important}
.dash-empty-state,.dash-empty-note{
  background:#f6f9fd;border:1px dashed #cad8ea;border-radius:16px;color:#718199;padding:14px;text-align:center;font-size:.9rem
}
.dash-table th{background:#f7f9fd!important;color:#64748b!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.dash-table td{border-color:#edf2f8;color:#061d45}
.dash-table code{background:#f4f7fb;border:1px solid #e2eaf5;border-radius:8px;color:#073b82;padding:4px 7px}
@media(max-width:1199.98px){
  .dash-hero-card{grid-template-columns:1fr}.dash-hero-panel{max-width:680px}
}
@media(max-width:767.98px){
  .admin-content{padding:16px!important}.dash-hero-card{padding:22px;border-radius:22px}.dash-hero-panel{grid-template-columns:1fr 1fr}.dash-shortcut-grid{grid-template-columns:1fr}.dash-bars{gap:8px}.dash-bar-track{max-width:34px}.dash-shortcut{grid-template-columns:46px minmax(0,1fr);}.dash-shortcut em{grid-column:2;justify-self:start}.dash-card{padding:18px;border-radius:20px}
}
@media(max-width:480px){.dash-hero-panel{grid-template-columns:1fr}.dash-hero-actions .btn{width:100%}}


/* Phase 2.5.26 Gallery Album UI */
.gallery-album-card,
.gallery-photo-card {
    display: block;
    height: 100%;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gallery-album-card:hover,
.gallery-photo-card:hover,
.gallery-album-card.is-active {
    transform: translateY(-3px);
    border-color: rgba(16, 88, 180, .24);
    box-shadow: 0 24px 46px rgba(15, 23, 42, .11);
}
.gallery-album-cover,
.gallery-photo-img {
    display: block;
    height: 170px;
    background: #edf3fb;
    overflow: hidden;
}
.gallery-album-cover img,
.gallery-photo-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.gallery-album-card:hover img,
.gallery-photo-card:hover img { transform: scale(1.04); }
.gallery-album-body,
.gallery-photo-body { padding: 18px; }
.gallery-album-body h5 { font-size: 1.02rem; font-weight: 800; color: #0f2f5f; margin-bottom: 5px; }
.gallery-album-body p { color: #64748b; margin-bottom: 10px; font-size: .9rem; }
.gallery-album-body span { color: #0d6efd; font-weight: 700; font-size: .9rem; }
.gallery-photo-body strong { color: #0f2f5f; font-size: .96rem; }
@media (max-width: 767.98px) {
    .gallery-album-cover,
    .gallery-photo-img { height: 150px; }
    .gallery-album-body,
    .gallery-photo-body { padding: 14px; }
}

/* Phase 2.5.30: public gallery all photos layout */
.gallery-all-photos-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}
.gallery-all-photo-item {
    min-width: 0;
}
.gallery-all-photos-grid .gallery-photo-img {
    height: 135px;
}
.gallery-all-photos-grid .gallery-photo-body {
    padding: 12px 13px;
}
.gallery-all-photos-grid .gallery-photo-body strong {
    font-size: .88rem;
    line-height: 1.25;
}
.gallery-all-photos-grid .gallery-photo-body small {
    font-size: .76rem;
}
.gallery-all-photo-empty {
    grid-column: 1 / -1;
}
@media (max-width: 1199.98px) {
    .gallery-all-photos-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .gallery-all-photos-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .gallery-all-photos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .gallery-all-photos-grid .gallery-photo-img { height: 125px; }
}
@media (max-width: 420px) {
    .gallery-all-photos-grid { grid-template-columns: 1fr; }
}

/* Phase 2.5.31: cleaner footer brand when logo is hidden on selected public pages */
.footer-brand-no-logo{gap:0!important;}
.footer-brand-no-logo h5{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;}
.footer-brand-no-logo small{display:block;color:rgba(255,255,255,.78);margin-top:4px;}

/* Phase 2.5.32: hide footer logo globally on all public pages */
.public-footer .footer-logo{display:none!important;}
.public-footer .footer-brand-block{gap:0!important;}
.public-footer .footer-brand-no-logo h5{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;}
.public-footer .footer-brand-no-logo small{display:block;color:rgba(255,255,255,.78);margin-top:4px;}

/* Phase 2.5.34 Clubs public page */
.clubs-hero{background:linear-gradient(135deg,#0b3f85,#0f6abf);position:relative;overflow:hidden}.clubs-hero::after{content:"";position:absolute;inset:auto -8% -35% 45%;height:260px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%);pointer-events:none}.clubs-filter .btn{border-radius:999px;font-weight:750}.club-card-link{text-decoration:none;color:inherit;display:block;height:100%}.club-card{height:100%;background:#fff;border:1px solid var(--sis-border);border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(6,29,69,.07);transition:.22s}.club-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(6,29,69,.13);border-color:#b9cbea}.club-card.is-active{border-color:#0d6efd;box-shadow:0 18px 40px rgba(13,110,253,.14)}.club-card-img{height:185px;position:relative;background:#eef3fb;overflow:hidden}.club-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.club-card:hover .club-card-img img{transform:scale(1.04)}.club-card-img span,.club-category{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;background:rgba(255,255,255,.94);border:1px solid rgba(11,75,147,.12);color:#0b4b93;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.club-card-img span{position:absolute;left:14px;top:14px}.club-category{background:#eef7ff}.club-card-body{padding:19px}.club-card-body h4{font-size:1.08rem;font-weight:850;color:var(--sis-navy);margin:0 0 .45rem}.club-card-body p{color:#687992;line-height:1.55;font-size:.93rem;margin:0 0 1rem}.club-mini-meta{display:grid;gap:5px;color:#66758a}.club-mini-meta small{font-size:.8rem}.club-feature-panel{background:#fff;border:1px solid var(--sis-border);border-radius:28px;padding:28px;box-shadow:0 16px 40px rgba(6,29,69,.08)}.club-feature-img{width:100%;height:330px;object-fit:cover;border-radius:22px;background:#eef3fb;box-shadow:0 16px 30px rgba(6,29,69,.08)}.club-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.club-info-grid div{background:#f7faff;border:1px solid var(--sis-border);border-radius:16px;padding:14px}.club-info-grid strong{display:block;color:#0b4b93;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.club-info-grid span{font-weight:750;color:var(--sis-navy)}.club-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.club-photo-card{background:#fff;border:1px solid var(--sis-border);border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(6,29,69,.07)}.club-photo-card img{width:100%;height:170px;object-fit:cover;display:block}.club-photo-card figcaption{padding:13px 14px}.club-photo-card strong{display:block;font-size:.92rem;color:var(--sis-navy)}.club-photo-card small{color:#687992;font-size:.78rem}.club-photo-empty{grid-column:1/-1}.club-help-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#092b5a,#0d4c98);color:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 40px rgba(6,29,69,.14)}.club-help-panel p{color:rgba(255,255,255,.82)}
@media(max-width:1199px){.club-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.club-info-grid{grid-template-columns:1fr}}@media(max-width:767px){.club-card-img{height:165px}.club-feature-panel{padding:18px;border-radius:22px}.club-feature-img{height:230px}.club-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.club-help-panel{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.club-photo-grid{grid-template-columns:1fr}}

/* Release v1.4.10 - Clubs page card-to-CTA spacing */
.clubs-page .clubs-card-grid{margin-bottom:30px}
@media(max-width:767px){.clubs-page .clubs-card-grid{margin-bottom:22px}}

/* Phase 2.5.39 Affiliates & Partners */
.affiliates-section{padding-top:2.5rem;padding-bottom:2.5rem}
.affiliates-panel{background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);border:1px solid rgba(13,55,112,.12);border-radius:28px;padding:32px;box-shadow:0 20px 48px rgba(15,45,90,.08)}
.affiliate-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.affiliate-logo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:132px;padding:18px 14px;border:1px solid rgba(13,55,112,.12);border-radius:20px;background:#fff;text-decoration:none;color:#09224a;box-shadow:0 10px 24px rgba(15,45,90,.06);transition:.2s ease}
.affiliate-logo-card:hover{transform:translateY(-3px);border-color:rgba(202,143,18,.5);box-shadow:0 16px 34px rgba(15,45,90,.1);color:#09224a}
.affiliate-logo-box{height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.affiliate-logo-box img{max-width:128px;max-height:52px;object-fit:contain;display:block}
.affiliate-logo-box span{width:54px;height:54px;border-radius:16px;background:#eef6ff;color:#0b4ea2;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.04em}
.affiliate-logo-card strong{font-size:.94rem;line-height:1.2}
.affiliate-logo-card small{font-size:.78rem;color:#65758f;line-height:1.25}
.affiliate-logo-preview{height:110px;border:1px solid #dbe7f4;border-radius:18px;background:#f8fbff;display:flex;align-items:center;justify-content:center;padding:18px}
.affiliate-logo-preview img{max-width:100%;max-height:76px;object-fit:contain}
.affiliate-admin-grid{display:grid;gap:12px}
.affiliate-admin-card{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #dbe7f4;border-radius:18px;background:#fff}
.affiliate-admin-logo{width:86px;height:58px;border:1px solid #e3edf8;border-radius:16px;background:#f8fbff;display:flex;align-items:center;justify-content:center;flex:0 0 86px;padding:8px}
.affiliate-admin-logo img{max-width:100%;max-height:42px;object-fit:contain}
.affiliate-admin-logo span{font-weight:800;color:#0b4ea2}
.affiliate-admin-card p{margin:2px 0 8px;color:#6b7b94;font-size:.84rem}
.admin-page-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid #dbe7f4;border-radius:22px;padding:22px 24px;box-shadow:0 12px 34px rgba(15,45,90,.06)}
.admin-kicker{display:block;color:#0b64d8;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:.74rem;margin-bottom:4px}
.admin-metric-card{background:#fff;border:1px solid #dbe7f4;border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(15,45,90,.06)}
.admin-metric-card span{display:block;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#60708a;font-size:.72rem}
.admin-metric-card strong{font-size:1.8rem;color:#062a5f;margin-right:8px}
.admin-metric-card small{color:#6b7b94}
@media (max-width:991.98px){.affiliate-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.affiliates-panel{padding:24px}.admin-page-hero{align-items:flex-start;flex-direction:column}.affiliate-admin-card{align-items:flex-start}}
@media (max-width:575.98px){.affiliate-logo-grid{grid-template-columns:1fr}.affiliate-admin-card{flex-direction:column}.affiliate-admin-logo{width:100%;height:64px}}


/* Phase 2.5.40 - Summer Class and Join Us pages */
.portal-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.portal-card{border:1px solid rgba(15,23,42,.10);border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(15,23,42,.07);overflow:hidden;height:100%;transition:.2s ease}.portal-card:hover{transform:translateY(-3px);box-shadow:0 20px 55px rgba(15,23,42,.11)}.portal-card img{width:100%;height:190px;object-fit:cover;display:block}.portal-card-body{padding:1.1rem}.portal-card-body h3{font-size:1.05rem;font-weight:800;color:#08285c;margin:0 0 .45rem}.portal-card-body p{font-size:.9rem;color:#667792;margin-bottom:.8rem}.portal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.8rem}.portal-meta span{background:#f3f7fc;border:1px solid #dce8f6;border-radius:14px;padding:.55rem .65rem;font-size:.76rem;color:#455875}.portal-detail-panel{border:1px solid rgba(15,23,42,.10);border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.09);padding:1.25rem}.portal-detail-panel img{width:100%;height:330px;object-fit:cover;border-radius:22px}.portal-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.portal-photo-card{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #e0e8f4;box-shadow:0 10px 28px rgba(15,23,42,.06)}.portal-photo-card img{width:100%;height:180px;object-fit:cover;display:block}.portal-photo-card figcaption{padding:.75rem .9rem;font-size:.85rem;color:#42536f}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.process-step{background:#fff;border:1px solid #dce8f6;border-radius:22px;padding:1rem;box-shadow:0 12px 32px rgba(15,23,42,.06)}.process-step b{display:inline-flex;width:34px;height:34px;border-radius:12px;align-items:center;justify-content:center;background:#0b4595;color:#fff;margin-bottom:.7rem}.job-card{border:1px solid #dce8f6;border-radius:22px;background:#fff;padding:1.1rem;box-shadow:0 14px 35px rgba(15,23,42,.06);height:100%}.job-card h3{font-size:1.05rem;font-weight:800;color:#08285c}.job-pill{display:inline-flex;border-radius:999px;background:#eef7ff;color:#0b4595;font-weight:700;font-size:.75rem;padding:.35rem .7rem;margin:.15rem}.admin-mini-preview{width:72px;height:58px;border-radius:14px;object-fit:cover;background:#f1f5f9;border:1px solid #dce8f6}@media(max-width:991.98px){.portal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-photo-grid,.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.portal-card-grid,.portal-photo-grid,.process-steps{grid-template-columns:1fr}.portal-card img,.portal-photo-card img{height:190px}.portal-detail-panel img{height:230px}}


/* Phase 2.5.72 - Student Learning Objectives */
.slo-section{padding-top:3.75rem!important;padding-bottom:3.75rem!important}.slo-heading{max-width:760px}.slo-heading .section-lead{max-width:700px}.slo-card{height:100%;border:1px solid #dfe8f5;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);padding:22px;box-shadow:0 12px 28px rgba(6,29,69,.06);transition:transform .2s ease,box-shadow .2s ease}.slo-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(6,29,69,.11)}.slo-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--sis-blue);color:#fff;font-size:.84rem;font-weight:900;letter-spacing:.03em}.slo-card h5{margin:15px 0 8px;color:var(--sis-navy);font-size:1.08rem;font-weight:900}.slo-card p{margin:0;color:#687992;font-size:.92rem;line-height:1.62}@media(max-width:576px){.slo-section{padding-top:2.75rem!important;padding-bottom:2.75rem!important}.slo-card{padding:18px;border-radius:18px}.slo-card h5{font-size:1rem}.slo-card p{font-size:.86rem}}
/* Phase 2.5.73 - Public page templates */
.page-template-hero{position:relative}.template-kicker{display:inline-block;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:800;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.template-intro{max-width:820px}.template-intro h2{font-size:2rem;color:#082f6b;margin-bottom:14px}.template-intro p{color:#63728d;line-height:1.8;font-size:1.04rem}.template-highlight-card{height:100%;padding:28px;border:1px solid #dbe7f7;border-radius:20px;background:#fff;box-shadow:0 15px 36px rgba(26,61,110,.08)}.template-highlight-card .template-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#0f4c9a;color:#fff;font-weight:800;margin-bottom:18px}.template-highlight-card h3{font-size:1.16rem;color:#082f6b;margin-bottom:10px}.template-highlight-card p{color:#677691;line-height:1.7;margin:0}.template-cta{padding:48px 28px;border-radius:24px;background:linear-gradient(135deg,#082f6b,#1357ad);color:#fff}.template-cta h2{font-size:2rem;margin-bottom:12px}.template-cta p{max-width:720px;margin:0 auto 22px;opacity:.9;line-height:1.75}.template-cta .btn{background:#d79c13;border-color:#d79c13;color:#fff}@media(max-width:768px){.template-intro h2,.template-cta h2{font-size:1.6rem}.template-highlight-card{padding:22px}}

/* Phase 2.5.75: Flexible key information cards */
.template-highlight-card.has-image{overflow:hidden;padding:0}.template-highlight-image{display:block;width:100%;height:190px;object-fit:cover}.template-highlight-card.has-image .template-highlight-copy{padding:1.35rem}.template-highlight-card.has-image .template-number{margin-bottom:.75rem}@media(max-width:575px){.template-highlight-image{height:170px}}


/* Phase 2.5.76: Admissions basic math security check */
.admissions-security-check{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid #d8e5f4;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.admissions-security-check .form-label{font-weight:800;color:#0b3772}.admissions-security-check p{color:#62748c;line-height:1.45}.admissions-security-check input{max-width:150px;background:#fff;border-color:#b8cce6;font-weight:800}.admissions-security-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#0c4e9b;color:#fff;flex:0 0 38px;font-size:1rem}@media(max-width:575px){.admissions-security-check{padding:13px}.admissions-security-check input{max-width:100%}}


/* Phase 2.5.77 — Admissions submit security modal */
.admissions-math-modal{border:0;border-radius:1.25rem;overflow:hidden}.admissions-math-icon{width:62px;height:62px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eaf3ff;color:#0d6efd;font-size:1.65rem}.admissions-math-question{font-size:1.2rem;color:#24364b}.admissions-math-modal .form-control-lg{max-width:240px;margin:0 auto;font-weight:700;letter-spacing:.08em}.admissions-math-modal .btn-light{border:1px solid #dee2e6}@media (prefers-color-scheme:dark){body.dark-theme .admissions-math-modal{background:#15202c;color:#eef4fb}body.dark-theme .admissions-math-modal .text-muted{color:#b5c3d1!important}body.dark-theme .admissions-math-question{color:#eef4fb}body.dark-theme .admissions-math-icon{background:#1e3853;color:#8ec5ff}body.dark-theme .admissions-math-modal .btn-light{background:#243342;border-color:#3a4d60;color:#eef4fb}}


/* Translation Hub - clear source/target editing workspace */
.translation-hub{max-width:1540px;margin:0 auto}.translation-hero{border:0!important;background:radial-gradient(circle at 94% 6%,rgba(243,194,76,.30),transparent 27%),linear-gradient(135deg,#061d45,#0d5db8)!important;color:#fff;display:flex;gap:24px;justify-content:space-between;align-items:center;box-shadow:0 20px 48px rgba(6,29,69,.20)!important}.translation-hero-copy{max-width:760px}.translation-hero h2{font-weight:900;letter-spacing:-.035em}.translation-hero p{color:rgba(255,255,255,.82);line-height:1.7}.translation-kicker{font-size:.73rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.translation-hero-actions{display:flex;flex-wrap:wrap;gap:9px}.translation-sidebar{position:sticky;top:94px}.translation-sidebar-head{padding:7px 8px 13px;border-bottom:1px solid #e7edf6;margin-bottom:9px}.translation-sidebar-head span{display:block;color:var(--sis-navy);font-weight:900}.translation-sidebar-head small{color:#72819a}.translation-area-list{display:grid;gap:5px}.translation-area-link{display:flex;align-items:center;gap:10px;color:#2b405f;text-decoration:none;padding:11px 10px;border-radius:12px;font-weight:800;font-size:.9rem}.translation-area-link:hover{background:#f0f6ff;color:var(--sis-blue)}.translation-area-link.active{background:linear-gradient(135deg,#e7f0ff,#f8fbff);color:var(--sis-blue);box-shadow:inset 0 0 0 1px rgba(7,59,130,.13)}.translation-area-icon{font-size:1.03rem;width:22px;text-align:center}.translation-search-wrap{position:relative}.translation-search-wrap>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);z-index:2;font-size:.82rem}.translation-search-wrap .form-control{padding-left:30px}.translation-record-list{max-height:480px;overflow:auto;padding-right:2px;display:grid;gap:6px}.translation-record-link{display:block;border:1px solid #e2e9f3;border-radius:12px;padding:10px 11px;color:#31445f;text-decoration:none;background:#fff}.translation-record-link strong{display:block;font-size:.84rem;line-height:1.35}.translation-record-link small{display:block;color:#7b8aa0;margin-top:2px}.translation-record-link:hover,.translation-record-link.active{border-color:rgba(7,59,130,.28);background:#f0f6ff;color:var(--sis-blue)}.translation-empty-mini{padding:18px 8px;color:#72819a;font-size:.88rem;text-align:center}.translation-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:23px;border-bottom:1px solid #e5edf7;margin-bottom:20px}.translation-editor-head h3{font-weight:900;color:var(--sis-navy);letter-spacing:-.03em}.translation-coverage-card{min-width:136px;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid #dae7f8;padding:12px;text-align:center}.translation-coverage-card strong{display:block;color:var(--sis-blue);font-size:1.45rem;font-weight:950;line-height:1}.translation-coverage-card span{display:block;font-size:.76rem;font-weight:800;color:#455d7e;margin-top:5px}.translation-coverage-card small{display:block;color:#7b8ca3;font-size:.7rem;margin-top:2px}.translation-editor-note{display:flex;gap:11px;padding:13px 15px;border-radius:14px;background:#f4f9ff;border:1px solid #d9eaff;margin-bottom:18px}.translation-editor-note span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sis-blue);color:#fff;font-weight:900;flex:0 0 24px}.translation-editor-note p{margin:0;color:#52657f;font-size:.9rem;line-height:1.55}.translation-field-card{border:1px solid #e0e9f4;border-radius:17px;padding:17px;background:#fff;margin-bottom:13px;box-shadow:0 8px 18px rgba(6,29,69,.035)}.translation-field-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.translation-field-title>div>span{display:block;font-weight:900;color:var(--sis-navy)}.translation-field-title>div small{display:block;color:#7788a1;font-size:.73rem;margin-top:2px}.translation-status{display:inline-flex;align-items:center;border-radius:999px;background:#fff4d8;color:#a16b00;font-size:.7rem;font-weight:900;padding:5px 8px;white-space:nowrap}.translation-status.done{background:#e7f7ed;color:#158447}.translation-source{background:#f7f9fc!important;color:#65768d!important;border-style:dashed!important;resize:vertical}.translation-lao{border-color:rgba(7,59,130,.35)!important;background:#fff!important;resize:vertical}.translation-savebar{position:sticky;bottom:16px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid #d7e5f4;box-shadow:0 14px 32px rgba(6,29,69,.13);margin-top:20px}.translation-savebar strong{display:block;color:var(--sis-navy)}.translation-savebar small{display:block;color:#7889a1;margin-top:1px}.translation-empty-state{text-align:center;padding:70px 22px}.translation-empty-state>span{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#eef5ff;font-size:1.65rem}.translation-empty-state h4{font-weight:900;color:var(--sis-navy);margin:17px 0 6px}.translation-empty-state p{color:#72839b;margin:0}@media(max-width:1199px){.translation-sidebar{position:static}.translation-record-list{max-height:260px}}@media(max-width:767px){.translation-hero,.translation-editor-head,.translation-savebar{display:block}.translation-hero-actions{margin-top:16px}.translation-coverage-card{margin-top:16px;width:100%}.translation-savebar .btn{width:100%;margin-top:12px}}

/* Keep Lao pages consistently in PhetsarathOT, including display headings and buttons. */
html[lang="lo"] body,
html[lang="lo"] body * {
  font-family: 'Phetsarath OT', 'PhetsarathOT', 'Phetsarath', 'Saysettha OT', 'Noto Sans Lao', 'Lao UI', Arial, sans-serif !important;
}

/* Admissions WhatsApp country code controls */
.whatsapp-phone-input{display:flex;gap:.65rem;align-items:stretch}.whatsapp-phone-input .whatsapp-country-code{flex:0 0 190px;max-width:55%;font-weight:700}.whatsapp-phone-input .form-control{min-width:0;flex:1}.whatsapp-phone-input + .form-text{margin-top:.45rem;line-height:1.4}@media(max-width:575px){.whatsapp-phone-input{gap:.5rem}.whatsapp-phone-input .whatsapp-country-code{flex-basis:48%;max-width:48%;font-size:.86rem}}


/* Release v1.3.0: Public listing pagination. */
.public-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin:2rem 0 0;
  padding:1rem 1.15rem;
  border:1px solid rgba(10,67,143,.12);
  border-radius:1rem;
  background:linear-gradient(135deg,#f8fbff 0%,#fffdf7 100%);
  box-shadow:0 10px 28px rgba(16,50,95,.06);
}
.public-pagination-summary{color:#56708d;font-size:.9rem;}
.public-pagination-summary strong{color:#123f77;}
.public-pagination .pagination{gap:.35rem;align-items:center;}
.public-pagination .page-link{
  border-radius:.65rem!important;
  border:1px solid #d5e1f0;
  color:#0b4a93;
  background:#fff;
  padding:.5rem .75rem;
  font-weight:700;
  box-shadow:none;
}
.public-pagination .page-link:hover{background:#0b4a93;color:#fff;border-color:#0b4a93;}
.public-pagination .page-item.disabled .page-link{color:#91a1b4;background:#f4f7fb;border-color:#e3eaf2;opacity:1;}
.public-pagination .public-pagination-status .page-link{background:#edf4ff;color:#123f77;border-color:#d9e8fb;}
.font-lao .public-pagination .page-link,.font-lao .public-pagination-summary{font-family:'Phetsarath OT','PhetsarathOT','Phetsarath','Saysettha OT','Noto Sans Lao','Lao UI',Arial,sans-serif!important;}
@media (max-width:575.98px){
  .public-pagination{align-items:stretch;padding:.9rem;}
  .public-pagination-summary{width:100%;text-align:center;}
  .public-pagination nav{width:100%;}
  .public-pagination .pagination{justify-content:center;}
  .public-pagination .page-link{padding:.47rem .56rem;font-size:.84rem;}
}


/* SIS CMS v1.4.4 — Classes page spacing refinement
   Keeps the card grid and the admissions call-to-action visually separated
   without changing the content or pagination behavior of other public pages. */
.classes-page .classes-card-grid{margin-bottom:30px}
.classes-page .classes-help-panel{margin-top:0}
@media(max-width:767px){.classes-page .classes-card-grid{margin-bottom:22px}}

/* v1.4.5 — Interactive SIS Assistant, greeting card and admissions follow-up */
.ai-float{right:20px;bottom:20px;z-index:1045;align-items:center;gap:.5rem;padding:.78rem 1rem;border:1px solid rgba(255,255,255,.24);background:linear-gradient(135deg,#0e8f94,#0c5fa8);font-size:.83rem;letter-spacing:-.01em;transition:transform .18s,box-shadow .18s}.ai-float>span{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:rgba(255,255,255,.18);font-size:.75rem}.ai-float>b{font-weight:850}.ai-float:hover{color:#fff;transform:translateY(-2px);box-shadow:0 19px 35px rgba(9,82,143,.34)}.ai-greeting-card{position:fixed;right:20px;bottom:82px;z-index:1044;display:flex;gap:.72rem;width:min(372px,calc(100vw - 28px));padding:1rem 1.15rem 1rem 1rem;border:1px solid rgba(120,167,216,.42);border-radius:19px;background:rgba(255,255,255,.98);box-shadow:0 19px 46px rgba(10,44,94,.22);color:#16375f;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .18s ease,transform .18s ease;cursor:pointer}.ai-greeting-card[hidden]{display:none!important}.ai-greeting-card.show{opacity:1;transform:translateY(0) scale(1)}.ai-greeting-card:before{position:absolute;top:0;right:0;left:0;height:4px;border-radius:19px 19px 0 0;background:linear-gradient(90deg,#0c63b6,#12a49a,#d4a427);content:""}.ai-greeting-close{position:absolute;top:8px;right:9px;display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:8px;background:transparent;color:#8090a3;font-size:1.15rem;line-height:1;transition:.15s}.ai-greeting-close:hover{background:#eff5fb;color:#184a83}.ai-greeting-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:linear-gradient(135deg,#0c5ba9,#0e9a91);font-size:1.18rem;box-shadow:0 8px 18px rgba(9,92,161,.21)}.ai-greeting-copy{min-width:0;padding-right:.4rem}.ai-greeting-copy strong{display:block;padding-right:1rem;color:#153d73;font-size:.91rem;font-weight:900;line-height:1.25}.ai-greeting-copy p{margin:.26rem 0 .35rem;color:#5c708b;font-size:.78rem;line-height:1.47}.ai-greeting-copy em{display:block;margin:.34rem 0 .55rem;color:#805f10;font-size:.7rem;font-style:normal;font-weight:800;line-height:1.4}.ai-greeting-actions{display:flex;flex-wrap:wrap;gap:.4rem}.ai-greeting-actions button{border:0;border-radius:9px;padding:.42rem .58rem;font-size:.68rem;font-weight:850}.ai-greeting-primary{background:#0b5eae;color:#fff}.ai-greeting-link{background:#ecf5ff;color:#1e62a7}.ai-modal{border:0;border-radius:23px;background:#fff;box-shadow:0 24px 68px rgba(5,35,77,.28)}.ai-modal-header{align-items:center;padding:1rem 1.15rem;border:0!important;background:linear-gradient(115deg,#0a4d95,#0d78ab 62%,#0d9488)!important}.ai-modal-title-wrap{display:flex;align-items:center;gap:.63rem}.ai-modal-title-wrap>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.15);font-size:1.02rem}.ai-modal-title-wrap h5{margin:0;color:#fff;font-size:.98rem;font-weight:900}.ai-modal-title-wrap small{display:block;margin-top:.1rem;color:rgba(255,255,255,.78);font-size:.67rem}.ai-modal-body{padding:1rem 1.05rem 1.1rem;background:#fbfdff}.ai-chat-intro{display:flex;align-items:center;gap:.4rem;margin:0 0 .65rem;color:#71829a;font-size:.7rem;font-weight:750}.ai-online-dot{width:7px;height:7px;border-radius:50%;background:#19a879;box-shadow:0 0 0 4px rgba(25,168,121,.12)}.ai-messages{height:min(330px,42vh);min-height:210px;padding:.75rem;background:linear-gradient(180deg,#f1f7ff,#f7fbff);border:1px solid #dfebf6;border-radius:15px;scroll-behavior:smooth}.ai-msg{max-width:88%;margin:0 0 .55rem;padding:.62rem .72rem;border-radius:13px;font-size:.79rem;line-height:1.48;white-space:pre-line}.ai-msg.bot{border-color:#dbe7f3;background:#fff;color:#264567;box-shadow:0 4px 9px rgba(17,64,113,.035)}.ai-msg.user{border-radius:13px 13px 4px 13px;background:linear-gradient(135deg,#0b5eae,#0e7fa6);box-shadow:0 6px 13px rgba(9,91,169,.16)}.ai-msg.loading{display:inline-flex;align-items:center;gap:.38rem;color:#61809d;font-style:italic}.ai-msg.loading:before{width:7px;height:7px;border:2px solid #a1bad7;border-top-color:#0e67b9;border-radius:50%;content:"";animation:sisAiSpin .8s linear infinite}.ai-response-actions{display:flex;flex-wrap:wrap;gap:.42rem;margin:-.1rem 0 .68rem}.ai-response-action{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:.45rem .58rem;border:1px solid #d4e3f2;border-radius:10px;background:#fff;color:#225f9f;font-size:.68rem;font-weight:850;text-align:center;text-decoration:none;transition:.15s}.ai-response-action:hover{border-color:#0c6ab7;background:#ecf6ff;color:#0a5ba8}.ai-response-action.primary{border-color:#0d68b8;background:#0d68b8;color:#fff}.ai-response-action.gold{border-color:#c18b11;background:#c18b11;color:#fff}.ai-response-action.whatsapp{border-color:#179a62;background:#179a62;color:#fff}.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.65rem}.ai-chip{padding:.38rem .53rem;border:1px solid #d4e4f4;border-radius:999px;background:#fff;color:#44709e;font-size:.66rem;font-weight:830;transition:.15s}.ai-chip:hover{border-color:#7db2e7;background:#eef7ff;color:#0c5da9}.ai-chat-form{display:flex;gap:.52rem}.ai-chat-form .form-control{min-width:0;height:42px;border-color:#d3e2f2;border-radius:12px;font-size:.79rem}.ai-chat-form .btn{display:inline-flex;align-items:center;gap:.35rem;height:42px;padding:0 .78rem;border-radius:12px;font-size:.73rem;font-weight:850}.ai-chat-form .btn b{font-size:.9rem}.ai-lead-form{margin-top:.85rem;padding:.88rem;border:1px solid #bad8e5;border-radius:16px;background:linear-gradient(135deg,#f0fbfb,#f5f9ff)}.ai-lead-form-head{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.72rem}.ai-lead-form-head>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#d9f2ef;font-size:.8rem}.ai-lead-form-head strong{display:block;color:#214974;font-size:.78rem;font-weight:900}.ai-lead-form-head small{display:block;margin-top:.12rem;color:#6b819b;font-size:.66rem;line-height:1.35}.ai-lead-form .form-label{margin-bottom:.28rem;color:#57718e;font-size:.67rem;font-weight:850}.ai-lead-form .form-control,.ai-lead-form .form-select{min-height:37px;border-color:#d3e4ed;font-size:.76rem}.ai-lead-form .btn{font-size:.74rem;font-weight:900}.ai-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ai-lead-error{margin-bottom:.55rem;padding:.52rem .6rem;border:1px solid #f3c7c7;border-radius:9px;background:#fff3f3;color:#b13b3b;font-size:.7rem;line-height:1.4}.ai-contact-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.36rem;margin-top:.75rem;padding:.65rem .72rem;border-top:1px solid #e2ebf4;color:#75879c;font-size:.67rem}.ai-contact-strip span{margin-right:.1rem;font-weight:800}.ai-contact-strip a{color:#1763a8;font-weight:850;text-decoration:none}.ai-contact-strip a+a:before{margin-right:.36rem;color:#a4b5c7;content:"•"}@keyframes sisAiSpin{to{transform:rotate(360deg)}}
@media(max-width:575.98px){.ai-float{right:12px;bottom:12px;padding:.72rem .86rem}.ai-float b{font-size:.76rem}.ai-greeting-card{right:12px;bottom:72px;width:calc(100vw - 24px);padding:.9rem}.ai-greeting-copy strong{font-size:.84rem}.ai-greeting-copy p{font-size:.74rem}.ai-modal-body{padding:.82rem}.ai-messages{height:43vh;min-height:190px}.ai-msg{max-width:92%;font-size:.76rem}.ai-chat-form .btn span{display:none}.ai-chat-form .btn{padding:0 .76rem}.ai-contact-strip{justify-content:center;text-align:center}.whatsapp-phone-input .whatsapp-country-code{flex-basis:47%;max-width:47%}}

/* Keep the assistant close control accessible on small touch devices. */
#aiModal{z-index:1080}
body:has(#aiModal.show) .modal-backdrop{z-index:1070}
.ai-modal-header{position:relative;z-index:3;flex:0 0 auto}
.ai-modal-close{width:18px;height:18px;margin:-.35rem!important;margin-left:auto!important;padding:13px!important;border-radius:12px;opacity:1!important;touch-action:manipulation;position:relative;z-index:4}
.ai-modal-close:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:2px}
@media(max-width:991.98px){
  #aiModal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
  #aiModal .modal-dialog{width:100%;max-width:720px;height:100%;min-height:0;margin:0 auto}
  #aiModal .ai-modal{width:100%;max-height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:22px;box-shadow:0 24px 60px rgba(3,28,67,.34)}
  #aiModal .ai-modal-header{position:sticky;top:0;gap:.75rem;padding:.82rem .9rem}
  #aiModal .ai-modal-close{flex:0 0 auto;width:18px;height:18px;margin:0 0 0 auto!important;padding:13px!important;border-radius:12px;background-color:rgba(255,255,255,.10)}
  #aiModal .ai-modal-close:hover,#aiModal .ai-modal-close:active{background-color:rgba(255,255,255,.22)}
  #aiModal .ai-modal-body{min-height:0;overflow-y:auto;padding:.85rem .85rem max(.9rem,env(safe-area-inset-bottom))}
  #aiModal .ai-modal-title-wrap{min-width:0}
  #aiModal .ai-modal-title-wrap>div{min-width:0}
  #aiModal .ai-modal-title-wrap small{white-space:normal}
  #aiModal .ai-chat-form .btn span{display:none}
}
@media(max-width:359.98px){
  #aiModal{padding:8px!important}
  #aiModal .ai-modal-header,#aiModal .ai-modal-body{padding-right:.7rem;padding-left:.7rem}
}


/* v1.4.6 — SIS Assistant uses official school branding instead of generic robot icons. */
.ai-float>.ai-float-avatar{display:grid;place-items:center;width:23px;height:23px;overflow:hidden;padding:2px;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 2px 6px rgba(2,39,90,.15)}
.ai-float>.ai-float-avatar img{width:100%;height:100%;object-fit:contain}
.ai-greeting-icon{overflow:hidden;padding:4px;background:#fff;border:1px solid rgba(255,255,255,.55)}
.ai-greeting-icon img{width:100%;height:100%;border-radius:10px;object-fit:contain;background:#fff}
.ai-modal-title-wrap>.ai-modal-logo{display:grid;place-items:center;overflow:hidden;padding:3px;background:rgba(255,255,255,.96)}
.ai-modal-title-wrap>.ai-modal-logo img{width:100%;height:100%;border-radius:9px;object-fit:contain;background:#fff}

/* v1.4.7 — Keep the SIS Assistant welcome card and release notice from overlapping. */
.ai-greeting-card{align-items:flex-start;overflow:hidden;isolation:isolate;box-sizing:border-box}.ai-greeting-card:before{z-index:1;pointer-events:none}.ai-greeting-icon,.ai-greeting-copy,.ai-greeting-close{position:relative;z-index:2}.ai-greeting-icon{margin-top:1px}.ai-greeting-copy{padding-top:0}.ai-greeting-card.show{will-change:transform,opacity}@media(max-width:575.98px){.ai-greeting-card{bottom:76px;gap:.66rem;border-radius:18px}.ai-greeting-card:before{border-radius:18px 18px 0 0}.ai-greeting-close{top:7px;right:8px}}


/* Release 1.4.8: Homepage hero photo carousel */
.hero-showcase-carousel{position:relative;overflow:hidden;border-radius:inherit;background:#dbe8f4}.hero-showcase-carousel .carousel-inner{border-radius:inherit}.hero-showcase-carousel .carousel-item{height:100%}.hero-showcase-carousel .hero-photo-wrap{min-height:340px}.hero-showcase-carousel .carousel-item img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}.hero-carousel-controls{position:absolute;z-index:3;top:50%;left:0;right:0;display:flex;justify-content:space-between;align-items:center;transform:translateY(-50%);padding:0 12px;pointer-events:none}.hero-carousel-control{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(5,31,71,.58);color:#fff;font-size:2rem;line-height:1;box-shadow:0 8px 20px rgba(6,29,69,.18);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,background .2s ease;pointer-events:auto}.hero-carousel-control:hover,.hero-carousel-control:focus-visible{background:var(--sis-blue);color:#fff;outline:0}.hero-showcase-carousel:hover .hero-carousel-control,.hero-showcase-carousel:focus-within .hero-carousel-control{opacity:1;transform:translateY(0)}.hero-carousel-control span{display:block;transform:translateY(-2px)}.hero-carousel-indicators{position:absolute;z-index:3;right:auto;bottom:12px;left:50%;display:flex;gap:6px;margin:0;transform:translateX(-50%)}.hero-carousel-indicators [data-bs-target]{box-sizing:border-box;width:7px;height:7px;margin:0;border:0;border-radius:999px;background:rgba(255,255,255,.68);opacity:1;transition:width .2s ease,background .2s ease}.hero-carousel-indicators .active{width:22px;background:#fff}.hero-showcase-carousel.carousel-fade .carousel-item{transition:opacity .55s ease-in-out}.hero-showcase-carousel .carousel-item-next:not(.carousel-item-start),.hero-showcase-carousel .active.carousel-item-end{transform:none}.hero-showcase-carousel .carousel-item-prev:not(.carousel-item-end),.hero-showcase-carousel .active.carousel-item-start{transform:none}@media(max-width:992px){.hero-showcase-carousel .hero-photo-wrap,.hero-showcase-carousel .carousel-item img{min-height:300px}}@media(max-width:576px){.hero-showcase-carousel .hero-photo-wrap,.hero-showcase-carousel .carousel-item img{min-height:235px}.hero-carousel-control{width:34px;height:34px;font-size:1.72rem;opacity:1;transform:none}.hero-carousel-controls{padding:0 9px}.hero-carousel-indicators{bottom:9px}}
@media(prefers-reduced-motion:reduce){.hero-showcase-carousel .carousel-item{transition:none!important}}

/* Smooth homepage hero carousel cross-fade */
.hero-showcase-carousel.carousel-fade .carousel-item{
  opacity:0;
  transform:translateZ(0);
  transition:opacity 1.05s cubic-bezier(.4,0,.2,1);
  will-change:opacity;
}
.hero-showcase-carousel.carousel-fade .carousel-item.active,
.hero-showcase-carousel.carousel-fade .carousel-item-next.carousel-item-start,
.hero-showcase-carousel.carousel-fade .carousel-item-prev.carousel-item-end{
  z-index:1;
  opacity:1;
}
.hero-showcase-carousel.carousel-fade .active.carousel-item-start,
.hero-showcase-carousel.carousel-fade .active.carousel-item-end{
  z-index:0;
  opacity:0;
}
.hero-showcase-carousel .carousel-item img{
  transform:scale(1.015) translateZ(0);
  transition:transform 5.5s cubic-bezier(.2,.65,.3,1);
  will-change:transform;
}
.hero-showcase-carousel .carousel-item.active img{
  transform:scale(1.045) translateZ(0);
}
@media(prefers-reduced-motion:reduce){
  .hero-showcase-carousel.carousel-fade .carousel-item,
  .hero-showcase-carousel .carousel-item img{
    transition:none!important;
    transform:none!important;
  }
}


/* Release v1.4.9 — Contact page action panel */
.contact-page-hero{position:relative;overflow:hidden;padding:74px 0 62px;background:radial-gradient(circle at 88% 20%,rgba(33,149,188,.36),transparent 26%),linear-gradient(135deg,#063c84,#061d45)}
.contact-page-hero:after{position:absolute;right:8%;bottom:-80px;width:220px;height:220px;border:1px solid rgba(255,255,255,.16);border-radius:50%;content:""}
.contact-page-hero-copy{position:relative;z-index:1}.contact-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:#f8d671;font-size:.7rem;font-weight:900;letter-spacing:.1em}.contact-hero-eyebrow:before{width:7px;height:7px;border-radius:50%;background:#f0b928;box-shadow:0 0 0 5px rgba(240,185,40,.15);content:""}
.contact-page-main{max-width:1320px}.contact-info-card,.contact-map-card{position:relative;overflow:hidden;border:1px solid #d7e4f2;border-radius:24px;background:linear-gradient(150deg,#fff,#fbfdff);box-shadow:0 18px 46px rgba(6,29,69,.08)}
.contact-info-card{padding:27px}.contact-info-card:after{position:absolute;right:-55px;bottom:-66px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(26,117,197,.10),rgba(26,117,197,0) 68%);content:"";pointer-events:none}.contact-card-heading{position:relative;z-index:1;display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid #e1eaf4}.contact-heading-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:linear-gradient(135deg,#edf6ff,#e5fbf7);color:#0d66ae}.contact-heading-icon svg{width:24px;height:24px}.contact-section-kicker{display:block;margin-bottom:2px;color:#1b74bb;font-size:.63rem;font-weight:900;letter-spacing:.075em}.contact-card-heading h2{margin:0;color:#0b3162;font-size:1.52rem;font-weight:900;letter-spacing:-.035em}
.contact-detail-list{position:relative;z-index:1;display:grid;gap:14px;padding:20px 0 17px}.contact-detail-row{display:flex;align-items:flex-start;gap:11px}.contact-detail-icon{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;margin-top:1px;border-radius:11px;background:#eff6ff;color:#155d9f}.contact-detail-icon svg{width:16px;height:16px}.contact-detail-row div{min-width:0}.contact-detail-row span:not(.contact-detail-icon){display:block;margin-bottom:1px;color:#70829a;font-size:.68rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.contact-detail-row strong,.contact-detail-row a{display:block;color:#193d6b;font-size:.92rem;font-weight:750;line-height:1.48;text-decoration:none}.contact-detail-row a:hover{color:#0b6fbc;text-decoration:underline}
.contact-action-divider{position:relative;z-index:1;height:1px;margin:0 -2px;background:linear-gradient(90deg,#dbe8f4,transparent)}.contact-action-copy{position:relative;z-index:1;padding:18px 0 11px}.contact-action-copy span{display:block;color:#1a74ba;font-size:.64rem;font-weight:900;letter-spacing:.09em}.contact-action-copy p{margin:3px 0 0;color:#708198;font-size:.82rem;line-height:1.45}.contact-action-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-action-card{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 10px;border:1px solid #dce8f3;border-radius:15px;background:rgba(255,255,255,.88);color:#1a3e69;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.contact-action-card:hover{color:#173e68;transform:translateY(-2px);border-color:#9dc7eb;box-shadow:0 10px 21px rgba(7,62,121,.09)}.contact-action-card.is-unavailable{opacity:.63;cursor:not-allowed}.contact-action-icon{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:11px;background:#edf5ff;color:#0d69b5}.contact-action-icon svg{width:18px;height:18px}.contact-action-card.whatsapp .contact-action-icon{background:#e3f8ed;color:#109754}.contact-action-card.line .contact-action-icon{background:#e8fae5;color:#1b9d38}.contact-action-card.email .contact-action-icon{background:#edf1ff;color:#455dd0}.contact-action-card.map .contact-action-icon{background:#fff2e7;color:#d76f17}.contact-action-card strong{display:block;overflow:hidden;color:#183c68;font-size:.78rem;font-weight:900;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.contact-action-card small{display:block;overflow:hidden;margin-top:2px;color:#75859b;font-size:.63rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.contact-map-card{padding:12px;background:#fff}.contact-map-label{position:absolute;z-index:2;top:26px;left:28px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(255,255,255,.8);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(6,29,69,.13);backdrop-filter:blur(10px)}.contact-map-label>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf5ff;color:#1767ac}.contact-map-label svg{width:17px;height:17px}.contact-map-label strong{display:block;color:#153c6a;font-size:.76rem;font-weight:900;line-height:1.2}.contact-map-label small{display:block;margin-top:2px;color:#77879e;font-size:.63rem;font-weight:750}.contact-map-frame{min-height:100%;overflow:hidden;border-radius:18px;background:#eff5fa}.contact-map-frame iframe{width:100%;height:100%;border:0}.contact-map-frame:after{position:absolute;inset:0;border:1px solid rgba(13,76,139,.08);border-radius:18px;content:"";pointer-events:none}
@media(max-width:991.98px){.contact-page-hero{padding:60px 0 52px}.contact-map-card{min-height:410px}.contact-map-frame{height:100%}.contact-map-frame.ratio{--bs-aspect-ratio:56.25%}}
@media(max-width:575.98px){.contact-page-main{padding-top:2rem!important;padding-bottom:2rem!important}.contact-info-card{padding:20px;border-radius:20px}.contact-card-heading h2{font-size:1.35rem}.contact-action-grid{grid-template-columns:1fr}.contact-map-card{min-height:335px;padding:9px;border-radius:20px}.contact-map-label{top:19px;left:19px}.contact-map-frame{border-radius:14px}.contact-map-frame:after{border-radius:14px}}

/* Release v1.4.11 — Professional public mobile navigation dropdown */
.public-mobile-menu-backdrop{display:none}
.public-nav-toggle{display:none}
.mobile-nav-panel-head,.mobile-nav-section-label{display:none}
@media(max-width:991.98px){
  body.public-menu-open{overflow:hidden}
  .public-nav{
    position:sticky;
    top:0;
    z-index:1060;
    overflow:visible;
    border-bottom:1px solid rgba(17,65,120,.07);
    box-shadow:0 8px 24px rgba(6,29,69,.07);
  }
  .public-nav .container{position:relative;min-height:74px}
  .public-nav .public-brand{max-width:calc(100% - 82px)!important}
  .public-nav-toggle{
    display:grid!important;
    place-items:center;
    width:52px;
    height:52px;
    flex:0 0 52px;
    padding:0!important;
    margin-left:auto;
    border:1px solid #c4d5e8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 22px rgba(6,29,69,.10);
    color:#153d6b!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
  }
  .public-nav-toggle:focus{box-shadow:0 0 0 4px rgba(18,102,190,.16)!important}
  .public-nav-toggle:hover{transform:translateY(-1px);border-color:#8db7df!important;box-shadow:0 12px 26px rgba(6,29,69,.14)}
  .public-nav-toggle-lines{display:grid;gap:5px;width:22px}
  .public-nav-toggle-lines i{display:block;width:22px;height:2px;border-radius:99px;background:currentColor;transform-origin:center;transition:transform .2s ease,opacity .16s ease}
  .public-nav-toggle[aria-expanded="true"]{border-color:rgba(14,103,183,.46)!important;background:#edf6ff!important;color:#0a5ca8!important}
  .public-nav-toggle[aria-expanded="true"] .public-nav-toggle-lines i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .public-nav-toggle[aria-expanded="true"] .public-nav-toggle-lines i:nth-child(2){opacity:0}
  .public-nav-toggle[aria-expanded="true"] .public-nav-toggle-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .public-nav .public-nav-panel{
    position:absolute;
    top:calc(100% + 10px);
    right:12px;
    left:12px;
    z-index:1063;
    width:auto;
    max-height:calc(100vh - 102px);
    padding:13px;
    overflow-y:auto;
    overscroll-behavior:contain;
    border:1px solid rgba(184,207,231,.95);
    border-radius:22px;
    background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(246,250,255,.99));
    box-shadow:0 24px 56px rgba(4,30,75,.24),0 5px 16px rgba(4,30,75,.08);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .public-nav .public-nav-panel.collapsing{height:auto!important;overflow:hidden;transition:opacity .18s ease,transform .18s ease}
  .public-nav .public-nav-panel.collapse:not(.show){display:none}
  .public-nav .public-nav-panel.show{display:block;animation:publicMobileMenuIn .2s ease-out both}
  .mobile-nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 5px 12px;border-bottom:1px solid #e2ebf5}
  .mobile-nav-panel-head span{display:block;color:#153c6b;font-size:.73rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
  .mobile-nav-panel-head small{display:block;margin-top:2px;color:#7889a0;font-size:.72rem;font-weight:650}
  .mobile-nav-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d5e2ef;border-radius:11px;background:#fff;color:#20466f;font-size:1.35rem;line-height:1;box-shadow:0 5px 13px rgba(6,29,69,.07)}
  .public-nav .navbar-nav{display:flex;align-items:stretch!important;gap:5px;padding-top:10px}
  .public-nav .nav-item{width:100%;margin:0!important}
  .public-nav .nav-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:45px;
    padding:10px 12px!important;
    border:1px solid transparent;
    border-radius:13px;
    color:#173758!important;
    font-size:.95rem;
    font-weight:800;
    line-height:1.2;
    transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
  }
  .public-nav .nav-link:after{content:'›';color:#8aa0bb;font-size:1.45rem;font-weight:400;line-height:1;transform:translateY(-1px)}
  .public-nav .nav-link:hover,.public-nav .nav-link:focus-visible{background:#f0f7ff;border-color:#d5e6f7;color:#0d5aa6!important;transform:translateX(2px);outline:0}
  .public-nav .nav-link.active{background:linear-gradient(90deg,#eef6ff,#fafcff);border-color:#d1e5f8;color:#bf8200!important}
  .public-nav .nav-link.active:after{color:#d49a19}
  .public-nav .mobile-language-link{color:#55708f!important;font-size:.89rem;font-weight:750}
  .public-nav .mobile-language-link:after{content:''}
  .mobile-nav-section-label{display:block;margin:10px 4px 2px;color:#8394a8;font-size:.63rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
  .public-nav .btn-gold,.public-nav .btn-login-nav{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    width:100%;
    border-radius:13px!important;
    font-size:.93rem;
    font-weight:850;
  }
  .public-nav .btn-gold{margin-top:2px;box-shadow:0 10px 22px rgba(201,145,24,.22)}
  .public-nav .btn-login-nav{box-shadow:0 10px 20px rgba(6,29,69,.14)}
  .public-mobile-menu-backdrop{
    position:fixed;
    z-index:1050;
    inset:0;
    display:block;
    background:rgba(5,30,69,.30);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    opacity:1;
    animation:publicMobileBackdropIn .18s ease-out both;
  }
  .public-mobile-menu-backdrop[hidden]{display:none!important}
}
@media(max-width:575.98px){
  .public-nav .container{min-height:68px;padding-right:12px;padding-left:12px}
  .public-nav .public-brand{max-width:calc(100% - 70px)!important}
  .public-nav .public-brand .brand-logo{width:48px!important;height:48px!important;flex-basis:48px}
  .public-nav .public-brand .brand-wordmark strong{font-size:.97rem!important}
  .public-nav .public-brand .brand-wordmark small{font-size:.65rem!important}
  .public-nav-toggle{width:48px;height:48px;flex-basis:48px;border-radius:14px!important}
  .public-nav .public-nav-panel{top:calc(100% + 8px);right:8px;left:8px;max-height:calc(100vh - 88px);padding:11px;border-radius:19px}
  .public-nav .nav-link{min-height:43px;padding:9px 11px!important;font-size:.92rem}
  .mobile-nav-panel-head{padding:4px 4px 10px}
}
@keyframes publicMobileMenuIn{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes publicMobileBackdropIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.public-nav .public-nav-panel.show,.public-mobile-menu-backdrop{animation:none!important}.public-nav-toggle,.public-nav-toggle-lines i,.public-nav .nav-link{transition:none!important}}

/* Landing page readability and parent-focused visual refinement */
body{
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  letter-spacing:normal;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.font-lao,
html[lang="lo"] body{
  font-family:"Noto Sans Lao","Phetsarath OT","Lao UI",Arial,sans-serif;
}
.home-hero-v2 .container{z-index:1}
.home-hero-v2[style*="background-image"]{
  background-position:center;
}
.hero-title-v2{
  font-family:"Segoe UI",Arial,sans-serif;
  max-width:12ch;
  font-size:clamp(2.65rem,4.8vw,5.15rem);
  line-height:1.1;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.hero-lead-v2{
  max-width:39rem;
  color:rgba(255,255,255,.94);
  font-size:clamp(1.05rem,1.25vw,1.2rem);
  line-height:1.68;
}
.hero-actions .btn{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:.8rem 1.12rem;
}
.hero-actions .btn:focus-visible,
.quick-card-v2:focus-visible,
.program-card-v2:focus-visible,
.view-link:focus-visible{
  outline:3px solid #f6c94f;
  outline-offset:3px;
}
.hero-trust-row span{
  min-height:38px;
  padding:7px 12px;
  background:rgba(4,27,64,.32);
  border-color:rgba(255,255,255,.34);
  color:#fff;
  font-size:.84rem;
}
.quick-access-panel{
  border-color:#d5e1ee;
  background:rgba(255,255,255,.98);
}
.quick-card-v2{
  border-color:#d9e4f0;
  background:#fff;
}
.quick-card-v2 h5,
.program-card-body h5,
.news-content-v2 h5,
.slo-card h5{
  line-height:1.35;
}
.quick-card-v2 p,
.program-card-body p,
.news-content-v2 p,
.slo-card p,
.event-mini-card p{
  color:#4b5f78;
  font-size:1rem;
  line-height:1.62;
}
.quick-card-v2 span,
.program-card-body span,
.news-content-v2 a,
.view-link{
  font-size:.9rem;
}
.display-heading{
  font-family:"Segoe UI",Arial,sans-serif;
  max-width:22ch;
  color:#092b57;
  line-height:1.2;
  letter-spacing:normal;
  text-wrap:balance;
}
.font-lao .hero-title-v2,
.font-lao .display-heading,
html[lang="lo"] .hero-title-v2,
html[lang="lo"] .display-heading{
  font-family:"Noto Sans Lao","Phetsarath OT","Lao UI",Arial,sans-serif;
  letter-spacing:normal;
}
.home-hero-v2,
.quick-access-wrap,
.home-intro-section,
.programs-v2-section,
.stats-band-v2,
.affiliates-section,
.news-gallery-section,
.events-strip-v2,
.cta-band-v2{
  font-family:"Segoe UI",Arial,sans-serif;
  letter-spacing:normal;
}
.font-lao .home-hero-v2,
.font-lao .quick-access-wrap,
.font-lao .home-intro-section,
.font-lao .programs-v2-section,
.font-lao .stats-band-v2,
.font-lao .affiliates-section,
.font-lao .news-gallery-section,
.font-lao .events-strip-v2,
.font-lao .cta-band-v2{
  font-family:"Noto Sans Lao","Phetsarath OT","Lao UI",Arial,sans-serif;
}
.section-lead{
  color:#4b5f78;
  font-size:1.05rem;
  line-height:1.72;
}
.slo-heading .display-heading,
.slo-heading .section-lead{
  margin-right:auto;
  margin-left:auto;
  text-align:center;
}
.eyebrow-pill,
.news-category{
  font-size:.8rem;
  letter-spacing:.045em;
}
.mini-label{
  color:#586b83;
  font-size:.75rem;
}
.hero-info-grid strong{font-size:1rem;line-height:1.35}
.stats-band-v2 span,
.cta-band-v2 p{color:rgba(255,255,255,.9)}
.program-card-v2,
.news-card-v2,
.slo-card,
.event-mini-card{
  border-color:#d7e2ee;
  box-shadow:0 12px 32px rgba(6,29,69,.07);
}

@media(max-width:991.98px){
  body{font-size:16px}
  .hero-title-v2{max-width:14ch}
  .home-hero-v2{padding-top:64px}
}

@media(max-width:575.98px){
  .home-hero-v2{padding-top:48px}
  .hero-title-v2{
    max-width:100%;
    font-size:clamp(2.2rem,10.5vw,3rem);
    line-height:1.08;
    overflow-wrap:anywhere;
  }
  .hero-lead-v2{font-size:1rem;line-height:1.65}
  .hero-actions .btn{width:100%;min-height:50px}
  .hero-trust-row{display:grid!important;grid-template-columns:1fr;width:100%}
  .hero-trust-row span{justify-content:flex-start;border-radius:12px}
  .display-heading{font-size:clamp(1.8rem,8vw,2.2rem)}
  .section-lead{font-size:1rem}
  .quick-card-v2 p,
  .program-card-body p,
  .news-content-v2 p,
  .slo-card p,
  .event-mini-card p{font-size:.98rem}
  .hero-info-grid>div{padding:13px 15px}
}

@media(max-width:399.98px){
  .quick-access-panel .row>[class*="col-"]{width:100%}
  .quick-card-v2{display:flex}
  .quick-icon-v2{margin-bottom:0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .program-card-v2,
  .program-card-v2 img,
  .news-card-v2,
  .quick-card-v2,
  .slo-card{transition:none!important}
}

/* Smooth, consistent image hover effects for the landing page */
.home-hero-v2 .hero-showcase-card,
.program-card-v2,
.news-card-v2,
.photo-tile,
.affiliate-logo-card{
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .38s cubic-bezier(.2,.7,.25,1),box-shadow .38s ease,border-color .3s ease;
}
.program-card-image,
.news-thumb-v2,
.photo-tile,
.affiliate-logo-box{
  isolation:isolate;
}
.program-card-image img,
.news-thumb-v2 img,
.photo-tile img,
.affiliate-logo-box img{
  backface-visibility:hidden;
  transform:scale(1.001) translateZ(0);
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease;
  will-change:transform;
}
.program-card-v2:hover,
.program-card-v2:focus-visible{
  transform:translateY(-5px) translateZ(0);
  border-color:#bfd3e8;
  box-shadow:0 24px 52px rgba(6,29,69,.14);
}
.program-card-v2:hover .program-card-image img,
.program-card-v2:focus-visible .program-card-image img{
  transform:scale(1.085) translateZ(0);
  filter:saturate(1.05) brightness(1.03);
}
.news-card-v2:hover,
.news-card-v2:focus-within{
  transform:translateY(-5px) translateZ(0);
  border-color:#bfd3e8;
  box-shadow:0 20px 44px rgba(6,29,69,.12);
}
.news-card-v2:hover .news-thumb-v2 img,
.news-card-v2:focus-within .news-thumb-v2 img{
  transform:scale(1.075) translateZ(0);
  filter:saturate(1.05) brightness(1.03);
}
.photo-tile:hover,
.photo-tile:focus-visible{
  transform:translateY(-5px) translateZ(0);
  box-shadow:0 20px 42px rgba(6,29,69,.18);
}
.photo-tile:hover img,
.photo-tile:focus-visible img{
  transform:scale(1.095) translateZ(0);
  filter:saturate(1.08) brightness(1.04);
}
.photo-tile:after{
  transition:background .45s ease;
}
.photo-tile:hover:after,
.photo-tile:focus-visible:after{
  background:linear-gradient(180deg,rgba(6,29,69,.03) 28%,rgba(6,29,69,.88));
}
.affiliate-logo-card:hover,
.affiliate-logo-card:focus-visible{
  transform:translateY(-4px) translateZ(0);
  border-color:#bfd3e8;
  box-shadow:0 18px 38px rgba(6,29,69,.1);
}
.affiliate-logo-card:hover .affiliate-logo-box img,
.affiliate-logo-card:focus-visible .affiliate-logo-box img{
  transform:scale(1.07) translateZ(0);
}
.hero-showcase-card:hover{
  transform:translateY(-3px) translateZ(0);
  box-shadow:0 34px 82px rgba(0,0,0,.25);
}
.hero-showcase-card:hover .carousel-item.active img,
.hero-showcase-card:focus-within .carousel-item.active img{
  transform:scale(1.085) translateZ(0);
  transition-duration:1.2s;
  transition-timing-function:cubic-bezier(.2,.7,.2,1);
}
@media(hover:none){
  .program-card-v2:hover,
  .news-card-v2:hover,
  .photo-tile:hover,
  .affiliate-logo-card:hover,
  .hero-showcase-card:hover{transform:none}
  .program-card-v2:active,
  .news-card-v2:active,
  .photo-tile:active{
    transform:translateY(-2px) scale(.995) translateZ(0);
    transition-duration:.12s;
  }
  .program-card-v2:active img,
  .news-card-v2:active img,
  .photo-tile:active img{
    transform:scale(1.045) translateZ(0);
    transition-duration:.18s;
  }
}
@media(prefers-reduced-motion:reduce){
  .program-card-v2,
  .news-card-v2,
  .photo-tile,
  .affiliate-logo-card{
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
  }
  .program-card-image img,
  .news-thumb-v2 img,
  .photo-tile img,
  .affiliate-logo-box img{
    transition:transform .38s ease,filter .3s ease!important;
  }
  .photo-tile:after{transition:background .3s ease!important}
}

/* Matching lift-and-zoom animation for public inner pages */
.program-card,
.news-card,
.template-highlight-card,
.club-card,
.club-photo-card,
.gallery-album-card,
.gallery-photo-card,
.job-card{
  transform:translateZ(0);
  transition:transform .38s cubic-bezier(.2,.7,.25,1),box-shadow .38s ease,border-color .3s ease;
}
.program-img,
.news-card .thumb,
.template-highlight-card.has-image,
.club-card-img,
.club-photo-card>a,
.gallery-album-cover,
.gallery-photo-img{
  overflow:hidden;
}
.program-img img,
.news-card .thumb img,
.template-highlight-image,
.club-card-img img,
.club-photo-card img,
.gallery-album-cover img,
.gallery-photo-img img,
.job-card img{
  backface-visibility:hidden;
  transform:scale(1.001) translateZ(0);
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease;
  will-change:transform;
}
.program-card:hover,
.news-card:hover,
.template-highlight-card:hover,
.club-card:hover,
.club-photo-card:hover,
.gallery-album-card:hover,
.gallery-photo-card:hover,
.job-card:hover{
  transform:translateY(-5px) translateZ(0);
  border-color:#bfd3e8;
  box-shadow:0 22px 48px rgba(6,29,69,.13);
}
.program-card:hover .program-img img,
.news-card:hover .thumb img,
.template-highlight-card:hover .template-highlight-image,
.club-card:hover .club-card-img img,
.club-photo-card:hover img,
.gallery-album-card:hover .gallery-album-cover img,
.gallery-photo-card:hover .gallery-photo-img img,
.job-card:hover img{
  transform:scale(1.085) translateZ(0);
  filter:saturate(1.06) brightness(1.03);
}
.club-feature-img,
.content-page img.rounded-5{
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease,box-shadow .38s ease;
}
.club-feature-img:hover,
.content-page img.rounded-5:hover{
  transform:scale(1.025) translateY(-3px);
  filter:saturate(1.05) brightness(1.02);
  box-shadow:0 22px 46px rgba(6,29,69,.14)!important;
}
@media(hover:none){
  .program-card:hover,
  .news-card:hover,
  .template-highlight-card:hover,
  .club-card:hover,
  .club-photo-card:hover,
  .gallery-album-card:hover,
  .gallery-photo-card:hover,
  .job-card:hover{transform:none}
  .program-card:active,
  .news-card:active,
  .template-highlight-card:active,
  .club-card:active,
  .club-photo-card:active,
  .gallery-album-card:active,
  .gallery-photo-card:active,
  .job-card:active{
    transform:translateY(-2px) scale(.995) translateZ(0);
    transition-duration:.12s;
  }
}
@media(prefers-reduced-motion:reduce){
  .program-card,
  .news-card,
  .template-highlight-card,
  .club-card,
  .club-photo-card,
  .gallery-album-card,
  .gallery-photo-card,
  .job-card{
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
  }
  .program-img img,
  .news-card .thumb img,
  .template-highlight-image,
  .club-card-img img,
  .club-photo-card img,
  .gallery-album-cover img,
  .gallery-photo-img img,
  .job-card img{
    transition:transform .38s ease,filter .3s ease!important;
  }
}

/* Related program pathways shown at the bottom of program template pages */
.related-pathways-section{margin-top:3.5rem;padding:3rem;border:1px solid #dce7f3;border-radius:30px;background:linear-gradient(180deg,#f6faff,#fff);box-shadow:0 18px 45px rgba(6,29,69,.07)}
.related-pathways-heading{max-width:720px;margin-bottom:2rem}
.related-pathways-heading h2{margin:1rem 0 .65rem;color:#082f65;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:850;line-height:1.2}
.related-pathways-heading p{margin:0;color:#52657d;font-size:1rem;line-height:1.65}
.related-pathway-card{display:block;height:100%;overflow:hidden;border:1px solid #d8e4f0;border-radius:23px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(6,29,69,.07);transform:translateZ(0);transition:transform .38s cubic-bezier(.2,.7,.25,1),box-shadow .38s ease,border-color .3s ease}
.related-pathway-image{height:190px;overflow:hidden;background:#e8f0f8}
.related-pathway-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.001) translateZ(0);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.related-pathway-copy{padding:1.3rem}
.related-pathway-copy>span{color:#16766f;font-size:.72rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.related-pathway-copy h3{margin:.35rem 0 .55rem;color:#082f65;font-size:1.25rem;font-weight:850}
.related-pathway-copy p{min-height:3.2em;margin:0 0 .9rem;color:#52657d;font-size:.92rem;line-height:1.6}
.related-pathway-copy strong{color:#0b5eae;font-size:.88rem;font-weight:850}
.related-pathway-card:hover,.related-pathway-card:focus-visible{transform:translateY(-5px) translateZ(0);border-color:#aec9e3;box-shadow:0 22px 48px rgba(6,29,69,.14);outline:0}
.related-pathway-card:hover img,.related-pathway-card:focus-visible img{transform:scale(1.085) translateZ(0);filter:saturate(1.06) brightness(1.03)}
.related-pathway-card:focus-visible{outline:3px solid #e6ae24;outline-offset:3px}
@media(max-width:767.98px){.related-pathways-section{margin-top:2.5rem;padding:2rem 1rem;border-radius:23px}.related-pathway-image{height:180px}.related-pathway-copy p{min-height:0}}
@media(hover:none){.related-pathway-card:hover{transform:none}.related-pathway-card:active{transform:translateY(-2px) scale(.995)}}
@media(prefers-reduced-motion:reduce){.related-pathway-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important}.related-pathway-image img{transition:transform .38s ease,filter .3s ease!important}}

/* About page: text-led school identity without decorative photos */
.about-text-hero{background:radial-gradient(circle at 82% 18%,rgba(32,155,167,.28),transparent 28%),linear-gradient(135deg,#061d45 0%,#073b82 58%,#0b68b8 100%)}
.about-text-hero:before{position:absolute;right:8%;top:50%;width:min(420px,34vw);height:1px;background:rgba(255,255,255,.24);box-shadow:0 -18px 0 rgba(255,255,255,.1),0 18px 0 rgba(255,255,255,.1);content:""}
.about-text-highlights .template-highlight-card{padding:0;overflow:hidden}
.template-text-banner{position:relative;display:flex;min-height:155px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:1.5rem;background:radial-gradient(circle at 88% 18%,rgba(31,168,164,.34),transparent 30%),linear-gradient(135deg,#082f65,#0b5eae);color:#fff}
.template-text-banner:after{position:absolute;right:-28px;top:-36px;width:145px;height:145px;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}
.template-text-banner small{position:relative;z-index:1;margin-bottom:.35rem;color:#f4c653;font-size:.72rem;font-weight:900;letter-spacing:.16em}
.template-text-banner strong{position:relative;z-index:1;max-width:12ch;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:900;letter-spacing:.035em;line-height:1.08}
.template-highlight-card.has-text-banner .template-highlight-copy{padding:1.5rem}
.about-text-highlights .about-wide-card-wrap{width:100%}
.template-highlight-card.has-text-banner.is-wide{display:grid;grid-template-columns:minmax(250px,32%) 1fr}
.template-highlight-card.has-text-banner.is-wide .template-text-banner{min-height:100%;justify-content:center}
.template-highlight-card.has-text-banner.is-wide .template-highlight-copy{display:flex;min-height:190px;flex-direction:column;justify-content:center;padding:2rem}
.template-highlight-card.has-text-banner:hover .template-text-banner:not(.has-hero-art){background:radial-gradient(circle at 82% 22%,rgba(31,168,164,.42),transparent 32%),linear-gradient(135deg,#073873,#0c67b8)}
.template-text-banner.has-hero-art{background:#e8eef6;transition:filter .35s ease}
.template-text-banner.has-hero-art:after{display:none}
.template-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.template-highlight-card.has-text-banner:hover .template-banner-image{transform:scale(1.045);filter:saturate(1.06) brightness(1.03)}
.template-text-banner{transition:background .45s ease}
@media(max-width:767.98px){.template-highlight-card.has-text-banner.is-wide{display:block}.template-highlight-card.has-text-banner.is-wide .template-text-banner{min-height:135px;justify-content:flex-end}.template-highlight-card.has-text-banner.is-wide .template-highlight-copy{min-height:0;padding:1.5rem}}
@media(max-width:575.98px){.about-text-hero:before{display:none}.template-text-banner{min-height:135px}}

/* Homepage quick access: professional role cards and consistent vector icons */
.quick-access-panel{padding:19px!important;border-color:#d6e2ef;background:rgba(255,255,255,.985);box-shadow:0 22px 58px rgba(6,29,69,.105)}
.quick-card-v2.quick-card-role{
  --quick-accent:#0b5eae;
  --quick-accent-deep:#073b82;
  --quick-tint:#edf6ff;
  position:relative;
  isolation:isolate;
  min-height:146px;
  align-items:flex-start;
  overflow:hidden;
  padding:18px!important;
  border:1px solid #d9e5f1;
  border-radius:20px;
  background:linear-gradient(145deg,#fff 32%,var(--quick-tint) 145%);
  box-shadow:0 8px 22px rgba(6,29,69,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.quick-card-v2.quick-card-role:before{
  position:absolute;
  top:0;
  left:18px;
  right:18px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--quick-accent);
  opacity:0;
  transform:scaleX(.55);
  content:"";
  transition:opacity .22s ease,transform .22s ease;
}
.quick-card-v2.quick-card-role:after{
  position:absolute;
  z-index:-1;
  top:-48px;
  right:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--quick-accent) 15%,transparent),transparent 70%);
  content:"";
}
.quick-card-role.quick-card-parents{--quick-accent:#168b83;--quick-accent-deep:#0b6863;--quick-tint:#edf9f7}
.quick-card-role.quick-card-students{--quick-accent:#c58b10;--quick-accent-deep:#916306;--quick-tint:#fff8e8}
.quick-card-role.quick-card-teachers{--quick-accent:#415eb7;--quick-accent-deep:#274490;--quick-tint:#f0f3ff}
.quick-card-role.quick-card-calendar{--quick-accent:#0b68b8;--quick-accent-deep:#074b90;--quick-tint:#edf6ff}
.quick-card-role .quick-icon-v2{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:16px;
  background:linear-gradient(145deg,var(--quick-accent),var(--quick-accent-deep));
  color:#fff;
  box-shadow:0 10px 22px color-mix(in srgb,var(--quick-accent) 25%,transparent);
}
.quick-access-icon{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick-card-copy{display:flex;min-width:0;min-height:108px;flex:1;flex-direction:column}
.quick-card-role h5{margin:1px 0 5px;color:#082f65;font-size:1.02rem;font-weight:850;line-height:1.3}
.quick-card-role p{margin:0 0 10px;color:#52657d;font-size:.86rem;line-height:1.52}
.quick-card-role .quick-card-action{display:inline-flex;align-items:center;gap:5px;margin-top:auto;color:var(--quick-accent-deep);font-size:.8rem;font-weight:850;line-height:1.3}
.quick-card-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.quick-card-v2.quick-card-role:hover,.quick-card-v2.quick-card-role:focus-visible{border-color:color-mix(in srgb,var(--quick-accent) 43%,#d9e5f1);background:linear-gradient(145deg,#fff 24%,var(--quick-tint) 110%);box-shadow:0 18px 38px color-mix(in srgb,var(--quick-accent) 14%,rgba(6,29,69,.08));transform:translateY(-4px)}
.quick-card-v2.quick-card-role:hover:before,.quick-card-v2.quick-card-role:focus-visible:before{opacity:1;transform:scaleX(1)}
.quick-card-v2.quick-card-role:hover .quick-card-action svg,.quick-card-v2.quick-card-role:focus-visible .quick-card-action svg{transform:translateX(3px)}
@media(max-width:991.98px){.quick-card-v2.quick-card-role{min-height:154px}.quick-card-copy{min-height:0}.quick-card-role .quick-icon-v2{margin-bottom:12px}}
@media(max-width:575.98px){.quick-access-panel{padding:12px!important}.quick-card-v2.quick-card-role{min-height:174px;padding:14px!important}.quick-card-role .quick-icon-v2{width:46px;height:46px;flex-basis:46px;border-radius:14px}.quick-access-icon{width:24px;height:24px}.quick-card-role h5{font-size:.96rem}.quick-card-role p{font-size:.8rem}.quick-card-role .quick-card-action{font-size:.75rem}}

/* Homepage calendar: adaptive professional event panel */
.home-calendar-section{position:relative}
.events-strip-v2{
  position:relative;
  display:grid;
  grid-template-columns:minmax(245px,.78fr) minmax(0,2fr);
  gap:34px;
  overflow:hidden;
  padding:36px;
  border:1px solid #d4e2f0;
  border-radius:30px;
  background:radial-gradient(circle at 96% 8%,rgba(15,155,159,.10),transparent 24%),linear-gradient(145deg,#fff 0%,#f2f7fd 100%);
  box-shadow:0 22px 54px rgba(6,29,69,.09);
}
.events-strip-v2:before{
  position:absolute;
  right:-80px;
  bottom:-105px;
  width:260px;
  height:260px;
  border:1px solid rgba(11,94,174,.10);
  border-radius:50%;
  content:"";
}
.events-strip-heading{position:relative;z-index:1;display:flex;align-items:flex-start;flex-direction:column}
.events-heading-icon{display:grid;width:54px;height:54px;margin-bottom:18px;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:17px;background:linear-gradient(145deg,#0b5eae,#073b82);color:#fff;box-shadow:0 12px 25px rgba(7,69,139,.22)}
.events-heading-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.events-strip-heading .display-heading{max-width:12ch;font-size:clamp(1.85rem,2.8vw,2.75rem)}
.events-strip-intro{max-width:32ch;margin:0;color:#566a82;font-size:.94rem;line-height:1.6}
.events-calendar-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:.72rem 1rem;border:1px solid #0b5eae;border-radius:13px;background:#0b5eae;color:#fff;font-size:.87rem;font-weight:850;text-decoration:none;box-shadow:0 10px 22px rgba(11,94,174,.18);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.events-calendar-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.events-calendar-button:hover,.events-calendar-button:focus-visible{background:#073b82;color:#fff;box-shadow:0 15px 28px rgba(7,59,130,.24);transform:translateY(-2px)}
.events-calendar-button:hover svg,.events-calendar-button:focus-visible svg{transform:translateX(3px)}
.events-calendar-button:focus-visible{outline:3px solid #f2c34b;outline-offset:3px}
.events-cards-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;align-content:center}
.event-mini-card{
  display:flex;
  min-width:0;
  min-height:148px;
  align-items:center;
  gap:16px;
  padding:18px;
  border:1px solid #d7e4f1;
  border-radius:21px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 26px rgba(6,29,69,.06);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.event-mini-card:hover{border-color:#a9c5df;box-shadow:0 18px 36px rgba(6,29,69,.11);transform:translateY(-4px)}
.event-date-block{display:flex;width:68px;height:78px;flex:0 0 68px;align-items:center;justify-content:center;overflow:hidden;flex-direction:column;border:1px solid #cfe0ef;border-radius:17px;background:linear-gradient(180deg,#edf6ff,#fff);box-shadow:0 8px 18px rgba(7,79,151,.09)}
.event-date-block span{width:100%;padding:5px 4px;background:#0b5eae;color:#fff;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.event-date-block b{display:grid;flex:1;place-items:center;color:#073b82;font-size:1.65rem;font-weight:900;line-height:1}
.event-mini-content{min-width:0;flex:1}
.event-mini-meta{display:flex;min-height:22px;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:7px}
.event-mini-meta span,.event-mini-meta time{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf5fd;color:#32618f;font-size:.67rem;font-weight:800;line-height:1.25}
.event-mini-meta time{background:#fff6df;color:#90670b}
.event-mini-content h3{margin:0 0 8px;color:#082f65;font-size:1.03rem;font-weight:850;line-height:1.35}
.event-mini-content p{display:flex;align-items:center;gap:6px;margin:0;color:#61748b;font-size:.82rem;line-height:1.45}
.event-mini-content p svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:#168b83;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:991.98px){.events-strip-v2{grid-template-columns:1fr;padding:28px}.events-strip-heading{display:grid;grid-template-columns:auto 1fr;column-gap:16px}.events-heading-icon{grid-row:1 / span 2;margin:0}.events-strip-heading>div:nth-child(2){grid-column:2}.events-calendar-button{grid-column:2;justify-self:start}.events-strip-intro{max-width:58ch}.events-cards-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:575.98px){.events-strip-v2{gap:24px;padding:20px;border-radius:23px}.events-strip-heading{display:flex}.events-heading-icon{width:48px;height:48px;margin-bottom:14px;border-radius:15px}.events-strip-heading .display-heading{font-size:1.8rem}.events-calendar-button{width:100%;margin-top:20px}.events-cards-grid{grid-template-columns:1fr}.event-mini-card{min-height:132px;padding:15px}.event-date-block{width:62px;height:72px;flex-basis:62px}.event-date-block b{font-size:1.45rem}}

/* Homepage hero actions: institutional buttons and trust indicators */
.home-hero-v2 .hero-actions{align-items:center;gap:12px!important}
.home-hero-v2 .hero-action-button{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:8px 15px 8px 9px;
  border-radius:15px;
  color:#fff;
  font-size:.91rem;
  font-weight:850;
  line-height:1.2;
  box-shadow:0 12px 26px rgba(2,21,50,.20);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
.hero-action-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid rgba(255,255,255,.20);border-radius:11px;background:rgba(255,255,255,.14)}
.hero-action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-hero-v2 .hero-action-tour{border:1px solid #e1ad26;background:linear-gradient(145deg,#d6a319,#b98008);text-shadow:0 1px 2px rgba(83,54,0,.18)}
.home-hero-v2 .hero-action-admissions{border:1px solid rgba(255,255,255,.42);background:rgba(7,38,81,.38);backdrop-filter:blur(10px)}
.home-hero-v2 .hero-action-assistant{border:1px solid #0d9d99;background:linear-gradient(145deg,#10a49e,#087c83)}
.home-hero-v2 .hero-action-button:hover{color:#fff;transform:translateY(-3px);box-shadow:0 18px 34px rgba(2,21,50,.28)}
.home-hero-v2 .hero-action-tour:hover{border-color:#efc04a;background:linear-gradient(145deg,#e0af27,#c08a0a)}
.home-hero-v2 .hero-action-admissions:hover{border-color:rgba(255,255,255,.65);background:rgba(10,57,118,.56)}
.home-hero-v2 .hero-action-assistant:hover{border-color:#2bc2ba;background:linear-gradient(145deg,#14b2ab,#098c92)}
.home-hero-v2 .hero-action-button:focus-visible{outline:3px solid #f5cc58;outline-offset:3px;color:#fff}
.home-hero-v2 .hero-action-button:active{transform:translateY(-1px)}
.home-hero-v2 .hero-trust-row{gap:9px!important}
.home-hero-v2 .hero-trust-row .hero-trust-item{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:8px;
  padding:5px 12px 5px 6px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:13px;
  background:rgba(4,27,64,.38);
  color:rgba(255,255,255,.94);
  font-size:.78rem;
  font-weight:750;
  line-height:1.3;
  backdrop-filter:blur(9px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-trust-item svg{width:28px;height:28px;flex:0 0 28px;padding:5px;border-radius:9px;background:rgba(255,255,255,.10);fill:none;stroke:#f5cb57;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-trust-item:nth-child(2) svg{stroke:#78ddd5}
.hero-trust-item:nth-child(3) svg{stroke:#9fc9f4}
@media(max-width:991.98px){.home-hero-v2 .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.home-hero-v2 .hero-action-assistant{grid-column:1 / -1}.home-hero-v2 .hero-trust-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}.home-hero-v2 .hero-trust-row .hero-trust-item{justify-content:flex-start}}
@media(max-width:575.98px){.home-hero-v2 .hero-actions{grid-template-columns:1fr}.home-hero-v2 .hero-action-assistant{grid-column:auto}.home-hero-v2 .hero-action-button{width:100%;justify-content:flex-start;padding-right:16px}.home-hero-v2 .hero-trust-row{grid-template-columns:1fr}.home-hero-v2 .hero-trust-row .hero-trust-item{min-height:42px}}

/* Keep key homepage section titles on one line for laptop/desktop only */
@media(min-width:992px){
  .slo-heading{width:100%;max-width:none!important}
  .slo-heading .display-heading,
  .programs-v2-section .section-header-v2 .display-heading{
    width:auto;
    max-width:none;
    white-space:nowrap;
  }
  .slo-heading .display-heading br{display:none}
  .programs-v2-section .section-header-v2>div:first-child{min-width:0;flex:1}
  .programs-v2-section .section-header-v2>a{flex:0 0 auto}
}
@media(max-width:991.98px){
  .slo-heading .display-heading,
  .programs-v2-section .section-header-v2 .display-heading{
    max-width:22ch;
    white-space:normal;
  }
}

/* Clickable homepage calendar cards and direct event landing highlight */
.event-mini-link{color:inherit;text-decoration:none;cursor:pointer}
.event-mini-link:hover,.event-mini-link:focus-visible{color:inherit;text-decoration:none}
.event-mini-link:focus-visible{outline:3px solid #e7b632;outline-offset:3px}
.event-mini-link .event-date-block{transition:transform .22s ease,box-shadow .22s ease}
.event-mini-link:hover .event-date-block,.event-mini-link:focus-visible .event-date-block{box-shadow:0 12px 24px rgba(7,79,151,.16);transform:translateY(-2px)}
.event-mini-link .event-mini-content{display:flex;min-height:106px;flex-direction:column;justify-content:center}
.event-card-link-label{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:#0b5eae;font-size:.73rem;font-weight:850;line-height:1.3}
.event-card-link-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.event-mini-link:hover .event-card-link-label svg,.event-mini-link:focus-visible .event-card-link-label svg{transform:translateX(3px)}
.event-item{scroll-margin-top:112px}
.event-item:target{position:relative;border-color:#60a3d9;background:linear-gradient(135deg,#fff,#eef7ff);box-shadow:0 0 0 4px rgba(11,104,184,.13),0 18px 40px rgba(6,29,69,.13);animation:sisEventTarget 1.1s ease both}
.event-item:target .event-date-box{background:linear-gradient(145deg,#0b68b8,#073b82);box-shadow:0 14px 28px rgba(7,75,144,.28)}
@keyframes sisEventTarget{0%{transform:translateY(5px);filter:brightness(1.04)}55%{transform:translateY(-2px)}100%{transform:translateY(0);filter:none}}
@media(prefers-reduced-motion:reduce){.event-item:target{animation:none}.event-mini-link .event-date-block,.event-card-link-label svg{transition:none}}

/* Homepage highlights: professional four-stat information band */
.stats-band-v2{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:16px;
  border:1px solid rgba(120,174,224,.24);
  border-radius:30px;
  background:radial-gradient(circle at 92% 0,rgba(31,171,164,.22),transparent 27%),linear-gradient(135deg,#061d45 0%,#073b82 58%,#0a56a5 100%);
  box-shadow:0 24px 56px rgba(6,29,69,.17);
}
.stats-band-v2:before{
  display:block;
  position:absolute;
  z-index:-1;
  top:-120px;
  right:-80px;
  width:320px;
  height:320px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  content:"";
}
.stats-band-v2:after{
  position:absolute;
  z-index:-1;
  bottom:-70px;
  left:18%;
  width:240px;
  height:150px;
  border-radius:50%;
  background:rgba(26,161,157,.10);
  filter:blur(8px);
  content:"";
}
.stats-grid-v2{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat-highlight-card{
  display:flex;
  min-width:0;
  min-height:112px;
  align-items:center;
  gap:14px;
  padding:18px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:rgba(4,28,65,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.stat-highlight-card:hover{border-color:rgba(255,255,255,.24);background:rgba(7,52,108,.50);transform:translateY(-2px)}
.stat-highlight-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:linear-gradient(145deg,#d6a319,#b98008);color:#fff;box-shadow:0 10px 22px rgba(2,18,43,.20)}
.stat-highlight-card:nth-child(2) .stat-highlight-icon{background:linear-gradient(145deg,#159b94,#0b716f)}
.stat-highlight-card:nth-child(3) .stat-highlight-icon{background:linear-gradient(145deg,#3975c7,#174f9f)}
.stat-highlight-card:nth-child(4) .stat-highlight-icon{background:linear-gradient(145deg,#32a675,#187951)}
.stat-highlight-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stat-highlight-card>div{min-width:0}
.stat-highlight-card strong{display:block;margin:0 0 4px;color:#fff;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:850;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
.stats-band-v2 .stat-highlight-card span:not(.stat-highlight-icon){display:block;color:rgba(255,255,255,.78);font-size:.78rem;font-weight:750;line-height:1.4}
@media(max-width:991.98px){.stats-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-highlight-card{min-height:104px}}
@media(max-width:575.98px){.stats-band-v2{padding:12px;border-radius:24px}.stats-grid-v2{grid-template-columns:1fr;gap:8px}.stat-highlight-card{min-height:94px;padding:15px;border-radius:17px}.stat-highlight-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px}.stat-highlight-icon svg{width:23px;height:23px}.stat-highlight-card strong{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.stat-highlight-card{transition:none}}

/* Precision alignment for SVGs inside homepage statistic tiles */
.stats-band-v2 .stat-highlight-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:0!important;
  text-align:center;
}
.stats-band-v2 .stat-highlight-icon svg{
  display:block;
  flex:0 0 auto;
  margin:auto;
  transform-origin:center;
}
.stats-band-v2 .stat-highlight-card:first-child .stat-highlight-icon svg{transform:translateY(1px)}

/* SIS Next Chapter: original graduate pathways showcase */
.graduate-pathways-section{background:linear-gradient(180deg,#fff 0%,#f3f8fd 100%)}
.graduate-pathways{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(280px,.88fr) minmax(430px,1.25fr);gap:clamp(28px,5vw,76px);min-height:570px;align-items:center;overflow:hidden;padding:clamp(34px,5.5vw,76px);border-radius:42px;background:#062b5f;color:#fff;box-shadow:0 30px 80px rgba(5,35,78,.20)}
.graduate-pathways:before{position:absolute;z-index:-3;inset:0;background-image:linear-gradient(100deg,rgba(4,31,71,.97) 0%,rgba(5,48,91,.90) 40%,rgba(8,82,111,.55) 72%,rgba(5,38,77,.52) 100%),var(--graduate-photo,linear-gradient(135deg,#0b3972,#0b898b));background-size:cover;background-position:center,var(--graduate-position,center center);content:""}
.graduate-pathways:after{position:absolute;z-index:-2;right:-9%;bottom:-42%;width:68%;height:78%;border:1px solid rgba(255,255,255,.18);border-radius:50% 50% 0 0;background:linear-gradient(145deg,rgba(18,176,164,.22),rgba(16,105,173,.08));transform:rotate(-8deg);content:""}
.graduate-pathways-art{position:absolute;z-index:-1;inset:0;pointer-events:none}
.graduate-pathways-art:before,.graduate-pathways-art:after,.graduate-pathways-art span,.graduate-pathways-art i,.graduate-pathways-art b{position:absolute;display:block;border-radius:50%;content:""}
.graduate-pathways-art:before{top:34px;right:37%;width:9px;height:9px;background:#f0bd3d;box-shadow:0 0 0 7px rgba(240,189,61,.12)}
.graduate-pathways-art:after{right:27px;bottom:30px;width:155px;height:155px;border:1px solid rgba(255,255,255,.14)}
.graduate-pathways-art span{top:-85px;left:-70px;width:240px;height:240px;border:42px solid rgba(255,255,255,.055)}
.graduate-pathways-art i{top:12%;right:4%;width:20px;height:20px;border:5px solid rgba(255,255,255,.38);transform:rotate(18deg)}
.graduate-pathways-art b{bottom:9%;left:42%;width:7px;height:7px;background:#27c1b3;box-shadow:34px -46px 0 #efbd42,-29px -72px 0 rgba(255,255,255,.75)}
.graduate-pathways-copy{position:relative;z-index:2;max-width:520px}
.graduate-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;color:#f5c95b;font-size:.75rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.graduate-kicker:before{width:34px;height:2px;border-radius:99px;background:#f5c95b;content:""}
.graduate-pathways-copy h2{max-width:570px;margin:0;font-family:'Manrope','Noto Sans Lao',sans-serif;font-size:clamp(2.15rem,4.15vw,4.65rem);font-weight:900;letter-spacing:-.06em;line-height:.98;text-wrap:balance}
.graduate-pathways-copy>p{max-width:490px;margin:22px 0 30px;color:rgba(255,255,255,.76);font-size:1rem;line-height:1.75}
.graduate-signature{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.graduate-signature>span{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.1);color:#f5c95b;font-weight:950}
.graduate-signature strong,.graduate-signature small{display:block}.graduate-signature strong{font-size:.86rem}.graduate-signature small{margin-top:2px;color:rgba(255,255,255,.58);font-size:.72rem}
.graduate-destination-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:center}
.graduate-destination-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 22px;min-height:142px;align-items:center;gap:14px;padding:17px;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 18px 38px rgba(3,24,57,.18);color:#0b315f;text-decoration:none;backdrop-filter:blur(16px);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.graduate-destination-card:nth-child(2),.graduate-destination-card:nth-child(4){transform:translateY(24px)}
.graduate-destination-card:hover{z-index:3;transform:translateY(-4px);background:#fff;box-shadow:0 25px 50px rgba(3,24,57,.25);color:#0b315f}
.graduate-destination-card:nth-child(2):hover,.graduate-destination-card:nth-child(4):hover{transform:translateY(18px)}
.graduate-card-number{position:absolute;top:10px;right:13px;color:#a5b4c7;font-size:.62rem;font-weight:900;letter-spacing:.1em}
.graduate-logo-box{display:grid;width:76px;height:76px;place-items:center;overflow:hidden;border:1px solid #dfe9f3;border-radius:19px;background:linear-gradient(145deg,#fff,#edf5fb)}
.graduate-logo-box img{display:block;width:100%;height:100%;object-fit:contain;padding:10px}.graduate-logo-box>span{color:#0b6f79;font-size:1.15rem;font-weight:950;letter-spacing:-.04em}
.graduate-destination-card strong,.graduate-destination-card small{display:block}.graduate-destination-card strong{padding-right:8px;font-size:.91rem;font-weight:900;line-height:1.25}.graduate-destination-card small{margin-top:6px;color:#6c8098;font-size:.72rem;line-height:1.4}
.graduate-card-arrow{align-self:end;color:#168c91;font-size:1rem;font-weight:900}
@media(max-width:1199.98px){.graduate-pathways{grid-template-columns:1fr;min-height:unset}.graduate-pathways-copy{max-width:720px}.graduate-destination-grid{max-width:820px}.graduate-destination-card:nth-child(2),.graduate-destination-card:nth-child(4){transform:none}.graduate-destination-card:nth-child(2):hover,.graduate-destination-card:nth-child(4):hover{transform:translateY(-4px)}}
@media(max-width:767.98px){.graduate-pathways{gap:28px;padding:28px 18px;border-radius:28px}.graduate-pathways-copy h2{font-size:clamp(2rem,10vw,3rem)}.graduate-destination-grid{grid-template-columns:1fr}.graduate-destination-card{min-height:116px;grid-template-columns:62px minmax(0,1fr) 18px;border-radius:19px}.graduate-logo-box{width:62px;height:62px;border-radius:16px}.graduate-pathways:after{width:110%}}
@media(prefers-reduced-motion:reduce){.graduate-destination-card{transition:none}}

/* Compact university logo shelf replacing the earlier large pathway cards */
.graduate-university-showcase{position:relative;z-index:2;align-self:center;padding:20px;border:1px solid rgba(255,255,255,.30);border-radius:27px;background:linear-gradient(135deg,rgba(3,29,62,.32),rgba(4,48,75,.22));box-shadow:0 18px 44px rgba(2,22,51,.14);backdrop-filter:blur(7px);transform:translateY(-120px)}
.graduate-university-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px;padding:0 3px 13px;border-bottom:1px solid rgba(255,255,255,.16)}
.graduate-university-heading span{color:#f5c95b;font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.graduate-university-heading strong{color:#fff;font-size:.82rem;font-weight:850}
.graduate-university-heading-end,.graduate-university-controls{display:flex;align-items:center}.graduate-university-heading-end{gap:12px}.graduate-university-controls{gap:5px}.graduate-university-controls button{display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.15rem;line-height:1;transition:background .18s ease,opacity .18s ease}.graduate-university-controls button:hover{background:rgba(255,255,255,.25)}.graduate-university-controls button:disabled{cursor:default;opacity:.35}
.graduate-university-rail{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.graduate-university-rail::-webkit-scrollbar{display:none}
.graduate-university-logo{display:flex;position:relative;min-width:calc((100% - 30px)/4);max-width:calc((100% - 30px)/4);min-height:118px;flex:0 0 calc((100% - 30px)/4);flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border:1px solid rgba(255,255,255,.62);border-radius:18px;background:rgba(255,255,255,.94);color:#0b315f;text-align:center;text-decoration:none;scroll-snap-align:start;box-shadow:0 12px 28px rgba(2,22,51,.14);transition:transform .18s ease,background .18s ease}
.graduate-university-flag{position:absolute;z-index:2;top:8px;right:8px;display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(11,49,95,.12);border-radius:50%;background:rgba(255,255,255,.94);font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:.92rem;line-height:1;box-shadow:0 4px 10px rgba(2,22,51,.12)}
.graduate-university-logo:hover{z-index:2;transform:translateY(-3px);background:#fff;color:#0b315f}
.graduate-university-mark{display:flex;width:100%;height:72px;align-items:center;justify-content:center;border-radius:12px;background:#fff}
.graduate-university-mark img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center;padding:9px 12px}.graduate-university-mark span{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:linear-gradient(145deg,#e8f7f5,#edf4fc);color:#087b82;font-size:.9rem;font-weight:950}
.graduate-university-logo>strong{display:-webkit-box;overflow:hidden;min-height:2.4em;color:#173d68;font-size:.68rem;font-weight:850;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(max-width:1199.98px){.graduate-university-showcase{align-self:auto;transform:translateY(-12px)}}
@media(max-width:991.98px){.graduate-pathways-copy,.graduate-university-showcase,.graduate-university-rail{min-width:0;max-width:100%}.graduate-university-showcase{width:100%;padding:14px;border-radius:21px;transform:none;background:rgba(3,29,62,.38);backdrop-filter:blur(6px)}.graduate-university-heading{align-items:center}.graduate-university-heading-end strong{display:none}.graduate-university-rail{width:100%;gap:8px}.graduate-university-logo{min-width:100%;max-width:100%;min-height:112px;flex:0 0 100%;border-radius:15px;scroll-snap-align:center}.graduate-university-mark{height:64px}}
@media(max-width:767.98px){.graduate-pathways{gap:24px;padding:28px 18px;border-radius:28px}.graduate-pathways-copy h2{max-width:100%;font-size:clamp(2rem,9.5vw,3rem);overflow-wrap:anywhere}.graduate-pathways:after{width:110%}}
@media(prefers-reduced-motion:reduce){.graduate-university-logo{transition:none}}

/* All Apps: audience-aware text banners for current and future systems */
.app-text-thumb{
  display:flex;
  position:relative;
  align-items:flex-end;
  overflow:hidden;
  padding:24px;
  background:radial-gradient(circle at 88% 18%,rgba(31,168,164,.34),transparent 31%),linear-gradient(135deg,#082f65 0%,#0b5eae 68%,#0d77ad 100%);
  color:#fff;
}
.app-text-card-students .app-text-thumb{background:radial-gradient(circle at 88% 18%,rgba(111,146,235,.36),transparent 31%),linear-gradient(135deg,#172f70 0%,#315bb6 68%,#3d78ca 100%)}
.app-text-card-parents .app-text-thumb{background:radial-gradient(circle at 88% 18%,rgba(82,211,197,.34),transparent 31%),linear-gradient(135deg,#074b5f 0%,#087f83 68%,#12a095 100%)}
.app-text-card-alumni .app-text-thumb{background:radial-gradient(circle at 88% 18%,rgba(226,174,48,.30),transparent 31%),linear-gradient(135deg,#182b52 0%,#294a7c 68%,#80631b 125%)}
.app-text-card-admin .app-text-thumb{background:radial-gradient(circle at 88% 18%,rgba(170,133,225,.34),transparent 31%),linear-gradient(135deg,#30245f 0%,#5b4298 68%,#765daf 100%)}
.app-text-card-all .app-text-thumb{background:radial-gradient(circle at 88% 18%,rgba(31,168,164,.34),transparent 31%),linear-gradient(135deg,#062d64 0%,#0a5da8 68%,#0c8b9c 115%)}
.app-text-thumb:before{
  position:absolute;
  top:-47px;
  right:-35px;
  width:164px;
  height:164px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  content:"";
}
.app-text-thumb:after{
  position:absolute;
  right:24px;
  bottom:30px;
  width:64px;
  height:1px;
  background:rgba(255,255,255,.28);
  box-shadow:0 -9px 0 rgba(255,255,255,.12),0 9px 0 rgba(255,255,255,.12);
  content:"";
}
.app-text-thumb .app-audience{z-index:2;border-color:rgba(255,255,255,.20);background:rgba(4,32,72,.32);color:#fff;backdrop-filter:blur(8px)}
.app-text-copy{position:relative;z-index:2;min-width:0;padding-right:74px;transition:transform .25s ease}
.app-text-copy small{display:block;margin-bottom:7px;color:#f4c653;font-size:.68rem;font-weight:900;letter-spacing:.13em;line-height:1.3}
.app-text-copy strong{display:block;max-width:16ch;color:#fff;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:900;letter-spacing:.02em;line-height:1.12;text-wrap:balance}
.app-text-card:hover .app-text-copy{transform:translateY(-3px)}
.app-text-card .app-open-icon{font-size:0}
.app-text-card .app-open-icon:before{font-size:1rem;content:"↗"}
.app-text-card .app-card-body{position:relative}
.app-text-card .app-card-body p{margin:0;padding-right:48px}
.app-text-card .app-card-body .app-open-icon{position:absolute;top:16px;right:20px}
@media(max-width:575.98px){.app-text-card .app-card-body .app-open-icon{top:14px;right:16px}}
@media(max-width:575.98px){.app-text-thumb{padding:20px}.app-text-copy{padding-right:56px}.app-text-copy strong{font-size:1.25rem}.app-text-thumb:after{right:20px;width:48px}}
@media(prefers-reduced-motion:reduce){.app-text-copy{transition:none}}

/* Public Gallery: formal empty-album state after all photos are removed */
.gallery-empty-cover{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:radial-gradient(circle at 82% 18%,rgba(31,168,164,.16),transparent 30%),linear-gradient(145deg,#eef5fc,#f9fbfe);color:#55708e}
.gallery-empty-cover svg{width:44px;height:44px;fill:none;stroke:#0b5eae;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.gallery-empty-cover span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}

/* Alumni gallery */
.sis-inline-icon{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sis-inline-icon-lg{width:2.25rem;height:2.25rem}
.alumni-gallery-section{position:relative}
.alumni-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 2px}
.alumni-gallery-count{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;border:1px solid #d6e4f4;border-radius:999px;background:#f4f8fd;color:#174f8e;padding:9px 14px;font-size:.78rem;font-weight:800;letter-spacing:.02em}
.alumni-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.alumni-photo-card{margin:0;overflow:hidden;border:1px solid #dce7f3;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(12,44,84,.08);transition:transform .25s ease,box-shadow .25s ease}
.alumni-photo-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(12,44,84,.13)}
.alumni-photo-link{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#eaf2fa}
.alumni-photo-link img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
.alumni-photo-card:hover .alumni-photo-link img{transform:scale(1.035)}
.alumni-photo-open{position:absolute;right:12px;bottom:12px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:rgba(5,39,79,.78);box-shadow:0 8px 20px rgba(0,0,0,.18);color:#fff;font-size:.82rem;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(8px)}
.alumni-photo-card:hover .alumni-photo-open,.alumni-photo-link:focus-visible .alumni-photo-open{opacity:1;transform:none}
.alumni-photo-card figcaption{min-height:52px;padding:14px 16px;color:#435a76;font-size:.86rem;line-height:1.45}
@media(max-width:991.98px){.alumni-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.alumni-gallery-heading{align-items:flex-start;flex-direction:column}.alumni-photo-grid{grid-template-columns:1fr;gap:14px}.alumni-photo-open{opacity:1;transform:none}.alumni-photo-card figcaption{min-height:0}}
@media(prefers-reduced-motion:reduce){.alumni-photo-card,.alumni-photo-link img,.alumni-photo-open{transition:none}}

/* Keep the homepage hero clean by hiding the decorative translucent circles. */
.home-hero-v2 .hero-bg-orb{display:none}

/* Mobile news cards: use the available width instead of a desktop thumbnail. */
@media(max-width:575.98px){
  .news-gallery-section .news-card-v2{display:block!important;padding:12px}
  .news-gallery-section .news-thumb-v2{width:100%;height:clamp(190px,55vw,260px);min-height:0;flex:0 0 auto;margin:0 0 14px;border-radius:16px}
  .news-gallery-section .news-thumb-v2 img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
  .news-gallery-section .news-content-v2{width:100%}
}
