:root{
  --navy:#003a6a;
  --navy-dark:#001f3d;
  --navy-mid:#0a4d84;
  --gold:#c1912b;
  --gold-light:#e7c56b;
  --cream:#f6f2e9;
  --white:#ffffff;
  --ink:#1c2a36;
  --slate:#5c6b78;
  --border:#e4ddcc;
  --radius:14px;
  --shadow:0 14px 34px rgba(0,58,106,0.12);
  --shadow-sm:0 4px 14px rgba(0,58,106,0.08);
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Public Sans', -apple-system, sans-serif;
  --container:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  style="font-family: 'Poppins';";
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.container{max-width:var(--container); margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:var(--font-body); font-weight:700; font-size:12.5px;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--gold);
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.eyebrow .petal-mini{width:14px; height:14px; flex:none;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; color:var(--navy); line-height:1.15;}
.section-head{max-width:640px; margin:0 auto 46px; text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,40px); margin-bottom:14px;}
.section-head p{color:var(--slate); font-size:16.5px;}
.section-head.left{margin:0 0 40px; text-align:left;}
section{padding:88px 0;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:100px; font-weight:700; font-size:15px;
  border:2px solid transparent; cursor:pointer; transition:all .22s ease;
  font-family:var(--font-body);
}
.btn-gold{background:var(--gold); color:var(--navy-dark);}
.btn-gold:hover{background:var(--gold-light); transform:translateY(-2px);}
.btn-outline{border-color:rgba(255,255,255,0.55); color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,0.12); border-color:#fff;}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:var(--navy-mid); transform:translateY(-2px);}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}

/* Lotus signature glyph, reused throughout as the school's visual signature */
.petal-defs{position:absolute; width:0; height:0;}

/* ============ TOP BAR ============ */
.topbar{
  background:var(--navy-dark); color:#cfe0f0; font-size:13.5px;
  padding:9px 0;
}
.topbar .container{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px;}
.topbar-info{display:flex; gap:22px; flex-wrap:wrap;}
.topbar-info span{display:inline-flex; align-items:center; gap:7px;}
.topbar-info svg{width:14px; height:14px; opacity:.85;}
.topbar-social{display:flex; gap:12px;}
.topbar-social a{width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:background .2s;}
.topbar-social a:hover{background:var(--gold);}
.topbar-social svg{width:13px; height:13px;}

/* ============ HEADER ============ */
.masthead{background:var(--white); padding:16px 0; border-bottom:1px solid var(--border);}
.masthead .container{display:inline-block; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center; gap:14px;}
.brand-mark{width:58px; height:58px; flex:none;}
.brand-text .school-name{font-family:var(--font-display); font-weight:700; font-size:40px; color:var(--navy); line-height:1.15;}
.brand-text .school-addr{font-size:17px; color:var(--slate); margin-top:3px;}
.masthead-cta{display:flex; align-items:center; gap:14px;}
.masthead-cta .btn{padding:12px 24px; font-size:14px;}

