:root{
  --ink:#1e302d;
  --muted:#65716d;
  --line:rgba(30,48,45,.12);
  --bg:#fbf7ef;
  --cream:#fffdf8;
  --surface:rgba(255,255,255,.82);
  --teal:#385553;
  --teal-2:#2d4543;
  --gold:#e5b83f;
  --gold-soft:#f5e7b6;
  --shadow:0 24px 70px rgba(30,48,45,.12);
  --shadow-soft:0 14px 34px rgba(30,48,45,.08);
  --radius:28px;
  --radius-lg:38px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  margin:0; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink); background:radial-gradient(circle at 8% 0%, rgba(229,184,63,.16), transparent 28%), radial-gradient(circle at 90% 8%, rgba(56,85,83,.12), transparent 34%), linear-gradient(180deg,#fffdf8 0%,#fbf7ef 48%,#fffdf8 100%);
  overflow-x:hidden;
}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max), calc(100% - clamp(32px,5vw,72px))); margin-inline:auto}
.skip-link{position:absolute; left:-999px; top:10px; padding:12px 16px; background:#fff; color:#000; z-index:9999}
.skip-link:focus{left:10px}
.site-header{position:sticky; top:0; z-index:1000; background:rgba(255,253,248,.86); border-bottom:1px solid rgba(30,48,45,.08); backdrop-filter:blur(18px)}
.nav-shell{min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:18px}
.brand{display:flex; align-items:center; min-width:0; flex:0 1 auto}
.brand img{width:min(320px, 54vw); max-height:58px; object-fit:contain; object-position:left center}
.site-nav{display:flex; align-items:center; gap:clamp(12px,1.7vw,24px)}
.site-nav a{font-size:.94rem; color:var(--muted); font-weight:650; padding:10px 0; white-space:nowrap}
.site-nav a:hover,.site-nav a.active{color:var(--ink)}
.nav-cta{background:var(--teal); color:#fff!important; padding:12px 18px!important; border-radius:999px; box-shadow:0 12px 28px rgba(56,85,83,.2)}
.nav-toggle{display:none; width:46px; height:46px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-soft); cursor:pointer; flex-shrink:0}
.nav-toggle span{display:block; width:20px; height:2px; background:var(--ink); border-radius:10px; margin:4px auto; transition:.24s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.section-pad{padding:clamp(58px,8vw,112px) 0}
.section-kicker{display:inline-flex; align-items:center; gap:10px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); font-weight:800; margin-bottom:18px}
.section-kicker:before{content:""; width:28px; height:1px; background:var(--gold)}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{font-size:clamp(3rem,7vw,6.9rem); line-height:.88; letter-spacing:-.07em; margin:0 0 22px; max-width:10ch}
h2{font-size:clamp(2rem,4.1vw,4.2rem); line-height:.98; letter-spacing:-.055em; margin:0 0 18px}
h3{font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.08; letter-spacing:-.025em; margin:0 0 10px}.lead,.section-heading p,.copy-block p{font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.8; color:var(--muted)}
.hero{position:relative; padding-top:clamp(32px,5vw,64px)}
.hero-layout{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:clamp(26px,5vw,68px); align-items:center}
.hero-copy{min-width:0}.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin:30px 0}.btn{min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; cursor:pointer; border-radius:999px; padding:14px 22px; font-weight:800; transition:.22s ease; text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--teal); color:#fff; box-shadow:0 16px 32px rgba(56,85,83,.24)}.btn-light{background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:var(--shadow-soft)}
.hero-metrics{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:640px}.hero-metrics div{border:1px solid var(--line); background:rgba(255,255,255,.7); border-radius:22px; padding:18px; box-shadow:var(--shadow-soft)}.hero-metrics strong{display:block; font-size:clamp(1.3rem,2vw,1.7rem)}.hero-metrics span{display:block; color:var(--muted); margin-top:4px; font-size:.92rem; line-height:1.35}
.hero-media{position:relative; min-width:0}.hero-image-wrap{border-radius:clamp(28px,4vw,48px); overflow:hidden; box-shadow:0 34px 90px rgba(30,48,45,.2); aspect-ratio:4/4.8}.hero-image-wrap img{width:100%; height:100%; object-fit:cover}.glass-card{background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.72); box-shadow:var(--shadow); backdrop-filter:blur(18px)}.hero-note{position:absolute; left:-22px; bottom:28px; width:min(300px,70%); border-radius:24px; padding:20px}.hero-note span{display:block; color:var(--muted); font-size:.9rem}.hero-note strong{display:block; margin-top:4px}.hero-mini-card{position:absolute; right:-18px; top:26px; width:min(210px,38%); border-radius:24px; overflow:hidden}.hero-mini-card img{aspect-ratio:1; width:100%; object-fit:cover}.hero-mini-card p{margin:0; padding:12px; font-size:.84rem; color:var(--muted); line-height:1.35}
.compact-strip{padding:18px 0}.strip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}.strip-grid span{display:flex; align-items:center; min-height:58px; padding:14px 16px; background:rgba(255,255,255,.78); border:1px solid var(--line); border-radius:18px; font-weight:760; font-size:.93rem; box-shadow:var(--shadow-soft)}
.split{display:grid; grid-template-columns:.94fr 1.06fr; gap:clamp(26px,5vw,70px); align-items:center}.visual-card{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); background:#fff}.visual-card img{width:100%; aspect-ratio:4/3; object-fit:cover}.copy-block blockquote{margin:26px 0 0; padding:22px; border-left:4px solid var(--gold); border-radius:0 22px 22px 0; background:#fff; box-shadow:var(--shadow-soft); line-height:1.7}.copy-block cite{display:block; margin-top:10px; color:var(--muted); font-style:normal}
.soft-section{background:linear-gradient(180deg,rgba(255,255,255,.44),rgba(250,244,231,.72)); border-block:1px solid rgba(30,48,45,.06)}.section-heading{max-width:820px; text-align:center; margin:0 auto clamp(28px,4vw,46px)}.compact-heading{text-align:left; margin:0}.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}.value-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-soft); min-height:230px}.value-card span{width:44px; height:44px; border-radius:15px; display:grid; place-items:center; background:rgba(229,184,63,.18); color:var(--teal); font-weight:900; margin-bottom:24px}.value-card p{line-height:1.7; color:var(--muted)}
.program-tabs{border-radius:var(--radius-lg); padding:14px; background:rgba(255,255,255,.68); border:1px solid var(--line); box-shadow:var(--shadow)}.tab-list{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px}.tab-button{border:1px solid transparent; background:rgba(56,85,83,.07); color:var(--teal); padding:14px 16px; border-radius:18px; font-weight:850; cursor:pointer}.tab-button.active{background:var(--teal); color:#fff; box-shadow:0 14px 28px rgba(56,85,83,.18)}.tab-panel{display:none; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start; background:#fff; border-radius:28px; padding:clamp(22px,4vw,40px)}.tab-panel.active{display:grid}.pill{display:inline-flex; background:rgba(229,184,63,.18); color:var(--teal); padding:8px 12px; border-radius:999px; font-weight:850; font-size:.86rem; margin-bottom:14px}.tab-panel p,.tab-panel li{color:var(--muted); line-height:1.75}.tab-panel ul{margin:8px 0 0; padding-left:20px}.program-card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:20px}.program-summary{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-soft)}.program-summary img{width:100%; aspect-ratio:4/2.65; object-fit:cover}.program-summary div{padding:22px}.program-summary p{color:var(--muted); line-height:1.7; margin:0}
.dark-section{background:linear-gradient(135deg,var(--teal-2),#1f3432); color:#fff}.dark-section .section-kicker,.dark-section .section-heading p{color:rgba(255,255,255,.76)}.curriculum-layout{display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(24px,4vw,56px); align-items:start}.curriculum-layout .section-heading{text-align:left; margin:0}.curriculum-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}.curriculum-card{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:24px; min-height:190px}.curriculum-card p{color:rgba(255,255,255,.76); line-height:1.75}
.teacher-top{display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px}.slider-controls{display:flex; gap:12px}.round-btn{width:52px; height:52px; border-radius:999px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-soft); color:var(--teal); font-weight:900; cursor:pointer}.teacher-carousel{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(285px,345px); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 2px 18px; scrollbar-width:thin; -webkit-overflow-scrolling:touch}.teacher-card{scroll-snap-align:start; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-soft); min-height:286px}.avatar{width:70px; height:70px; border-radius:24px; display:grid; place-items:center; background:linear-gradient(135deg,rgba(229,184,63,.32),rgba(56,85,83,.18)); color:var(--teal); font-weight:900; margin-bottom:18px}.teacher-card span{display:block; color:var(--teal); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; font-weight:900; margin-bottom:10px}.teacher-card p{color:var(--muted); line-height:1.7}
.admissions-layout{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(24px,5vw,64px); align-items:start}.schedule-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-soft); margin-top:24px}.schedule-card dl{margin:0; display:grid; gap:10px}.schedule-card dl div{display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); padding:12px 0}.schedule-card dl div:last-child{border:0}.schedule-card dt{color:var(--muted)}.schedule-card dd{margin:0; font-weight:850; text-align:right}.process-list{list-style:none; margin:0; padding:0; display:grid; gap:14px}.process-list li{display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:18px; box-shadow:var(--shadow-soft)}.process-list span{width:46px; height:46px; border-radius:16px; display:grid; place-items:center; background:rgba(229,184,63,.18); color:var(--teal); font-weight:900}.process-list p{margin:0; color:var(--muted); line-height:1.55}
.leader-wrap{display:grid; grid-template-columns:270px 1fr; gap:28px; align-items:center; max-width:920px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px; box-shadow:var(--shadow)}.leader-photo img{width:100%; aspect-ratio:1; object-fit:cover; border-radius:28px}.leader-copy .role{color:var(--teal); font-weight:850}.leader-copy p{color:var(--muted); line-height:1.75}
.finder-card{display:grid; grid-template-columns:.75fr 1.25fr; gap:24px; align-items:center; background:linear-gradient(135deg,#fff 0%,#fbf2dd 100%); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:clamp(24px,4vw,42px)}.finder-form{display:grid; grid-template-columns:1fr 1fr; gap:14px}.finder-form label{font-weight:850}.finder-form select{width:100%; min-height:52px; margin-top:8px; padding:0 14px; border:1px solid var(--line); border-radius:16px; background:#fff}.finder-result{grid-column:1/-1; min-height:70px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:18px; color:var(--muted); line-height:1.7}.finder-form .btn{grid-column:1/-1; justify-self:start}
.faq-layout{display:grid; grid-template-columns:.72fr 1.28fr; gap:30px}.faq-list{display:grid; gap:12px}.faq-list details{background:#fff; border:1px solid var(--line); border-radius:20px; padding:0 20px; box-shadow:var(--shadow-soft)}.faq-list summary{min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; font-weight:850}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+"; color:var(--teal); font-size:1.4rem}.faq-list details[open] summary:after{content:"–"}.faq-list p{color:var(--muted); line-height:1.75; margin:0 0 20px}
.contact-card{display:grid; grid-template-columns:.8fr 1.2fr; gap:24px; background:linear-gradient(135deg,var(--teal-2),var(--teal)); color:#fff; border-radius:var(--radius-lg); padding:clamp(26px,5vw,48px); box-shadow:var(--shadow)}.contact-card .section-kicker,.contact-card p{color:rgba(255,255,255,.78)}.contact-card .section-kicker:before{background:var(--gold)}.contact-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}.campus-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}.campus-grid article{background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); border-radius:24px; padding:22px}.campus-grid p{min-height:48px}.campus-grid a{display:block; margin-top:10px; word-break:break-word; color:#fff; font-weight:750}.site-footer{padding:34px 0 calc(42px + env(safe-area-inset-bottom)); border-top:1px solid var(--line)}.footer-content{display:flex; justify-content:space-between; align-items:center; gap:24px}.footer-content img{height:54px; max-width:min(310px,58vw); object-fit:contain}.footer-content p,.footer-bottom{color:var(--muted)}.footer-content nav{display:flex; flex-wrap:wrap; gap:16px}.footer-bottom{display:flex; justify-content:space-between; gap:16px; margin-top:22px}.mobile-cta{display:none}.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}.reveal.visible{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important; transition:none!important; animation:none!important}.reveal{opacity:1; transform:none}}
@media (max-width:1120px){.site-nav{gap:12px}.site-nav a{font-size:.88rem}.hero-layout,.split,.curriculum-layout,.admissions-layout,.finder-card,.faq-layout,.contact-card{grid-template-columns:1fr}.values-grid,.program-card-grid,.campus-grid{grid-template-columns:repeat(2,1fr)}.hero-media{max-width:720px}.curriculum-layout .section-heading,.compact-heading{text-align:left}.footer-content{align-items:flex-start}.contact-card{gap:34px}}
@media (max-width:860px){.nav-shell{min-height:72px}.brand img{max-height:48px}.nav-toggle{display:block}.site-nav{position:fixed; left:16px; right:16px; top:82px; display:grid; gap:8px; padding:14px; border:1px solid var(--line); background:rgba(255,253,248,.98); box-shadow:var(--shadow); border-radius:24px; transform:translateY(-12px); opacity:0; pointer-events:none; transition:.24s ease; max-height:calc(100svh - 110px); overflow:auto}.site-nav.open{opacity:1; pointer-events:auto; transform:translateY(0)}.site-nav a{padding:13px 14px; border-radius:16px}.site-nav a:hover,.site-nav a.active{background:rgba(56,85,83,.07)}.nav-cta{text-align:center}.hero-layout{gap:30px}.hero-media{order:-1}.hero-image-wrap{aspect-ratio:4/3.4}.hero-note{position:relative; left:auto; bottom:auto; width:100%; margin-top:14px}.hero-mini-card{display:none}.strip-grid,.values-grid,.program-card-grid,.curriculum-grid,.campus-grid{grid-template-columns:1fr}.tab-list{grid-template-columns:1fr 1fr}.tab-panel{grid-template-columns:1fr}.desktop-controls{display:none}.leader-wrap{grid-template-columns:1fr}.leader-photo{max-width:280px}.finder-form{grid-template-columns:1fr}.footer-content,.footer-bottom{flex-direction:column; align-items:flex-start}.mobile-cta{position:fixed; left:14px; right:14px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:999; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:8px; background:rgba(255,253,248,.9); backdrop-filter:blur(12px); border:1px solid var(--line); border-radius:999px; box-shadow:var(--shadow)}.mobile-cta a{min-height:46px; display:grid; place-items:center; border-radius:999px; font-weight:850}.mobile-cta a:first-child{background:#fff; color:var(--teal)}.mobile-cta a:last-child{background:var(--teal); color:#fff}.site-footer{padding-bottom:105px}}
@media (max-width:560px){.container{width:min(100% - 28px,var(--max))}.section-pad{padding:54px 0}h1{font-size:clamp(3.2rem,18vw,4.6rem); max-width:9ch}h2{font-size:clamp(2rem,11vw,3rem)}.hero-metrics{grid-template-columns:1fr}.hero-actions,.contact-actions{display:grid}.hero-actions .btn,.contact-actions .btn{width:100%}.tab-list{display:flex; overflow:auto; padding-bottom:4px; scroll-snap-type:x mandatory}.tab-button{min-width:max-content; scroll-snap-align:start}.program-tabs{padding:10px; border-radius:26px}.tab-panel{padding:22px; border-radius:22px}.teacher-carousel{grid-auto-columns:86vw}.schedule-card dl div{display:block}.schedule-card dd{text-align:left; margin-top:5px}.process-list li{grid-template-columns:48px 1fr; padding:16px}.contact-card{padding:24px; border-radius:28px}.campus-grid article{padding:18px}.footer-content nav{display:grid; grid-template-columns:1fr 1fr}}


.teacher-photo{width:96px;height:96px;object-fit:cover;object-position:center top;border-radius:26px;margin-bottom:18px;box-shadow:0 16px 34px rgba(32,53,49,.18);background:#f4efe6}.teacher-card-with-photo{padding-top:24px}


/* Campus location maps */
.locations-section{
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(250,244,231,.82));
  border-block:1px solid rgba(30,48,45,.06);
}
.locations-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,28px);
}
.location-card{
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.location-map{
  position:relative;
  min-height:320px;
  background:rgba(56,85,83,.08);
}
.location-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.location-details{
  padding:clamp(22px,3.5vw,32px);
}
.campus-label{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(229,184,63,.18);
  color:var(--teal);
  font-weight:850;
  font-size:.84rem;
  margin-bottom:14px;
}
.location-details p{
  color:var(--muted);
  line-height:1.75;
}
.location-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.map-inline-link{
  margin-top:14px!important;
  color:var(--gold)!important;
}
@media (max-width:860px){
  .locations-grid{grid-template-columns:1fr}
  .location-map{min-height:290px}
}
@media (max-width:560px){
  .location-map{min-height:250px}
  .location-actions{display:grid}
  .location-actions .btn{width:100%}
}


/* Interactive slideshow for the "Freedom within limits" section */
.about-slider{
  position:relative;
  min-height:420px;
  isolation:isolate;
}
.about-slider .about-slides{
  position:relative;
  width:100%;
  min-height:420px;
}
.about-slider .about-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:420px;
  aspect-ratio:auto;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .7s ease, transform .7s ease;
}
.about-slider .about-slide.active{
  opacity:1;
  transform:scale(1);
  z-index:1;
}
.about-slider::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(32,53,49,.02),rgba(32,53,49,.18));
}
.about-slide-btn{
  position:absolute;
  top:50%;
  z-index:4;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--teal);
  font-size:21px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(32,53,49,.18);
  transform:translateY(-50%);
  transition:transform .22s ease, background .22s ease, opacity .22s ease;
}
.about-slide-btn:hover{
  background:#fff;
  transform:translateY(-50%) scale(1.06);
}
.about-slide-btn:focus-visible,
.about-dot:focus-visible{
  outline:3px solid rgba(246,181,36,.58);
  outline-offset:3px;
}
.about-prev{left:18px;}
.about-next{right:18px;}
.about-slide-dots{
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:4;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(10px);
  transform:translateX(-50%);
}
.about-dot{
  width:9px;
  height:9px;
  border:0;
  border-radius:999px;
  background:rgba(56,85,83,.38);
  cursor:pointer;
  transition:width .22s ease, background .22s ease;
}
.about-dot.active{
  width:26px;
  background:var(--gold);
}
@media (max-width:768px){
  .about-slider,
  .about-slider .about-slides,
  .about-slider .about-slide{
    min-height:320px;
  }
  .about-slide-btn{
    width:38px;
    height:38px;
    font-size:18px;
  }
  .about-prev{left:12px;}
  .about-next{right:12px;}
}


/* Moving Up Ceremony video section */
.video-section {
  background:
    radial-gradient(circle at 12% 20%, rgba(246, 181, 36, 0.16), transparent 28%),
    linear-gradient(135deg, #fffdf8 0%, #f7f2e9 100%);
}

.video-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.video-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.ceremony-video-card {
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(32, 53, 49, 0.10);
  border-radius: 32px;
  padding: clamp(12px, 2vw, 18px);
  box-shadow: 0 24px 70px rgba(32, 53, 49, 0.14);
}

.video-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  background: #132a2a;
}

.video-frame video,
.video-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}

