:root{
  --forest:#134b30;
  --forest-deep:#0c3521;
  --forest-mid:#1f6b41;
  --gold:#d9a721;
  --gold-light:#f0c94a;
  --cream:#f7f6ef;
  --paper:#fffdf8;
  --ink:#1c2620;
  --ink-soft:#4b5850;
  --line:#dcd8c8;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Source Sans 3', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--forest-deep);
  letter-spacing:-0.01em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:700;
}

/* ===== Top bar ===== */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(247,246,239,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  max-width:1180px; margin:0 auto; padding:14px 32px;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:52px; width:52px; border-radius:50%;}
.brand-text{display:flex; flex-direction:column; line-height:1.15;}
.brand-text .name{font-family:'Fraunces', serif; font-weight:700; font-size:1.02rem; color:var(--forest-deep);}
nav{display:flex; gap:30px; align-items:center;}
nav a{
  font-size:0.92rem; font-weight:600; color:var(--ink-soft);
  position:relative; padding:4px 0;
}
nav a:hover, nav a.active{color:var(--forest-deep);}
nav a::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
nav a:hover::after, nav a.active::after{transform:scaleX(1);}

/* Dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown > a::before{
  content:'▾'; display:inline-block; margin-left:5px; font-size:0.7em; color:var(--gold);
}
.dropdown-menu{
  position:absolute; top:100%; left:0; margin-top:10px;
  background:var(--paper); border:1px solid var(--line); border-radius:12px;
  padding:8px; min-width:210px;
  box-shadow:0 16px 32px rgba(19,75,48,0.12);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:50;
  display:flex; flex-direction:column; gap:2px;
  pointer-events:none;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
  opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
}
.dropdown-menu a{
  display:block; padding:10px 14px; font-size:0.88rem; border-radius:8px; color:var(--ink-soft);
}
.dropdown-menu a::after{display:none;}
.dropdown-menu a:hover, .dropdown-menu a.active{background:var(--cream); color:var(--forest-deep);}
.nav-cta{
  background:var(--forest-deep); color:var(--paper) !important;
  padding:10px 20px; border-radius:100px; font-size:0.85rem !important;
}
.nav-cta::after{display:none;}
.nav-cta:hover{background:var(--forest-mid);}
.menu-toggle{display:none; background:none; border:none; cursor:pointer;}
.menu-toggle span{display:block; width:24px; height:2px; background:var(--forest-deep); margin:5px 0;}

/* ===== Page banner (inner pages) ===== */
.page-banner{
  position:relative;
  padding:150px 0 70px;
  background:
    radial-gradient(1000px 420px at 85% -10%, rgba(217,167,33,0.10), transparent),
    linear-gradient(180deg, var(--cream) 0%, #f2efe1 100%);
  border-bottom:1px solid var(--line);
}
.page-banner .wrap{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.page-banner .crumb{font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:14px; display:block;}
.page-banner h1{font-size:clamp(2rem,4vw,2.9rem); max-width:640px;}
.page-banner p{color:var(--ink-soft); margin-top:14px; max-width:520px;}
.page-banner-seal{width:120px; opacity:0.95; filter:drop-shadow(0 14px 26px rgba(19,75,48,0.18));}

/* ===== Hero (home) ===== */
.hero{
  position:relative;
  padding:168px 0 90px;
  background:
    radial-gradient(1200px 500px at 85% -10%, rgba(217,167,33,0.10), transparent),
    linear-gradient(180deg, var(--cream) 0%, #f2efe1 100%);
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(90deg, rgba(19,75,48,0.035) 0 1px, transparent 1px 120px);
  pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:64px; align-items:center;
  position:relative; z-index:2;
}
.hero-eyebrow-row{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.hero-eyebrow-row .rule{width:36px; height:2px; background:var(--gold);}
.hero h1{
  font-size:clamp(2.4rem, 4.2vw, 3.65rem);
  line-height:1.06;
  margin-bottom:22px;
}
.hero h1 em{
  font-style:italic; color:var(--forest-mid);
  background:linear-gradient(180deg, transparent 62%, rgba(217,167,33,0.35) 62%);
}
.hero p.lede{
  font-size:1.12rem; color:var(--ink-soft); max-width:520px; margin-bottom:34px;
}
.hero-actions{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px; border-radius:100px; font-weight:700; font-size:0.95rem;
  transition:all .2s ease; border:2px solid transparent; cursor:pointer;
}
.btn-primary{background:var(--forest-deep); color:var(--paper);}
.btn-primary:hover{background:var(--forest-mid); transform:translateY(-2px);}
.btn-ghost{border-color:var(--forest-deep); color:var(--forest-deep);}
.btn-ghost:hover{background:var(--forest-deep); color:var(--paper);}
.hero-stats{
  display:flex; gap:34px; margin-top:52px; padding-top:30px; border-top:1px solid var(--line);
}
.hero-stats .stat b{
  display:block; font-family:'Fraunces', serif; font-size:1.7rem; color:var(--forest-deep);
}
.hero-stats .stat span{font-size:0.8rem; color:var(--ink-soft);}
.hero-seal{
  position:relative; display:flex; align-items:center; justify-content:center;
}
.hero-seal .ring{
  position:absolute; inset:-26px;
  border:1.5px dashed rgba(19,75,48,0.28);
  border-radius:50%;
  animation:spin 60s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.hero-seal img{
  width:min(380px, 78%);
  filter:drop-shadow(0 22px 40px rgba(19,75,48,0.22));
}
.estd-badge{
  position:absolute; bottom:-6px; right:6%;
  background:var(--paper); border:1px solid var(--line);
  border-radius:100px; padding:9px 16px;
  font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--forest-deep);
  box-shadow:0 8px 20px rgba(19,75,48,0.1);
}

/* ===== Section shared ===== */
section{padding:100px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(1.8rem, 3vw, 2.5rem); margin:12px 0 14px;}
.section-head p{color:var(--ink-soft); font-size:1.02rem;}

/* ===== About ===== */
.about{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;}
.about-visual{
  position:relative; border-radius:18px; overflow:hidden;
  background:linear-gradient(160deg, var(--forest-deep), var(--forest-mid));
  padding:48px; display:flex; align-items:center; justify-content:center; min-height:360px;
}
.about-visual img{width:220px; filter:drop-shadow(0 12px 30px rgba(0,0,0,0.35));}
.about-visual::after{
  content:'"SHARE"'; position:absolute; bottom:22px; left:0; right:0; text-align:center;
  font-family:'Fraunces', serif; font-style:italic; color:rgba(255,255,255,0.55); font-size:0.95rem; letter-spacing:0.08em;
}
.about-copy p{color:var(--ink-soft); margin-bottom:18px;}
.about-mission{
  margin-top:24px; padding:22px 24px; background:var(--cream);
  border-left:3px solid var(--gold); border-radius:4px;
  font-family:'Fraunces', serif; font-style:italic; color:var(--forest-deep); font-size:1.05rem;
}

/* ===== Timeline (About page) ===== */
.timeline{border-top:1px solid var(--line);}
.timeline-row{display:grid; grid-template-columns:120px 1fr; gap:32px; padding:30px 0; border-bottom:1px solid var(--line);}
.timeline-row .year{font-family:'Fraunces', serif; font-size:1.6rem; color:var(--gold);}
.timeline-row h4{margin-bottom:6px;}
.timeline-row p{color:var(--ink-soft); font-size:0.95rem;}

/* ===== Values grid (About) ===== */
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.value-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:30px;}
.value-card h4{margin-bottom:10px; font-size:1.08rem;}
.value-card p{color:var(--ink-soft); font-size:0.92rem;}

/* ===== Pillars (Home + Programs) ===== */
.pillars{background:var(--cream);}
.pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.pillar-card{
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  padding:32px 26px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative; overflow:hidden;
}
.pillar-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(19,75,48,0.12); border-color:transparent;}
.pillar-num{
  font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--gold); font-weight:700; letter-spacing:0.08em;
}
.pillar-icon{
  width:52px; height:52px; border-radius:12px; margin:16px 0 18px;
  display:flex; align-items:center; justify-content:center;
  background:var(--forest-deep); color:var(--gold-light);
}
.pillar-icon svg{width:26px; height:26px;}
.pillar-card h3{font-size:1.12rem; margin-bottom:10px; line-height:1.25;}
.pillar-card p{color:var(--ink-soft); font-size:0.92rem;}

/* ===== Programs list ===== */
.programs{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.program-list{display:flex; flex-direction:column;}
.program-row{
  display:grid; grid-template-columns:100px 1.3fr 1.6fr 140px; gap:24px; align-items:center;
  padding:28px 8px; border-top:1px solid var(--line);
  transition:background .2s ease;
}
.program-row:last-child{border-bottom:1px solid var(--line);}
.program-row:hover{background:var(--cream);}
.program-tag{
  font-family:'Space Mono', monospace; font-size:0.68rem; color:var(--forest-mid);
  background:rgba(19,75,48,0.08); padding:6px 10px; border-radius:6px; text-align:center; letter-spacing:0.05em;
}
.program-row h4{font-size:1.15rem;}
.program-row .desc{color:var(--ink-soft); font-size:0.92rem;}
.program-row .duration{
  text-align:right; font-family:'Space Mono', monospace; font-size:0.78rem; color:var(--ink-soft);
}

/* ===== Program detail cards (Programs page) ===== */
.detail-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.detail-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:36px;}
.detail-card .tag-row{display:flex; gap:10px; align-items:center; margin-bottom:16px;}
.detail-card h3{font-size:1.3rem; margin-bottom:12px;}
.detail-card p{color:var(--ink-soft); font-size:0.95rem; margin-bottom:16px;}
.detail-card ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.detail-card li{font-size:0.88rem; color:var(--ink-soft); padding-left:18px; position:relative;}
.detail-card li::before{content:'—'; position:absolute; left:0; color:var(--gold);}

/* ===== Stats / seal band ===== */
.seal-band{
  background:var(--forest-deep); color:var(--paper); position:relative; overflow:hidden;
}
.seal-band::before{
  content:''; position:absolute; inset:0; opacity:0.06;
  background-image: radial-gradient(circle, var(--gold-light) 1px, transparent 1.5px);
  background-size:26px 26px;
}
.seal-band .wrap{position:relative; z-index:2;}
.seal-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; text-align:center;}
.seal-grid .num{font-family:'Fraunces', serif; font-size:2.6rem; color:var(--gold-light);}
.seal-grid .lbl{font-size:0.85rem; color:rgba(255,255,255,0.72); margin-top:6px;}

