:root{
  --ink:#1E2422;
  --paper:#F7F5EF;
  --paper-alt:#EEEAE0;
  --teal:#0B4F4A;
  --teal-deep:#083734;
  --emerald:#146356;
  --gold:#C9A227;
  --gold-soft:#E7D6A0;
  --sage:#E7EFE9;
  --line:rgba(11,79,74,0.16);
  --radius:14px;
  --shadow:0 12px 30px -14px rgba(8,55,52,0.35);
  --display:'Lora',serif;
  --body:'Inter',sans-serif;
  --mono:'JetBrains Mono',monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  line-height:1.6;
}
h1,h2,h3,h4{font-family:var(--display);color:var(--teal-deep);margin:0 0 .4em;line-height:1.15;}
p{margin:0 0 1em;}
a{color:inherit;}
em{color:#7a7268;font-style:italic;}
.muted{color:#8a8378;font-weight:400;font-style:italic;}

.eyebrow{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--emerald);
  margin:0 0 .6em;
}

/* ===== Buttons ===== */
.btn{
  display:inline-block;
  padding:.85em 1.6em;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
  font-size:.95rem;
  border:1.5px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary{background:var(--gold);color:var(--teal-deep);box-shadow:var(--shadow);}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{border-color:var(--teal);color:var(--teal-deep);}
.btn-ghost:hover{background:var(--sage);}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,245,239,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  max-width:1180px;margin:0 auto;padding:.7rem 1.5rem;
  display:flex;align-items:center;gap:1.4rem;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--teal-deep);}
.brand-mark{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--line);}
.brand-text{display:flex;flex-direction:column;line-height:1.15;}
.brand-text strong{font-family:var(--display);font-size:1.08rem;}
.brand-text small{font-family:var(--mono);font-size:.58rem;color:var(--gold);letter-spacing:.03em;text-transform:uppercase;}
.main-nav{display:flex;gap:1.4rem;margin-left:auto;flex-wrap:wrap;}
.main-nav a{text-decoration:none;font-weight:500;font-size:.92rem;color:var(--ink);position:relative;padding:.2em 0;}
.main-nav a:hover{color:var(--teal);}
.nav-cta{white-space:nowrap;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem;}
.nav-toggle span{width:22px;height:2px;background:var(--teal-deep);display:block;}