.video-caption {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 4px 2px;
  color: var(--muted, #64706c);
  font-size: 0.95rem;
  line-height: 1.55;
}

.video-caption strong {
  color: var(--ink, #203531);
  white-space: nowrap;
}

.video-caption code {
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(56, 85, 83, 0.08);
  color: var(--teal, #385553);
  font-size: 0.88em;
}

@media (max-width: 860px) {
  .video-layout {
    grid-template-columns: 1fr;
  }

  .ceremony-video-card {
    border-radius: 24px;
  }

  .video-frame {
    border-radius: 18px;
  }

  .video-caption {
    flex-direction: column;
    gap: 6px;
  }
}


/* Professional polish, hover states, and social footer */
:root{
  --hover-shadow:0 28px 76px rgba(32,53,49,.18);
  --hover-shadow-soft:0 18px 42px rgba(32,53,49,.13);
}

@media (hover:hover){
  .btn,
  .nav-cta,
  .tab-button,
  .teacher-card,
  .value-card,
  .program-tabs,
  .location-card,
  .campus-grid article,
  .faq-list details,
  .ceremony-video-card,
  .leader-wrap,
  .visual-card,
  .hero-image-wrap,
  .schedule-card,
  .process-list li,
  .curriculum-card,
  .social-button{
    transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease, background .26s ease, color .26s ease, opacity .26s ease;
  }

  .btn:hover,
  .nav-cta:hover{
    transform:translateY(-3px);
    box-shadow:var(--hover-shadow-soft);
  }

  .value-card:hover,
  .teacher-card:hover,
  .location-card:hover,
  .campus-grid article:hover,
  .faq-list details:hover,
  .ceremony-video-card:hover,
  .leader-wrap:hover,
  .schedule-card:hover,
  .process-list li:hover,
  .curriculum-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--hover-shadow);
    border-color:rgba(246,181,36,.38);
  }

  .program-tabs:hover,
  .visual-card:hover,
  .hero-image-wrap:hover{
    box-shadow:var(--hover-shadow);
  }

  .hero-image-wrap:hover img,
  .visual-card:hover img,
  .location-card:hover iframe,
  .ceremony-video-card:hover video{
    transform:scale(1.025);
  }

  .hero-image-wrap img,
  .visual-card img,
  .ceremony-video-card video{
    transition:transform .55s ease, filter .55s ease;
  }

  .teacher-card:hover .teacher-photo,
  .teacher-card:hover .teacher-avatar{
    transform:scale(1.05) rotate(-1deg);
    box-shadow:0 18px 42px rgba(32,53,49,.22);
  }
}

.teacher-photo,
.teacher-avatar{
  transition:transform .28s ease, box-shadow .28s ease;
}

.site-nav a:not(.nav-cta){
  position:relative;
}
.site-nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),rgba(246,181,36,.25));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .24s ease;
}
.site-nav a:not(.nav-cta):hover::after,
.site-nav a:not(.nav-cta).active::after{
  transform:scaleX(1);
}