/* ===== Faculty / people ===== */
.people{background:var(--cream);}
.people-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.people-card{
  background:var(--paper); border:1px solid var(--line); border-radius:16px; overflow:hidden;
}
.people-photo{
  height:180px; background:linear-gradient(135deg, var(--forest-mid), var(--forest-deep));
  display:flex; align-items:center; justify-content:center;
}
.people-photo span{font-family:'Fraunces', serif; font-size:2.4rem; color:rgba(255,255,255,0.85);}
.people-info{padding:22px 24px;}
.people-info h4{font-size:1.05rem; margin-bottom:4px;}
.people-info .role{font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--gold); text-transform:uppercase; letter-spacing:0.05em;}
.people-info p{margin-top:10px; color:var(--ink-soft); font-size:0.9rem;}

/* ===== Admissions steps ===== */
.steps-list{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.step-row{display:grid; grid-template-columns:70px 1fr; gap:28px; padding:30px 0; border-bottom:1px solid var(--line);}
.step-row .step-num{font-family:'Fraunces', serif; font-size:1.8rem; color:var(--gold);}
.step-row h4{margin-bottom:8px;}
.step-row p{color:var(--ink-soft); font-size:0.94rem;}

/* ===== Fee table (Admissions) ===== */
.fee-table{width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.fee-table th, .fee-table td{padding:16px 20px; text-align:left; font-size:0.92rem; border-bottom:1px solid var(--line);}
.fee-table th{background:var(--forest-deep); color:var(--paper); font-family:'Space Mono', monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em;}
.fee-table tr:last-child td{border-bottom:none;}

/* ===== Contact page ===== */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.contact-info-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:36px; margin-bottom:20px;}
.contact-info-card h4{margin-bottom:8px; font-size:1rem;}
.contact-info-card p{color:var(--ink-soft); font-size:0.92rem;}
.form-group{margin-bottom:20px;}
.form-group label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:8px; color:var(--forest-deep);}
.form-group input, .form-group textarea, .form-group select{
  width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:10px;
  font-family:'Source Sans 3', sans-serif; font-size:0.95rem; background:var(--paper); color:var(--ink);
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus{
  outline:none; border-color:var(--forest-mid);
}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 24px;}
.form-grid .full{grid-column:1/-1;}
.form-note{
  margin-top:16px; font-size:0.9rem; padding:14px 16px; border-radius:10px; display:none;
}
.form-note.show{display:block;}
.form-note.success{background:rgba(31,107,65,0.08); color:var(--forest-mid); border:1px solid rgba(31,107,65,0.25);}
.form-note.error{background:rgba(179,38,30,0.08); color:#b3261e; border:1px solid rgba(179,38,30,0.25);}
.checkbox-row{display:flex; align-items:flex-start; gap:10px; margin-bottom:20px;}
.checkbox-row input{width:auto; margin-top:4px;}
.checkbox-row label{font-size:0.85rem; color:var(--ink-soft); font-weight:400;}
.btn-submit{width:100%; justify-content:center; border:none; font-size:1rem; padding:15px 26px;}
.btn-submit:disabled{opacity:0.6; cursor:not-allowed;}
.map-box{
  margin-top:10px; border-radius:16px; overflow:hidden; border:1px solid var(--line);
  height:220px; background:linear-gradient(135deg, var(--forest-mid), var(--forest-deep));
  display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.7);
  font-family:'Space Mono', monospace; font-size:0.8rem;
}