/* ===== Hero ===== */
.hero{
  position:relative;
  padding:6.5rem 1.5rem 4rem;
  background:linear-gradient(180deg,var(--sage) 0%, var(--paper) 75%);
  overflow:hidden;
  text-align:center;
}
.pulse-bg{position:absolute;inset:auto 0 0 0;height:120px;color:var(--teal);opacity:.14;}
.pulse-line{width:100%;height:100%;}
.hero-inner{max-width:760px;margin:0 auto;position:relative;}
.hero h1{font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-.01em;}
.tagline{font-family:var(--display);font-style:italic;font-size:1.15rem;color:var(--emerald);}
.hero-desc{max-width:560px;margin:0 auto 1.6rem;color:#4a463f;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.6rem;}
.stat-strip{
  display:flex;justify-content:center;gap:0;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);
  max-width:640px;margin:0 auto;padding:1.2rem 0;
}
.stat-strip div{flex:1;min-width:120px;padding:.3rem .8rem;border-left:1px solid var(--line);}
.stat-strip div:first-child{border-left:none;}
.stat-strip dt{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--teal);margin:0;}
.stat-strip dd{margin:0;font-size:.76rem;color:#7a7268;}

.section-divider{color:var(--gold-soft);height:30px;}
.section-divider svg{width:100%;height:100%;}

/* ===== Sections ===== */
.section{padding:4.5rem 1.5rem;max-width:1180px;margin:0 auto;}
.section.alt{background:var(--paper-alt);max-width:none;padding-left:1.5rem;padding-right:1.5rem;}
.section.alt > *{max-width:1180px;margin-left:auto;margin-right:auto;}
.section-head{text-align:center;max-width:640px;margin:0 auto 2.6rem;}
.section-sub{color:#7a7268;font-size:.92rem;}
.section-sub-inline{font-family:var(--body);font-style:italic;font-weight:400;font-size:.6em;color:#8a8378;}

/* ===== About ===== */
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2.4rem;align-items:start;}
.principal-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.8rem;box-shadow:var(--shadow);
}
.principal-photo{
  width:96px;height:96px;border-radius:50%;background:var(--sage);
  overflow:hidden;margin:0 auto 1rem;
}
.principal-photo img{width:100%;height:100%;object-fit:cover;}
.principal-card h4{text-align:center;margin-top:0;}
.principal-name{text-align:center;font-weight:600;color:var(--emerald);}
.principal-name span{font-weight:400;color:#8a8378;display:block;font-size:.82rem;}
.principal-card blockquote{margin:1rem 0 0;font-style:italic;color:#4a463f;border-left:3px solid var(--gold);padding-left:1rem;}
.principal-card blockquote .note{display:block;font-style:normal;font-family:var(--mono);font-size:.65rem;color:#a39c8f;margin-top:.5rem;}

/* ===== Achievers ===== */
.achievers-figure{margin:0 0 2rem;text-align:center;}
.achievers-figure img{max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);}
.achievers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;max-width:1000px;margin:0 auto;}
.ach-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;text-align:center;}
.ach-item strong{display:block;font-size:.86rem;color:var(--teal-deep);}
.ach-item span{font-family:var(--mono);font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;}

/* ===== Courses ===== */
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;}
.course-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem;box-shadow:var(--shadow);
}
.course-card h3{color:var(--teal);border-bottom:2px solid var(--gold-soft);padding-bottom:.5rem;}
.subject-list{list-style:none;margin:0 0 1rem;padding:0;}
.subject-list li{padding:.3rem 0;border-bottom:1px dashed var(--line);font-size:.92rem;}
.subject-list li:last-child{border-bottom:none;}
.criteria{font-size:.8rem;color:#6a6459;}
.criteria a{color:var(--emerald);font-weight:600;}
.table-hint{text-align:center;font-size:.8rem;color:#9a927f;font-style:italic;margin-top:1.6rem;}

/* ===== Facilities ===== */
.facility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem;}
.facility-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;text-align:center;}
.fico{font-size:1.8rem;display:block;margin-bottom:.4rem;}
.facility-card h4{margin-bottom:.3rem;}
.facility-card p{font-size:.86rem;color:#6a6459;margin:0;}

/* ===== Faculty ===== */
.faculty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.4rem;margin-bottom:2.6rem;}
.faculty-card{text-align:center;}
.faculty-card.featured .faculty-photo{box-shadow:0 0 0 3px var(--gold);}
.faculty-photo{width:92px;height:92px;border-radius:50%;background:var(--sage);margin:0 auto .7rem;overflow:hidden;}
.faculty-photo img{width:100%;height:100%;object-fit:cover;}
.faculty-card h4{margin-bottom:.15rem;font-size:1rem;}
.faculty-card p{color:#7a7268;font-size:.82rem;margin:0;}

.faculty-spotlight{
  display:grid;grid-template-columns:140px 1fr;gap:1.6rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.8rem;box-shadow:var(--shadow);max-width:900px;margin:0 auto;
}
.faculty-spotlight img{width:140px;height:140px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--gold);}
.faculty-spotlight h3{margin-bottom:.5rem;}
.faculty-spotlight p{color:#4a463f;font-size:.92rem;}
.contact-line a{color:var(--emerald);font-weight:600;text-decoration:none;}
@media (max-width:640px){
  .faculty-spotlight{grid-template-columns:1fr;text-align:center;}
  .faculty-spotlight img{margin:0 auto;}
}

/* ===== Gallery ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.gallery-item{
  aspect-ratio:4/3;border-radius:var(--radius);display:flex;align-items:flex-end;
  position:relative;overflow:hidden;border:1px solid var(--line);
}
.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item span{
  position:relative;z-index:1;margin:.8rem;background:rgba(8,55,52,0.65);color:#fff;
  padding:.3em .7em;border-radius:6px;font-family:var(--mono);font-size:.76rem;
}
.gallery-item.placeholder-tile{background:var(--sage);align-items:center;justify-content:center;}
.gallery-item.placeholder-tile span{background:transparent;color:var(--emerald);font-style:italic;}

/* ===== Notices ===== */
.notice-list{list-style:none;margin:0;padding:0;max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}
.notice-list li{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;
  padding:1.2rem 1.4rem;
}
.notice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;}
.notice-date{font-family:var(--mono);font-size:.78rem;color:var(--emerald);}
.notice-list h4{margin:0 0 .5rem;font-size:1.05rem;}
.notice-list p{font-size:.9rem;color:#4a463f;margin:0;}
.notice-tag{font-size:.68rem;padding:.25em .7em;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.notice-tag.done{background:var(--sage);color:var(--emerald);}
.toggle-table{
  margin-top:.8rem;background:none;border:1px solid var(--teal);color:var(--teal);
  padding:.4em 1em;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;
}
.toggle-table:hover{background:var(--sage);}
.shortlist-table{margin-top:1rem;overflow-x:auto;}
.shortlist-table table{width:100%;border-collapse:collapse;font-size:.84rem;}
.shortlist-table th,.shortlist-table td{padding:.5em .7em;border-bottom:1px solid var(--line);text-align:left;}
.shortlist-table th{background:var(--sage);color:var(--teal-deep);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;}

/* ===== Admissions ===== */
.admission-form{
  max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem;}
.field label{font-size:.82rem;font-weight:600;color:var(--teal-deep);}
.field input,.field select{
  padding:.65em .8em;border:1px solid var(--line);border-radius:8px;
  font-family:var(--body);font-size:.92rem;background:var(--paper);
}
.field input:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:1px;}
.form-note{margin-top:1rem;font-size:.85rem;color:var(--emerald);font-weight:600;}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch;}
.contact-info{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;}
.contact-info p{font-size:.94rem;}
.social-row{display:flex;gap:1rem;margin-top:1rem;}
.social-row a{text-decoration:none;font-weight:600;color:var(--teal);border:1px solid var(--teal);padding:.4em 1em;border-radius:999px;font-size:.82rem;}
.map-embed{
  border-radius:var(--radius);overflow:hidden;min-height:260px;
  border:1px solid var(--line);box-shadow:var(--shadow);
}

