
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.nav{flex-wrap:nowrap}            /* Bootstrap's .nav adds flex-wrap:wrap */
.btn{text-transform:none}         /* guard against Bootstrap .btn defaults */
/* ============================================================
   Original site styles (unchanged)
   ============================================================ */

:root {

  /* Primary */

  --green:#603738;

  --green-2:#603738;

  --green-dark:#603738;

  --green-deep:#603738;


  /* Secondary */

  --gold:#E5E1D8;

  --gold-2:#E5E1D8;

  --gold-dark:#E5E1D8;


  /* Background */

  --cream:#E5E1D8;

  --cream-2:#E5E1D8;

  --paper:#FFFFFF;


  /* Text */

  --ink:#603738;

  --muted:#603738;

  --line:#603738;


  /* Colors */

  --beige:#E5E1D8;

  --rose:#603738;

  --white:#FFFFFF;


  --radius:20px;


  /* Shadows */

  --shadow:0 30px 70px -32px rgba(96,55,56,.35);

  --shadow-sm:0 14px 38px -20px rgba(96,55,56,.25);

}
  *{margin:0;padding:0;box-sizing:border-box;    font-family: 'Fraunces', serif;}
  html{scroll-behavior:smooth}
  body{font-family:'Hanken Grotesk',sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
  body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.45;
    background-image:radial-gradient(rgba(27,110,67,.04) 1px,transparent 1px);background-size:22px 22px;mix-blend-mode:multiply}
  img{max-width:100%;display:block}
  a{text-decoration:none;color:inherit}
  ::selection{background:var(--green);color:var(--gold-2)}
  ::-webkit-scrollbar{width:11px}
  ::-webkit-scrollbar-track{background:var(--cream-2)}
  ::-webkit-scrollbar-thumb{background:var(--green);border-radius:8px;border:2px solid var(--cream-2)}
  .wrap{max-width:1340px;margin:0 auto;padding:0 26px;position:relative;}
  svg.i{width:1em;height:1em;display:inline-block;vertical-align:-.12em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

  h1,h2,h3,h4{font-family:'Fraunces',serif;line-height:1.1;font-weight:700;letter-spacing:-.01em}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Caveat',cursive;color:var(--gold-dark);font-size:1.35rem;font-weight:700;margin-bottom:8px}
  .eyebrow::before{content:"";width:26px;height:2px;background:var(--gold-dark);border-radius:2px}
  .center{text-align:center}
  .center .eyebrow{margin-inline:auto}

  .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;padding:14px 28px;border-radius:40px;transition:.3s cubic-bezier(.2,.7,.2,1);white-space:nowrap;position:relative;justify-content: center}
  .btn .i{font-size:1.05rem;transition:transform .3s}
  .btn:hover .i{transform:translateX(4px)}
  .btn-green{background:var(--green);color:#fff;box-shadow:0 12px 26px -12px rgba(27,110,67,.6)}
  .btn-green:hover{background:var(--green-dark);transform:translateY(-2px)}
  .btn-gold{background:var(--gold);color:var(--green-deep);box-shadow:0 12px 26px -12px rgba(217,158,34,.7)}
  .btn-gold:hover{background:var(--gold-2);transform:translateY(-2px)}

  /* Top bar */
  .topbar{background:var(--green-deep);color:#ffffff;font-size:.82rem;position:relative;z-index:2}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:20px}
  .topbar .left,.topbar .right{display:flex;align-items:center;gap:20px}
  .topbar a{color:#ffffff;transition:.2s;display:inline-flex;align-items:center;gap:7px}
  .topbar a:hover{color:var(--gold-2)}
  .topbar .socials{display:flex;gap:8px}
  .topbar .socials a{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:.95rem}
  .topbar .socials a:hover{background:var(--gold);color:var(--green-deep)}
  .topbar .sep{opacity:.35}

  /* Header */
  header{position: sticky;
    top: 0;
    z-index: 2;
    background: rgb(255 255 255 / 28%);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 var(--line);}
  .nav{display:flex;align-items:center;gap:24px;height:91px}
  .logo{display:flex;align-items:center;gap:13px}
  .logo img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(11,58,34,.25))}
  .logo .txt b{display:block;font-family:'Fraunces',serif;color:var(--green);font-size:1.2rem;line-height:1.05;font-weight:800}
  .logo .txt span{font-size:.66rem;color:var(--muted);font-weight:700;letter-spacing:.16em}
  .menu{display:flex;gap:4px;margin-left:8px}
  .menu>li{position:relative;list-style:none}
  .menu>li>a{font-weight:600;font-size:.93rem;color:#000000;display:flex;align-items:center;gap:5px;padding:12px 14px;border-radius:10px;transition:.2s}
  .menu>li>a:hover{color:var(--green);background:#e6f3ec}
  .menu .cap{font-size:.7rem;opacity:.5;transition:.25s}
  .menu>li:hover .cap{transform:rotate(180deg)}
  /* level 2 */
  .dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:var(--paper);border-radius:14px;box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;border:1px solid var(--line);z-index:30}
  .menu>li:hover>.dropdown{opacity:1;visibility:visible;transform:none}
  .dropdown a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;font-size:.88rem;font-weight:500;color:#28382f;transition:.18s}
  .dropdown a:hover{background:#e6f3ec;color:var(--green)}
  .dropdown a .i{color:#000000;font-size:.95rem;flex-shrink:0}
  .dropdown .arr{margin-left:auto;font-size:.7rem;opacity:.55}
  /* level 3 flyout */
  .has-sub{position:relative}
  .submenu{position:absolute;top:-11px;left:100%;min-width:215px;background:var(--paper);border-radius:14px;box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateX(8px);transition:.25s;border:1px solid var(--line)}
  .has-sub:hover>.submenu{opacity:1;visibility:visible;transform:none}
  .nav-right{margin-left:auto;display:flex;align-items:center;gap:11px}
  .icon-btn{width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--green);font-size:1.1rem;transition:.25s}
  .icon-btn:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
  .burger{display:none;width:44px;height:44px;border-radius:12px;background:var(--green);color:#fff;border:none;font-size:1.3rem;cursor:pointer}
  .nav-overlay{position:fixed;inset:0;background:rgba(8,42,24,.55);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.3s;z-index:47}
  .nav-overlay.show{opacity:1;visibility:visible}
  .menu-head{display:none}
  body.nav-lock{overflow:hidden}

  /* Ticker */
  .ticker{background:var(--gold);color:var(--green-deep);overflow:hidden;position:relative;}
  .ticker .wrap{display:flex;align-items:center;gap:16px;padding:0}
  .ticker .lbl{flex-shrink: 0;
    background: var(--green-deep);
    color: #ffffff;
    font-weight: 800;
    font-size: .74rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    z-index: 9;
    position: relative;
    padding: 11px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
  .ticker-track{display:flex;gap:50px;white-space:nowrap;animation:scroll 12s linear infinite;font-weight:700;font-size:.86rem;padding:9px 0}
  .ticker:hover .ticker-track{animation-play-state:paused}
  .ticker-track a{display:inline-flex;align-items:center;gap:8px}
  .ticker-track a::before{content:"●";color:var(--green);font-size:.5rem}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* Hero slider */
  .hero{position:relative;height:clamp(460px,78vh,640px);overflow:hidden;}
  .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease}
  .hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,42,24,.35),rgba(8,42,24,.28) 50%,rgba(8,42,24,.55))}
  .hero-slide.active{opacity:1}
  .hero-slide.active{animation:kb 7s ease forwards}
  @keyframes kb{from{transform:scale(1.09)}to{transform:scale(1)}}
  .hero-nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 26px;z-index:3;pointer-events:none}
  .hero-nav button{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-size:1.2rem;transition:.25s;backdrop-filter:blur(5px);pointer-events:auto}
  .hero-nav button:hover{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
  .hero-dots{position:absolute;bottom:118px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:3}
  .hero-dots button{width:11px;height:11px;border-radius:50%;border:none;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s;padding:0}
  .hero-dots button.active{background:var(--gold);width:30px;border-radius:6px}

  .reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* Quick links */
  .features{margin-top:-90px;position:relative;}
  .features .grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}
  .feature{padding:36px 32px;display:flex;gap:18px;border-right:1px solid var(--line);transition:.3s;position:relative}
  .feature::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.35s}
  .feature:hover::before{transform:scaleX(1)}
  .feature:hover{background:linear-gradient(180deg,#ecf5f0,var(--paper))}
  .feature:last-child{border-right:none}
  .feature .ic{flex-shrink:0;width:56px;height:56px;border-radius:16px;background:var(--green);color:var(--gold-2);display:grid;place-items:center;font-size:1.4rem;transition:.3s}
  .feature:hover .ic{transform:rotate(-6deg) scale(1.05)}
  .feature h3{font-size:1.22rem;margin-bottom:6px}
  .feature p{font-size:.88rem;color:var(--muted);margin-bottom:12px}
  .feature .more{color:var(--green);font-weight:700;font-size:.85rem;display:inline-flex;gap:6px;align-items:center}
  .feature:hover .more .i{transform:translateX(4px)}

  /* About */
  .about{padding:100px 0}
  .about .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
  .about-media{position:relative}
  .about-media .main{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);height:460px;position:relative}
  .about-media .main img{width:100%;height:100%;}
  .about-media .inset{position:absolute;bottom:-26px;right:-14px;width:44%;height:190px;border:7px solid var(--cream);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
  .about-media .inset img{width:100%;height:100%;object-fit:cover}
  .about-media .ring{position:absolute;top:-26px;left:-26px;width:90px;height:90px;border:2px dashed var(--gold);border-radius:50%;z-index:-1}
  .award{position:absolute;top:24px;left:-26px;background:var(--green);color:#fff;border-radius:18px;padding:16px 22px;text-align:center;box-shadow:var(--shadow-sm);z-index:3}
  .award b{display:block;font-family:'Fraunces',serif;font-size:2rem;color:var(--gold-2);line-height:1}
  .award span{font-size:.72rem;opacity:.85;letter-spacing:.05em}
  .about h2{font-size:clamp(2rem,3.6vw,2.8rem);margin-bottom:20px}
  .about p.lead{color:var(--muted);margin-bottom:26px;font-size:1.02rem}
  .mission{display:flex;gap:14px;margin-bottom:30px;flex-wrap:wrap}
  .mission .item{display:flex;align-items:center;gap:13px;font-weight:700;color:var(--green-dark);font-size:.93rem;background:#e6f3ec;padding:12px 18px;border-radius:14px}
  .mission .item .ic{width:42px;height:42px;border-radius:11px;background:var(--green);color:var(--gold-2);display:grid;place-items:center;font-size:1.05rem}

  /* Stats */
  .stats{padding:0 0 100px}
  .stats .bar{background:linear-gradient(120deg,var(--green-dark),var(--green) 55%,var(--green-2));border-radius:26px;color:#fff;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;position:relative;box-shadow:var(--shadow)}
  .stats .bar::before{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(240,183,63,.18),transparent 70%)}
  .stats .cell{padding:46px 38px;border-right:1px solid rgba(255,255,255,.13);position:relative}
  .stats .cell:last-child{border-right:none}
  .stats .cell .ic{color:var(--gold-2);font-size:1.5rem;margin-bottom:12px;display:block}
  .stats .cell b{font-family:'Fraunces',serif;font-size:2.7rem;display:block;line-height:1;letter-spacing:-.02em}
  .stats .cell span{color:#ffffff;font-size:.95rem;margin-top:6px;display:block}

  /* Academics */
  .courses{padding:40px 0;background:linear-gradient(180deg,var(--cream-2),var(--cream))}
  .courses h2{font-size:clamp(2rem,3.6vw,2.8rem);max-width:580px;margin:0 auto 28px}
  .tabs{display:inline-flex;gap:6px;margin-bottom:48px;background:var(--paper);padding:6px;border-radius:40px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
  .tab{background:none;border:none;font-family:inherit;font-weight:700;font-size:.92rem;color:var(--muted);cursor:pointer;padding:10px 22px;border-radius:30px;transition:.25s}
  .tab.active{color:#fff;background:var(--green)}
  .course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .course{background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.35s;border:1px solid var(--line)}
  .course:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
  .course .thumb{position:relative;height:210px;overflow:hidden}
  .course .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
  .course:hover .thumb img{transform:scale(1.08)}
  .course .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(8,42,24,.35))}
  .course .cat{position:absolute;top:15px;left:15px;background:var(--gold);color:var(--green-deep);font-size:.72rem;font-weight:800;padding:6px 15px;border-radius:20px;z-index:2;letter-spacing:.03em}
  .course .body{padding:24px;text-align:left}
  .course h3{font-size:1.28rem;margin-bottom:9px}
  .course p{font-size:.89rem;color:var(--muted);margin-bottom:16px}
  .course .meta{display:flex;gap:18px;font-size:.8rem;color:var(--muted);padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
  .course .meta span{display:flex;align-items:center;gap:7px}
  .course .meta .i{color:#000000}
  .course .preview{width:100%;justify-content:center}

  /* Carousel (shared: infra + news) */
  .carousel{position:relative}
  .track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;scrollbar-width:none;-ms-overflow-style:none}
  .track::-webkit-scrollbar{display:none}
  .track>*{scroll-snap-align:start;flex:0 0 calc((100% - 52px)/3)}
  .car-nav{display:flex;gap:10px}
  .car-nav.center{justify-content:center}
  .car-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--green);background:transparent;color:var(--green);cursor:pointer;transition:.25s;display:grid;place-items:center;font-size:1.05rem}
  .car-btn:hover{background:var(--green);color:#fff}

  /* Infrastructure */
  .campus{padding:100px 0}
  .campus .head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:36px}
  .campus h2{font-size:clamp(2rem,3.6vw,2.8rem)}
  .campus .head p{color:var(--muted);font-size:1.02rem;max-width:440px;margin-bottom:18px}
  .campus-card{position:relative;border-radius:22px;overflow:hidden;height:340px;display:block}
  .campus-card img{width:100%;height:100%;object-fit:cover;transition:.5s}
  .campus-card:hover img{transform:scale(1.08)}
  .campus-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(8,42,24,.82))}
  .campus-card .label{position:absolute;left:22px;bottom:22px;color:#fff;font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;z-index:2}
  .campus-card .label small{display:block;font-family:'Hanken Grotesk';font-weight:500;font-size:.78rem;opacity:.85;letter-spacing:.04em}
  .campus-card .go{position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;display:grid;place-items:center;transition:.3s;z-index:2}
  .campus-card:hover .go{background:var(--gold);color:var(--green-deep);transform:rotate(45deg)}

  /* Admission & fees */
  .tuition{padding:30px 0 100px}
  .tuition .grid{display:grid;grid-template-columns:1fr 1.25fr;gap:54px;align-items:center}
  .tuition h2{font-size:clamp(2rem,3.6vw,2.6rem);margin-bottom:20px}
  .tuition p.lead{color:var(--muted);margin-bottom:28px;font-size:1.02rem}
  .tuition .cta{display:flex;gap:12px;flex-wrap:wrap}
  .fee-box{background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:26px;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:44px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
  .fee-box::before{content:"";position:absolute;right:-30px;bottom:-30px;width:160px;height:160px;border:2px dashed rgba(240,183,63,.3);border-radius:50%}
  .fee-box h4{font-size:1.2rem;margin-bottom:16px;color:var(--gold-2);display:flex;align-items:center;gap:9px}
  .fee-box li{list-style:none;display:flex;align-items:center;gap:11px;font-size:.92rem;color:#c2d8cb;padding:8px 0}
  .fee-box li a{color:#e7f3ec;transition:.2s}
  .fee-box li a:hover{color:#fff;padding-left:3px}
  .fee-box li .chk{color:var(--gold);flex-shrink:0;font-size:1rem}

  /* Principal's Desk (redesigned) */
  .principal{padding:100px 0;background:linear-gradient(180deg,var(--cream),var(--cream-2));position:relative;overflow:hidden}
  .principal .watermark{position:absolute;top:30px;right:60px;font-family:'Fraunces',serif;font-size:18rem;line-height:.7;color:rgba(27,110,67,.045);font-weight:900;pointer-events:none;z-index:0}
  .principal .dots-bg{position:absolute;left:-30px;bottom:40px;width:200px;height:160px;background-image:radial-gradient(rgba(27,110,67,.12) 2px,transparent 2px);background-size:20px 20px;opacity:.5;z-index:0}
  .pcard{max-width:1040px;margin:0 auto;background:var(--paper);border-radius:30px;box-shadow:var(--shadow);display:grid;grid-template-columns:330px 1fr;overflow:hidden;border:1px solid var(--line);position:relative;z-index:2}
  .pleft{position:relative;padding:40px 32px;background:linear-gradient(165deg,var(--green-dark),var(--green));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .pleft::after{content:"";position:absolute;right:-28px;top:50%;transform:translateY(-50%);width:56px;height:56px;background:var(--paper);border-radius:50%;display:none}
  .pframe{width:200px;height:248px;border-radius:18px;overflow:hidden;border:4px solid var(--gold);box-shadow:0 16px 36px -12px rgba(0,0,0,.55);position:relative}
  .pframe img{width:100%;height:100%;object-fit:cover}
  .pleft .pname{color:#fff;font-family:'Fraunces',serif;font-size:1.35rem;margin-top:20px}
  .pleft .prole{color:var(--gold-2);font-size:.84rem;letter-spacing:.03em}
  .pleft .psign{font-family:'Caveat',cursive;color:#fff;font-size:2rem;margin-top:4px;opacity:.92}
  .pright{padding:48px 46px;position:relative}
  .pright .ptag{display:inline-flex;align-items:center;gap:8px;background:#e2f0e8;color:var(--green);font-weight:700;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 15px;border-radius:30px;margin-bottom:16px}
  .pright .qm{position:absolute;top:30px;right:40px;font-family:'Fraunces',serif;color:var(--gold);opacity:.4;font-size:5rem;line-height:.4;font-weight:900}
  .pright .q{font-family:'Fraunces',serif;font-style:italic;font-size:1.18rem;line-height:1.62;color:var(--ink);margin-bottom:24px}
  .pright .motto{display:inline-flex;align-items:center;gap:9px;font-family:'Caveat',cursive;font-size:1.45rem;color:var(--green);font-weight:700;border-left:3px solid var(--gold);padding-left:14px;margin-bottom:24px}

  /* Affiliations */
  .partner{padding:100px 0}
  .partner .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
  .partner h2{font-size:clamp(1.9rem,3.5vw,2.5rem);margin-bottom:18px}
  .partner p.lead{color:var(--muted);margin-bottom:28px;font-size:1.02rem}
  .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .logo-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;height:120px;display:grid;place-items:center;color:var(--green);transition:.3s}
  .logo-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-4px);border-color:var(--gold)}
  .logo-card span{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;font-size:.82rem;font-weight:700;padding:0 8px}
  .logo-card .em{width:42px;height:42px;border-radius:12px;background:#e6f3ec;color:var(--green);display:grid;place-items:center;font-size:1.25rem}

  /* News */
  .news{padding:90px 0;background:linear-gradient(180deg,var(--cream-2),var(--cream))}
  .news .head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}
  .news h2{font-size:clamp(2rem,3.6vw,2.8rem);max-width:560px}
  .post{background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.35s;border:1px solid var(--line);display:block}
  .post:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
  .post .thumb{height:210px;overflow:hidden;position:relative}
  .post .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
  .post:hover .thumb img{transform:scale(1.08)}
  .post .date{position:absolute;top:14px;left:14px;background:var(--paper);color:var(--green);border-radius:12px;padding:8px 12px;text-align:center;font-weight:800;line-height:1;box-shadow:var(--shadow-sm)}
  .post .date b{font-family:'Fraunces',serif;font-size:1.3rem;display:block}
  .post .date span{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
  .post .body{padding:24px;text-align:left}
  .post .tag{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:#000000;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
  .post h3{font-size:1.18rem;margin-bottom:14px;line-height:1.28}
  .post .more{color:var(--green);font-weight:700;font-size:.85rem;display:inline-flex;gap:6px;align-items:center}
  .news .foot-row{display:flex;justify-content:center;margin-top:30px}

  /* CTA */
  .newsletter{padding:0 0 80px}
  .news-box{background:linear-gradient(120deg,var(--green-dark),var(--green) 60%,var(--green-2));border-radius:28px;padding:50px 56px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden;box-shadow:var(--shadow)}
  .news-box::before{content:"";position:absolute;left:-30px;bottom:-40px;width:180px;height:180px;background-image:radial-gradient(rgba(240,183,63,.4) 2px,transparent 2px);background-size:18px 18px;opacity:.5}
  .news-box h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);max-width:460px;position:relative}
  .news-form{display:flex;background:#fff;border-radius:40px;padding:7px 7px 7px 24px;align-items:center;min-width:340px;flex:1;max-width:480px;position:relative}
  .news-form input{border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem;background:transparent}

  /* Footer */
  footer{background:var(--green-deep);color:#ffffff;padding:76px 0 0;position:relative}
  footer::before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold))}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:54px}
  .foot .logo{margin-bottom:20px}
  .foot .logo .txt b{color:#fff}
  .foot .logo .txt span{color:#ffffff}
  .foot p{font-size:.9rem;margin-bottom:22px;max-width:300px}
  footer h4{color:#fff;font-size:1.12rem;margin-bottom:22px}
  footer ul{list-style:none}
  footer ul li{margin-bottom:12px}
  footer ul a{font-size:.9rem;transition:.2s;display:inline-flex;align-items:center;gap:8px}
  footer ul a::before{content:"›";color:var(--gold);font-weight:700}
  footer ul a:hover{color:var(--gold-2);padding-left:5px}
  .foot-contact p{font-size:.9rem;margin-bottom:12px;max-width:none;display:flex;gap:10px}
  .foot-contact .i{color:var(--gold-2);font-size:1.1rem;flex-shrink:0;margin-top:3px}
  .foot-socials{display:flex;gap:12px;margin-top:10px}
  .foot-socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:.25s}
  .foot-socials a:hover{background:var(--gold);color:var(--green-deep);transform:translateY(-3px)}
  .copyright{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;text-align:center;font-size:.85rem}
  .to-top{position:fixed;right:26px;bottom:26px;width:50px;height:50px;border-radius:50%;background:var(--green);color:#fff;border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:.3s;z-index:90;font-size:1.1rem}
  .to-top.show{opacity:1;pointer-events:auto}
  .to-top:hover{background:var(--gold);color:var(--green-deep)}

  @media(max-width:980px){

      .course-grid{display:flex;flex-wrap: wrap;}
    .burger{display:block}
    header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream);z-index: 50}
    .nav{height:72px;gap:12px}
    .logo img{width:46px;height:46px}
    .logo .txt b{font-size:1.02rem}
    /* mobile menu: slide-in side drawer */
    .menu{display:flex;flex-direction:column;gap:0;position:fixed;top:0;right:0;height:100%;width:min(86vw,330px);background:var(--paper);box-shadow:-24px 0 70px -24px rgba(8,42,24,.6);padding:0 0 30px;margin:0;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.7,.2,1);z-index:80;overflow-y:auto}
    .menu.open{transform:none}
    .menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:3}
    .menu-head .mh-title{font-family:'Fraunces',serif;font-weight:800;color:var(--green);font-size:1.05rem}
    .menu-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center}
    .menu-close:hover{background:var(--green);color:#fff}
    .menu>li{border-bottom:1px solid var(--line)}
    .menu>li.menu-head{border-bottom:1px solid var(--line)}
    .menu>li:not(.menu-head)>a{padding:15px 20px;justify-content:space-between;border-radius:0}
    .menu>li>a:hover{background:transparent}
    .menu .cap{margin-left:auto}
    .menu>li.open-sub>a .cap{transform:rotate(180deg);color:var(--green)}
    .menu .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;min-width:0;background:#ecf5f0;border-radius:10px;padding:6px;margin:0 16px 14px;display:none}
    .menu>li.open-sub>.dropdown{display:block}
    .menu .dropdown a{padding:11px 12px;font-size:.9rem}
    .menu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;min-width:0;background:transparent;padding:0 0 0 14px;margin-top:2px}
    .menu .has-sub>a .arr{transform:rotate(90deg);display:inline-block}
    /* topbar compact */
    .topbar .left .sep,.topbar .left a:nth-child(3),.topbar .right a:not(.last){display:none}
    /* layout stacks */
    .features .grid,.logos{grid-template-columns:1fr 1fr}
    .feature{border-right:none;border-bottom:1px solid var(--line)}
    .about .grid,.tuition .grid,.partner .grid{grid-template-columns:1fr;gap:44px}
    .about-media .main{height:auto;aspect-ratio:4/3}
    .campus .head{grid-template-columns:1fr;align-items:start;gap:18px}
    .campus .head .car-nav{justify-content:flex-start}
    .stats .bar{grid-template-columns:1fr}
    .stats .cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.13);padding:34px 30px}
    .pcard{grid-template-columns:1fr}
    .pleft{padding:34px 24px}
    .pframe{width:160px;height:190px}
    .pright{padding:34px 28px}
    .principal .watermark{font-size:11rem;right:20px;top:10px}
    .track>*{flex-basis:calc((100% - 26px)/2)}
    .hero{height:clamp(360px,52vh,460px)}
    .hero-dots{bottom:106px}
  }

@media (max-width: 992px){
  /* burger + overlay sirf mobile pe */
  .burger{ display:block; }
  .nav-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.5);
    opacity:0; visibility:hidden; transition:.3s; 
  }
  .nav-overlay.show{ opacity:1; visibility:visible; }

  /* menu = right slide-in drawer */
  .menu{
    position:fixed; top:0; right:-320px; width:300px; max-width:85%;
    height:100%; background:#fff; flex-direction:column; align-items:stretch;
    padding:1rem; gap:0; overflow-y:auto; z-index:999;
    transition:right .3s ease; box-shadow:-4px 0 24px rgba(0,0,0,.15);
  }
  .menu.open{ right:0; }
  .menu-head{ display:flex; justify-content:space-between; align-items:center;
    padding-bottom:.75rem; margin-bottom:.5rem; border-bottom:1px solid #eee; }
  .menu-close{ background:none; border:0; font-size:1.6rem; cursor:pointer; line-height:1; }

  /* dropdowns ab static flow me, tap pe khulein */
  .menu > li{ width:100%; }
  .dropdown, .submenu{
    position:static; display:none; box-shadow:none; width:100%;
    padding-left:.75rem; opacity:1; visibility:visible; transform:none;
  }
  .menu > li.open-drop > .dropdown{ display:block; }
  .has-sub.open-sub > .submenu{ display:block; }

  /* caret rotate (optional) */
  .menu > li.open-drop > a .cap{ transform:rotate(180deg); display:inline-block; }
}


/* -----------------news--------------------------------------- */
.news-page {
    background: linear-gradient(180deg, #fdfbf7 0%, #ffffff 100%);
    padding: 80px 0 100px;
    min-height: 80vh;
}

.news-header {
    text-align: center;
    margin-bottom: 60px;
}

.news-eyebrow {
    display: inline-block;
    color: var(--news-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 6px 16px;
    background: rgba(233, 69, 96, 0.08);
    border-radius: 20px;
}

.news-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    color: var(--news-dark);
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.1;
}

.news-subtitle {
    color: var(--news-muted);
    font-size: 17px;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.news-divider {
    width: 60px;
    height: 3px;
    background: var(--news-primary);
    margin: 24px auto 0;
    border-radius: 2px;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.news-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(26, 58, 46, 0.06);
    border: 1px solid var(--news-border);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(26, 58, 46, 0.12);
    border-color: rgba(233, 69, 96, 0.3);
}

.news-card-image {
    position: relative;
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, #1a3a2e 0%, #2d5443 100%);
}

.news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.news-card:hover .news-card-image img {
    transform: scale(1.06);
}

.news-card-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
    font-size: 60px;
}

.news-date-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #fff;
    border-radius: 10px;
    padding: 8px 14px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 60px;
}

.news-date-badge .day {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--news-primary);
    line-height: 1;
    font-family: 'Playfair Display', Georgia, serif;
}

