:root{
    /* Secondary brand accent (small text/marks only — see [[light-theme]] note below) */
    --maroon-deep:#7a1f1a;
    --maroon-mid:#9c2b1e;
    --maroon-pale:#f7ece8;
    --maroon-black:#2a0f0d;
    --maroon-text-soft:#f0dcd7;
    --maroon-text-mute:#d8b9b3;
    /* Brand accent — unchanged in the light theme */
    --gold:#c9922e;
    --gold-dark:#9c701e;
    /* Light theme surfaces & text */
    --heading:#1a1a1a;
    --ink:#3f3f46;
    --ink-soft:#6b7280;
    --paper:#fafafa;
    --surface:#ffffff;
    --line:#e4e4e7;
    --white:#ffffff;
    --shadow-sm:0 1px 3px rgba(0,0,0,.06);
    --shadow-md:0 4px 14px rgba(0,0,0,.07);
    --shadow-lg:0 12px 28px rgba(0,0,0,.10);
    --font-display: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
    --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  }
  /* "Warm" theme — warm ivory/cream surfaces + warm charcoal text */
  :root[data-theme="soft"]{
    --heading:#33291d;
    --ink:#4d4132;
    --ink-soft:#6f6153;
    --paper:#f8f2e6;
    --surface:#f1e6d3;
    --line:#e2d4ba;
    --shadow-sm:0 2px 5px rgba(59,41,20,.10);
    --shadow-md:0 6px 16px rgba(59,41,20,.13);
    --shadow-lg:0 14px 32px rgba(59,41,20,.17);
  }

  /* "Dusk" theme — mid-dark navy/charcoal, between Warm and Dark in depth */
  :root[data-theme="dusk"]{
    --gold:#d4a03a;
    --gold-dark:#b8892e;
    --heading:#e8e2d8;
    --ink:#c8bfb3;
    --ink-soft:#9a9086;
    --paper:#2a2d35;
    --surface:#343840;
    --line:#464b56;
    --white:#ffffff;
    --shadow-sm:0 2px 6px rgba(0,0,0,.28);
    --shadow-md:0 6px 20px rgba(0,0,0,.38);
    --shadow-lg:0 16px 40px rgba(0,0,0,.52);
    /* Override maroon-based variables so components that reference them
       remain readable against the dark backgrounds */
    --maroon-deep:#c9922e;
    --maroon-pale:#3a3e48;
    --maroon-text-soft:#d0c8bc;
    --maroon-text-mute:#9a9086;
  }

  /* "Dark" theme — deep high-contrast dark mode */
  :root[data-theme="dark"]{
    --gold:#d9a83c;
    --gold-dark:#b88e2e;
    --heading:#f0ece6;
    --ink:#c2bab0;
    --ink-soft:#847d74;
    --paper:#16181d;
    --surface:#1e2027;
    --line:#2e3240;
    --white:#ffffff;
    --shadow-sm:0 2px 8px rgba(0,0,0,.40);
    --shadow-md:0 8px 24px rgba(0,0,0,.55);
    --shadow-lg:0 20px 50px rgba(0,0,0,.70);
    --maroon-deep:#d4a03a;
    --maroon-pale:#252830;
    --maroon-text-soft:#c2bab0;
    --maroon-text-mute:#847d74;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.55;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{color:var(--gold-dark);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
  h1,h2,h3{font-family:var(--font-display);color:var(--heading);}
  .btn{display:inline-block;padding:14px 28px;border-radius:3px;font-weight:700;font-size:14px;text-decoration:none;letter-spacing:.01em;}
  .btn-gold{background:var(--gold);color:#fff;}
  .btn-gold:hover{background:var(--gold-dark);}
  .btn-outline{border:1.5px solid var(--heading);color:var(--heading);}
  .section{padding:64px 24px;}
  .section.alt{background:var(--maroon-pale);}
  .section.deep{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .section.deep h2{color:var(--heading);}
  .section-head{max-width:660px;margin:0 auto 40px;}
  .section-head.center{text-align:center;}
  .section-head h2{font-size:30px;font-weight:700;margin-top:6px;}
  .section-head p{color:var(--ink-soft);margin-top:12px;font-size:15px;}
  .deep .section-head p{color:var(--ink-soft);}

  /* ===== HERO CAROUSEL ===== */
  /* Background photos rotate behind fixed content (.hero-grid below) - height
     comes from that content, not the slides, since absolutely-positioned
     slides don't contribute to layout height themselves. */
  .hero-carousel{
    position:relative;overflow:hidden;background:var(--maroon-deep);
  }
  .carousel-slide{
    position:absolute;inset:0;opacity:0;visibility:hidden;
    transition:opacity 1.1s ease-in-out, visibility 0s linear 1.1s;
    z-index:1;
  }
  .carousel-slide.is-active{
    opacity:1;visibility:visible;z-index:2;
    transition:opacity 1.1s ease-in-out;
  }
  .slide-media{position:absolute;inset:0;overflow:hidden;}
  .slide-media .kb{
    position:absolute;top:50%;left:50%;width:110%;height:110%;
    object-fit:cover;transform:translate(-50%,-50%) scale(1);
  }
  .carousel-slide.is-active .slide-media .kb{animation:kenburns 7s ease-out forwards;}
  @keyframes kenburns{
    from{transform:translate(-50%,-50%) scale(1);}
    to{transform:translate(-50%,-50%) scale(1.12);}
  }
  @media (prefers-reduced-motion: reduce){
    .carousel-slide.is-active .slide-media .kb{animation:none;}
  }
  .slide-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(42,15,13,.45) 0%, rgba(42,15,13,.6) 50%, rgba(42,15,13,.7) 100%);
  }

  .carousel-arrow{display:none;}

  .carousel-dots{
    position:absolute;bottom:26px;left:0;right:0;z-index:5;
    display:flex;justify-content:center;gap:9px;
  }
  .carousel-dots button{
    width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.45);
    cursor:pointer;padding:0;transition:width .25s ease,background .25s ease;
  }
  .carousel-dots button.is-active{background:var(--gold);width:26px;border-radius:5px;}


  header.site-header{background:var(--surface);border-bottom:3px solid var(--gold);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:60;}
  .header-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;flex-wrap:wrap;}
  .brand-lockup{display:flex;flex-direction:column;}
  /* Logo's wordmark is plain white pixels (only legible on a dark backing), so it sits on a fixed dark plate rather than being recolored per-theme — same image, same rendering, on any background. */
  .logo-plate{background:var(--maroon-deep);border-radius:6px;padding:8px 14px;display:inline-flex;align-items:center;}
  .logo-mark{height:48px;width:auto;object-fit:contain;display:block;}
  .brand-lockup small{display:block;font-family:var(--font-body);font-size:10.5px;color:var(--ink-soft);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}
  .header-cta{display:flex;align-items:center;gap:10px;}
  .header-cta .icon{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:16px;}
  .header-cta .txt small{display:block;font-size:11px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
  .header-cta .txt strong{font-size:15px;color:var(--heading);}

  /* ===== THEME TOGGLE (Light / Soft) ===== */
  .theme-toggle{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;flex:0 0 auto;}
  .theme-toggle-btn{border:none;background:transparent;padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);transition:background .2s ease,color .2s ease;}
  .theme-toggle-btn.is-active{background:var(--surface);color:var(--maroon-deep);box-shadow:var(--shadow-sm);}

  /* Compact single-row header on phones — logo + tagline + helpline stay on one line instead of stacking tall */
  @media (max-width:960px){
    .header-inner{padding:10px 16px;gap:10px;flex-wrap:nowrap;}
    .logo-mark{height:40px;}
    .logo-plate{padding:6px 11px;}
    .header-cta{gap:8px;padding:5px 0;min-height:44px;box-sizing:border-box;} /* keeps the tap target >=44px even as the icon shrinks */
    .header-cta .icon{width:36px;height:36px;font-size:15px;}
    .header-cta .txt small{font-size:9px;}
    .header-cta .txt strong{font-size:12.5px;}
    .theme-toggle-btn{padding:6px 10px;font-size:11px;}
  }
  /* Below 480px, drop the tagline to keep the row compact — the wordmark in the logo already establishes the brand */
  @media (max-width:480px){
    .brand-lockup small{display:none;}
    .logo-mark{height:34px;}
    .logo-plate{padding:5px 9px;}
    .header-cta .txt strong{font-size:11.5px;}
    .theme-toggle-btn{padding:6px 8px;font-size:10px;}
  }

  /* ===== HERO (fixed content layered over the carousel's rotating photos) ===== */
  .hero-grid{
    position:relative;z-index:10;
    max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start;padding:56px 24px;
  }
  .hero-title{color:#fff;font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.25;}
  .hero-desc{color:var(--maroon-text-soft);margin-top:16px;font-size:15.5px;max-width:560px;}
  .trust-list{margin-top:26px;display:grid;grid-template-columns:repeat(2,1fr);align-items:start;gap:12px;padding:0;}
  @media (max-width:640px){.trust-list{grid-template-columns:1fr;}}
  .trust-list li{
    list-style:none;display:flex;align-items:center;gap:8px;
    color:var(--maroon-text-soft);font-size:13.5px;font-weight:600;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
    border-radius:999px;padding:7px 16px 7px 7px;
  }
  .trust-icon{
    width:22px;height:22px;border-radius:50%;background:var(--gold);
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  }
  .trust-icon svg{width:12px;height:12px;color:#fff;}
  @media (max-width:560px){
    .trust-list{gap:10px 12px;}
    .trust-list li{font-size:12.5px;padding:6px 13px 6px 6px;gap:6px;}
    .trust-icon{width:19px;height:19px;}
    .trust-icon svg{width:10px;height:10px;}
  }
  .hero-cta{margin-top:28px;}
  .hero-cta .fine{color:var(--maroon-text-mute);font-size:12px;margin-top:10px;}

  .hero-card{background:var(--surface);border-radius:8px;box-shadow:var(--shadow-lg);padding:26px;}
  .hero-card h3{font-size:17px;color:var(--heading);margin-bottom:14px;}
  .hero-card .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .hero-card .stat{background:var(--maroon-pale);border-radius:6px;padding:14px;text-align:center;}
  .hero-card .stat h4{font-family:var(--font-display);font-size:22px;color:var(--maroon-deep);}
  .hero-card .stat p{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}

  /* Contact Form 7 — match enquiry card layout (no design change to rest of page) */
  .hero-card .wpcf7,.enquiry-form-card .wpcf7{margin:0 0 20px;}
  .hero-card .wpcf7 form,.enquiry-form-card .wpcf7 form{display:flex;flex-direction:column;gap:12px;}
  .hero-card .wpcf7 input[type="text"],
  .hero-card .wpcf7 input[type="tel"],
  .hero-card .wpcf7 input[type="email"],
  .hero-card .wpcf7 input[type="url"],
  .hero-card .wpcf7 select,
  .hero-card .wpcf7 textarea,
  .enquiry-form-card .wpcf7 input[type="text"],
  .enquiry-form-card .wpcf7 input[type="tel"],
  .enquiry-form-card .wpcf7 input[type="email"],
  .enquiry-form-card .wpcf7 input[type="url"],
  .enquiry-form-card .wpcf7 select,
  .enquiry-form-card .wpcf7 textarea{
    width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:5px;font-size:14px;
    font-family:var(--font-body);box-sizing:border-box;background:var(--surface);color:var(--ink);
  }
  .hero-card .wpcf7 input[type="submit"],
  .enquiry-form-card .wpcf7 input[type="submit"],
  .hero-card .wpcf7 button[type="submit"],
  .enquiry-form-card .wpcf7 button[type="submit"]{
    display:inline-block;width:100%;padding:14px 28px;border:none;border-radius:3px;cursor:pointer;
    background:var(--gold);color:#fff;font-weight:700;font-size:14px;font-family:var(--font-body);
  }
  .hero-card .wpcf7 input[type="submit"]:hover,
  .enquiry-form-card .wpcf7 input[type="submit"]:hover{background:var(--gold-dark);}
  .hero-card .wpcf7-not-valid-tip,.enquiry-form-card .wpcf7-not-valid-tip{font-size:12px;color:#b91c1c;}
  .hero-card .wpcf7-response-output,.enquiry-form-card .wpcf7-response-output{margin:8px 0 0;font-size:13px;}

  .scroll-popup-box .wpcf7{margin:0;}
  .scroll-popup-box .wpcf7 form{display:flex;flex-direction:column;gap:12px;}
  .scroll-popup-box .wpcf7 input[type="text"],
  .scroll-popup-box .wpcf7 input[type="tel"],
  .scroll-popup-box .wpcf7 input[type="email"],
  .scroll-popup-box .wpcf7 input[type="url"],
  .scroll-popup-box .wpcf7 select,
  .scroll-popup-box .wpcf7 textarea{
    width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:5px;font-size:14px;
    font-family:var(--font-body);box-sizing:border-box;background:var(--surface);color:var(--ink);
  }
  .scroll-popup-box .wpcf7 input[type="submit"],
  .scroll-popup-box .wpcf7 button[type="submit"]{
    background:var(--gold);color:#fff;border:none;padding:13px;border-radius:5px;
    font-size:15px;font-weight:700;cursor:pointer;width:100%;font-family:var(--font-body);
  }
  .scroll-popup-box .wpcf7 input[type="submit"]:hover{background:var(--gold-dark);}
  .scroll-popup-box .wpcf7-not-valid-tip{font-size:12px;color:#b91c1c;}
  .scroll-popup-box .wpcf7-response-output{margin:8px 0 0;font-size:13px;}

  /* ===== ABOUT ===== */
  .about-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
  .about-grid p{color:var(--ink-soft);margin-top:14px;font-size:15px;}
  .highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .highlight-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;text-align:center;box-shadow:var(--shadow-sm);}
  .highlight-card h4{font-family:var(--font-display);font-size:24px;color:var(--gold-dark);}
  .highlight-card p{font-size:12px;color:var(--ink-soft);margin-top:4px;}

  /* ===== WHY CHOOSE ===== */
  .feature-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .feature-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;border-top:3px solid var(--gold);overflow:hidden;box-shadow:var(--shadow-sm);}
  .feature-card-img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center;display:block;}
  .feature-card-body{padding:16px 26px 26px;}
  .feature-card h3{font-size:17px;margin-bottom:8px;}
  .feature-card p{font-size:13.5px;color:var(--ink-soft);}

  /* ===== COURSE SELECTOR (CSS-only tabs) ===== */
  .course-tabs{max-width:1180px;margin:0 auto;}
  .tab-input{display:none;}
  .tab-labels{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;border-bottom:2px solid var(--line);}
  .tab-labels label{padding:14px 18px;font-size:13.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;}
  .tab-panels{background:var(--surface);border:1px solid var(--line);border-top:none;padding:32px;border-radius:0 0 8px 8px;}
  .tab-panel{display:none;}
  .tab-panel h3{font-size:20px;margin-bottom:10px;}
  .tab-panel p.desc{color:var(--ink-soft);font-size:14.5px;margin-bottom:18px;max-width:680px;}
  .meta-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px;}
  .meta-item{font-size:13px;}
  .meta-item strong{display:block;color:var(--maroon-deep);font-family:var(--font-display);font-size:15px;}
  .career-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;margin-bottom:22px;}
  .career-list li{list-style:none;font-size:13.5px;padding-left:18px;position:relative;color:var(--ink-soft);}
  .career-list li::before{content:"\203A";position:absolute;left:0;color:var(--gold-dark);font-weight:700;}
  #t1:checked ~ .tab-labels label[for="t1"],
  #t2:checked ~ .tab-labels label[for="t2"],
  #t3:checked ~ .tab-labels label[for="t3"],
  #t4:checked ~ .tab-labels label[for="t4"]{color:var(--maroon-deep);border-bottom-color:var(--gold);}
  #t1:checked ~ .tab-panels #p1,
  #t2:checked ~ .tab-panels #p2,
  #t3:checked ~ .tab-panels #p3,
  #t4:checked ~ .tab-panels #p4{display:block;}

  /* ===== ADMISSION PROCESS (timeline) ===== */
  .timeline{max-width:760px;margin:0 auto;position:relative;padding-left:44px;}
  .timeline::before{content:"";position:absolute;left:17px;top:6px;bottom:6px;width:2px;background:var(--line);}
  .tl-step{position:relative;padding-bottom:34px;}
  .tl-step:last-child{padding-bottom:0;}
  .tl-num{position:absolute;left:-44px;top:0;width:36px;height:36px;border-radius:50%;background:var(--maroon-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:15px;}
  .tl-step h3{font-size:16.5px;margin-bottom:4px;}
  .tl-step p{font-size:13.5px;color:var(--ink-soft);}

  /* ===== ELIGIBILITY TABLE ===== */
  .elig-table{max-width:900px;margin:0 auto 28px;width:100%;border-collapse:collapse;background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 0 var(--line);}
  .elig-table th, .elig-table td{padding:14px 18px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line);}
  .elig-table th{background:var(--maroon-deep);color:#fff;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;}
  .elig-table tr:last-child td{border-bottom:none;}
  .elig-note{max-width:760px;margin:0 auto 28px;text-align:center;color:var(--ink-soft);font-size:14px;}

  /* ===== LOCATION CHIPS ===== */
  .chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:820px;margin:0 auto;}
  .chip{background:var(--surface);border:1px solid var(--line);padding:9px 16px;border-radius:20px;font-size:13px;font-weight:600;color:var(--maroon-deep);}

  /* ===== HOSPITAL USP ===== */
  .hosp-list{max-width:900px;margin:32px auto 0;display:grid;gap:14px;}
  .hosp-list li{list-style:none;font-size:14px;color:var(--ink-soft);padding:14px 18px 14px 46px;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:8px;}
  .hosp-list li strong{color:var(--maroon-deep);}
  .hosp-list li::before{content:"+";position:absolute;left:16px;top:12px;color:var(--gold-dark);font-weight:700;font-size:18px;}

  /* ===== PROGRAM REGULATIONS ===== */
  .regs-grid{max-width:980px;margin:0 auto;display:grid;gap:24px;}
  .regs-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px 24px;}
  .regs-card h3{font-size:16px;margin-bottom:8px;}
  .regs-card p{font-size:13.5px;color:var(--ink-soft);}
  .exam-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:8px;overflow:hidden;margin-top:8px;}
  .exam-table th,.exam-table td{padding:11px 16px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line);}
  .exam-table th{background:var(--maroon-pale);color:var(--maroon-deep);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.02em;}
  .exam-table tr:last-child td{border-bottom:none;}

  /* ===== COURSE SELECTOR: meta info panels (duration/eligibility, recruiters/salary) ===== */
  .course-meta-panel{display:grid;gap:8px;margin-bottom:20px;padding:14px 18px;background:var(--maroon-pale);border-radius:8px;}
  .course-meta-panel p{font-size:13.5px;color:var(--ink-soft);}
  .course-meta-panel p strong{color:var(--maroon-deep);}
  .syllabus-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;margin-bottom:22px;}
  .syllabus-list li{list-style:none;font-size:13.5px;padding-left:18px;position:relative;color:var(--ink-soft);}
  .syllabus-list li::before{content:"\2022";position:absolute;left:0;color:var(--maroon-deep);font-weight:700;}
  .tab-panel h4.sub-head{font-size:13.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--maroon-deep);margin-bottom:10px;font-family:var(--font-body);font-weight:700;}
  .tab-panel-media{margin:0 0 24px;border-radius:10px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.12);}
  .course-tab-image{width:100%;height:260px;object-fit:cover;object-position:center;border-radius:10px;display:block;}
  @media (max-width:640px){.course-tab-image{height:190px;}}

  /* ===== GALLERY ===== */
  .gallery-filters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
  .gallery-filters button{background:var(--surface);border:1px solid var(--line);padding:9px 18px;border-radius:20px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);}
  .gallery-filters button.is-active{background:var(--maroon-deep);border-color:var(--maroon-deep);color:#fff;}
  .gallery-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .gallery-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;display:block;}
  .gallery-item.is-hidden{display:none;}
  .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
  .gallery-item:hover img{transform:scale(1.06);}
  .gallery-item .gcap{position:absolute;inset:auto 0 0 0;padding:8px 10px;background:linear-gradient(180deg,rgba(42,15,13,0),rgba(42,15,13,.75));color:#fff;font-size:11.5px;font-weight:600;opacity:0;transition:opacity .25s ease;}
  .gallery-item:hover .gcap{opacity:1;}
  .gallery-item.video-item::after{content:"\25B6";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--maroon-deep);display:flex;align-items:center;justify-content:center;font-size:16px;}
  @media (max-width:960px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){
    .gallery-grid{grid-template-columns:1fr;}
    .gallery-filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px;}
    .gallery-filters button{flex:0 0 auto;}
  }
  .lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(15,5,4,.9);z-index:300;align-items:center;justify-content:center;padding:24px;}
  .lightbox-overlay.is-open{display:flex;}
  .lightbox-overlay img{max-width:100%;max-height:88vh;border-radius:6px;display:block;}
  .lightbox-close{position:absolute;top:20px;right:24px;font-size:32px;color:#fff;background:none;border:none;cursor:pointer;line-height:1;}
  .lightbox-caption{color:#f0dcd7;font-size:13px;text-align:center;margin-top:10px;}

  /* ===== CAMPUS TOUR VIDEO ===== */
  .video-wrap{
    max-width:900px;margin:0 auto;position:relative;
    aspect-ratio:16/9;border-radius:8px;overflow:hidden;
    box-shadow:0 24px 48px rgba(0,0,0,.28);background:var(--maroon-deep);
  }
  @supports not (aspect-ratio: 16 / 9){
    .video-wrap{height:0;padding-bottom:56.25%;}
  }
  .video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;}

  /* ===== TESTIMONIALS ===== */
  .testi-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .testi-card{background:var(--surface);border:1px dashed var(--line);border-radius:8px;padding:24px;text-align:center;color:var(--ink-soft);font-size:13.5px;}
  .testi-card .avatar{width:44px;height:44px;border-radius:50%;background:var(--maroon-pale);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;}
  .testi-card .avatar svg{width:22px;height:22px;color:var(--maroon-deep);}

  /* ===== FAQ (details/summary accordion) ===== */
  .faq-list{max-width:820px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{padding:18px 4px;font-weight:700;font-size:14.5px;cursor:pointer;color:var(--maroon-deep);list-style:none;display:flex;justify-content:space-between;align-items:center;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";font-size:20px;color:var(--gold-dark);font-weight:400;}
  .faq-item[open] summary::after{content:"\2013";}
  .faq-item p{padding:0 4px 18px;color:var(--ink-soft);font-size:13.5px;}

  /* ===== FINAL CTA ===== */
  .final-cta{max-width:760px;margin:0 auto;text-align:center;}
  .final-cta h2{color:var(--heading);font-size:30px;}
  .final-cta p{color:var(--ink-soft);margin:14px 0 26px;font-size:15px;}

  /* ===== ENQUIRY FORM & MAP ===== */
  .enquiry-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
  .enquiry-form-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--shadow-md);}
  .enquiry-form-card h3{font-size:18px;margin-bottom:16px;}
  .enquiry-map{border-radius:8px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);min-height:400px;}
  .enquiry-map iframe{width:100%;height:100%;display:block;}
  @media (max-width:900px){
    .enquiry-grid{grid-template-columns:1fr;}
    .enquiry-map{min-height:320px;}
  }

  /* ===== FOOTER ===== */
  footer.site-footer{background:var(--maroon-black);color:var(--maroon-text-mute);padding:40px 24px 96px;}
  .footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:30px;font-size:13.5px;}
  .footer-grid h5{color:#fff;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;}
  .footer-grid p{line-height:1.7;}
  .footer-bottom{max-width:1180px;margin:26px auto 0;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;font-size:12px;color:var(--maroon-text-mute);}

  .mobile-sticky-bar{position:fixed;left:0;right:0;bottom:0;background:var(--gold);display:none;z-index:99;box-shadow:0 -8px 16px rgba(0,0,0,.2);}
  .mobile-sticky-bar a{flex:1;text-align:center;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:16px 0;display:block;}
  .mobile-sticky-bar a:first-child{border-right:1px solid rgba(255,255,255,.3);}

  /* ===== FLOATING CALL BUTTON ===== */
  .floating-call{
    position:fixed;right:26px;bottom:26px;z-index:120;
    background:var(--maroon-deep);color:#fff;padding:15px 24px;border-radius:30px;
    font-weight:700;font-size:14px;box-shadow:0 10px 24px rgba(0,0,0,.28);
    display:flex;align-items:center;gap:8px;text-decoration:none;
  }
  .floating-call:hover{background:var(--maroon-black);}
  .floating-call .ico{font-size:15px;}

  @media (max-width:960px){
    .floating-call{display:none;} /* mobile already has the sticky call/apply bar */
  }

  /* ===== SCROLL-TRIGGERED POPUP FORM ===== */
  .scroll-popup-overlay{
    display:none;position:fixed;inset:0;background:rgba(42,15,13,.62);
    z-index:200;align-items:center;justify-content:center;padding:20px;
  }
  .scroll-popup-overlay.is-open{display:flex;}
  .scroll-popup-box{
    background:var(--surface);border-radius:10px;max-width:420px;width:100%;
    padding:32px 28px 28px;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.4);
    animation:popupIn .35s ease;
  }
  @keyframes popupIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
  .scroll-popup-close{
    position:absolute;top:14px;right:16px;font-size:24px;line-height:1;
    cursor:pointer;color:var(--ink-soft);background:none;border:none;
  }
  .scroll-popup-box .eyebrow{margin-bottom:6px;}
  .scroll-popup-box h3{font-size:19px;margin-bottom:8px;}
  .scroll-popup-box p.sub{font-size:13px;color:var(--ink-soft);margin-bottom:20px;}
  .scroll-popup-form{display:flex;flex-direction:column;gap:12px;}
  .scroll-popup-form input, .scroll-popup-form select{
    width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-family:var(--font-body);
  }
  .scroll-popup-form button{
    background:var(--gold);color:#fff;border:none;padding:13px;border-radius:5px;
    font-size:15px;font-weight:700;cursor:pointer;margin-top:2px;
  }
  .scroll-popup-form button:hover{background:var(--gold-dark);}
  .scroll-popup-fine{font-size:11px;color:var(--ink-soft);text-align:center;margin-top:10px;}

  @media (max-width:960px){
    .hero-grid, .about-grid{grid-template-columns:1fr;}
    .feature-grid{grid-template-columns:repeat(2,1fr);}
    .career-list{grid-template-columns:1fr;}
    .testi-grid{grid-template-columns:1fr;}
    .highlight-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .mobile-sticky-bar{display:flex;}
    footer.site-footer{padding-bottom:96px;}
    .tab-labels{overflow-x:auto;flex-wrap:nowrap;}
    .elig-table{font-size:12px;}
  }
  @media (max-width:560px){
    .feature-grid, .highlight-grid{grid-template-columns:1fr;}
    .meta-row{gap:14px;}
  }
