/* Digital campus: a luminous, contemporary system with the warmth of a community institution. */
:root {
  --green: #42ddb6;
  --deep: #06171c;
  --orange: #f0b96d;
  --amber: #f1cf84;
  --ink: #e8f3f0;
  --muted: #a5bfbd;
  --paper: #0b1e24;
  --line: rgba(138, 226, 215, .17);
  --radius: 24px;
  --shadow: 0 26px 80px rgba(0, 0, 0, .34);
  --campus-cyan: #76e8e2;
  --campus-lime: #b5f28a;
  --font-display: "Comic Neue", "Comic Sans MS", cursive;
  --font-body: "Comic Neue", "Comic Sans MS", cursive;
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  color: var(--ink);
  background-color: #06171c;
  background-image: radial-gradient(ellipse at 8% 8%, rgba(30, 155, 139, .16), transparent 34%), radial-gradient(ellipse at 94% 48%, rgba(48, 108, 151, .12), transparent 30%);
  font-family: var(--font-body);
}
::selection { color: #041512; background: var(--campus-cyan); }
:focus-visible { outline: 3px solid var(--campus-cyan); outline-offset: 4px; }
h1, h2, h3, h4, h5, h6, .brand-name { font-family: var(--font-display) !important; letter-spacing: -.045em; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

.topbar { color: #bdd3d1; background: rgba(3, 15, 19, .95); border-bottom: 1px solid rgba(118, 232, 226, .15); }
.header { background: transparent; border: 0; box-shadow: none; }
.site-header { background: transparent; border: 0; }
.header-row, .header-inner {
  border: 1px solid rgba(118, 232, 226, .19);
  background: rgba(7, 25, 31, .82);
  box-shadow: 0 14px 46px rgba(0, 0, 0, .25), inset 0 1px rgba(255,255,255,.035);
  backdrop-filter: blur(22px);
}
.brand-name { color: #f1f8f5; }
.brand-name small { color: #91aaa8; }
.nav a, .menu-list a { color: #c3d7d4; transition: color .2s, background .2s, transform .2s; }
.nav a:hover, .nav a.active, .menu-list a:hover, .menu-list .current-menu-item > a { color: var(--campus-cyan); background: rgba(77, 220, 194, .11); }
.icon-btn { color: #d5e7e3; }
.icon-btn:hover { color: var(--campus-cyan); background: rgba(118, 232, 226, .1); }
.header-actions .btn, .header-cta, .btn.green {
  color: #041a17;
  background: linear-gradient(115deg, #53e4b9, #87edcb 58%, #9be9e7);
  border: 1px solid rgba(174, 255, 236, .55);
  box-shadow: 0 8px 28px rgba(54, 222, 177, .22), inset 0 1px rgba(255,255,255,.52);
}
.header-actions .btn:hover, .header-cta:hover, .btn.green:hover { color: #041a17; background: linear-gradient(115deg, #8af0cf, #a9f4de); box-shadow: 0 12px 36px rgba(54, 222, 177, .3); }
.btn, .button, .chip { transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background .22s ease, border-color .22s ease; }
.btn:hover, .button:hover { transform: translateY(-2px); }
.btn:not(.green), .button:not(.hero-secondary):not(.button-light) { border-radius: 999px; }
.btn:not(.green):not(.outline) { color: #102219; background: linear-gradient(115deg, #f3ca7d, #f7e0a6); box-shadow: 0 9px 28px rgba(241, 207, 132, .15); }
.btn.outline { color: var(--campus-cyan); border-color: rgba(118, 232, 226, .36); }
.btn.outline:hover { color: #eafff9; background: rgba(118, 232, 226, .09); border-color: var(--campus-cyan); }
.text-link { color: var(--campus-cyan); }
.text-link:hover { color: var(--campus-lime); }
.review-tag { color: #b8d9d3; background: #0b262b; border-color: rgba(118, 232, 226, .19); }
.review-tag a { color: var(--campus-cyan); }

.hero-home {
  border-color: rgba(118, 232, 226, .2);
  background: #06171c;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .28);
}
.hero-home::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 7%;
  right: 7%;
  width: clamp(180px, 27vw, 390px);
  aspect-ratio: 1;
  border: 1px solid rgba(118, 232, 226, .28);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(118,232,226,.025), 0 0 0 55px rgba(118,232,226,.025), 0 0 80px rgba(65,223,186,.17);
  pointer-events: none;
  animation: campus-orbit 22s ease-in-out infinite alternate;
}
.hero-shade { background: linear-gradient(90deg, rgba(3,18,22,.98) 0%, rgba(4,20,24,.88) 35%, rgba(5,24,28,.58) 63%, rgba(5,22,26,.18) 100%), linear-gradient(0deg, rgba(3,16,20,.72), transparent 60%); }
.hero-copy h1, .hero h1 { font-family: var(--font-display) !important; font-weight: 600; letter-spacing: -.075em; }
.hero-copy h1 em, .hero h1 em { color: var(--campus-cyan); }
.hero-kicker, .hero-copy .eyebrow { color: var(--campus-lime); }
.hero-copy .hero-primary { color: #041a17; background: linear-gradient(115deg, #50e2b6, #a4f1d8); box-shadow: 0 8px 30px rgba(65,223,186,.25); }
.hero-copy .hero-primary:hover { background: #a9f3de; }
.hero-copy .hero-secondary { border-color: rgba(118,232,226,.56); color: #edfaf7; background: rgba(6,25,30,.36); backdrop-filter: blur(8px); }
.hero-copy .hero-secondary:hover { background: rgba(118,232,226,.13); }
.hero-note svg, .hero-note .hero-mark { color: var(--campus-lime); }
.hero-aside { border-color: rgba(118,232,226,.52); }
.hero-aside strong { font-family: var(--font-display); color: #f1fbf7; letter-spacing: -.06em; }
.hero-scroll { color: var(--campus-cyan); }
.hero-copy, .hero-aside { animation: campus-rise .8s cubic-bezier(.2,.75,.25,1) both; }
.hero-aside { animation-delay: .12s; }

.home-pathways, .quick-pathways { margin-top: -48px; }
.pathways, .quick-grid {
  border: 1px solid rgba(118,232,226,.2);
  background: rgba(9,32,38,.88);
  box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.035);
  backdrop-filter: blur(18px);
}
.pathway, .quick-card { color: var(--ink); background: transparent; }
.pathway:not(:last-child), .quick-card:not(:last-child) { border-color: rgba(118,232,226,.13); }
.pathway:hover, .quick-card:hover { background: rgba(78,222,191,.09); }
.pathway .tile-icon, .quick-icon { color: var(--campus-cyan); background: rgba(76,222,191,.12); border: 1px solid rgba(118,232,226,.18); }
.pathway h3, .quick-copy strong { color: #eef9f5; font-family: var(--font-display); }
.pathway p, .quick-copy small { color: #9fb9b6; }
.pathway-number { color: var(--campus-cyan); }
.pathway > .arrow, .quick-arrow { color: var(--campus-lime); }

.section { color: var(--ink); background: transparent; }
.section.soft, .section-soft, .section-cream {
  background: linear-gradient(135deg, rgba(13,37,44,.96), rgba(8,27,33,.97));
  border-block: 1px solid rgba(118,232,226,.08);
}
.section-head h2, .section-heading h2, .intro-grid h2, .split-intro h2, .connect-grid h2, .admission-panel h2,
.section-head > div h2, .page-hero h1 { color: #edf8f5; font-family: var(--font-display) !important; font-weight: 600; letter-spacing: -.065em; }
.section-head .eyebrow, .section-heading .eyebrow, .section-prehead .eyebrow, .intro-grid .eyebrow { color: var(--campus-lime); }
.section-prehead { border-color: rgba(118,232,226,.2); }
.section-index { color: #7da8a6; }
.intro-grid p, .split-intro p, .section-heading > p, .intro-copy p { color: #b2c9c5; }
.values-strip, .home-story .values-row { border-color: rgba(118,232,226,.19); }
.values-strip strong, .home-story .values-row strong { color: #eaf7f3; font-family: var(--font-display); }
.values-strip span, .home-story .values-row span { color: #9eb9b5; }
.home-story { position: relative; overflow: hidden; background: linear-gradient(115deg, #071a20, #0b292f 62%, #0b2028); }
.home-story::before { content:""; position:absolute; top:-210px; right:-100px; width:460px; height:460px; border:1px solid rgba(118,232,226,.14); border-radius:50%; box-shadow:0 0 0 32px rgba(118,232,226,.025),0 0 0 75px rgba(118,232,226,.02); pointer-events:none; }
.home-story .container { position: relative; z-index: 1; }
.home-story .intro-grid h2, .home-story .split-intro h2 { color: #f1fbf7; }
.home-story .intro-grid h2 em, .home-story .split-intro h2 em { color: var(--campus-cyan); }
.home-story .text-link, .home-story .split-intro .text-link { color: var(--campus-cyan); }
.home-story .section-prehead .eyebrow { color: var(--campus-lime); }
.home-parenting { background: radial-gradient(ellipse at 100% 25%, rgba(28,113,119,.13), transparent 32%); }
.home-values, .values-section { background: linear-gradient(145deg, rgba(12,36,42,.9), rgba(7,25,31,.96)); }
.values-section .value-card, .value-card { min-height: 220px; color: var(--ink); border: 1px solid rgba(118,232,226,.17); border-top: 2px solid var(--campus-cyan); border-radius: 18px; background: linear-gradient(145deg, rgba(18,48,55,.92), rgba(10,30,36,.96)); box-shadow: 0 18px 46px rgba(0,0,0,.18); }
.value-card h3 { color: #edf8f5; font-family: var(--font-display); }
.value-card p { color: #a8bfbd; }
.home-education { background: radial-gradient(ellipse at 12% 50%, rgba(32,125,105,.1), transparent 38%); }
.home-events { background: linear-gradient(135deg, rgba(11,33,39,.95), rgba(7,24,30,.98)); }
.home-news .news-row { border: 1px solid rgba(118,232,226,.16); background: #0c272e; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.home-news .news-row h3 { color: #eff9f5; font-family: var(--font-display); }
.home-news .news-row p { color: #9fb9b6; }

.showcase-grid > .card:first-child, .showcase-grid > .content-card:first-child {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 530px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(118,232,226,.22);
  background: #0b252b;
}
.showcase-grid > .card:first-child > .card-img,
.showcase-grid > .content-card:first-child > .card-media {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  border: 0;
}
.showcase-grid > .card:first-child > .card-img { object-fit: cover; }
.showcase-grid > .content-card:first-child .card-media img { width:100%; height:100%; object-fit:cover; }
.showcase-grid > .card:first-child .card-body,
.showcase-grid > .content-card:first-child .card-content {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: auto;
  color: #f1fbf8;
  background: linear-gradient(0deg, rgba(3,15,19,.97), rgba(3,15,19,.78) 65%, transparent);
  padding: 100px 30px 28px;
}
.showcase-grid > .card:first-child h3, .showcase-grid > .card:first-child h3 a,
.showcase-grid > .content-card:first-child h3, .showcase-grid > .content-card:first-child h3 a { color: #f2fbf7; font-family: var(--font-display); }
.showcase-grid > .card:first-child p, .showcase-grid > .content-card:first-child p { color: #c2d6d2; }
.showcase-grid > .card:first-child .tag, .showcase-grid > .content-card:first-child .eyebrow { color: var(--campus-lime); }
.showcase-grid > .card:not(:first-child), .showcase-grid > .content-card:not(:first-child) {
  border: 1px solid rgba(118,232,226,.15);
  background: linear-gradient(140deg, rgba(18,47,54,.96), rgba(10,30,36,.98));
}
.showcase-grid > .card:not(:first-child) h3, .showcase-grid > .content-card:not(:first-child) h3,
.showcase-grid > .content-card:not(:first-child) h3 a { color: #edf8f5; font-family: var(--font-display); }
.showcase-grid > .card:not(:first-child) p, .showcase-grid > .content-card:not(:first-child) p { color: #a6bfbb; }
.showcase-grid .card, .showcase-grid .content-card { box-shadow: 0 18px 48px rgba(0,0,0,.22); transition: transform .3s, border-color .3s, box-shadow .3s; }
.showcase-grid .card:hover, .showcase-grid .content-card:hover { transform: translateY(-5px); border-color: rgba(118,232,226,.45); box-shadow: 0 26px 60px rgba(0,0,0,.34), 0 0 24px rgba(65,223,186,.08); }
.education-grid > :first-child { background-color: #0d2b31; }
.editorial-grid > :first-child { background-color: #142d34; }
.events-grid > :first-child { background-color: #102c31; }
.card, .content-card, .aside-box, .aside-card, .contact-form, .contact-panel, .educash-card, .report-row, .faq-grid article {
  color: var(--ink);
  border-color: rgba(118,232,226,.15);
  background: linear-gradient(145deg, rgba(17,44,51,.96), rgba(9,29,35,.98));
  box-shadow: 0 18px 48px rgba(0,0,0,.2);
}
.card h3, .content-card h3, .card-content h3, .aside-box h2, .aside-box h3, .aside-card h2, .contact-form h2, .contact-panel h2 { color: #edf8f5; font-family: var(--font-display); }
.card h3 a, .content-card h3 a, .card-content h3 a { color: #edf8f5; }
.card p, .content-card p, .card-content p, .aside-box p, .aside-card p, .contact-panel p, .report-row p { color: #a9c0bd; }
.card-img, .card-media img, .gallery-grid img { filter: saturate(.88) contrast(1.04); }
.card .tag, .content-card .eyebrow { color: var(--campus-lime); }
.tag, .chip { border-color: rgba(118,232,226,.2); background: rgba(118,232,226,.08); color: #bfe8df; }
.tag.amber { color: #f4d48d; background: rgba(240,185,109,.12); }
.card-foot { color: #8daaa7; border-color: rgba(118,232,226,.14); }
.card:hover, .content-card:hover { border-color: rgba(118,232,226,.36); box-shadow: 0 24px 56px rgba(0,0,0,.3); }
.filter-row .chip { border-color: rgba(118,232,226,.2); color: #bad3cf; background: rgba(13,37,43,.8); }
.filter-row .chip:hover, .filter-row .chip.active { color: #041a17; border-color: var(--campus-cyan); background: var(--campus-cyan); box-shadow: 0 8px 25px rgba(118,232,226,.18); }
.page-hero {
  color: #eff9f5;
  border: 0;
  background-color: #071a20;
  background-image: radial-gradient(ellipse at 86% 0%, rgba(61,214,185,.2), transparent 34%), radial-gradient(ellipse at 35% 100%, rgba(59,127,177,.18), transparent 40%), linear-gradient(135deg, #071a20, #0b2b31 68%, #092127);
}
.page-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: .22;
  pointer-events: none;
  background-image: linear-gradient(rgba(118,232,226,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(118,232,226,.08) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 42%, #000);
}
.page-hero::after { border-color: rgba(118,232,226,.24); box-shadow: 0 0 0 35px rgba(118,232,226,.035), 0 0 0 83px rgba(118,232,226,.025), 0 0 90px rgba(65,223,186,.1); }
.page-hero .wrap, .page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { color: #eff9f5; }
.page-hero h1 em { color: var(--campus-cyan); }
.page-hero p { color: #b3ccca; }
.page-hero .eyebrow { color: var(--campus-lime); }
.breadcrumb, .breadcrumbs { color: #86a5a4; }
.breadcrumb a, .breadcrumbs a { color: var(--campus-cyan); }
.filter-row { gap: 11px; }
.callout, .editorial-note { border-color: rgba(240,185,109,.24); border-left-color: var(--orange); color: #e7d8b2; background: rgba(240,185,109,.08); }
.school-banner, .empty-state, .empty { color: #bbcfcb; border-color: rgba(118,232,226,.2); background: rgba(16,43,49,.82); }
.school-banner svg, .school-banner strong { color: var(--campus-cyan); }
.cta-band, .cta-panel, .admission-panel {
  color: #effaf6;
  border: 1px solid rgba(118,232,226,.2);
  background: radial-gradient(circle at 88% 0%, rgba(118,232,226,.19), transparent 32%), linear-gradient(115deg, #0d3437, #0d5147 62%, #123c48);
  box-shadow: 0 26px 75px rgba(0,0,0,.27), inset 0 1px rgba(255,255,255,.04);
}
.cta-band h2, .cta-panel h3, .admission-panel h2 { color: #f1faf7; font-family: var(--font-display); }
.cta-band p, .cta-panel p, .admission-panel p { color: #b9d3cf; }
.cta-band .btn, .cta-panel .button, .admission-panel .button-light { color: #041a17; background: linear-gradient(115deg, #51e1b6, #9deed9); }
.prose, .article-content, .article-lead { color: #bacfcb; }
.prose h2, .prose h3, .article-content h1, .article-content h2, .article-content h3 { color: #eff9f5; font-family: var(--font-display); }
.prose a, .article-content a { color: var(--campus-cyan); }
.steps li, .faq, .report-row, .result { border-color: rgba(118,232,226,.15); }
.steps li::before, .steps b { color: #041a17; background: var(--campus-cyan); }
.faq summary, .result h3, .report-row h2 a { color: #eaf8f3; font-family: var(--font-display); }
.faq p, .result p { color: #aac1be; }
.form-field, .search-form label { color: #dceae6; }
.form-field input, .form-field select, .form-field textarea, .search-form input {
  color: #eff9f6;
  border-color: rgba(118,232,226,.24);
  background: rgba(5,22,27,.88);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.form-field input::placeholder, .form-field textarea::placeholder, .search-form input::placeholder { color: #789795; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus, .search-form input:focus { outline: 3px solid rgba(118,232,226,.22); border-color: var(--campus-cyan); }
.presets button { color: #bfd4d0; border-color: rgba(118,232,226,.18); background: #102a30; }
.presets button.active { color: #041a17; border-color: var(--campus-cyan); background: var(--campus-cyan); }
.progress-track { background: rgba(164,193,186,.17); }
.progress-track span { background: linear-gradient(90deg, #49d9b3, #75e7dc, #b4f28a); box-shadow: 0 0 16px rgba(90,232,194,.35); }
.numbers, .mini-note, .meta { color: #9ab4b0; }
.numbers strong { color: #f0faf7; }
.gallery-grid figure { border: 1px solid rgba(118,232,226,.15); background: #0c252b; box-shadow: 0 18px 44px rgba(0,0,0,.25); }
.gallery-grid figcaption { color: #aec4c0; }
.detail-photo, .article-featured { border: 1px solid rgba(118,232,226,.2); box-shadow: 0 25px 75px rgba(0,0,0,.35); }
.footer, .site-footer { color: #e7f2ee; border-top: 1px solid rgba(118,232,226,.13); background: radial-gradient(ellipse at 85% 0, rgba(45,162,145,.14), transparent 35%), #041318; }
.footer-brand p, .footer-links a, .footer-bottom { color: #9eb8b4; }
.footer h4 { color: var(--campus-cyan); }
.footer-links a:hover { color: var(--campus-lime); }
.footer-bottom { border-color: rgba(118,232,226,.14); }
.footer-bottom .redesign-credit { display: block; margin-top: 3px; font-size: 11px; letter-spacing: .015em; opacity: .9; }
.mobile-dock { border-color: rgba(118,232,226,.15); background: rgba(5,21,26,.94); box-shadow: 0 -12px 40px rgba(0,0,0,.34); backdrop-filter: blur(18px); }
.mobile-dock a { color: #afc7c3; }
.mobile-dock a:first-child, .mobile-dock a:hover { color: var(--campus-cyan); }
.floating-wa { border: 1px solid rgba(174,255,236,.45); color: #041a17; background: linear-gradient(120deg,#51e1b6,#9deed9); box-shadow: 0 12px 35px rgba(54,222,177,.2); }
.dialog { color: var(--ink); border: 1px solid rgba(118,232,226,.2); background: #0b2229; box-shadow: 0 30px 100px rgba(0,0,0,.5); }
.dialog-head h3, .dialog h3 { color: #eff9f5; }
.dialog::backdrop { background: rgba(2,12,16,.78); backdrop-filter: blur(8px); }

.campus-reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.25,1); transition-delay: calc(var(--reveal-order, 0) * 65ms); }
.campus-reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes campus-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes campus-orbit { from { transform: translate3d(0,0,0) scale(.96); } to { transform: translate3d(-14px,12px,0) scale(1.035); } }

@media (max-width: 960px) {
  .header-row, .header-inner { border-radius: 16px; }
  .nav, .menu-list { border: 1px solid rgba(118,232,226,.18); background: rgba(7,25,31,.97); box-shadow: 0 24px 60px rgba(0,0,0,.4); }
  .nav a, .menu-list a { color: #d1e4e0; }
  .page-hero { background-position: center; }
}
@media (max-width: 720px) {
  .home-pathways, .quick-pathways { margin-top: -25px; }
  .pathways, .quick-grid { border-radius: 17px; }
  .pathway, .quick-card { background: rgba(8,28,34,.96); }
  .showcase-grid > .card:first-child, .showcase-grid > .content-card:first-child { min-height: 430px; }
  .showcase-grid > .card:first-child .card-body, .showcase-grid > .content-card:first-child .card-content { padding: 88px 21px 22px; }
  .showcase-grid > .card:not(:first-child), .showcase-grid > .content-card:not(:first-child) { min-height: 160px; }
  .home-story .values-strip, .home-story .values-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admission-panel, .cta-band, .cta-panel { border-radius: 19px; }
  .hero-home::after { top: 8%; right: -12%; width: 58vw; opacity: .65; }
  .page-hero::before { background-size: 32px 32px; }
  .campus-reveal { transform: translateY(12px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .campus-reveal, .campus-reveal.is-visible { opacity: 1; transform: none; }
}

/* Persistent light/dark preference control. */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 40px;
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid rgba(118,232,226,.22);
  border-radius: 999px;
  color: #d5e7e3;
  background: rgba(118,232,226,.08);
  font: 700 11px/1 var(--font-body);
  cursor: pointer;
  transition: color .2s, background .2s, border-color .2s, transform .2s;
}
.theme-toggle:hover { transform: translateY(-1px); color: var(--campus-cyan); background: rgba(118,232,226,.14); border-color: rgba(118,232,226,.42); }
.theme-toggle:focus-visible { outline: 3px solid var(--campus-cyan); outline-offset: 3px; }
.theme-toggle svg { display: block; width: 17px; height: 17px; }
.theme-icon-moon { display: none !important; }
html[data-theme="light"] .theme-icon-sun { display: none !important; }
html[data-theme="light"] .theme-icon-moon { display: block !important; }

html[data-theme="light"] {
  color-scheme: light;
  --green: #147668;
  --deep: #173e39;
  --orange: #a56a20;
  --amber: #8b5b16;
  --ink: #172c29;
  --muted: #5b706b;
  --paper: #f2f8f6;
  --line: #d7e6e1;
  --shadow: 0 20px 55px rgba(26,72,62,.11);
  --campus-cyan: #147e79;
  --campus-lime: #426c29;
}
html[data-theme="light"] body {
  color: var(--ink);
  background-color: #f4f8f7;
  background-image: radial-gradient(ellipse at 8% 8%, rgba(62,173,153,.10), transparent 34%), radial-gradient(ellipse at 94% 48%, rgba(80,139,174,.08), transparent 30%);
}
html[data-theme="light"] ::selection { color: #fff; background: #147e79; }
html[data-theme="light"] :focus-visible { outline-color: #147e79; }
html[data-theme="light"] .topbar { color: #496660; background: #e6f1ee; border-color: #d5e7e1; }
html[data-theme="light"] .topbar a { color: #315b54; }
html[data-theme="light"] .header, html[data-theme="light"] .site-header { background: transparent; border: 0; }
html[data-theme="light"] .header-row, html[data-theme="light"] .header-inner {
  border-color: rgba(20,126,121,.17);
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 42px rgba(21,70,59,.10), inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .brand-name, html[data-theme="light"] .brand-fallback { color: #173e39; }
html[data-theme="light"] .brand-name small, html[data-theme="light"] .brand-fallback small { color: #5b7770; }
html[data-theme="light"] .nav a, html[data-theme="light"] .menu-list a { color: #395a55; }
html[data-theme="light"] .nav a:hover, html[data-theme="light"] .nav a.active, html[data-theme="light"] .menu-list a:hover, html[data-theme="light"] .menu-list .current-menu-item > a { color: #0d7168; background: rgba(20,126,121,.09); }
html[data-theme="light"] .icon-btn, html[data-theme="light"] .menu-toggle { color: #315b54; }
html[data-theme="light"] .icon-btn:hover { color: #0d7168; background: rgba(20,126,121,.09); }
html[data-theme="light"] .theme-toggle { color: #315b54; border-color: rgba(20,126,121,.2); background: rgba(20,126,121,.08); }
html[data-theme="light"] .theme-toggle:hover { color: #0d7168; background: rgba(20,126,121,.14); border-color: rgba(20,126,121,.4); }
html[data-theme="light"] .header-actions .btn, html[data-theme="light"] .header-cta, html[data-theme="light"] .btn.green { color: #f4fffc; background: linear-gradient(115deg,#147668,#178f7c); border-color: rgba(20,126,121,.3); box-shadow: 0 8px 24px rgba(20,126,121,.18); }
html[data-theme="light"] .header-actions .btn:hover, html[data-theme="light"] .header-cta:hover, html[data-theme="light"] .btn.green:hover { color: #fff; background: #0f6a60; }
html[data-theme="light"] .btn:not(.green):not(.outline) { color: #25331f; background: linear-gradient(115deg,#f1ca82,#f8e6bb); }
html[data-theme="light"] .btn.outline { color: #176e67; border-color: rgba(20,126,121,.35); }
html[data-theme="light"] .btn.outline:hover { color: #10554f; background: rgba(20,126,121,.08); }
html[data-theme="light"] .text-link, html[data-theme="light"] .breadcrumb a, html[data-theme="light"] .breadcrumbs a { color: #147668; }
html[data-theme="light"] .text-link:hover { color: #0c514a; }
html[data-theme="light"] .review-tag { color: #46655f; border-color: #d4e5df; background: #eaf4f1; }
html[data-theme="light"] .review-tag a { color: #116e64; }
html[data-theme="light"] .home-pathways .pathways, html[data-theme="light"] .quick-grid, html[data-theme="light"] .pathways {
  border-color: rgba(20,126,121,.16);
  background: rgba(255,255,255,.94);
  box-shadow: 0 20px 58px rgba(25,77,66,.11), inset 0 1px #fff;
}
html[data-theme="light"] .pathway, html[data-theme="light"] .quick-card { color: var(--ink); background: transparent; }
html[data-theme="light"] .pathway:not(:last-child), html[data-theme="light"] .quick-card:not(:last-child) { border-color: rgba(20,126,121,.13); }
html[data-theme="light"] .pathway:hover, html[data-theme="light"] .quick-card:hover { background: rgba(20,126,121,.06); }
html[data-theme="light"] .pathway .tile-icon, html[data-theme="light"] .quick-icon { color: #147e79; border-color: rgba(20,126,121,.13); background: rgba(20,126,121,.09); }
html[data-theme="light"] .pathway h3, html[data-theme="light"] .quick-copy strong { color: #183d38; }
html[data-theme="light"] .pathway p, html[data-theme="light"] .quick-copy small { color: #5b706b; }
html[data-theme="light"] .pathway-number, html[data-theme="light"] .pathway > .arrow, html[data-theme="light"] .quick-arrow { color: #147e79; }
html[data-theme="light"] .section { color: var(--ink); }
html[data-theme="light"] .section.soft, html[data-theme="light"] .section-soft, html[data-theme="light"] .section-cream,
html[data-theme="light"] .home-values, html[data-theme="light"] .values-section, html[data-theme="light"] .home-events {
  border-color: rgba(20,126,121,.09);
  background: linear-gradient(135deg,rgba(236,246,243,.97),rgba(247,250,249,.98));
}
html[data-theme="light"] .section-head h2, html[data-theme="light"] .section-heading h2, html[data-theme="light"] .intro-grid h2,
html[data-theme="light"] .split-intro h2, html[data-theme="light"] .connect-grid h2, html[data-theme="light"] .admission-panel h2,
html[data-theme="light"] .section-head > div h2 { color: #183a36; }
html[data-theme="light"] .section-head .eyebrow, html[data-theme="light"] .section-heading .eyebrow,
html[data-theme="light"] .section-prehead .eyebrow, html[data-theme="light"] .intro-grid .eyebrow { color: #56772e; }
html[data-theme="light"] .section-prehead, html[data-theme="light"] .values-strip, html[data-theme="light"] .home-story .values-row { border-color: rgba(20,126,121,.18); }
html[data-theme="light"] .section-index { color: #67857d; }
html[data-theme="light"] .intro-grid p, html[data-theme="light"] .split-intro p, html[data-theme="light"] .section-heading > p, html[data-theme="light"] .intro-copy p { color: #536c66; }
html[data-theme="light"] .values-strip strong { color: #1c5148; }
html[data-theme="light"] .values-strip span { color: #60766f; }
html[data-theme="light"] .home-story .intro-grid h2, html[data-theme="light"] .home-story .split-intro h2 { color: #f1fbf7; }
html[data-theme="light"] .home-story .intro-grid h2 em, html[data-theme="light"] .home-story .split-intro h2 em { color: #76e8e2; }
html[data-theme="light"] .home-story .intro-grid p, html[data-theme="light"] .home-story .split-intro p { color: #b2c9c5; }
html[data-theme="light"] .home-story .values-strip strong, html[data-theme="light"] .home-story .values-row strong { color: #eaf7f3; }
html[data-theme="light"] .home-story .values-strip span, html[data-theme="light"] .home-story .values-row span { color: #9eb9b5; }
html[data-theme="light"] .home-story .section-prehead .eyebrow { color: #b5f28a; }
html[data-theme="light"] .home-story .text-link, html[data-theme="light"] .home-story .split-intro .text-link { color: #76e8e2; }
html[data-theme="light"] .home-parenting, html[data-theme="light"] .home-education { background: radial-gradient(ellipse at 10% 45%,rgba(38,146,123,.07),transparent 38%); }
html[data-theme="light"] .values-section .value-card, html[data-theme="light"] .value-card {
  color: #203a35; border-color: rgba(20,126,121,.16); border-top-color: #238f7c;
  background: linear-gradient(145deg,#fff,#eff7f4); box-shadow: 0 16px 40px rgba(27,76,66,.09);
}
html[data-theme="light"] .value-card h3 { color: #1b4540; }
html[data-theme="light"] .value-card p { color: #5e746e; }
html[data-theme="light"] .home-news .news-row { border-color: #d8e8e2; background: #fff; box-shadow: 0 20px 55px rgba(25,77,66,.1); }
html[data-theme="light"] .home-news .news-row h3 { color: #1a3d38; }
html[data-theme="light"] .home-news .news-row p { color: #5b706b; }
html[data-theme="light"] .showcase-grid > .card:not(:first-child), html[data-theme="light"] .showcase-grid > .content-card:not(:first-child) {
  border-color: rgba(20,126,121,.14); background: linear-gradient(140deg,#fff,#eff7f4);
}
html[data-theme="light"] .showcase-grid > .card:not(:first-child) h3, html[data-theme="light"] .showcase-grid > .content-card:not(:first-child) h3,
html[data-theme="light"] .showcase-grid > .content-card:not(:first-child) h3 a { color: #1a3d38; }
html[data-theme="light"] .showcase-grid > .card:not(:first-child) p, html[data-theme="light"] .showcase-grid > .content-card:not(:first-child) p { color: #5b706b; }
html[data-theme="light"] .showcase-grid .card, html[data-theme="light"] .showcase-grid .content-card { box-shadow: 0 16px 42px rgba(25,77,66,.11); }
html[data-theme="light"] .showcase-grid .card:hover, html[data-theme="light"] .showcase-grid .content-card:hover { border-color: rgba(20,126,121,.38); box-shadow: 0 23px 52px rgba(25,77,66,.15); }
html[data-theme="light"] .card, html[data-theme="light"] .content-card, html[data-theme="light"] .aside-box,
html[data-theme="light"] .aside-card, html[data-theme="light"] .contact-form, html[data-theme="light"] .contact-panel,
html[data-theme="light"] .educash-card, html[data-theme="light"] .report-row, html[data-theme="light"] .faq-grid article,
html[data-theme="light"] .faq, html[data-theme="light"] .result {
  color: #213b36; border-color: rgba(20,126,121,.14); background: linear-gradient(145deg,#fff,#f0f7f5);
  box-shadow: 0 15px 42px rgba(25,77,66,.09);
}
html[data-theme="light"] .card h3, html[data-theme="light"] .content-card h3, html[data-theme="light"] .card-content h3,
html[data-theme="light"] .aside-box h2, html[data-theme="light"] .aside-box h3, html[data-theme="light"] .aside-card h2,
html[data-theme="light"] .contact-form h2, html[data-theme="light"] .contact-panel h2,
html[data-theme="light"] .card h3 a, html[data-theme="light"] .content-card h3 a, html[data-theme="light"] .card-content h3 a,
html[data-theme="light"] .faq summary, html[data-theme="light"] .result h3, html[data-theme="light"] .report-row h2 a { color: #1b403b; }
html[data-theme="light"] .card p, html[data-theme="light"] .content-card p, html[data-theme="light"] .card-content p,
html[data-theme="light"] .aside-box p, html[data-theme="light"] .aside-card p, html[data-theme="light"] .contact-panel p,
html[data-theme="light"] .report-row p, html[data-theme="light"] .faq p, html[data-theme="light"] .result p { color: #5b706b; }
html[data-theme="light"] .card .tag, html[data-theme="light"] .content-card .eyebrow { color: #4e702c; }
html[data-theme="light"] .tag, html[data-theme="light"] .chip { color: #38645a; border-color: rgba(20,126,121,.15); background: rgba(20,126,121,.07); }
html[data-theme="light"] .tag.amber { color: #805516; background: #fbf0d8; }
html[data-theme="light"] .card-foot { color: #6c817a; border-color: rgba(20,126,121,.14); }
html[data-theme="light"] .filter-row .chip { color: #42665e; border-color: rgba(20,126,121,.17); background: rgba(255,255,255,.82); }
html[data-theme="light"] .filter-row .chip:hover, html[data-theme="light"] .filter-row .chip.active { color: #fff; border-color: #147e79; background: #147e79; box-shadow: 0 7px 20px rgba(20,126,121,.16); }
html[data-theme="light"] .page-hero {
  color: #1d3d38; border: 0; background-color: #eaf4f1;
  background-image: radial-gradient(ellipse at 86% 0%,rgba(61,180,158,.14),transparent 35%),radial-gradient(ellipse at 35% 100%,rgba(83,145,180,.10),transparent 40%),linear-gradient(135deg,#edf6f3,#e5f1ee 68%,#edf6f4);
}
html[data-theme="light"] .page-hero::before { opacity: .33; background-image: linear-gradient(rgba(20,126,121,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(20,126,121,.07) 1px,transparent 1px); }
html[data-theme="light"] .page-hero::after { border-color: rgba(20,126,121,.18); box-shadow: 0 0 0 35px rgba(20,126,121,.025),0 0 0 83px rgba(20,126,121,.018),0 0 90px rgba(65,155,135,.08); }
html[data-theme="light"] .page-hero h1, html[data-theme="light"] .section-head > div h2, html[data-theme="light"] .page-hero h1 { color: #173d38; }
html[data-theme="light"] .page-hero h1 em { color: #147e79; }
html[data-theme="light"] .page-hero p { color: #526c66; }
html[data-theme="light"] .page-hero .eyebrow { color: #4e702c; }
html[data-theme="light"] .breadcrumb, html[data-theme="light"] .breadcrumbs { color: #6c837d; }
html[data-theme="light"] .callout, html[data-theme="light"] .editorial-note { color: #6a5734; border-color: rgba(165,106,32,.2); border-left-color: #bb812c; background: rgba(244,210,144,.19); }
html[data-theme="light"] .school-banner, html[data-theme="light"] .empty-state, html[data-theme="light"] .empty { color: #536d66; border-color: rgba(20,126,121,.18); background: rgba(232,244,240,.9); }
html[data-theme="light"] .school-banner svg, html[data-theme="light"] .school-banner strong { color: #147e79; }
html[data-theme="light"] .prose, html[data-theme="light"] .article-content, html[data-theme="light"] .article-lead { color: #4f6862; }
html[data-theme="light"] .prose h2, html[data-theme="light"] .prose h3, html[data-theme="light"] .article-content h1,
html[data-theme="light"] .article-content h2, html[data-theme="light"] .article-content h3 { color: #1a403a; }
html[data-theme="light"] .prose a, html[data-theme="light"] .article-content a { color: #147e79; }
html[data-theme="light"] .steps li, html[data-theme="light"] .faq, html[data-theme="light"] .report-row, html[data-theme="light"] .result { border-color: rgba(20,126,121,.15); }
html[data-theme="light"] .steps li::before, html[data-theme="light"] .steps b { color: #fff; background: #147e79; }
html[data-theme="light"] .form-field, html[data-theme="light"] .search-form label { color: #35534c; }
html[data-theme="light"] .form-field input, html[data-theme="light"] .form-field select, html[data-theme="light"] .form-field textarea, html[data-theme="light"] .search-form input {
  color: #203b36; border-color: #cbded8; background: rgba(255,255,255,.95); box-shadow: inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .form-field input::placeholder, html[data-theme="light"] .form-field textarea::placeholder, html[data-theme="light"] .search-form input::placeholder { color: #81958e; }
html[data-theme="light"] .form-field input:focus, html[data-theme="light"] .form-field select:focus, html[data-theme="light"] .form-field textarea:focus, html[data-theme="light"] .search-form input:focus { outline-color: rgba(20,126,121,.2); border-color: #147e79; }
html[data-theme="light"] .presets button { color: #47665e; border-color: rgba(20,126,121,.16); background: #eff7f4; }
html[data-theme="light"] .presets button.active { color: #fff; border-color: #147e79; background: #147e79; }
html[data-theme="light"] .progress-track { background: rgba(49,94,82,.14); }
html[data-theme="light"] .progress-track span { background: linear-gradient(90deg,#178e76,#38ad9c,#82a948); box-shadow: 0 0 13px rgba(36,152,124,.22); }
html[data-theme="light"] .numbers, html[data-theme="light"] .mini-note, html[data-theme="light"] .meta { color: #657d75; }
html[data-theme="light"] .numbers strong { color: #1d403a; }
html[data-theme="light"] .gallery-grid figure { border-color: rgba(20,126,121,.14); background: #fff; box-shadow: 0 15px 40px rgba(25,77,66,.1); }
html[data-theme="light"] .gallery-grid figcaption { color: #5c746d; }
html[data-theme="light"] .detail-photo, html[data-theme="light"] .article-featured { border-color: rgba(20,126,121,.17); box-shadow: 0 22px 60px rgba(25,77,66,.16); }
html[data-theme="light"] .footer, html[data-theme="light"] .site-footer { color: #e7f2ee; border-color: rgba(118,232,226,.13); background: radial-gradient(ellipse at 85% 0,rgba(45,162,145,.14),transparent 35%),#041318; }
html[data-theme="light"] .footer-brand p, html[data-theme="light"] .footer-links a, html[data-theme="light"] .footer-bottom { color: #9eb8b4; }
html[data-theme="light"] .footer h4 { color: #76e8e2; }
html[data-theme="light"] .footer-links a:hover { color: #b5f28a; }
html[data-theme="light"] .footer-bottom { border-color: rgba(118,232,226,.14); }
html[data-theme="light"] .mobile-dock { border-color: rgba(20,126,121,.17); background: rgba(250,253,252,.95); box-shadow: 0 -12px 32px rgba(25,77,66,.12); }
html[data-theme="light"] .mobile-dock a { color: #47665e; }
html[data-theme="light"] .mobile-dock a:first-child, html[data-theme="light"] .mobile-dock a:hover { color: #147e79; }
html[data-theme="light"] .dialog { color: #203b36; border-color: rgba(20,126,121,.18); background: #fbfefd; box-shadow: 0 30px 90px rgba(17,57,48,.22); }
html[data-theme="light"] .dialog-head h3, html[data-theme="light"] .dialog h3 { color: #1b403b; }
html[data-theme="light"] .dialog::backdrop { background: rgba(17,38,34,.38); }
@media (max-width: 960px) {
  html[data-theme="light"] .nav, html[data-theme="light"] .menu-list, html[data-theme="light"] .primary-navigation {
    border-color: rgba(20,126,121,.14); background: rgba(255,255,255,.98); box-shadow: 0 22px 55px rgba(25,77,66,.14);
  }
  html[data-theme="light"] .nav a, html[data-theme="light"] .menu-list a { color: #395a55; }
}
@media (max-width: 680px) {
  .header-actions > .theme-toggle { display: inline-flex; width: 38px; min-width: 38px; min-height: 38px; padding: 0; }
  .theme-toggle [data-theme-label] { display: none; }
}

/* Keep every visible text element, including controls and headings, on Comic Neue. */
html[data-theme] body,
html[data-theme] body *,
html[data-theme] body *::before,
html[data-theme] body *::after {
  font-family: "Comic Neue", "Comic Sans MS", cursive !important;
}

/* The active navigation pill already marks the current page; remove its underline. */
.nav a.active::after,
.menu-list .current-menu-item > a::after { content: none; display: none; }