.news-date-badge .month {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--news-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 2px;
}

.news-card-body {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.news-card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--news-muted);
    font-size: 13px;
    margin-bottom: 12px;
}

.news-card-meta .dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--news-primary);
}

.news-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--news-dark);
    line-height: 1.3;
    margin-bottom: 12px;
}

.news-card-excerpt {
    color: var(--news-muted);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

.news-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--news-border);
}

.news-attachment-count {
    font-size: 13px;
    color: var(--news-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.news-read-more {
    background: transparent;
    border: none;
    color: var(--news-primary);
    font-weight: 600;
    font-size: 14px;
    padding: 8px 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.3s ease;
}

.news-read-more:hover {
    gap: 12px;
    color: var(--news-primary);
}

/* ===== MODAL CUSTOM STYLES ===== */
.news-modal .modal-dialog {
    max-width: 800px;
}

.news-modal .modal-content {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
}

.news-modal-hero {
    position: relative;
    height: 280px;
    background: linear-gradient(135deg, #1a3a2e 0%, #2d5443 100%);
    overflow: hidden;
}

.news-modal-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-modal-hero-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.25);
    font-size: 100px;
}

.news-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--news-dark);
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.news-modal-close:hover {
    background: var(--news-primary);
    color: #fff;
    transform: rotate(90deg);
}