.tab-button:hover,
.about-dot:hover,
.slider-dot:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible{
  outline:3px solid rgba(246,181,36,.55);
  outline-offset:3px;
}

.social-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 10%, rgba(246,181,36,.18), transparent 30%),
    linear-gradient(135deg,#fffdf8 0%,#f7f2e9 52%,#eef3f1 100%);
}
.footer-glow{
  position:absolute;
  width:340px;
  height:340px;
  right:-120px;
  bottom:-150px;
  border-radius:999px;
  background:rgba(56,85,83,.12);
  pointer-events:none;
}
.footer-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(180px,.65fr) minmax(280px,1.05fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
}
.footer-brand-block img{
  height:62px;
  max-width:min(340px,72vw);
  object-fit:contain;
  margin-bottom:16px;
}
.footer-brand-block p,
.footer-social-block p{
  color:var(--muted);
  line-height:1.75;
  margin:0;
  max-width:38ch;
}
.footer-links-block h3,
.footer-social-block h3{
  margin:0 0 14px;
  font-size:1rem;
  letter-spacing:.02em;
}
.footer-links-block nav{
  display:grid;
  gap:10px;
}
.footer-links-block a,
.footer-bottom a{
  color:var(--muted);
  font-weight:750;
  transition:color .22s ease, transform .22s ease;
}
.footer-links-block a:hover,
.footer-bottom a:hover{
  color:var(--teal);
  transform:translateX(3px);
}
.social-links{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.social-button{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(32,53,49,.10);
  box-shadow:0 14px 34px rgba(32,53,49,.08);
}
.social-button:hover{
  transform:translateY(-4px);
  border-color:rgba(246,181,36,.42);
  background:#fff;
  box-shadow:var(--hover-shadow-soft);
}
.social-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#385553,#223b3a);
  color:#fff;
  box-shadow:0 14px 30px rgba(56,85,83,.18);
}
.social-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.social-button strong{
  display:block;
  color:var(--ink);
  font-size:.98rem;
  margin-bottom:2px;
}
.social-button small{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  word-break:break-word;
}