/* ============ NAV ============ */
.navbar{background:var(--navy); position:sticky; top:0; z-index:200; box-shadow:0 2px 10px rgba(0,0,0,0.08);}
.navbar .container{display:flex; align-items:center; justify-content:space-between;}
.nav-list{display:flex; align-items:stretch;}
.nav-list > li{position:relative;}
.nav-list > li > a{
  display:flex; align-items:center; gap:6px; height:56px; padding:0 20px;
  color:#eaf1f8; font-weight:600; font-size:14.5px; transition:background .2s, color .2s;
  white-space:nowrap;
}
.nav-list > li > a:hover, .nav-list > li.active > a{background:var(--navy-mid); color:var(--gold-light);}
.nav-list .chev{width:9px; height:9px; transition:transform .2s;}
.has-sub:hover .chev{transform:rotate(180deg);}
.submenu{
  position:absolute; top:56px; left:0; min-width:230px; background:#fff;
  box-shadow:var(--shadow); border-radius:0 0 10px 10px; overflow:hidden;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:all .18s ease; border-top:3px solid var(--gold);
}
.has-sub:hover .submenu, .has-sub:focus-within .submenu{opacity:1; visibility:visible; transform:translateY(0);}
.submenu li a{display:block; padding:13px 20px; color:var(--ink); font-size:14px; font-weight:500; border-bottom:1px solid #f0ede4;}
.submenu li:last-child a{border-bottom:none;}
.submenu li a:hover{background:var(--cream); color:var(--navy); padding-left:24px;}
.nav-toggle{display:none; background:none; border:none; color:#fff; width:44px; height:44px; cursor:pointer;}
.nav-toggle svg{width:26px; height:26px;}

/* ============ HERO ============ */
.hero{position:relative; height:min(640px,86vh); min-height:460px; overflow:hidden; background:var(--navy-dark);}
.hero-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; display:flex; align-items:center;
}
.hero-slide.active{opacity:1; z-index:2;}
.hero-slide .hero-bg{position:absolute; inset:0; z-index:0;}
.hero-slide .hero-bg svg{width:100%; height:100%;}
.hero-slide .hero-scrim{position:absolute; inset:0;  z-index:1;}
.hero-content{position:relative; z-index:2; max-width:600px; padding:0 24px; margin:0 auto; width:100%;}
.hero-content .container{max-width:none; padding:0;}
.hero-inner{max-width:560px; margin-left:6%;}
.hero-tag{display:inline-flex; align-items:center; gap:8px; background:rgba(193,145,43,0.18); border:1px solid var(--gold-light); color:var(--gold-light); padding:7px 16px; border-radius:100px; font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:20px;}
.hero-inner h1{color:#fff; font-size:clamp(32px,4.6vw,52px); margin-bottom:16px;}
.hero-inner h1 em{color:var(--gold-light); font-style:normal;}
.hero-inner p{color:#dbe6f0; font-size:17px; max-width:460px; margin-bottom:30px;}
.hero-btns{display:flex; gap:14px; flex-wrap:wrap;}
.hero-nav{position:absolute; z-index:3; bottom:26px; left:0; right:0; display:flex; justify-content:center; gap:10px;}
.hero-dot{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.4); border:none; cursor:pointer; transition:all .25s;}
.hero-dot.active{background:var(--gold); width:26px; border-radius:6px;}
.hero-arrow{position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s;}
.hero-arrow:hover{background:rgba(255,255,255,0.28);}
.hero-arrow svg{width:18px; height:18px;}
.hero-arrow.prev{left:22px;}
.hero-arrow.next{right:22px;}

/* ============ PRINCIPAL ============ */
.principal-section{background:var(--cream); padding-bottom:0;}
.principal-grid{display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:center; padding-bottom:70px;}
.principal-photo{position:relative;}
.principal-photo svg{width:100%; border-radius:var(--radius); box-shadow:var(--shadow);}
.principal-badge{position:absolute; bottom:-18px; right:-18px; background:var(--navy); color:#fff; padding:14px 18px; border-radius:px; box-shadow: 8px 16px 32px rgb(35 58 79 / 35%), 20px 30px 80px rgb(73 73 93 / 40%); text-align:center; border:3px solid var(--cream);}
.principal-badge .num{font-family:var(--font-display); font-size:12px; font-weight:700; color:var(--gold-light); display:block;}
.principal-badge .lbl{font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#cfe0f0;}
.principal-quote-mark{width:38px; height:30px; color:var(--gold); opacity:.7; margin-bottom:10px;}
.principal-text h2{font-size:clamp(24px,3vw,32px); margin-bottom:8px;}
.principal-text .role{color:var(--gold); font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:18px;}
.principal-text p{color:var(--ink); font-size:16px; margin-bottom:14px;}
.principal-text .sign{font-family:var(--font-display); font-style:italic; color:var(--navy); font-size:19px; margin-top:12px;}

/* Notice board marquee */
.notice-board{background:var(--navy); overflow:hidden; display:flex; align-items:stretch;}
.notice-label{flex:none; background:var(--gold); color:var(--navy-dark); font-weight:800; font-size:13px; letter-spacing:.06em; text-transform:uppercase; display:flex; align-items:center; gap:9px; padding:14px 22px; z-index:2; position:relative; clip-path:polygon(0 0,100% 0,88% 100%,0% 100%);}
.notice-label svg{width:17px; height:17px;}
.notice-track-wrap{flex:1; overflow:hidden; position:relative; display:flex; align-items:center;}
.notice-track{display:flex; gap:60px; white-space:nowrap; animation:marquee 28s linear infinite; padding-left:24px;}
.notice-track span{color:#eaf1f8; font-size:14.5px; font-weight:500; display:inline-flex; align-items:center; gap:10px;}
.notice-track span::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--gold-light); display:inline-block;}
@keyframes marquee{0%{transform:translateX(0);} 100%{transform:translateX(-50%);}}

/* ============ ABOUT ============ */
.about-section{position:relative;}
.about-watermark{position:absolute; top:-40px; right:-60px; width:340px; height:340px; opacity:.05; z-index:0;}
.about-flex{display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:start; position:relative; z-index:1;}
.about-flex h2{font-size:clamp(28px,3.4vw,38px); margin-bottom:18px;}
.about-flex .lead{color:var(--ink); font-size:16.5px; margin-bottom:16px;}
.about-flex .lead-sub{color:var(--slate); font-size:15px;}
.value-cards{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.value-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:26px; transition:transform .22s, box-shadow .22s; position:relative;}
.value-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.value-card .icon-wrap{width:46px; height:46px; border-radius:12px; background:var(--cream); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.value-card .icon-wrap svg{width:24px; height:24px; color:var(--navy);}
.value-card h4{font-size:17px; margin-bottom:8px;}
.value-card p{font-size:14px; color:var(--slate);}
.value-card.wide{grid-column:1/-1;}

/* ============ FACILITIES ============ */
.facilities-section{background:var(--navy-dark); color:#fff;}
.facilities-section .section-head h2{color:#fff;}
.facilities-section .section-head p{color:#a9c0d6;}
.fac-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.fac-card{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.09); border-radius:var(--radius); padding:28px 22px; text-align:center; transition:all .25s;}
.fac-card:hover{background:rgba(255,255,255,0.08); border-color:var(--gold); transform:translateY(-6px);}
.fac-card .icon-circle{width:58px; height:58px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
.fac-card .icon-circle svg{width:28px; height:28px; color:var(--navy-dark);}
.fac-card h4{color:#fff; font-size:15.5px; margin-bottom:6px; font-family:var(--font-body); font-weight:700;}
.fac-card p{color:#a9c0d6; font-size:13px;}

/* ============ GALLERY ============ */
.gallery-tabs{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:38px;}
.gtab{padding:10px 20px; border-radius:100px; border:1.5px solid var(--border); background:#fff; color:var(--slate); font-weight:600; font-size:13.5px; cursor:pointer; transition:all .2s;}
.gtab:hover{border-color:var(--gold);}
.gtab.active{background:var(--navy); border-color:var(--navy); color:#fff;}
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; grid-auto-rows:170px;}
.gitem{border-radius:12px; overflow:hidden; position:relative; cursor:pointer; grid-column:span 1; grid-row:span 1;}
.gitem.big{grid-column:span 2; grid-row:span 2;}
.gitem svg{width:100%; height:100%; object-fit:cover; transition:transform .4s;}
.gitem:hover svg{transform:scale(1.07);}
.gitem .gcap{position:absolute; left:0; right:0; bottom:0; padding:14px 16px; background:linear-gradient(0deg, rgba(0,31,61,0.85), transparent); color:#fff; font-size:13px; font-weight:600; opacity:0; transform:translateY(8px); transition:all .25s;}
.gitem:hover .gcap{opacity:1; transform:translateY(0);}
.gitem[hidden]{display:none;}

/* ============ ACHIEVEMENTS ============ */
.achieve-section{background:var(--cream);}
.achieve-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.achieve-card{background:#fff; border-radius:var(--radius); padding:30px 24px; text-align:center; box-shadow:var(--shadow-sm); border-bottom:4px solid var(--gold); transition:transform .2s;}
.achieve-card:hover{transform:translateY(-6px);}
.achieve-card .icon-circle{width:54px; height:54px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
.achieve-card .icon-circle svg{width:26px; height:26px; color:var(--gold-light);}
.achieve-card .num{font-family:var(--font-display); font-size:30px; font-weight:700; color:var(--navy); display:block;}
.achieve-card h4{font-size:15px; margin:6px 0 8px;}
.achieve-card p{font-size:13.5px; color:var(--slate);}

/* ============ TESTIMONIALS ============ */


/* ============ FOOTER ============ */
footer{background:var(--navy-dark); color:#b9cee2; padding-top:70px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.footer-brand .brand-mark{width:44px; height:44px;}
.footer-brand span{color:#fff; font-family:var(--font-display); font-weight:700; font-size:19px;}
.footer-col p{font-size:14px; line-height:1.7; color:#9fb7cd;}
.footer-col h5{color:#fff; font-size:14.5px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px;}
.footer-col ul li{margin-bottom:11px;}
.footer-col ul li a{font-size:14px; color:#a9c0d6; transition:color .2s; display:inline-flex; align-items:center; gap:8px;}
.footer-col ul li a:hover{color:var(--gold-light);}
.footer-col ul li a svg{width:13px; height:13px; opacity:.75;}
.footer-social{display:flex; gap:10px; margin-top:18px;}
.footer-social a{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:background .2s;}
.footer-social a:hover{background:var(--gold);}
.footer-social svg{width:16px; height:16px;}
.footer-contact li{display:flex; gap:10px; margin-bottom:14px; font-size:14px; color:#a9c0d6;}
.footer-contact svg{width:17px; height:17px; flex:none; margin-top:2px; color:var(--gold-light);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:13px; color:#8ea6bd; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:var(--gold-light);}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .principal-grid{grid-template-columns:1fr; gap:36px;}
  .principal-photo{max-width:280px; margin:0 auto;}
  .about-flex{grid-template-columns:1fr;}
  .fac-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gitem.big{grid-column:span 2;}
  .achieve-grid{grid-template-columns:repeat(2,1fr);}
  .testi-card{flex:0 0 calc(50% - 12px);}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
}
@media (max-width:760px){
  .topbar-info span:nth-child(2){display:none;}
  .masthead-cta .btn span{display:none;}
  .nav-list{
    position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px;
    background:var(--navy-dark); flex-direction:column; align-items:stretch;
    transform:translateX(100%); transition:transform .3s ease; z-index:300;
    padding:90px 0 20px; overflow-y:auto;
  }
  .nav-list.open{transform:translateX(0);}
  .nav-list > li > a{height:auto; padding:16px 26px;}
  .submenu{position:static; box-shadow:none; border-radius:0; opacity:1; visibility:visible; transform:none; display:none; border-top:none; background:rgba(255,255,255,0.04);}
  .has-sub.open .submenu{display:block;}
  .submenu li a{color:#cfe0f0; padding:12px 40px; border-bottom:1px solid rgba(255,255,255,0.06);}
  .nav-toggle{display:flex; align-items:center; justify-content:center;}
  .nav-backdrop{position:fixed; inset:0; background:rgba(0,10,20,0.5); z-index:250; opacity:0; visibility:hidden; transition:all .3s;}
  .nav-backdrop.show{opacity:1; visibility:visible;}
  .hero-inner{margin-left:0; text-align:center;}
  .hero-inner p{margin-left:auto; margin-right:auto;}
  .hero-btns{justify-content:center;}
  .hero-arrow{display:none;}
  .fac-grid, .achieve-grid, .footer-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr; grid-auto-rows:140px;}
  .testi-card{flex:0 0 100%;}
  .cta-strip .container{flex-direction:column; text-align:center;}
  section{padding:60px 0;}
}
/* Breadcrumb Section */
.breadcrumb-section{
    background:linear-gradient(135deg,#0b5394,#1b75d0);
    padding:0px 0;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.breadcrumb-section::before{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    top:-80px;
    left:-80px;
}

.breadcrumb-section::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    background:rgba(255,255,255,.06);
    border-radius:50%;
    bottom:-100px;
    right:-80px;
}

.custom-breadcrumb{
    justify-content:center;
    background:rgba(255,255,255,.15);
    display:inline-flex;
    padding:10px 44px;
    border-radius:0px;
    backdrop-filter:blur(10px);
    position:relative;
    z-index:2;
}

.custom-breadcrumb .breadcrumb-item{
    font-size:15px;
    font-weight:500;
}

.custom-breadcrumb .breadcrumb-item + .breadcrumb-item::before{
    content:"›";
    color:#fff;
    padding:0 10px;
}

.custom-breadcrumb a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.custom-breadcrumb a:hover{
    color:#ffd54f;
}

.custom-breadcrumb .active{
    color:#ffd54f;
    font-weight:600;
}

.custom-breadcrumb i{
    margin-right:6px;
}

/* Responsive */
@media(max-width:768px){
    .breadcrumb-section{
        padding:35px 0;
    }

    .breadcrumb-section h2{
        font-size:28px;
    }

    .custom-breadcrumb{
        padding:8px 15px;
        font-size:14px;
    }
}