.news-modal-date-badge {
    position: absolute;
    bottom: 20px;
    left: 24px;
    background: #fff;
    border-radius: 10px;
    padding: 10px 16px;
    text-align: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    min-width: 70px;
}

.news-modal-date-badge .day {
    display: block;
    font-size: 26px;
    font-weight: 700;
    color: var(--news-primary);
    line-height: 1;
    font-family: 'Playfair Display', Georgia, serif;
}

.news-modal-date-badge .month {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--news-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 4px;
}

.news-modal-body {
    padding: 36px 40px 40px;
}

.news-modal-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--news-muted);
    font-size: 13px;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.news-modal-meta .dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--news-primary);
}

.news-modal-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--news-dark);
    line-height: 1.2;
    margin-bottom: 24px;
}

.news-modal-content {
    color: #374151;
    font-size: 16px;
    line-height: 1.8;
    overflow: auto;
    height: 500px;
    padding: 20px 0px;
}

.news-modal-content p {
    margin-bottom: 16px;
}

.news-attachments {
    margin-top: 28px;
    padding: 20px;
    background: var(--news-light);
    border-radius: 12px;
}

.news-attachments-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--news-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.news-attachment-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 8px;
    text-decoration: none;
    color: var(--news-dark);
    font-size: 14px;
    border: 1px solid var(--news-border);
    transition: all 0.2s ease;
}

