:root{
  --navy:#1E3A5F;
  --navy-deep:#0E1520;
  --crimson:#C23B3B;
  --gold:#E4A63C;
  --ivory:#F6F3EC;
  --ivory-dim:#ECE7DA;
  --line:rgba(14,21,32,0.12);
  --line-dark:rgba(246,243,236,0.14);
  --text-soft:#4A5568;
  --serif:"Fraunces", serif;
  --sans:"Inter", sans-serif;
  --mono:"IBM Plex Mono", monospace;
  --deva:"Noto Sans Devanagari", sans-serif;
  --deva-serif:"Noto Serif Devanagari", serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans); background:var(--ivory); color:var(--navy-deep); -webkit-font-smoothing:antialiased; line-height:1.5;}

/* ===== DEVANAGARI TYPOGRAPHY =====
   Nepali needs more line-height and a slightly larger optical size than Latin,
   and Fraunces has no Devanagari coverage — so headings switch to Noto Serif
   Devanagari, keeping the same serif/sans pairing logic. */
body.lang-ne{font-family:var(--deva); line-height:1.7;}
body.lang-ne h1, body.lang-ne h2, body.lang-ne h3,
body.lang-ne .stat-num, body.lang-ne .testi-quote,
body.lang-ne .cert-title, body.lang-ne .cert-name,
body.lang-ne .price-amt, body.lang-ne .foot-logo{font-family:var(--deva-serif); line-height:1.4; letter-spacing:0;}
body.lang-ne .eyebrow, body.lang-ne .stat-label, body.lang-ne .program-num,
body.lang-ne .foot-col h4, body.lang-ne .breadcrumb, body.lang-ne .trust-item,
body.lang-ne .lib-tag, body.lang-ne .status-pill, body.lang-ne .timetable th{font-family:var(--deva); letter-spacing:.02em; font-size:12px;}
body.lang-ne .hero h1{font-size:clamp(32px,5vw,54px);}
body.lang-ne .btn{font-family:var(--deva); font-size:14px;}
body.lang-ne .split-list li, body.lang-ne .feature-card p, body.lang-ne p{line-height:1.85;}
/* Mixed-script runs: keep Latin terms (SEE, NEB, TU, IOE, NPR) in Inter */
.latin{font-family:var(--sans) !important;}

/* ===== SKIP LINK (accessibility) ===== */
.skip-link{position:absolute; left:-9999px; top:0; z-index:100; background:var(--navy-deep); color:var(--ivory); padding:12px 20px; font-size:14px;}
.skip-link:focus{left:0;}