@media (max-width:980px){
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-social-block{grid-column:1/-1}
}
@media (max-width:640px){
  .footer-main{grid-template-columns:1fr; gap:28px}
  .footer-links-block nav{grid-template-columns:1fr 1fr}
  .social-button{padding:13px; border-radius:20px}
  .social-icon{width:40px; height:40px; flex-basis:40px}
}


/* Multi-page layout improvements */
.page-intro {
  padding-top: clamp(120px, 16vw, 160px);
  padding-bottom: clamp(54px, 8vw, 92px);
  background:
    radial-gradient(circle at top left, rgba(255, 215, 0, 0.24), transparent 32rem),
    linear-gradient(135deg, rgba(248, 245, 236, 0.96), rgba(255, 255, 255, 0.98));
  border-bottom: 1px solid rgba(56, 85, 83, 0.08);
}
.page-intro .container {
  max-width: 980px;
}
.page-intro h1 {
  margin: 10px 0 16px;
  font-size: clamp(2.15rem, 7vw, 5rem);
  line-height: .95;
  letter-spacing: -0.065em;
  color: var(--deep);
}
.page-intro p {
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.18rem);
}
.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.page-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.page-hub-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 218px;
  padding: clamp(22px, 3vw, 30px);
  border-radius: 28px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(56,85,83,.11);
  color: var(--deep);
  text-decoration: none;
  box-shadow: 0 18px 46px rgba(32,53,49,.09);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
  overflow: hidden;
}
.page-hub-card::before {
  content: '';
  position: absolute;
  inset: auto -20% -45% auto;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(246,181,36,.16);
  transition: transform .28s ease;
}
.page-hub-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 70px rgba(32,53,49,.15);
  border-color: rgba(246,181,36,.42);
  background: #fff;
}
.page-hub-card:hover::before { transform: scale(1.25); }
.page-hub-card span {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--gold-dark);
  font-weight: 800;
}
.page-hub-card h3 {
  margin: 18px 0 10px;
  font-size: 1.35rem;
}
.page-hub-card p {
  margin: 0 0 18px;
  color: var(--muted);
}
.page-hub-card strong {
  margin-top: auto;
  color: var(--deep);
}
.quick-cta {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  padding: clamp(30px, 5vw, 54px);
  background: linear-gradient(135deg, var(--deep), #223c3a);
  color: #fff;
  box-shadow: 0 26px 70px rgba(32,53,49,.18);
}
.quick-cta::after {
  content: '';
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  right: -80px;
  top: -80px;
  background: rgba(255,215,0,.2);
}
.quick-cta h2, .quick-cta p { color: inherit; }
.quick-cta p { max-width: 720px; opacity: .86; }
.quick-cta .btn-light:hover { transform: translateY(-3px); }
.site-nav a.active { color: var(--deep); }
.site-nav a.active:not(.nav-cta)::after { transform: scaleX(1); }
@media (max-width: 980px) {
  .page-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .page-hub-grid { grid-template-columns: 1fr; }
  .page-intro { padding-top: 110px; }
}

/* Fix: Admissions quick CTA contrast */
:root{
  --deep:#1e302d;
  --gold-dark:#a97900;
}
.quick-cta{
  background:
    radial-gradient(circle at 88% 8%, rgba(255,215,0,.24) 0 0, transparent 140px),
    linear-gradient(135deg, #1e302d 0%, #2d4543 52%, #385553 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.16);
}
.quick-cta > *{
  position:relative;
  z-index:1;
}
.quick-cta::after{
  z-index:0;
  background:rgba(255,215,0,.20) !important;
}
.quick-cta .section-kicker{
  color:#ffd700 !important;
}
.quick-cta .section-kicker::before{
  background:#ffd700 !important;
}
.quick-cta h1,
.quick-cta h2,
.quick-cta h3,
.quick-cta p{
  color:#fff !important;
}
.quick-cta p{
  opacity:.88;
}
.quick-cta .btn-primary{
  background:#ffd700 !important;
  color:#1e302d !important;
  box-shadow:0 18px 36px rgba(255,215,0,.22);
}
.quick-cta .btn-light{
  background:rgba(255,255,255,.96) !important;
  color:#1e302d !important;
  border-color:rgba(255,255,255,.34) !important;
}
@media (max-width:640px){
  .quick-cta{
    border-radius:28px;
    padding:28px 22px;
  }
}

/* Fix mobile page intro title wrapping and alignment */
.page-intro .container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page-intro h1 {
  max-width: min(920px, 16ch);
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-intro p {
  margin-left: auto;
  margin-right: auto;
}

.page-actions {
  justify-content: center;
}

@media (max-width: 640px) {
  .page-intro {
    padding-top: 104px;
    padding-bottom: 48px;
  }

  .page-intro h1 {
    max-width: 12.5ch;
    font-size: clamp(2.25rem, 11vw, 3.25rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
    text-align: center;
  }

  .page-intro p {
    max-width: 34ch;
    text-align: center;
  }

  .page-actions {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  .page-intro h1 {
    max-width: 11.5ch;
    font-size: clamp(2rem, 10.5vw, 2.7rem);
  }
}