.news-attachment-link:hover {
    background: var(--news-primary);
    color: #fff;
    border-color: var(--news-primary);
    transform: translateX(4px);
}

.news-attachment-link:last-child {
    margin-bottom: 0;
}

.news-attachment-link i {
    font-size: 18px;
}

.news-empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--news-muted);
}

.news-empty-icon {
    font-size: 60px;
    color: var(--news-border);
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .news-page {
        padding: 50px 0 70px;
    }
    .news-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .news-modal-body {
        padding: 24px 20px 28px;
    }
    .news-modal-title {
        font-size: 24px;
    }
    .news-modal-hero {
        height: 200px;
    }
}


/* -----------------------------news--------------------------------- */









/* desktop pe burger/menu-head/close chhupe rahein */
@media (min-width: 993px){
  .burger, .menu-head, .nav-overlay{ display:none; }
}


  @media(max-width:620px){
    .wrap{padding:0 18px}
    .topbar{font-size:.76rem}
    .topbar .wrap{gap:10px}
    .logo .txt span{display:none}
    .features{margin-top:-60px}
    .features .grid,.logos,.foot-grid,.fee-box{grid-template-columns:1fr}
    .about,.campus,.partner,.principal{padding:64px 0}
    .stats{padding:0 0 64px}
    .courses,.news{padding:64px 0}
    .fee-box{padding:32px 26px}
    .track{gap:16px}
    .track>*{flex-basis:88%}
    .campus-card{height:300px}
    .news .head{flex-direction:row;align-items:flex-end}
    .pright .qm{display:none}
    .hero-nav button{width:46px;height:46px}
    .to-top{right:16px;bottom:16px}
  }