/* ===== LANGUAGE SWITCHER ===== */
.topbar-right{display:flex; align-items:center; gap:18px;}
.lang-switch{display:inline-flex; border:1px solid rgba(246,243,236,.24);}
.lang-switch a{padding:4px 10px; font-size:11px; color:#B7BFCC; line-height:1.6; transition:background .15s ease, color .15s ease;}
.lang-switch a + a{border-left:1px solid rgba(246,243,236,.24); font-family:var(--deva);}
.lang-switch a:hover{color:var(--ivory);}
.lang-switch a.active{background:var(--gold); color:var(--navy-deep); font-weight:600;}
.lang-switch a:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
.bs-date{font-family:var(--deva);}

/* ===== LOGO LOCKUP ===== */
.logo-text{display:flex; flex-direction:column; line-height:1.1;}
.logo-name{font-size:19px;}
.logo-tag{font-family:var(--deva); font-size:11px; color:var(--text-soft); font-weight:400; letter-spacing:.02em;}
body.lang-ne .logo-name{font-family:var(--deva-serif);}
body.lang-ne .logo-tag{font-family:var(--sans);}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 32px;}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--crimson); display:inline-flex; align-items:center; gap:8px;}
.eyebrow::before{content:""; width:16px; height:1px; background:var(--crimson);}
h1,h2,h3{font-family:var(--serif); font-weight:600; letter-spacing:-.01em; color:var(--navy-deep);}
h2{font-size:clamp(28px,3.4vw,40px); line-height:1.15;}
.section-head{max-width:640px; margin-bottom:48px;}
.section-head p{color:var(--text-soft); font-size:16px; margin-top:14px; line-height:1.65;}
section{padding:88px 0;}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:14px 26px; font-family:var(--sans); font-weight:600; font-size:14.5px; border:1px solid transparent; border-radius:3px; cursor:pointer; transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease; white-space:nowrap;}
.btn:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.btn-primary{background:var(--crimson); color:var(--ivory);}
.btn-primary:hover{background:#a72f2f;}
.btn-ghost{background:transparent; color:var(--navy-deep); border-color:var(--line);}
.btn-ghost:hover{border-color:var(--navy-deep);}
.btn-ghost-dark{background:transparent; color:var(--ivory); border-color:var(--line-dark);}
.btn-ghost-dark:hover{border-color:var(--ivory);}

/* ===== TOP UTILITY BAR (Nepal-specific) ===== */
.topbar{background:var(--navy-deep); color:#B7BFCC; font-family:var(--mono); font-size:11.5px;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding:8px 32px; flex-wrap:wrap; gap:6px;}
.topbar a{color:#B7BFCC;}
.topbar a:hover{color:var(--gold);}
.topbar-left{display:flex; gap:22px; flex-wrap:wrap;}

/* ===== HEADER ===== */
header.site-header{position:sticky; top:0; z-index:50; background:rgba(246,243,236,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1160px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:600; font-size:20px;}
.logo-mark{width:26px; height:26px; flex:none;}
.logo-deva{font-family:var(--deva); font-size:13px; color:var(--text-soft); margin-left:2px;}
.nav-links{display:flex; gap:30px; font-size:14.5px; font-weight:500;}
.nav-links a{position:relative; padding:4px 0; color:var(--navy-deep);}
.nav-links a:hover, .nav-links .current-menu-item>a{color:var(--crimson);}
.nav-cta{display:flex; gap:12px; align-items:center;}
.menu-toggle{display:none; background:none; border:1px solid var(--line); padding:9px 10px; cursor:pointer;}
.nav-search-toggle{background:none; border:1px solid var(--line); padding:9px 10px; cursor:pointer; color:var(--navy-deep); display:flex;}
.nav-search-toggle:hover{border-color:var(--navy-deep);}

/* Dropdown: Quick Links */
.has-dropdown{position:relative; display:inline-flex;}
.has-dropdown>a{display:inline-flex; align-items:center; gap:5px;}
.has-dropdown>a::after{content:"▾"; font-size:10px; color:var(--text-soft);}
.dropdown{position:absolute; top:100%; left:0; margin-top:14px; background:#fff; border:1px solid var(--line); min-width:220px; display:none; flex-direction:column; z-index:60; box-shadow:0 12px 24px rgba(14,21,32,.08);}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{display:flex;}
.dropdown a{padding:12px 16px; font-size:13.5px; border-top:1px solid var(--line);}
.dropdown a:first-child{border-top:none;}
.dropdown a:hover{background:var(--ivory); color:var(--crimson);}

/* Header search bar */
.header-search{max-height:0; overflow:hidden; border-top:1px solid transparent; transition:max-height .25s ease;}
.header-search.open{max-height:80px; border-top:1px solid var(--line);}
.header-search .wrap{padding:16px 32px;}
.course-search{display:flex; border:1px solid var(--navy-deep); max-width:480px;}
.course-search input{flex:1; border:none; padding:12px 14px; font-family:var(--sans); font-size:14px; background:var(--ivory);}
.course-search input:focus{outline:none;}
.course-search button{border:none; background:var(--navy-deep); color:var(--ivory); padding:0 18px; cursor:pointer;}

/* Hero search bar (course search inline in hero) */
.hero-search{max-width:480px; margin:28px auto 0;}
.hero-search .course-search{background:#fff;}

/* ===== HERO ===== */
.hero{position:relative; padding:64px 0 0; overflow:hidden; background:linear-gradient(180deg, var(--ivory) 0%, var(--ivory) 55%, #EFE9DA 100%);}
.hero-inner{max-width:1160px; margin:0 auto; padding:0 32px; text-align:center;}
.hero h1{font-size:clamp(38px,6vw,64px); line-height:1.06; max-width:920px; margin:26px auto 0;}
.hero h1 em{font-style:italic; color:var(--crimson);}
.hero-sub{max-width:600px; margin:22px auto 0; color:var(--text-soft); font-size:17.5px; line-height:1.7;}
.hero-ctas{display:flex; gap:16px; justify-content:center; margin-top:36px;}
.hero-mountain{width:100%; margin-top:56px;}
.summit-label{font-family:var(--mono); font-size:11.5px; letter-spacing:.08em; fill:var(--navy-deep); text-transform:uppercase;}

/* ===== SEASON BANNER (Dashain/Tihar) ===== */
.season-banner{background:var(--gold); color:var(--navy-deep);}
.season-banner .wrap{display:flex; align-items:center; gap:12px; padding:10px 32px; font-size:13.5px; font-weight:500; flex-wrap:wrap; justify-content:center; text-align:center;}
.season-banner strong{font-family:var(--mono); text-transform:uppercase; font-size:11.5px; letter-spacing:.04em;}

/* ===== TRUST BAR ===== */
.trustbar{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--navy-deep);}
.trustbar .wrap{display:flex; flex-wrap:wrap; gap:14px 40px; justify-content:space-between; align-items:center; padding:26px 32px; color:var(--ivory);}
.trust-item{display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12.5px; letter-spacing:.04em; color:#C9CFDA;}
.trust-item strong{color:var(--gold); font-family:var(--sans); font-weight:600;}

/* ===== STATS ===== */
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line);}
.stat-cell{padding:36px 28px; border-right:1px solid var(--line);}
.stat-cell:last-child{border-right:none;}
.stat-num{font-family:var(--serif); font-size:40px; font-weight:600; color:var(--navy);}
.stat-label{font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); margin-top:8px;}

/* ===== PROVINCE STRIP (Nepal-specific) ===== */
.province-strip{background:#fff; border-bottom:1px solid var(--line); border-top:1px solid var(--line);}
.province-strip .wrap{padding:22px 32px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.province-strip .province-title{font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); margin-right:6px;}
.province-tag{font-family:var(--mono); font-size:12px; border:1px solid var(--line); padding:5px 12px; color:var(--navy-deep);}

/* ===== FEATURE GRID ===== */
.feature-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.feature-card{background:var(--ivory); padding:32px 26px; transition:background .2s ease;}
.feature-card:hover{background:#fff;}
.feature-icon{width:34px; height:34px; margin-bottom:22px; color:var(--crimson);}
.feature-card h3{font-size:17.5px; margin-bottom:10px;}
.feature-card p{font-size:14px; color:var(--text-soft); line-height:1.6;}

/* ===== SPLIT PREVIEW BLOCKS ===== */
.split{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.split.reverse .split-media{order:2;}
.split.reverse .split-copy{order:1;}
.split-copy h3{font-size:26px; margin:14px 0 14px;}
.split-copy p{color:var(--text-soft); font-size:15.5px; line-height:1.7; margin-bottom:22px;}
.split-list{margin-top:18px;}
.split-list li{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:var(--navy-deep); padding:9px 0; border-top:1px solid var(--line);}
.split-list li:first-child{border-top:none;}
.split-list li::before{content:""; width:6px; height:6px; margin-top:7px; flex:none; background:var(--crimson);}
.split-media{border:1px solid var(--line); background:#fff; padding:28px;}
.preview-frame-head{display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:18px;}
.bar-row{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.bar-label{font-size:12.5px; width:110px; flex:none; color:var(--navy-deep);}
.bar-track{flex:1; height:8px; background:var(--ivory-dim); position:relative;}
.bar-fill{height:100%; background:var(--navy);}
.bar-pct{font-family:var(--mono); font-size:12px; width:36px; text-align:right; color:var(--text-soft);}
.lib-row{display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-top:1px solid var(--line); font-size:13.5px;}
.lib-row:first-child{border-top:none;}
.lib-tag{font-family:var(--mono); font-size:10.5px; text-transform:uppercase; color:var(--crimson); border:1px solid var(--crimson); padding:2px 7px;}
.video-thumb{aspect-ratio:16/9; background:var(--navy-deep); position:relative; margin-bottom:14px;}
.video-thumb .play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:52px; height:52px; border:1px solid var(--ivory); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.video-meta{display:flex; justify-content:space-between; font-family:var(--mono); font-size:11.5px; color:var(--text-soft);}
.rank-row{display:flex; align-items:center; gap:14px; padding:10px 0; border-top:1px solid var(--line); font-size:13.5px;}
.rank-row:first-child{border-top:none;}
.rank-pos{font-family:var(--mono); width:28px; color:var(--gold); font-weight:600;}
.rank-name{flex:1;}
.rank-score{font-family:var(--mono); color:var(--navy);}

/* ===== PROGRAMS ===== */
.programs{background:var(--navy-deep); color:var(--ivory);}
.programs .section-head p{color:#B7BFCC;}
.programs .eyebrow{color:var(--gold);}
.programs .eyebrow::before{background:var(--gold);}
.program-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);}
.program-card{background:var(--navy-deep); padding:30px 26px; transition:background .2s;}
.program-card:hover{background:#151f2f;}
.program-num{font-family:var(--mono); font-size:12px; color:var(--gold);}
.program-card h3{color:var(--ivory); font-size:19px; margin:12px 0 8px;}
.program-card p{font-size:13.5px; color:#9AA4B5; margin-bottom:18px;}
.program-foot{display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line-dark); padding-top:16px; font-family:var(--mono); font-size:12px; color:#B7BFCC;}
.program-foot strong{color:var(--ivory); font-family:var(--sans); font-size:14px;}

/* ===== TESTIMONIALS ===== */
.testi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.testi-card{border:1px solid var(--line); padding:26px 22px; background:#fff;}
.testi-quote{font-family:var(--serif); font-size:16px; line-height:1.55; color:var(--navy-deep); margin-bottom:22px;}
.testi-who{display:flex; justify-content:space-between; align-items:baseline; font-size:13px; border-top:1px solid var(--line); padding-top:14px;}
.testi-name{font-weight:600;}
.testi-loc{color:var(--text-soft); font-family:var(--mono); font-size:11.5px;}

/* ===== CERTIFICATE ===== */
.cert{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.cert-card{border:1px solid var(--gold); padding:40px; position:relative; background:#fff;}
.cert-card::before{content:""; position:absolute; inset:8px; border:1px solid rgba(228,166,60,.4);}
.cert-top{display:flex; justify-content:space-between; font-family:var(--mono); font-size:10.5px; text-transform:uppercase; color:var(--text-soft); margin-bottom:26px;}
.cert-title{font-family:var(--serif); font-size:24px; margin-bottom:6px;}
.cert-name{font-family:var(--serif); font-size:19px; color:var(--crimson); font-style:italic; margin:18px 0;}
.cert-id{font-family:var(--mono); font-size:11.5px; color:var(--text-soft); margin-top:26px; border-top:1px solid var(--line); padding-top:14px;}
.cert-form{display:flex; gap:0; border:1px solid var(--navy-deep); margin-top:22px; max-width:420px;}
.cert-form input{flex:1; border:none; padding:14px 16px; font-family:var(--mono); font-size:13px; background:#fff;}
.cert-form input:focus{outline:none;}
.cert-form button{border:none; background:var(--navy-deep); color:var(--ivory); padding:0 22px; font-family:var(--sans); font-weight:600; font-size:13.5px; cursor:pointer;}

/* ===== PAYMENT ICONS ===== */
.payment-row{display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:18px;}
.payment-chip{font-family:var(--mono); font-size:11.5px; border:1px solid var(--line); padding:6px 12px; color:var(--navy-deep);}

/* ===== FINAL CTA ===== */
.final-cta{background:var(--crimson); color:var(--ivory); text-align:center; padding:96px 0;}
.final-cta h2{color:var(--ivory);}
.final-cta p{color:#F4D9D9; max-width:520px; margin:16px auto 34px; font-size:16px;}
.final-cta .btn-primary{background:var(--ivory); color:var(--crimson);}
.final-cta .btn-primary:hover{background:#fff;}

/* ===== GENERIC PAGE HERO (interior pages) ===== */
.page-hero{padding:72px 0 56px; border-bottom:1px solid var(--line); background:var(--ivory);}
.page-hero h1{font-size:clamp(30px,4.4vw,46px); margin-top:14px;}
.page-hero p{color:var(--text-soft); font-size:16px; max-width:620px; margin-top:14px; line-height:1.7;}
.breadcrumb{font-family:var(--mono); font-size:11.5px; color:var(--text-soft); text-transform:uppercase; letter-spacing:.05em;}
.breadcrumb a:hover{color:var(--crimson);}

/* ===== FAQ ===== */
.faq-item{border-top:1px solid var(--line); padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{font-family:var(--serif); font-size:18px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px;}
.faq-a{color:var(--text-soft); font-size:14.5px; line-height:1.7; margin-top:12px; display:none;}
.faq-item.open .faq-a{display:block;}
.faq-plus{font-family:var(--mono); color:var(--crimson); flex:none;}

/* ===== CONTACT ===== */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:64px;}
.contact-info li{display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line); font-size:14.5px;}
.contact-info li:first-child{border-top:none;}
.contact-info .label{font-family:var(--mono); font-size:11px; text-transform:uppercase; color:var(--text-soft); width:110px; flex:none;}
.contact-form{border:1px solid var(--line); padding:32px; background:#fff;}
.form-row{margin-bottom:18px;}
.form-row label{display:block; font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-soft); margin-bottom:8px;}
.form-row input, .form-row select, .form-row textarea{width:100%; border:1px solid var(--line); padding:12px 14px; font-family:var(--sans); font-size:14.5px; background:var(--ivory); color:var(--navy-deep);}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--gold); outline-offset:1px; border-color:var(--navy);}
.form-row textarea{min-height:120px; resize:vertical;}

/* ===== PRICING ===== */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.price-card{background:#fff; padding:34px 28px; display:flex; flex-direction:column;}
.price-card.featured{background:var(--navy-deep); color:var(--ivory);}
.price-card.featured .price-amt, .price-card.featured h3{color:var(--ivory);}
.price-card.featured ul li{border-color:var(--line-dark);}
.price-amt{font-family:var(--serif); font-size:34px; margin:16px 0 4px;}
.price-amt span{font-family:var(--mono); font-size:13px; color:var(--text-soft);}
.price-card ul{margin:22px 0; flex:1;}
.price-card ul li{padding:10px 0; border-top:1px solid var(--line); font-size:13.5px;}
.price-card ul li:first-child{border-top:none;}

/* ===== TEACHER APPLY ===== */
.perk-list{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:40px 0;}
.perk-card{background:#fff; padding:26px;}
.perk-card h3{font-size:16px; margin-bottom:8px;}
.perk-card p{font-size:13.5px; color:var(--text-soft);}

/* ===== NOTIFICATION / UPCOMING CLASS BANNER ===== */
.notify-strip{background:#fff; border-bottom:1px solid var(--line);}
.notify-strip .wrap{display:flex; align-items:center; gap:16px; padding:14px 32px; flex-wrap:wrap;}
.notify-dot{width:8px; height:8px; border-radius:50%; background:var(--crimson); flex:none; animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.notify-strip .label{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--crimson);}
.notify-strip .msg{font-size:13.5px; color:var(--navy-deep);}
.notify-strip a{color:var(--crimson); font-weight:600; font-size:13px; margin-left:auto;}

/* ===== STAR RATINGS ===== */
.star-rating{color:var(--gold); font-size:15px; letter-spacing:1px;}
.rating-line{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-soft);}
.review-card{border:1px solid var(--line); padding:22px; background:#fff;}
.review-card .star-rating{margin-bottom:10px; display:block;}
.review-card p{font-size:14px; color:var(--navy-deep); line-height:1.6; margin-bottom:12px;}
.review-card .who{font-family:var(--mono); font-size:11.5px; color:var(--text-soft);}

/* ===== TIMETABLE ===== */
.timetable{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line);}
.timetable th{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-soft); text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); background:var(--ivory);}
.timetable td{padding:16px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:middle;}
.timetable tr:last-child td{border-bottom:none;}
.status-pill{font-family:var(--mono); font-size:10.5px; text-transform:uppercase; padding:4px 10px; border:1px solid; display:inline-block;}
.status-upcoming{color:var(--navy); border-color:var(--navy);}
.status-live{color:var(--crimson); border-color:var(--crimson); background:rgba(194,59,59,.06);}
.status-recorded{color:var(--text-soft); border-color:var(--line);}
.timetable .btn{padding:8px 16px; font-size:13px;}

/* ===== VIDEO PLAYER (with quality select) ===== */
.video-player{background:var(--navy-deep); border:1px solid var(--line);}
.video-player video{width:100%; display:block; aspect-ratio:16/9; background:#000;}
.video-player-bar{display:flex; justify-content:space-between; align-items:center; padding:12px 16px; color:var(--ivory); font-family:var(--mono); font-size:11.5px;}
.quality-select{background:var(--navy-deep); color:var(--ivory); border:1px solid var(--line-dark); padding:6px 10px; font-family:var(--mono); font-size:11.5px;}

/* ===== AWARDS / ACHIEVEMENTS (About page) ===== */
.award-list{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.award-item{background:#fff; padding:26px; display:flex; gap:16px; align-items:flex-start;}
.award-badge{width:38px; height:38px; flex:none; border:1px solid var(--gold); color:var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:12px;}
.award-item h3{font-size:15.5px; margin-bottom:6px;}
.award-item p{font-size:13px; color:var(--text-soft);}

/* ===== LIVE CHAT WIDGET ===== */
.livechat-launcher{position:fixed; bottom:24px; right:24px; z-index:80; width:52px; height:52px; border-radius:50%; background:var(--crimson); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(14,21,32,.25);}
.livechat-launcher:hover{background:#a72f2f;}
.livechat-panel{position:fixed; bottom:88px; right:24px; z-index:80; width:300px; max-width:calc(100vw - 48px); background:#fff; border:1px solid var(--line); box-shadow:0 20px 40px rgba(14,21,32,.18); display:none; flex-direction:column;}
.livechat-panel.open{display:flex;}
.livechat-head{background:var(--navy-deep); color:var(--ivory); padding:14px 16px; display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:14px;}
.livechat-head button{background:none; border:none; color:var(--ivory); font-size:18px; cursor:pointer; line-height:1;}
.livechat-body{padding:18px 16px; font-size:13px; color:var(--text-soft); line-height:1.6;}
.livechat-body a{color:var(--crimson); font-weight:600;}

/* ===== STUDENT / TEACHER DASHBOARD ===== */
.dash-grid{display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start;}
.dash-nav{border:1px solid var(--line); background:#fff; position:sticky; top:100px;}
.dash-nav a{display:block; padding:14px 18px; font-size:14px; border-top:1px solid var(--line);}
.dash-nav a:first-child{border-top:none;}
.dash-nav a:hover, .dash-nav a.active{background:var(--ivory); color:var(--crimson); font-weight:600;}
.dash-card{border:1px solid var(--line); background:#fff; padding:28px; margin-bottom:24px;}
.dash-card h3{font-size:18px; margin-bottom:18px;}
.dash-welcome{background:var(--navy-deep); color:var(--ivory); padding:32px; margin-bottom:24px;}
.dash-welcome h2{color:var(--ivory); font-size:26px;}
.dash-welcome p{color:#B7BFCC; margin-top:8px; font-size:14.5px;}
.dash-role{display:inline-block; font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); border:1px solid var(--gold); padding:3px 10px; margin-bottom:14px;}

/* ===== LIBRARY FILTERS ===== */
.filter-bar{display:flex; gap:12px; flex-wrap:wrap; padding:22px; border:1px solid var(--line); background:#fff; margin-bottom:32px;}
.filter-bar select, .filter-bar input{border:1px solid var(--line); padding:11px 14px; font-family:inherit; font-size:14px; background:var(--ivory); color:var(--navy-deep); flex:1; min-width:150px;}
.filter-bar select:focus, .filter-bar input:focus{outline:2px solid var(--gold); outline-offset:1px;}

/* ===== DOC / RESOURCE CARDS ===== */
.doc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.doc-card{background:#fff; padding:24px; display:flex; flex-direction:column; gap:10px;}
.doc-card .lib-tag{align-self:flex-start;}
.doc-card h3{font-size:15.5px;}
.doc-card .doc-meta{font-family:var(--mono); font-size:11px; color:var(--text-soft); margin-top:auto; padding-top:12px; border-top:1px solid var(--line);}

/* ===== EXAM FEATURE BLOCKS ===== */
.exam-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.exam-item{background:#fff; padding:30px;}
.exam-item .num{font-family:var(--mono); font-size:12px; color:var(--crimson); display:block; margin-bottom:12px;}
.exam-item h3{font-size:17px; margin-bottom:8px;}
.exam-item p{font-size:13.5px; color:var(--text-soft); line-height:1.65;}

/* ===== FOOTER ===== */
footer.site-footer{background:var(--navy-deep); color:#8E97A6; padding:64px 0 28px; font-size:13.5px;}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line-dark);}
.foot-logo{font-family:var(--serif); color:var(--ivory); font-size:19px; margin-bottom:14px;}
.foot-col h4{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ivory); margin-bottom:16px;}
.foot-col li{margin-bottom:10px;}
.foot-col a:hover{color:var(--ivory);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-family:var(--mono); font-size:11.5px; flex-wrap:wrap; gap:8px;}

@media (max-width:900px){
  .topbar-left{display:none;}
  .nav-links{display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; gap:0; padding:8px 0;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 32px; border-top:1px solid var(--line); width:100%;}
  .nav-links a:first-child{border-top:none;}
  .has-dropdown{flex-direction:column; width:100%;}
  .dropdown{position:static; display:flex; margin-top:0; border:none; box-shadow:none; min-width:0;}
  .dropdown a{padding-left:48px;}
  .menu-toggle{display:flex;}
  .nav-search-toggle{display:none;}
  .header-search.open{max-height:none;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stat-cell:nth-child(2){border-right:none;}
  .stat-cell{border-bottom:1px solid var(--line);}
  .split{grid-template-columns:1fr; gap:36px;}
  .split.reverse .split-media, .split.reverse .split-copy{order:0;}
  .program-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:repeat(2,1fr);}
  .cert{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; gap:32px;}
  .contact-grid{grid-template-columns:1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .perk-list{grid-template-columns:1fr;}
  .award-list{grid-template-columns:1fr;}
  .timetable{display:block; overflow-x:auto; white-space:nowrap;}
  .dash-grid{grid-template-columns:1fr;}
  .dash-nav{position:static;}
  .doc-grid{grid-template-columns:1fr;}
  .exam-grid{grid-template-columns:1fr;}
  .topbar .wrap{justify-content:center;}
}
@media (max-width:560px){
  .testi-grid{grid-template-columns:1fr;}
  .hero-ctas{flex-direction:column; align-items:stretch;}
  section{padding:64px 0;}
  .foot-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important; scroll-behavior:auto !important;}
}

/* ===== NEPAL MOTIFS & IMAGERY ===== */
.motif-divider{overflow:hidden;}
.valley-skyline{width:100%; display:block; color:var(--navy);}
.prayer-flags{width:100%; color:var(--navy);}
.hero-photo{margin-top:56px; max-height:420px; overflow:hidden; position:relative;}
.hero-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(246,243,236,.55) 0%, rgba(246,243,236,0) 40%, rgba(14,21,32,.25) 100%);
}
.section-photo{border:1px solid var(--line); overflow:hidden;}
.section-photo img{width:100%; display:block; aspect-ratio:4/3; object-fit:cover;}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.elementor-full-width{width:100%;}
/* Elementor sections get the theme's ivory canvas by default */
.elementor-page .site-header{position:sticky;}
/* Keep theme buttons looking right inside Elementor columns */
.elementor-widget-container .btn{display:inline-flex;}
/* Safalta widgets inherit section padding rather than adding their own */
.safalta-widget{width:100%;}
.elementor-widget .safalta-widget section.hero{padding-top:40px;}