/* ===== CTA banner ===== */
.cta-section{
  background:linear-gradient(160deg, var(--forest-deep), var(--forest-mid));
  color:var(--paper); border-radius:28px; margin:0 32px; padding:70px 60px;
  position:relative; overflow:hidden;
}
.cta-section::before{
  content:''; position:absolute; right:-80px; top:-80px; width:320px; height:320px;
  border:1px dashed rgba(255,255,255,0.18); border-radius:50%;
}
.cta-inner{display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; position:relative; z-index:2;}
.cta-inner h2{color:var(--paper); font-size:clamp(1.7rem,3vw,2.3rem); max-width:480px;}
.cta-inner p{color:rgba(255,255,255,0.75); margin-top:12px; max-width:460px;}
.cta-actions{display:flex; gap:14px; flex-wrap:wrap;}
.btn-light{background:var(--gold); color:var(--forest-deep);}
.btn-light:hover{background:var(--gold-light); transform:translateY(-2px);}
.btn-outline-light{border-color:rgba(255,255,255,0.5); color:var(--paper);}
.btn-outline-light:hover{background:rgba(255,255,255,0.12); border-color:var(--paper);}

/* ===== Footer ===== */
footer{background:var(--forest-deep); color:rgba(255,255,255,0.75); padding:70px 0 26px; margin-top:100px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-brand{display:flex; gap:12px; align-items:center; margin-bottom:16px;}
.footer-brand img{height:46px; width:46px; border-radius:50%;}
.footer-brand .name{font-family:'Fraunces', serif; color:var(--paper); font-weight:700; font-size:1rem;}
footer h5{color:var(--paper); font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px; font-family:'Space Mono', monospace;}
footer ul{list-style:none;}
footer li{margin-bottom:10px; font-size:0.92rem;}
footer a:hover{color:var(--gold-light);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:0.82rem; flex-wrap:wrap; gap:10px;}

/* ===== Recognition page ===== */
.recog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.recog-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:30px; text-align:center;}
.recog-card .recog-icon{
  width:56px; height:56px; border-radius:50%; margin:0 auto 18px;
  display:flex; align-items:center; justify-content:center; background:var(--forest-deep); color:var(--gold-light);
}
.recog-card .recog-icon svg{width:26px; height:26px;}
.recog-card h4{margin-bottom:8px; font-size:1.02rem;}
.recog-card p{color:var(--ink-soft); font-size:0.9rem;}
.recog-card .meta{margin-top:14px; font-family:'Space Mono', monospace; font-size:0.72rem; color:var(--gold); letter-spacing:0.04em;}
.order-list{border-top:1px solid var(--line);}
.order-row{display:grid; grid-template-columns:1.4fr 1fr 140px; gap:24px; align-items:center; padding:24px 8px; border-bottom:1px solid var(--line);}
.order-row h4{font-size:1rem; margin-bottom:4px;}
.order-row .issuer{color:var(--ink-soft); font-size:0.86rem;}
.order-row .order-date{font-family:'Space Mono', monospace; font-size:0.78rem; color:var(--ink-soft); text-align:right;}