/* =========================================================================
   LAYOUT FIXES  (migration ke baad add kiye gaye)
   ========================================================================= */

/* ---- Header: 12 top-level menu items ke saath logo overlap ho raha tha ---- */
.nav{gap:18px}
.logo{flex:0 0 auto;min-width:0;max-width:280px}
.logo img{flex:none}
.logo .txt{min-width:0}
.logo .txt b{
  font-size:1.02rem;line-height:1.18;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.menu{flex:1 1 auto;justify-content:flex-end;gap:0;margin-left:0;min-width:0}
.menu>li>a{font-size:.85rem;padding:10px 9px;white-space:nowrap}
.menu>li>a .cap{margin-left:1px}

@media (min-width:1600px){
  .logo .txt b{font-size:1.15rem}
  .menu>li>a{font-size:.9rem;padding:11px 12px}
}
@media (max-width:1440px) and (min-width:1301px){
  .logo{max-width:210px}
  .logo .txt b{font-size:.94rem}
  .menu>li>a{font-size:.79rem;padding:9px 7px}
}

/* burger ab 1300px se neeche — 12 items ke liye 992px bahut kam tha */
@media (max-width:1300px){
  .burger{display:block}
  .nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.3s}
  .nav-overlay.show{opacity:1;visibility:visible}
  .menu{
    position:fixed;top:0;right:-340px;width:320px;max-width:85%;
    height:100%;background:#fff;flex-direction:column;align-items:stretch;
    padding:1rem;gap:0;overflow-y:auto;z-index:999;justify-content:flex-start;
    transition:right .3s ease;box-shadow:-4px 0 24px rgba(0,0,0,.15);
  }
  .menu.open{right:0}
  .menu-head{display:flex;justify-content:space-between;align-items:center;
    padding-bottom:.75rem;margin-bottom:.5rem;border-bottom:1px solid #eee}
  .menu-close{background:none;border:0;font-size:1.6rem;cursor:pointer;line-height:1}
  .menu>li{width:100%}
  .menu>li>a{font-size:.95rem;padding:12px 10px;white-space:normal}
  .dropdown,.submenu{position:static;display:none;box-shadow:none;width:100%;
    padding-left:.75rem;opacity:1;visibility:visible;transform:none;border:none;min-width:0}
  .menu>li.open-drop>.dropdown{display:block}
  .has-sub.open-sub>.submenu{display:block}
  .menu>li.open-drop>a .cap{transform:rotate(180deg);display:inline-block}
  .logo{max-width:none}
  .logo .txt b{font-size:1.1rem;-webkit-line-clamp:3}
}

@media (max-width:520px){
  .logo img{width:44px;height:44px}
  .logo .txt b{font-size:.95rem}
  .topbar .wrap{height:auto;padding-top:6px;padding-bottom:6px;flex-wrap:wrap;gap:6px 14px;justify-content:center}
  .topbar .left,.topbar .right{gap:12px;flex-wrap:wrap;justify-content:center}
  .topbar{font-size:.75rem}
}

/* ---- Purane content ki chaudi tables mobile par scroll karein ---- */
.table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.5em 0;
  border-radius:10px;
}
.table-scroll>table{margin:0;min-width:520px}
.page-prose .table-scroll table{width:100%}
.page-prose .table-scroll+.table-scroll{margin-top:1em}