/* ===== Footer ===== */
.site-footer{background:var(--teal-deep);color:#EDE9DD;padding:2.4rem 1.5rem;margin-top:2rem;}
.footer-inner{max-width:1180px;margin:0 auto;text-align:center;}
.footer-links{display:flex;gap:1.2rem;justify-content:center;margin:1rem 0;flex-wrap:wrap;}
.footer-links a{text-decoration:none;color:var(--gold-soft);font-size:.88rem;}
.copyright{font-size:.76rem;color:#a9c2bd;}

/* ===== Reveal animation ===== */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ===== Responsive ===== */
@media (max-width:900px){
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:800px){
  .main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--paper);
    flex-direction:column;padding:1rem 1.5rem;border-bottom:1px solid var(--line);
    display:none;
  }
  .main-nav.open{display:flex;}
  .nav-toggle{display:flex;}
  .nav-cta{display:none;}
}








@media (min-width:801px){
.main-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  padding: 15px 20px;
  background: #e9e9e9;
  overflow-x: auto;
}
}

/* nav links */
.nav-link {
  text-decoration: none;
  color: #333;
  white-space: nowrap;
  font-size: 16px;
  padding-bottom: 5px;
  position: relative;
}

/* ACTIVE (blue text + underline) */
.nav-link.active {
  color: blue;
}

/* underline effect */
.nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: blue;
}

.nav-link {
  display: inline-block;
}

/* =====================================================
   RESPONSIVE ENHANCEMENTS ONLY — no design/content changes
   ===================================================== */

img{max-width:100%;height:auto;}

/* Small tablets / large phones */
@media (max-width:700px){
  .nav-wrap{padding:.6rem 1rem;gap:.8rem;}
  .brand-text strong{font-size:.95rem;}
  .main-nav{gap:12px;padding:12px 14px;}
  .nav-link{font-size:14px;}

  .hero{padding:5rem 1rem 3rem;}
  .hero-desc{font-size:.92rem;}
  .stat-strip{padding:1rem 0;}
  .stat-strip div{min-width:45%;border-left:none;border-top:1px solid var(--line);padding-top:.6rem;}
  .stat-strip div:nth-child(1),.stat-strip div:nth-child(2){border-top:none;}

  .section{padding:3rem 1rem;}
  .section.alt{padding-left:1rem;padding-right:1rem;}

  .about-grid{gap:1.6rem;}

  .achievers-list{grid-template-columns:repeat(2,1fr);}

  .faculty-spotlight{padding:1.3rem;}

  .contact-info{padding:1.3rem;}
  .map-embed{min-height:220px;}

  .admission-form{padding:1.3rem;}
}

/* Phones */
@media (max-width:480px){
  .brand-text small{display:none;}
  .hero h1{font-size:2rem;}
  .tagline{font-size:1rem;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{text-align:center;}

  .stat-strip{flex-direction:column;}
  .stat-strip div{border-top:1px solid var(--line);border-left:none;width:100%;}
  .stat-strip div:first-child{border-top:none;}

  .achievers-list{grid-template-columns:1fr 1fr;}
  .course-grid,.facility-grid,.faculty-grid{grid-template-columns:1fr;}

  .notice-top{flex-wrap:wrap;gap:.4rem;}
  .shortlist-table table{font-size:.74rem;}
  .shortlist-table th,.shortlist-table td{padding:.4em .5em;}

  .social-row{flex-direction:column;align-items:flex-start;}
}