/* ===== Gallery ===== */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.gallery-item{border-radius:14px; overflow:hidden; border:1px solid var(--line); aspect-ratio:4/3; position:relative;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .cap{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px;
  background:linear-gradient(0deg, rgba(12,53,33,0.82), transparent);
  color:var(--paper); font-size:0.82rem; font-weight:600;
}
.gallery-item.tall{grid-row:span 2;}

/* ===== Principal message / vision-mission ===== */
.principal-grid{display:grid; grid-template-columns:0.7fr 1.3fr; gap:56px; align-items:start;}
.principal-photo{
  border-radius:18px; overflow:hidden; background:linear-gradient(160deg, var(--forest-mid), var(--forest-deep));
  aspect-ratio:3/4; display:flex; align-items:center; justify-content:center;
}
.principal-photo span{font-family:'Fraunces', serif; font-size:3.4rem; color:rgba(255,255,255,0.85);}
.principal-quote{
  font-family:'Fraunces', serif; font-style:italic; font-size:1.35rem; color:var(--forest-deep);
  line-height:1.45; margin-bottom:22px;
}
.principal-sign{font-family:'Space Mono', monospace; font-size:0.8rem; color:var(--gold); letter-spacing:0.05em;}
.vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.vm-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:36px;}
.vm-card .eyebrow{display:block; margin-bottom:10px;}
.vm-card p{color:var(--ink-soft); font-size:0.98rem;}
.vm-card ul{margin-top:16px; list-style:none; display:flex; flex-direction:column; gap:10px;}
.vm-card li{font-size:0.92rem; color:var(--ink-soft); padding-left:20px; position:relative;}
.vm-card li::before{content:'—'; position:absolute; left:0; color:var(--gold);}
@media (max-width: 980px){
  nav{position:fixed; top:80px; left:0; right:0; bottom:0; overflow-y:auto; background:var(--paper); flex-direction:column; align-items:flex-start; padding:20px 32px 40px; gap:18px; border-bottom:1px solid var(--line); transform:translateY(-140%); transition:transform .3s ease; z-index:99;}
  nav.open{transform:translateY(0);}
  .menu-toggle{display:block;}
  .nav-dropdown{display:flex; flex-direction:column; width:100%;}
  .nav-dropdown > a::before{display:none;}
  .dropdown-menu{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border:none; padding:6px 0 0 14px; margin-top:10px; min-width:0;
    border-left:2px solid var(--line);
  }
  .dropdown-menu a{padding:8px 0; font-size:0.86rem;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-seal{order:-1;}
  .about-grid{grid-template-columns:1fr;}
  .pillar-grid{grid-template-columns:repeat(2,1fr);}
  .program-row{grid-template-columns:1fr; text-align:left; gap:8px;}
  .program-row .duration{text-align:left;}
  .seal-grid{grid-template-columns:repeat(2,1fr); gap:36px;}
  .people-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cta-section{margin:0 20px; padding:50px 30px;}
  .values-grid{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .page-banner{padding:140px 0 60px;}
  .recog-grid{grid-template-columns:1fr;}
  .order-row{grid-template-columns:1fr; gap:6px; text-align:left;}
  .order-row .order-date{text-align:left;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .principal-grid{grid-template-columns:1fr;}
  .principal-photo{max-width:220px;}
  .vm-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .pillar-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap; gap:20px;}
  .timeline-row{grid-template-columns:1fr; gap:6px;}
  .step-row{grid-template-columns:1fr; gap:6px;}
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-item.tall{grid-row:auto;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .hero-seal .ring{animation:none;}
  *{transition:none !important;}
}