/* migrate kiye hue content me stray inline junk ke liye guard */
.page-prose img{height:auto}
.page-prose iframe{width:100%;max-width:100%;min-height:600px;border:1px solid var(--pg-border);border-radius:10px}
.page-prose table td,.page-prose table th{vertical-align:top}

/* logo ki doosri line ab WebSubTitle se aati hai */
.logo .txt b{-webkit-line-clamp:2}
.logo .txt span{font-size:.7rem;letter-spacing:.09em;display:block;margin-top:2px;line-height:1.25}

/* ---- Grid/flex items ko content se chhota hone dein (warna wide tables page ko
        stretch kar deti hain — CSS grid ka default min-width:auto) ---- */
.page-content-grid>*,
.page-main,
.page-prose{min-width:0}
.page-prose>*{max-width:100%}
.page-prose pre,.page-prose code{white-space:pre-wrap;word-break:break-word}
.page-prose a{word-break:break-word}
/* purane content ki bina-wrapper wali tables bhi na phaili */
.page-prose>table{display:block;overflow-x:auto;max-width:100%}

/* ---- Footer 992px tak 2 columns, 620px se neeche 1 ---- */
@media (max-width:992px){
  .foot-grid{grid-template-columns:repeat(2,1fr);gap:32px}
}
@media (max-width:620px){
  .foot-grid{grid-template-columns:1fr}
}

/* ---- Decorative shapes viewport ke bahar na nikle ---- */
.about,.principal,.features{overflow:hidden}

/* ---- Topbar social icons ---- */
.topbar .socials{display:flex;gap:7px;align-items:center}
.topbar .socials a{
  width:27px;height:27px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  display:grid;place-items:center;font-size:.82rem;color:#fff;
  transition:transform .2s,background .2s,color .2s,border-color .2s;
}
.topbar .socials a i{line-height:1}
.topbar .socials a:hover{transform:translateY(-2px);color:#fff;border-color:transparent}
.topbar .socials a.s-facebook:hover {background:#1877F2}
.topbar .socials a.s-instagram:hover{background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF)}
.topbar .socials a.s-youtube:hover  {background:#FF0000}
.topbar .socials a.s-twitter:hover  {background:#000}
.topbar .socials a.s-linkedin:hover {background:#0A66C2}
.topbar .socials a.s-whatsapp:hover {background:#25D366}

/* mobile: Alumni link chhup jata tha, socials rehne dein */
@media (max-width:980px){
  .topbar .right a:not(.last){display:inline-flex}
  .topbar .socials{gap:6px}
  .topbar .socials a{width:25px;height:25px;font-size:.76rem}
}
@media (max-width:520px){
  .topbar .right a.last span,.topbar .right a:not(.last) svg{display:none}
}

/* footer socials bhi wahi treatment */
.foot-socials a{transition:transform .2s,background .2s}
.foot-socials a:hover{transform:translateY(-2px)}

/* ---- News card category badge + modal link ---- */
.news-badge{
  display:inline-block;padding:2px 10px;border-radius:20px;
  background:#F3EFE8;color:#8C5A3C;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
}
.news-modal-meta .news-badge{background:#F3EFE8}
a.news-read-more{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.news-modal-link{
  display:inline-flex;align-items:center;gap:9px;margin-top:20px;
  padding:12px 26px;border-radius:40px;background:#603738;color:#fff;
  font-weight:700;font-size:.92rem;text-decoration:none;transition:.25s;
}
.news-modal-link:hover{background:#3E2322;color:#fff;transform:translateY(-2px)}
.news-card-image-placeholder img{width:100%;height:100%;object-fit:cover}

/* ---- News cards: barabar height, footer hamesha neeche ---- */
.news-card{display:flex;flex-direction:column;height:100%}
.news-card-body{flex:1;display:flex;flex-direction:column}
.news-card-excerpt{flex:0 0 auto}
.news-card-footer{margin-top:auto}
.news-grid{align-items:stretch}

/* Scanned notice/circular poora dikhe -- crop na ho */
.news-card-image.is-notice{background:#F3EFE8}
.news-card-image.is-notice img{object-fit:contain;padding:8px}

/* ---- Bootstrap .row ka negative margin bina padding wale parent me overflow karta hai ---- */
.video-wrapper > .row,
.gallery-wrapper > .row,
.fee-body > .row,
.al-body > .row,
.ev-body > .row { margin-left: 0; margin-right: 0; }
.video-wrapper > .row > [class*="col-"],
.gallery-wrapper > .row > [class*="col-"] { padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5); }

/* =========================================================================
   NAVBAR — live template (lourdematasehore.com/new/) jaisa layout
   ========================================================================= */
.nav{gap:22px}

/* logo: bada brand + uppercase spaced sub-line */
.logo{max-width:none}
.logo img{width:52px;height:52px}
.logo .txt b{
  font-size:1.28rem;line-height:1.15;-webkit-line-clamp:2;white-space:nowrap;
}
.logo .txt span{
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  margin-top:3px;white-space:nowrap;
}

/* menu logo ke turant baad, left-aligned (template ki tarah) */
.menu{flex:1 1 auto;justify-content:flex-start;margin-left:18px;gap:2px}
.menu>li>a{font-size:.92rem;padding:12px 13px;white-space:nowrap}

@media (max-width:1500px) and (min-width:1301px){
  .logo .txt b{font-size:1.1rem}
  .menu{margin-left:8px}
  .menu>li>a{font-size:.84rem;padding:11px 9px}
}
@media (max-width:1300px){
  .logo .txt b{font-size:1.15rem;white-space:normal;-webkit-line-clamp:3}
  .logo .txt span{white-space:normal}
  .menu{margin-left:0}
}

/* ---- Chhoti screens par logo text wrap kare, header na phaile ---- */
@media (max-width:1300px){
  .logo{max-width:min(62vw,320px);min-width:0}
  .logo .txt{min-width:0;overflow:hidden}
  .logo .txt b,
  .logo .txt span{white-space:normal;overflow-wrap:anywhere}
  .logo .txt b{-webkit-line-clamp:3}
}
@media (max-width:520px){
  .logo{max-width:calc(100vw - 130px)}
  .logo img{width:42px;height:42px}
  .logo .txt b{font-size:.98rem;line-height:1.2}
  .logo .txt span{font-size:.6rem;letter-spacing:.1em}
  .nav{gap:10px;height:74px}
  .wrap{padding:0 14px}
}

/* ---- Footer social icons (topbar jaise brand colours) ---- */
.foot-socials a i{line-height:1;font-size:1.02rem}
.foot-socials a.s-facebook:hover {background:#1877F2;color:#fff}
.foot-socials a.s-instagram:hover{background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF);color:#fff}
.foot-socials a.s-youtube:hover  {background:#FF0000;color:#fff}
.foot-socials a.s-twitter:hover  {background:#000;color:#fff}
.foot-socials a.s-linkedin:hover {background:#0A66C2;color:#fff}
.foot-socials a.s-whatsapp:hover {background:#25D366;color:#fff}

/* Jinka URL abhi CMS me nahi daala gaya -- halka dikhega, click par kuch nahi */
.topbar .socials a.s-soon,
.foot-socials a.s-soon{opacity:.45;cursor:default}
.topbar .socials a.s-soon:hover,
.foot-socials a.s-soon:hover{transform:none;background:rgba(255,255,255,.12)}
