:root{ --font-serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", Times, serif; --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;  --bg: #F4F2EC; --bg2: #ECE8DF; --surface:#FFFFFF; --text:#141826; --heading: #0C1626; --muted:#4B5366; /* Core brand */ --navy: #0F1B2D; --blue: #1F3A5F; --gold: #BFA14A; /* Personality accents (bubbly + inquisitive, still premium) */ --teal:#2A8C7C; /* curiosity */ --coral:#C96B60; /* warmth */ --violet:#4D4AA6; /* innovation */ --mint:#BFF1E6; /* soft highlight */ --line: rgba(31,45,77,.12); --radius:18px; --radius2:26px; --shadow: 0 26px 70px rgba(15,22,41,.12); --shadow2: 0 14px 34px rgba(15,22,41,.10); --max:1180px;
} *{box-sizing:border-box}
body{ margin:0; background: radial-gradient(850px 520px at 10% -10%, rgba(76,125,184,.12), transparent 60%), radial-gradient(700px 480px at 55% -8%, rgba(47,183,162,.10), transparent 58%), radial-gradient(900px 560px at 95% 0%, rgba(201,163,77,.16), transparent 55%), radial-gradient(720px 520px at 86% 78%, rgba(240,123,107,.10), transparent 58%), linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%); color:var(--text); font-family: var(--font-sans); line-height:1.75; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; font-size:17px;
} .container{max-width:var(--max); margin:0 auto; padding:0 22px} h1,h2,h3,h4{ font-family: var(--font-serif); color:var(--heading); font-weight:900; letter-spacing:-.55px; margin:0 0 12px;
}
h1{font-size: clamp(34px, 4vw, 56px); line-height:1.04}
h2{font-size: clamp(26px, 2.6vw, 38px); line-height:1.15}
h3{font-size:20px; line-height:1.25} p{margin:0 0 14px}
.muted{color:var(--muted)} a{color:var(--navy); text-decoration:none; font-weight:650}
a:hover{color:var(--teal)} /* Header */
header{ position:sticky; top:0; z-index:60; background: rgba(244,242,236,.90); backdrop-filter: blur(16px); border-bottom:1px solid rgba(15,27,45,.10);}
.navbar{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px;
}
.brand{display:flex; align-items:center; gap:14px}
.brand img{height:52px;width:auto;display:block;filter: drop-shadow(0 10px 18px rgba(15,22,41,.10));}
.wordmark{display:flex; flex-direction:column; line-height:1.1}
.wordmark > div:first-child{font-weight:900; color:var(--heading); letter-spacing:-.2px}
.wordmark .tagline{margin-top:6px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.navlinks{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.navlinks a{color:var(--heading); font-weight:650; padding:7px 8px; border-radius:12px; font-size:14px; white-space:nowrap}
.navlinks a:hover{color:var(--gold); background: rgba(31,45,77,.04)}
@media(max-width:1180px){.wordmark{display:none}} /* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:14px; border:1px solid rgba(31,45,77,.16); transition: all .2s ease;
}
.btn.primary{ background: linear-gradient(135deg, var(--navy), var(--blue) 55%, #2a4d7a); color:#fff; font-weight:850; box-shadow: 0 18px 44px rgba(15,27,45,.22);}
.btn.primary:hover{filter:brightness(.99); transform: translateY(-1px)}
.btn.secondary{ background: rgba(31,45,77,.05); color: var(--navy); font-weight:750;
}
.btn.secondary:hover{ background: rgba(201,163,77,.10); border-color: rgba(201,163,77,.35);
} /* Sections */
.section{padding:84px 0}
.section.alt{background: rgba(255,255,255,.35); border-top:1px solid rgba(31,45,77,.08); border-bottom:1px solid rgba(31,45,77,.08)}
.section-header{max-width:820px; margin:0 auto 44px; text-align:center} /* Hero */
.hero{padding:86px 0 40px}
.heroGrid{display:grid; grid-template-columns: 1.35fr .95fr; gap:26px; align-items:start}
.kicker{display:flex; align-items:center; gap:10px; font-weight:850; letter-spacing:.10em; text-transform:uppercase; font-size:12px; color:var(--navy)}

/* Page-specific casing override (About page hero kicker) */
.page-about .kicker{
  text-transform:none;
  letter-spacing:.04em;
}
.kicker .dot{ width:10px;height:10px;border-radius:999px; background: linear-gradient(135deg, var(--gold), var(--coral)); box-shadow:0 0 0 7px rgba(201,163,77,.14), 0 0 0 14px rgba(47,183,162,.06);
}
.lead{font-size:18px; color:var(--muted); max-width:60ch}
.heroActions{display:flex; gap:12px; margin-top:18px; flex-wrap:wrap}
@media(max-width:980px){.heroGrid{grid-template-columns:1fr}} /* Quick links */
.quickLinks{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px}
.ql{ background: rgba(255,255,255,.78); border:1px solid rgba(31,45,77,.10); border-radius: 16px; padding:14px 14px; box-shadow: 0 10px 24px rgba(15,22,41,.07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ql:hover{transform: translateY(-2px); box-shadow: 0 18px 44px rgba(15,22,41,.10); border-color: rgba(76,125,184,.25)}
.qlTitle{font-weight:900; letter-spacing:-.2px; color:var(--heading)}
.qlSub{margin-top:4px; color:var(--muted); font-size:13px}
@media(max-width:980px){.quickLinks{grid-template-columns:1fr}} /* Cards */
.panel, .service-card, .card{ background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88)); border:1px solid rgba(31,45,77,.12); border-radius: var(--radius2); box-shadow: var(--shadow2);
}
.panel{padding:22px}
.services-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px}
.service-card{padding:28px; transition: all .25s ease}
.service-card:hover{box-shadow:var(--shadow); transform: translateY(-4px)}
.service-kicker{font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:850; color:var(--navy); opacity:.88; margin-bottom:10px}
.service-actions{margin-top:14px} /* Stats */
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.stat{ background: rgba(255,255,255,.70); border:1px solid rgba(31,45,77,.10); border-radius: 20px; padding:18px 18px; box-shadow: 0 10px 24px rgba(15,22,41,.06);
}
.statNum{font-weight:950; color:var(--heading); letter-spacing:-.2px}
.statLabel{margin-top:6px; color:var(--muted); font-size:14px}
@media(max-width:980px){.stats{grid-template-columns:1fr}} /* Deliver box */
.badge{display:inline-flex; align-items:center; gap:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; font-size:12px; color: var(--navy);}
.badge .mini{ width:10px;height:10px;border-radius:999px; background: linear-gradient(135deg, var(--teal), var(--violet)); box-shadow:0 0 0 7px rgba(47,183,162,.14);
}
.hero-deliver-box .deliverStack{margin-top:14px}
.deliverItem{padding:10px 0}
.deliverTitle{font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:900; color:var(--heading); line-height:1.2}
.deliverSub{margin-top:6px; font-family: ui-serif, Georgia, 'Times New Roman', serif; font-style:italic; font-size:14px; color:var(--muted); line-height:1.35}
.deliverDivider{height:1px; background: rgba(31,45,77,.10)} /* Banner */
.banner{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; border-radius: var(--radius2); background: radial-gradient(420px 220px at 10% 0%, rgba(47,183,162,.18), transparent 60%), radial-gradient(420px 220px at 90% 0%, rgba(240,123,107,.16), transparent 60%), linear-gradient(135deg, rgba(31,45,77,.06), rgba(201,163,77,.10)); border:1px solid rgba(31,45,77,.12); box-shadow: var(--shadow2);
}
@media(max-width:980px){.banner{flex-direction:column; align-items:flex-start}} /* Footer */
footer{ border-top:1px solid rgba(31,45,77,.14); padding:40px 0; color:var(--muted); background: #EFEAE0;
}
footer a{color:var(--navy)}
footer a:hover{color:var(--teal)} /* Quick link personality */
.ql{position:relative; overflow:hidden}
.ql::before{ content:""; position:absolute; left:0; top:0; right:0; height:4px; background: linear-gradient(90deg, var(--gold), var(--teal), var(--violet), var(--coral)); opacity:.95;
} /* Service card hover ring */
.service-card{position:relative}
.service-card::after{ content:""; position:absolute; inset:-1px; border-radius: var(--radius2); background: linear-gradient(135deg, rgba(201,163,77,.45), rgba(47,183,162,.45), rgba(122,111,240,.38), rgba(240,123,107,.40)); opacity:0; z-index:-1; transition: opacity .25s ease;
}
.service-card:hover::after{opacity:1} /* --- Personality + layout utilities --- */
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
@media(max-width:980px){.grid2{grid-template-columns:1fr}} .icon-circle{ width:40px;height:40px;border-radius:14px; display:flex;align-items:center;justify-content:center; background: rgba(255,255,255,.72); border:1px solid rgba(31,45,77,.10); box-shadow: 0 10px 22px rgba(15,22,41,.06); margin-bottom:12px;
}
.icon-circle svg{width:20px;height:20px;stroke:var(--navy);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.95} /* More color without losing polish */
.service-card h3{position:relative}
.service-card h3::after{ content:""; display:block; width:42px;height:3px;border-radius:999px; margin-top:10px; background: linear-gradient(90deg, var(--gold), var(--teal), var(--violet)); opacity:.75;
} /* --- Modern split-layout sections (university microsite feel) --- */
.split{ display:grid; grid-template-columns: 1.05fr .95fr; gap:26px; align-items:center;
}
.split-reverse{grid-template-columns: .95fr 1.05fr}
.split-reverse .splitContent{order:2}
.split-reverse .splitMedia{order:1} .splitContent h2{margin-bottom:10px}
.splitList{margin:16px 0 0; padding-left:18px}
.splitList li{margin:8px 0; color:var(--muted)}
.splitMedia{ border-radius: var(--radius2); overflow:hidden; background: linear-gradient(135deg, rgba(255,255,255,.80), rgba(255,255,255,.60)); border:1px solid rgba(31,45,77,.10); box-shadow: 0 20px 60px rgba(15,22,41,.08);
}
.splitMedia img{ width:100%; height:auto; display:block;
} @media(max-width:980px){ .split, .split-reverse{grid-template-columns:1fr} .split-reverse .splitContent{order:1} .split-reverse .splitMedia{order:2}
} /* --- Google-form-like contact layout --- */
.formWrap{ display:grid; grid-template-columns: 1.25fr .75fr; gap:22px; align-items:start;
}
.formCard{ background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88)); border:1px solid rgba(31,45,77,.12); border-radius: var(--radius2); box-shadow: var(--shadow2); overflow:hidden;
}
.formHead{ padding:22px 24px 14px; border-bottom:1px solid rgba(31,45,77,.10); background: radial-gradient(520px 240px at 15% 0%, rgba(47,183,162,.10), transparent 60%), radial-gradient(520px 240px at 90% 10%, rgba(201,163,77,.12), transparent 60%);
}
.formHead h2{margin:0 0 6px}
.req{color: var(--coral); font-weight:900}
.gform{padding:18px 24px 24px} .formGrid{ display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
.field{display:flex; flex-direction:column; gap:8px}
.field.full{grid-column:1 / -1}
label{ font-size:13px; font-weight:850; color: var(--heading); letter-spacing:.02em;
}
input, select, textarea{ width:100%; border-radius:14px; border:1px solid rgba(31,45,77,.16); padding:12px 12px; background: rgba(255,255,255,.85); color: var(--text); outline:none; box-shadow: 0 10px 22px rgba(15,22,41,.05);
}
textarea{resize:vertical; min-height:140px}
input:focus, select:focus, textarea:focus{ border-color: rgba(47,183,162,.55); box-shadow: 0 0 0 6px rgba(47,183,162,.14), 0 10px 22px rgba(15,22,41,.05);
}
.formActions{ margin-top:16px; display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap;
}
.small{font-size:13px; line-height:1.5} .formSide .card{background: rgba(255,255,255,.84)} @media(max-width:980px){ .formWrap{grid-template-columns:1fr} .formGrid{grid-template-columns:1fr}
} /* --- Clean Google-style Contact Layout --- */
.contactLayout{ display:grid; grid-template-columns: 1.4fr .8fr; gap:28px; align-items:start;
} .contactFormCard{ background:#f5f7fa; padding:40px; border-radius:18px; box-shadow:0 10px 40px rgba(15,22,41,.08); border:1px solid rgba(31,45,77,.10);
} .contactFormCard h1{margin-bottom:10px} .cleanForm .row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;
} .cleanForm .field{ display:flex; flex-direction:column; gap:6px;
} .cleanForm input,
.cleanForm textarea,
.cleanForm select{ border:1px solid #d9dde5; border-radius:10px; padding:12px; font-size:15px; background:white;
} .cleanForm textarea{resize:vertical} .submitBtn{ margin-top:20px; padding:12px 28px;
} .contactSide .sideCard{ background:#ffffff; padding:24px; border-radius:14px; box-shadow:0 8px 30px rgba(15,22,41,.06); border:1px solid rgba(31,45,77,.08); margin-bottom:20px;
} .contactSide h3{margin-bottom:10px} @media(max-width:980px){ .contactLayout{grid-template-columns:1fr} .cleanForm .row{grid-template-columns:1fr}
} .conditional{margin-top:6px} /* contact form helper text + mini links */
.hint{margin:6px 0 0; font-size:13px; color: rgba(31,45,77,.70)}
.miniLinks{margin-top:10px; display:flex; gap:10px; flex-wrap:wrap}
.miniLink{ display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background: rgba(47,183,162,.10); border:1px solid rgba(47,183,162,.20); color: var(--heading); font-weight:750; font-size:13px; text-decoration:none;
}
.miniLink:hover{background: rgba(47,183,162,.14)} /* --- Visual Refinements --- */
:root { --navy: #0F1B2D; --blue: #1F3A5F; --gold: #BFA14A; --soft-gold: #E8D9B5; --platinum: #F4F3EF;
} .section { padding: 100px 0;
} .card, .service-card, .panel { padding: 32px;
} .splitMedia img { border-radius: 22px; box-shadow: 0 30px 60px rgba(0,0,0,.12);
} .section-header, .sectionHeader { margin-bottom: 60px;
} footer { background: #E6E1D6;
} h1, h2 { letter-spacing: -0.5px;
} /* --- Subtle Hover Effects --- */
.service-card, .card, .panel { transition: transform 0.35s ease, box-shadow 0.35s ease;
} .service-card:hover, .card:hover, .panel:hover { transform: translateY(-6px); box-shadow: 0 40px 80px rgba(0,0,0,.14);
} .btn { transition: all 0.3s ease;
} .btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.18);
} .splitMedia img { transition: transform 0.4s ease;
} .splitMedia img:hover { transform: scale(1.03);
}

/* --- Typography Tightening + Rhythm --- */
:root{
  --type-max: 68ch;
}

body{
  line-height: 1.72;
  letter-spacing: 0.01em;
}

p, li{
  line-height: 1.78;
}

h1,h2,h3,h4{
  letter-spacing: -0.55px;
}

h1{ margin: 0 0 14px; }
h2{ margin: 0 0 12px; }
h3{ margin: 0 0 10px; }

.lead{
  max-width: var(--type-max);
  margin-top: 12px;
}

.sectionHeader, .section-header{
  max-width: 980px;
  margin: 0 auto 56px;
}

.sectionHeader p, .section-header p{
  max-width: var(--type-max);
}

.section{
  padding: 96px 0;
}

.section.alt{
  padding: 92px 0;
}

/* Subtle divider between major sections for visual rhythm */
.section + .section{
  border-top: 1px solid rgba(31,45,77,.06);
}

.section.alt + .section{
  border-top: 1px solid rgba(31,45,77,.08);
}

.sep{
  border: 0;
  height: 1px;
  background: rgba(31,45,77,.10);
  margin: 22px 0;
}

/* --- Icon Animations (subtle, premium) --- */
@keyframes iconFloat {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}

@keyframes iconTilt {
  0%   { transform: rotate(0deg) scale(1); }
  40%  { transform: rotate(-2deg) scale(1.03); }
  100% { transform: rotate(0deg) scale(1); }
}

.icon-circle{
  transition: transform .35s ease, box-shadow .35s ease;
  will-change: transform;
}

.service-card:hover .icon-circle,
.card:hover .icon-circle{
  animation: iconTilt .55s ease both;
}

.icon-circle:hover{
  animation: iconFloat 1.2s ease-in-out infinite;
}

/* Slightly tighter lists for scan-ability */
.list li, .splitList li{
  margin: 6px 0;
}

/* Improve card rhythm */
.card p{ margin: 0 0 10px; }
.card ul{ margin-top: 10px; }


/* --- Enhanced Leadership Visuals --- */
.leadership-section {
  background: linear-gradient(to bottom, #f8f6f1, #ffffff);
}

.centered {
  text-align: center;
}

.elevated {
  box-shadow: 0 30px 60px rgba(0,0,0,.12);
  border-radius: 18px;
}

.highlight-panel {
  margin-top: 50px;
  padding: 40px;
  border-left: 5px solid var(--gold);
  background: rgba(198,160,66,.08);
  border-radius: 16px;
}


/* --- Clean Footer Styling --- */


.clean-footer p{
  margin:8px 0;
  font-size:14px;
  color:#4a4a4a;
}

.clean-footer a{
  color:var(--navy);
  text-decoration:none;
}


/* --- Smooth links inside cards/banners (Contact + Schedule) --- */
.card a, .panel a, .banner a {
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid rgba(23,35,62,.22);
  transition: border-color .25s ease, color .25s ease, transform .25s ease;
}

.card a:hover, .panel a:hover, .banner a:hover {
  color: var(--blue);
  border-bottom-color: rgba(62,108,168,.55);
}

.card a.btn, .panel a.btn, .banner a.btn {
  border-bottom: none;
}

.card .btn, .panel .btn, .banner .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Make contact/schedule option cards look more consistent */
.contactGrid .card, .scheduleGrid .card {
  height: 100%;
}

.contactGrid .card h3, .scheduleGrid .card h3 {
  margin-bottom: 8px;
}

.contactGrid .card p, .scheduleGrid .card p {
  margin-bottom: 14px;
}


/* --- Footer alignment & layout --- */


.clean-footer .footerWrap{
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: flex-start;
  justify-content: space-between;
}

.clean-footer .footerGrid{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  align-items: center;
  justify-content: space-between;
}

.clean-footer strong{
  display:inline-block;
  margin-bottom: 4px;
}

.clean-footer .footerMeta{
  opacity: .9;
  font-size: 14px;
}

@media (max-width: 860px){
  
  .clean-footer .footerWrap,
  .clean-footer .footerGrid{
    justify-content: center;
    align-items: center;
  }
}


/* --- Box formatting polish --- */
.card, .panel, .banner{
  border-radius: 20px;
}

.card{
  overflow: hidden;
}

.grid2, .grid3, .services-grid{
  row-gap: 22px;
}

.banner{
  padding: 26px 28px;
}

.banner .btn{
  white-space: nowrap;
}


/* --- Teacher Training box consistency --- */
.panel-lg{ padding:40px; }
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
@media (max-width: 1180px){ .services-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px){ .services-grid{ grid-template-columns:1fr; } }
.service-card{ border-radius:20px; padding:28px; }


/* --- Global header/footer consistency --- */
header .container, .clean-footer .container{
  max-width: 1160px;
}


/* --- Our Story narrative --- */
.storyNarrative{
  max-width: 78ch;
  margin: 18px auto 0;
}
.storyNarrative .lead{
  font-size: 18px;
  line-height: 1.85;
}

/* --- Circular Framework Orbit --- */
.frameworkOrbit{
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
  align-items: stretch;
  margin-top: 34px;
}
.frameworkNode, .frameworkCenterInner{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(31,45,77,.08);
  border-radius: 999px;
  padding: 22px 22px;
  text-align: center;
  box-shadow: 0 22px 46px rgba(15,22,41,.06);
}
.frameworkNode h3, .frameworkCenterInner h3{
  margin: 10px 0 6px;
}
.frameworkNode p, .frameworkCenterInner p{
  margin: 0;
  max-width: 34ch;
  margin-left: auto;
  margin-right: auto;
}
.frameworkIcon{
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(198,160,66,.12);
  margin: 0 auto;
  font-size: 20px;
}

.frameworkCenter{
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  padding: 10px 0 2px;
}
.frameworkCenterInner{
  border-radius: 26px;
  padding: 26px 28px;
  background: linear-gradient(to bottom, rgba(244,243,239,.75), rgba(255,255,255,.95));
  border-left: 5px solid var(--gold);
}
@media (max-width: 760px){
  .frameworkOrbit{ grid-template-columns: 1fr; }
  .frameworkNode, .frameworkCenterInner{ border-radius: 22px; text-align: left; }
  .frameworkIcon{ margin: 0; }
}

/* Footer grid (if used) */
.clean-footer .footerGrid{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  align-items: center;
  justify-content: space-between;
}



/* --- Flowing Our Story Narrative --- */
.storyFlow{
  max-width: 78ch;
  margin: 28px auto 0;
  line-height: 1.9;
}

.storyFlow p{
  margin-bottom: 22px;
}

.storyFlow .lead{
  font-size: 19px;
  line-height: 2;
}



/* --- Founder Story Enhancements --- */
.founderStory .lead{
  font-size:20px;
  line-height:2;
}

.pullQuote{
  font-size:22px;
  font-weight:500;
  font-style:italic;
  text-align:center;
  margin:40px auto;
  max-width:680px;
  padding:20px 0;
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.08);
}

.pullQuote.subtle{
  font-size:18px;
  opacity:.85;
}

/* Ensure circular framework clean layout */
.frameworkOrbit{
  margin-top:42px;
}



/* --- Visible Circular Framework --- */
.frameworkOrbit{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:28px;
  margin-top:40px;
}

.frameworkNode,
.frameworkCenterInner{
  background:#ffffff;
  border-radius:24px;
  padding:28px;
  text-align:center;
  box-shadow:0 18px 38px rgba(0,0,0,.06);
}

.frameworkIcon{
  font-size:28px;
  margin-bottom:12px;
}

.frameworkCenter{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
}

.frameworkCenterInner{
  border-left:4px solid var(--gold);
  background:linear-gradient(to bottom,#f8f6f1,#ffffff);
}

@media (max-width:760px){
  .frameworkOrbit{ grid-template-columns:1fr; }
}



/* connecting lines */
.orbitLine{
  position:absolute;
  background: linear-gradient(to right, rgba(198,160,66,.0), rgba(198,160,66,.35), rgba(198,160,66,.0));
  opacity: .85;
}
.orbitLine-top{
  left:50%;
  top: 110px;
  transform: translateX(-50%);
  width: 4px;
  height: 140px;
  background: linear-gradient(to bottom, rgba(198,160,66,.0), rgba(198,160,66,.35), rgba(198,160,66,.0));
}
.orbitLine-bottom{
  left:50%;
  bottom: 110px;
  transform: translateX(-50%);
  width: 4px;
  height: 140px;
  background: linear-gradient(to bottom, rgba(198,160,66,.0), rgba(198,160,66,.35), rgba(198,160,66,.0));
}
.orbitLine-left{
  left: 110px;
  top:50%;
  transform: translateY(-50%);
  height: 4px;
  width: 140px;
}
.orbitLine-right{
  right: 110px;
  top:50%;
  transform: translateY(-50%);
  height: 4px;
  width: 140px;
}

/* responsive: stack into clean grid */
@media (max-width: 880px){
  .orbitFramework{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .orbitCenter, .orbitNode, .orbitLine{ position: static; transform:none; }
  .orbitCenter{ width:100%; height:auto; }
  .orbitCenterInner{ border-radius: 24px; }
  .orbitNode{ width:100%; height:auto; border-radius: 24px; text-align:left; }
  .orbitIcon{ margin: 0 0 10px 0; }
}



/* --- Our Story we-voice enhancements --- */
.weStory .lead{ font-size: 20px; line-height: 2; }



/* Outer nodes: keep perfect symmetry around the center */
.topCircle{
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.rightCircle{
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.bottomCircle{
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.leftCircle{
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* Connecting lines (center -> node) */
.orbitLine{
  position: absolute;
  left: 50%;
  top: 50%;
  transform-origin: left center;
  height: 3px;
  border-radius: 99px;
  opacity: .95;
  background: linear-gradient(to right, rgba(198,160,66,.00), rgba(198,160,66,.38), rgba(198,160,66,.00));
}

/* Line lengths are tuned for 220px nodes + 300px center visual spacing */
.lineTop{
  width: 190px;
  transform: translate(-50%, -50%) rotate(-90deg);
}
.lineRight{
  width: 190px;
  transform: translate(-50%, -50%) rotate(0deg);
}
.lineBottom{
  width: 190px;
  transform: translate(-50%, -50%) rotate(90deg);
}
.lineLeft{
  width: 190px;
  transform: translate(-50%, -50%) rotate(180deg);
}

/* Responsive: stack as clean cards; hide orbit lines */
@media (max-width: 900px){
  .orbitWrapper{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .orbitCircle{
    position: static;
    width: 100%;
    height: auto;
    border-radius: 24px;
    text-align: left;
  }
  .orbitLine{ display: none; }
  .centerCircle{ transform: none; border-left-width: 5px; }
  .topCircle,.rightCircle,.bottomCircle,.leftCircle{ transform: none; }
}


.orbitWrapper{
  position: relative;
  height: 760px;
  max-width: 1000px;
  margin: 54px auto 0;
}

.orbitSvg{
  position:absolute;
  inset: 0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.95;
}

.orbitCircle{
  position:absolute;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
  padding: 26px;
  text-align: center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 8px;
}

.orbitCircle h3{ margin: 0; }
.orbitCircle p{ margin: 0; opacity: .92; }

/* sizes */
.centerCircle{
  width: 300px;
  height: 300px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(to bottom, #f8f6f1, #ffffff);
  border-left: 6px solid var(--gold);
  box-shadow: 0 26px 60px rgba(15,22,41,.10);
}
.topCircle,.rightCircle,.bottomCircle,.leftCircle{
  width: 240px;
  height: 240px;
}

/* positions aligned to SVG endpoints: (500,110),(890,380),(500,650),(110,380) in 1000x760 */
.topCircle{ left: 50%; top: 0; transform: translate(-50%, 0); }
.bottomCircle{ left: 50%; bottom: 0; transform: translate(-50%, 0); }
.leftCircle{ left: 0; top: 50%; transform: translate(0, -50%); }
.rightCircle{ right: 0; top: 50%; transform: translate(0, -50%); }

/* Responsive: stack and hide lines */
@media (max-width: 1180px){
  .orbitWrapper{
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .orbitSvg{ display:none; }
  .orbitCircle{
    position: static;
    width: 100%;
    height: auto;
    border-radius: 24px;
    text-align: left;
  }
  .centerCircle{
    transform: none;
    border-left-width: 5px;
  }
}


/* --- Why Circle (Golden Circle) --- */
.whyCircle{
  position: relative;
  width: 720px;
  height: 720px;
  margin: 46px auto 0;
  display: grid;
  place-items: center;
}

.whyRing{
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 46px rgba(15,22,41,.06);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 34px;
}

.whyOuter{ width: 720px; height: 720px; }
.whyMiddle{ width: 500px; height: 500px; background: rgba(248,246,241,.88); }
.whyInner{ width: 300px; height: 300px; background: linear-gradient(to bottom, rgba(244,243,239,.92), rgba(255,255,255,.95)); border-left: 6px solid var(--gold); }

.whyLabel{ max-width: 46ch; }
.whyLabel h3{ margin: 0 0 10px; letter-spacing: .12em; }
.whyLabel p{ margin: 0; opacity: .92; }

@media (max-width: 900px){
  .whyCircle{
    width: 100%;
    height: auto;
    display: grid;
    gap: 16px;
  }
  .whyRing{
    position: static;
    width: 100% !important;
    height: auto !important;
    border-radius: 24px;
    text-align: left;
  }
  .whyLabel{ max-width: none; }
}



/* --- Unified Framework section layout --- */
.frameworkSplit{
  display: grid;
  grid-template-columns: 1fr;
  gap: 54px;
  margin-top: 34px;
}

.frameworkSubhead{
  margin-bottom: 10px;
}

.frameworkBlock .muted{
  margin-bottom: 18px;
}

/* scale down Why Circle inside framework */
.frameworkBlock .whyCircle{
  margin-top: 24px;
}

@media (max-width: 900px){
  .frameworkSplit{ gap: 34px; }
}




/* --- Clean Unified Framework --- */
.frameworkCore{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.coreCircle{
  width:360px;
  height:360px;
  border-radius:999px;
  background:linear-gradient(to bottom,#f8f6f1,#ffffff);
  border-left:6px solid var(--gold);
  box-shadow:0 26px 60px rgba(15,22,41,.10);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:40px;
}

.frameworkGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
  margin:60px 0;
}

.frameworkCard{
  background:#ffffff;
  border-radius:24px;
  padding:32px;
  box-shadow:0 18px 46px rgba(15,22,41,.06);
  border:1px solid rgba(0,0,0,.05);
}

.frameworkOutcome{
  display:flex;
  justify-content:center;
}

.outcomeCircle{
  width:300px;
  height:300px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 18px 46px rgba(15,22,41,.06);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:30px;
}

@media (max-width:900px){
  .frameworkGrid{ grid-template-columns:1fr; }
  .coreCircle, .outcomeCircle{
    width:100%;
    height:auto;
    border-radius:24px;
  }
}


}



/* --- Subtle Vision Pull Quote --- */
.storyVisionQuote{
  margin: 70px auto 30px;
  max-width: 820px;
  text-align: center;
  font-size: 22px;
  font-style: italic;
  line-height: 1.95;
  color: #2b2b2b;
  padding: 30px 20px;
  border-top: 1px solid rgba(198,160,66,.35);
  border-bottom: 1px solid rgba(198,160,66,.35);
  box-shadow: 0 12px 34px rgba(198,160,66,.08);
  opacity: .96;
}



/* --- Scroll reveal animation --- */
.reveal{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1s ease, transform 1s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}



/* --- Minimal Luxury Footer --- */
.lux-footer{
  background: #F4F3EF;
  padding: 70px 0 50px;
  text-align: center;
}

.lux-divider{
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, 
    rgba(198,160,66,0.0), 
    rgba(198,160,66,0.45), 
    rgba(198,160,66,0.0));
  margin-bottom: 45px;
}

.lux-footer-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.lux-brand{
  font-size: 16px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
}

.lux-meta{
  font-size: 13px;
  opacity: .65;
  letter-spacing: .08em;
}


/* --- Program Pathways Layout --- */
.packageGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 40px;
}

.packageGrid > div{
  background: #ffffff;
  padding: 32px;
  border-radius: 24px;
  box-shadow: 0 18px 46px rgba(15,22,41,.06);
  border: 1px solid rgba(0,0,0,.05);
  transition: transform .3s ease, box-shadow .3s ease;
}

.packageGrid > div:hover{
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(15,22,41,.12);
}

@media (max-width: 1100px){
  .packageGrid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px){
  .packageGrid{ grid-template-columns: 1fr; }
}





/* --- Build tag (debug) --- */
.buildTag{
  display:inline-block;
  margin: 0 auto 10px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: rgba(198,160,66,.12);
  border: 1px solid rgba(198,160,66,.22);
  opacity: .85;
}





/* --- Program Pathways Grid --- */
.pathwayGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 26px;
  align-items: stretch;
}
@media (max-width: 1100px){
  .pathwayGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px){
  .pathwayGrid{ grid-template-columns: 1fr; }
}

.categoryLabel{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(198,160,66,.85);
  margin-bottom: 14px;
  font-weight: 600;
}

.pathwayCard{
  position: relative;
  border-radius: 28px;
  padding: 34px;
  background: radial-gradient(1200px 420px at 15% 0%, rgba(198,160,66,.10), rgba(255,255,255,0) 55%),
              linear-gradient(to bottom, rgba(255,255,255,.98), rgba(248,246,241,.86));
  border: 1px solid rgba(31,45,77,.10);
  box-shadow: 0 18px 46px rgba(15,22,41,.06);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pathwayCard::before{
  content:"";
  position:absolute;
  left:0; top:0;
  height:4px;
  width:100%;
  background: linear-gradient(to right, rgba(198,160,66,.0), rgba(198,160,66,.62), rgba(198,160,66,.0));
}
.pathwayCard:hover{
  transform: translateY(-7px);
  box-shadow: 0 30px 78px rgba(15,22,41,.14);
  border-color: rgba(198,160,66,.26);
}

.pathwayCard .list{ margin-top: 14px; }
.pathwayCard .list li{ margin: 10px 0; }





/* --- Tutoring Catchy Highlight Block --- */
.highlightWow{
  display:flex;
  align-items:center;
  justify-content:center;
}

.highlightCard{
  padding:40px;
  border-radius:20px;
  background: linear-gradient(135deg, rgba(201,163,77,.08), rgba(47,183,162,.06));
  border:1px solid rgba(31,45,77,.10);
  box-shadow: 0 25px 60px rgba(15,22,41,.10);
}

.highlightCard h3{
  margin-bottom:12px;
}

.highlightCard p{
  margin-bottom:20px;
}

.highlightStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.highlightStats div strong{
  display:block;
  color:var(--heading);
  font-weight:900;
  margin-bottom:4px;
}

.highlightStats div span{
  font-size:13px;
  color:var(--muted);
}

@media(max-width:980px){
  .highlightStats{
    grid-template-columns:1fr;
  }
}


/* ===== Tutoring Page Flow Enhancements ===== */
.sectionNav .sectionHeader{margin-bottom:28px}
.navGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
@media(max-width:980px){.navGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.navGrid{grid-template-columns:1fr;}}
.navCard{
  display:block;
  padding:22px;
  border-radius:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.85));
  border:1px solid rgba(31,45,77,.08);
  box-shadow: 0 14px 40px rgba(15,22,41,.08);
  transition: all .25s ease;
}
.navCard:hover{
  transform: translateY(-4px);
  box-shadow: 0 26px 70px rgba(15,22,41,.10);
  border-color: rgba(201,163,77,.35);
}
.navKicker{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
  color: var(--navy);
  opacity:.85;
}
.navTitle{
  margin-top:8px;
  font-weight:950;
  color: var(--heading);
  letter-spacing:-.25px;
}
.navSub{
  margin-top:6px;
  font-size:13px;
  color: var(--muted);
}

/* Make long-page sections easier to scan */
.sectionHeader.centered h2{
  position:relative;
}
.sectionHeader.centered h2::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  border-radius:999px;
  margin:14px auto 0;
  background: linear-gradient(90deg, var(--gold), var(--teal), var(--violet));
  opacity:.70;
}


/* Refined pathway card styling */
.pathwayCard{
  border-radius:20px;
  border:1px solid rgba(31,45,77,.10);
  box-shadow: 0 18px 50px rgba(15,22,41,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.pathwayCard:hover{
  transform: translateY(-6px);
  box-shadow: 0 30px 80px rgba(15,22,41,.12);
}

    
/* ===== Banner Box Variants ===== */
/* Base banner refinement (sitewide) */
.banner{
  border-radius:22px;
  border:1px solid rgba(31,45,77,.10);
  background:
    radial-gradient(520px 260px at 10% 0%, rgba(47,183,162,.12), transparent 60%),
    radial-gradient(520px 260px at 90% 0%, rgba(201,163,77,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84));
  box-shadow: 0 22px 60px rgba(15,22,41,.10);
  padding:18px 18px;
}
.banner h3{letter-spacing:-.25px}
.banner .btn{border-radius:16px; padding:11px 16px}

/* NEXT banners: slightly more directional, lighter */
.banner.nextBanner{
  background:
    radial-gradient(520px 260px at 15% 0%, rgba(122,111,240,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
  border-color: rgba(122,111,240,.18);
}
.banner.nextBanner h3::before{
  content:"→ ";
  color: rgba(31,45,77,.70);
  font-weight:900;
}

/* REQUEST banners: stronger CTA emphasis */
.banner.requestBanner{
  background:
    radial-gradient(520px 260px at 85% 0%, rgba(201,163,77,.16), transparent 60%),
    radial-gradient(520px 260px at 10% 0%, rgba(47,183,162,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84));
  border-color: rgba(201,163,77,.22);
}
.banner.requestBanner h3{
  position:relative;
}
.banner.requestBanner h3::after{
  content:"";
  display:block;
  width:64px;
  height:3px;
  border-radius:999px;
  margin-top:10px;
  background: linear-gradient(90deg, var(--gold), var(--teal));
  opacity:.75;
}

/* Nationwide banner: confident, institutional */
.banner.nationwideBanner{
  background:
    radial-gradient(560px 280px at 50% -10%, rgba(31,45,77,.10), transparent 60%),
    radial-gradient(520px 260px at 15% 0%, rgba(47,183,162,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84));
  border-color: rgba(31,45,77,.18);
}
.banner.nationwideBanner h3{
  letter-spacing:-.55px;
}


/* ===== Banner Layout Adjustments ===== */

/* Make NEXT banners narrower and centered */
.banner.nextBanner{
  max-width: 760px;
  margin: 48px auto;
  padding: 20px 28px;
}

/* Make REQUEST banner larger and more prominent */
.banner.requestBanner{
  max-width: 980px;
  margin: 60px auto 20px auto;
  padding: 28px 34px;
}

/* Make Nationwide banner full-width emphasis */
.banner.nationwideBanner{
  max-width: 100%;
  margin: 50px 0;
  padding: 26px 40px;
}

/* Improve internal alignment */
.banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.banner > div{
  max-width: 70%;
}

.banner .btn{
  white-space:nowrap;
}

/* Mobile adjustments */
@media(max-width:980px){
  .banner{
    flex-direction:column;
    align-items:flex-start;
  }
  .banner > div{
    max-width:100%;
  }
  .banner.nextBanner,
  .banner.requestBanner,
  .banner.nationwideBanner{
    margin:32px 0;
    padding:20px;
  }
}


/* ===== Section Flow Divider ===== */
.flowDivider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:48px auto 28px auto;
  max-width:680px;
}

.flowLine{
  flex:1;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(31,45,77,.25), transparent);
}

.flowText{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(31,45,77,.55);
}


/* ===== Layout Adjustment: Remove 3-in-a-row ===== */

/* Change highlightStats from 3 columns to 2 with centered final item */
.highlightStats{
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.highlightStats div:nth-child(3){
  grid-column: span 2;
  text-align:center;
}

/* Change pricing/pathway cards to 2 per row */
.pathwayGrid{
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
}

/* If odd number of cards, center last */
.pathwayGrid > *:nth-child(odd):last-child{
  grid-column: span 2;
  max-width: 520px;
  margin: 0 auto;
}

/* Navigation grid adjustment (if 4 wide) */
.navGrid{
  grid-template-columns: repeat(2, minmax(0,1fr));
}

/* Improve spacing after reducing columns */
.pathwayGrid,
.highlightStats,
.navGrid{
  gap: 22px;
}

/* Mobile remains single column */
@media(max-width:768px){
  .highlightStats,
  .pathwayGrid,
  .navGrid{
    grid-template-columns: 1fr !important;
  }
}


/* ===== Tutoring Page Closing Section ===== */
.closingGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
  margin-top:22px;
}
@media(max-width:980px){
  .closingGrid{grid-template-columns:1fr;}
}
.closingCard{
  border-radius:24px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.78));
  border:1px solid rgba(31,45,77,.10);
  box-shadow: 0 18px 50px rgba(15,22,41,.08);
  padding:16px;
}

/* Make banners inside the closing section look integrated */
#closing .banner{
  margin:0;
  max-width:none;
  box-shadow:none;
  border:0;
  background: transparent;
  padding:8px 6px;
}
#closing .banner > div{max-width:100%;}
#closing .banner .btn{border-radius:16px;}

#closing .banner.nextBanner,
#closing .banner.requestBanner,
#closing .banner.nationwideBanner{
  margin:0 !important;
  padding:8px 6px !important;
  max-width:none !important;
}

/* --- Refined 3 Pillars (Text-friendly) --- */
.pillars-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:64px;
  margin-top:60px;
}
.pillar h3{
  font-size:20px;
  margin-bottom:12px;
  position:relative;
}
.pillar h3::after{
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin-top:8px;
  background:var(--gold);
  opacity:.6;
}
.pillar p{
  font-size:15.5px;
  line-height:1.75;
  margin-bottom:14px;
  max-width:46ch;
}
.pillar ul{
  list-style:none;
  padding-left:0;
  margin:0 0 14px;
}
.pillar ul li{
  font-size:14.5px;
  margin-bottom:6px;
  color:var(--muted);
}
@media(max-width:980px){
  .pillars-grid{ grid-template-columns:1fr; gap:36px; }
}

/* =========================
   Executive Polish (Home)
   ========================= */

/* Tighter rhythm + readable line length */
:root{
  --type-max: 70ch;
}

.lead{
  max-width: var(--type-max);
}

/* Hero: cleaner spacing + better balance */
.hero{
  padding: 86px 0 46px;
}
.heroGrid{
  gap: 30px;
  align-items: start;
}
.hero .kicker{
  margin-bottom: 10px;
}
.hero h1{
  margin-bottom: 14px;
  max-width: 22ch;
}
.hero .heroActions{
  margin-top: 18px;
}
.hero .quickLinks{
  margin-top: 22px;
}

/* Executive “model panel” */
.exec-model{
  padding: 24px;
}
.exec-model .badge{
  margin-bottom: 10px;
}
.exec-model .deliverTitle{
  letter-spacing: .16em;
}

/* 3 Pillars: more text-friendly + consistent visual weight */
.section-header p{
  max-width: var(--type-max);
}

.pillars-grid{
  gap: 56px;
  margin-top: 54px;
}
.pillar{
  max-width: 52ch;
}
.pillar h3{
  font-size: 21px;
}
.pillar p{
  font-size: 15.75px;
  line-height: 1.78;
}
.pillar ul li{
  line-height: 1.55;
}

/* Make miniLink look intentional inside pillars */
.pillar .miniLink{
  margin-top: 2px;
}

/* Subtle section divider rhythm (homepage only if you want) */
.home-divider{
  border: 0;
  height: 1px;
  background: rgba(31,45,77,.10);
  margin: 12px 0 0;
}

/* Improve quick links readability */
.qlTitle{
  font-size: 14.5px;
}
.qlSub{
  font-size: 13px;
}

/* Mobile refinements */
@media(max-width:980px){
  .hero{
    padding: 72px 0 40px;
  }
  .hero h1{
    max-width: 26ch;
  }
  .pillars-grid{
    margin-top: 42px;
    gap: 34px;
  }
}

/* ===============================
   Final Typography Micro-Polish
   =============================== */

/* Improve global readability */
body{
  letter-spacing: 0.01em;
}

/* Headline refinement */
h1{
  font-weight: 900;
  letter-spacing: -0.6px;
  line-height: 1.08;
}

h2{
  font-weight: 800;
  letter-spacing: -0.4px;
  line-height: 1.18;
}

h3{
  font-weight: 700;
  letter-spacing: -0.2px;
}

/* Improve paragraph rhythm */
p{
  font-size: 16px;
  line-height: 1.8;
}

/* Lead text slightly elevated */
.lead{
  font-size: 18px;
  line-height: 1.85;
}

/* Reduce visual heaviness of muted text */
.muted{
  opacity: 0.85;
}

/* Tighten lists for elegance */
ul li{
  line-height: 1.6;
}

/* Button typography refinement */
.btn{
  font-weight: 750;
  letter-spacing: 0.02em;
}

/* Section header spacing */
.section-header h2{
  margin-bottom: 14px;
}

.section-header p{
  font-size: 16px;
  line-height: 1.75;
  margin-top: 6px;
}

/* Improve vertical rhythm between sections */
.section{
  padding-top: 100px;
  padding-bottom: 100px;
}

/* Hero headline refinement */
.hero h1{
  max-width: 20ch;
}

/* Mobile typography scaling */
@media (max-width: 1180px){
  h1{
    line-height: 1.15;
  }
  .lead{
    font-size: 17px;
  }
  .section{
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* ======================================
   3 Pillars Alignment Fix (Homepage)
   ====================================== */

.pillars-grid{
  align-items: start;
}

.pillar{
  max-width: none;   /* remove uneven column width constraint */
}

.pillar h3,
.pillar p,
.pillar ul{
  text-align: left;
}

.pillar ul{
  margin-top: 6px;
}

.pillar ul li{
  margin-left: 0;
}

/* Ensure consistent vertical spacing */
.pillar p{
  margin-bottom: 12px;
}

.pillar .miniLink{
  display: inline-block;
  margin-top: 6px;
}

/* ======================================
   3 Pillars Description Alignment (Home)
   ====================================== */

.pillars-grid{
  align-items: stretch;
}

.pillar{
  display: flex;
  flex-direction: column;
}

.pillar p{
  min-height: 4.9em; /* aligns description blocks across columns */
}

.pillar ul{
  margin-top: 8px;
  flex: 0 0 auto;
}

.pillar .miniLink{
  margin-top: auto; /* push CTA to bottom so columns align */
  align-self: flex-start;
}

@media(max-width:980px){
  .pillar p{ min-height: 0; }
  .pillar .miniLink{ margin-top: 10px; }
}

/* ======================================
   Center 3 Pillars Section Subtitle
   ====================================== */

#signature-services .section-header p{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 64ch;
}

/* ======================================
   Center Our Values Section Header
   ====================================== */

.section.alt .section-header.centered{
  text-align: center;
}

.section.alt .section-header.centered p{
  margin-left: auto;
  margin-right: auto;
  max-width: 64ch;
  text-align: center;
}

/* ======================================
   Founder Signature Block
   ====================================== */

.founder-signature{
  margin-top: 40px;
  margin-bottom: 60px;
  text-align: left;
  max-width: 52ch;
}

.signature-line{
  font-style: italic;
  margin-bottom: 6px;
}

.signature-name{
  font-weight: 700;
  letter-spacing: -0.2px;
  margin-bottom: 2px;
}

.signature-title{
  font-size: 14px;
  color: var(--muted);
}

/* ======================================
   Center Tutoring Engagement Section Header
   ====================================== */

#academic-engagement .section-header,
.section.engagement .section-header{
  text-align: center;
}

#academic-engagement .section-header p,
.section.engagement .section-header p{
  margin-left: auto;
  margin-right: auto;
  max-width: 64ch;
  text-align: center;
}

/* ======================================
   Tutoring Page – Engagement Header Alignment Fix
   ====================================== */

/* Force center alignment specifically on tutoring page */
body.tutoring-page .section-header,
body.tutoring-page .section-header h2,
body.tutoring-page .section-header p{
  text-align: center !important;
}

body.tutoring-page .section-header p{
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 66ch;
}

/* Fallback if body class not present */
.section-header.engagement-center,
.section-header.engagement-center h2,
.section-header.engagement-center p{
  text-align: center !important;
}
.section-header.engagement-center p{
  margin-left: auto;
  margin-right: auto;
  max-width: 66ch;
}

/* ======================================
   Guaranteed Center Fix – Tutoring Engagement
   ====================================== */

.engagement-center{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.engagement-center h2{
  text-align: center !important;
}

.engagement-center p{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 68ch !important;
}

/* ======================================
   FINAL CENTER FIX – Tutoring Header
   ====================================== */

/* Remove any grid or flex influence */
.engagement-center{
  width: 100% !important;
  display: block !important;
  text-align: center !important;
}

/* Center the heading */
.engagement-center h2{
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Perfect subtitle centering */
.engagement-center p{
  display: block !important;
  margin: 18px auto 0 auto !important;
  text-align: center !important;
  max-width: 760px !important;
}

/* Ensure parent container is not offset */
.tutoring-page .container{
  text-align: center;
}

/* ======================================
   TRUE CENTER – Program Pathways Header
   ====================================== */

#program-pathways .sectionHeader.centered{
  text-align: center !important;
}

#program-pathways .sectionHeader.centered h2{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#program-pathways .sectionHeader.centered p{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 72ch !important;
}

/* ======================================
   Center Our Story Section
   ====================================== */

.weStory{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 72ch;
}

.weStory p{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.weStory .lead{
  text-align: center;
}

/* ======================================
   Center Our Story Title + Signature
   ====================================== */

/* Center the Our Story section header */
#our-story .sectionHeader,
#our-story .section-header{
  text-align: center !important;
}

#our-story .sectionHeader h2,
#our-story .section-header h2{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Center founder signature block */
.founder-signature{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.signature-line,
.signature-name,
.signature-title{
  text-align: center !important;
}

/* ======================================
   TRUE CENTER – Our Story Title
   ====================================== */

/* Target the exact Our Story heading regardless of wrapper */
h2:has(+ .storyFlow),
.sectionHeader h2:has(+ .storyFlow),
.section-header h2:has(+ .storyFlow){
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fallback universal rule for safety */
#our-story h2,
.section.our-story h2{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ======================================
   Center Student Services Hero Section
   ====================================== */

body.tutoring-page .hero,
body.student-services-page .hero{
  text-align: center;
}

body.tutoring-page .hero h1,
body.student-services-page .hero h1{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.tutoring-page .hero .lead,
body.student-services-page .hero .lead{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 72ch !important;
}

/* ======================================
   Tutoring Page – Academic Program Heading Fix
   ====================================== */

/* Center hero content cleanly */
.student-services-page .hero,
.tutoring-page .hero{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Center kicker line */
.student-services-page .kicker,
.tutoring-page .kicker{
  justify-content: center !important;
  text-align: center !important;
}

/* Center main heading */
.student-services-page .hero h1,
.tutoring-page .hero h1{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Remove any left padding offset */
.student-services-page .hero *,
.tutoring-page .hero *{
  margin-left: auto;
  margin-right: auto;
}

/* ======================================
   Teacher Page Cleanup Refinement
   ====================================== */

.teacher-page .hero{
  text-align: center;
}

.teacher-page .hero h1,
.teacher-page .hero .lead{
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  text-align: center;
}

.teacher-page .card p{
  line-height: 1.75;
}

/* ======================================
   Institutional Teacher Page Styling
   ====================================== */

.teacher-credibility{
  text-align: center;
}

.credibility-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.teacher-page .hero h1{
  max-width: 22ch;
}

@media(max-width:980px){
  .credibility-grid{
    grid-template-columns: 1fr;
  }
}

/* ======================================
   Teacher Page Refinement v2
   ====================================== */

.teacher-page .hero{
  text-align: center;
}

.teacher-page .hero h1{
  max-width: 24ch;
  margin: 0 auto;
}

.teacher-page .hero .lead{
  max-width: 760px;
  margin: 20px auto 0 auto;
}

.teacher-page .card p{
  line-height: 1.75;
  font-size: 15.5px;
}

/* ======================================
   Center Leadership Advancement Section
   ====================================== */

.leadership-center-target{
  display: block;
  text-align: center !important;
}

.leadership-center-target + *{
  text-align: center !important;
}

.section:has(.leadership-center-target){
  text-align: center !important;
}

.section:has(.leadership-center-target) .lead{
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  max-width: 900px;
}


/* --- Mobile nav: hamburger toggle --- */
/* Prevent horizontal scroll issues on mobile */
html, body{ overflow-x:hidden; }
img{ max-width:100%; height:auto; }

/* Mobile navigation toggle (no HTML edits required; JS injects button) */
.navToggle{ display:none; }

@media (max-width: 1180px){
  header .navbar{ flex-wrap: wrap; }
  .navToggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid rgba(31,45,77,.16);
    background: rgba(255,255,255,.75);
    font-weight:850;
    margin-left:auto;
  }

  /* Hide inline nav by default on small screens */
  .navlinks{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:12px 0 6px;
  }

  /* When open (toggled by JS) */
  body.nav-open .navlinks{ display:flex; }

  /* Bigger tap targets */
  .navlinks a{
    padding:12px 12px;
    border-radius:12px;
    background: rgba(255,255,255,.70);
  }
}

/* Phone-specific spacing + tap targets */
@media (max-width: 640px){
  .hero{ padding: 56px 0 24px; }
  .section{ padding: 70px 0; }

  /* Make primary actions easy to tap */
  .btn{ width:100%; }
  .heroActions{ width:100%; }
  .heroActions .btn{ width:100%; }
}

/* --- Division toggle (Homepage) --- */
.segToggle{
  display:flex;
  gap:10px;
  margin: 18px 0 10px;
  justify-content:center;
  flex-wrap:wrap;
}
.segToggle .btn.secondary{
  padding:10px 14px;
}
.segToggle .btn.secondary.is-active{
  background: rgba(201,163,77,.12);
  border-color: rgba(201,163,77,.38);
}
@media (min-width: 1181px){
  .segToggle{ display:none; } /* desktop shows both cards side-by-side */
}
@media (max-width: 1180px){
  .splitDivisions[data-active="institutional"] [data-division="student"]{ display:none; }
  .splitDivisions[data-active="student"] [data-division="institutional"]{ display:none; }
}

/* Institutional Typography Upgrade */
h1{font-size:2.8rem;letter-spacing:-0.5px;font-weight:900;}
h2{font-size:2.1rem;font-weight:800;margin-bottom:14px;}
h3{font-size:1.35rem;font-weight:750;letter-spacing:0.2px;}
.lead{font-size:1.15rem;line-height:1.75;max-width:780px;}
.ctaBand h2{font-size:2rem;font-weight:800;}


/* Elite Contrast Refinement */
:root{
  --muted: rgba(230,236,248,.78);
}
body{
  color: rgba(235,240,252,.90);
}
.navlinks a:hover{color: var(--gold); background: rgba(201,163,77,.10);}
.panel{
  border:1px solid rgba(255,255,255,.06);
}


/* Subtle Reveal Animations */
.reveal{
  opacity:0;
  transform: translateY(12px);
  transition: opacity .55s ease, transform .55s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}


/* Header CTA visibility */
@media (max-width: 1180px){
  header .btn.primary{ display:none; }
}

/* Global Font Visibility & Contrast Upgrade */

/* Base text color */
body{
  color: #F2F5FB; /* brighter primary text */
}

/* Headings stronger contrast */
h1, h2, h3, h4, h5, h6{
  color: #FFFFFF;
}

/* Muted text improved for readability */
.muted{
  color: rgba(255,255,255,0.82);
}

/* Lead paragraph stronger clarity */
.lead{
  color: rgba(255,255,255,0.92);
}

/* Navigation links */
.navlinks a{
  color: #FFFFFF;
}

.navlinks a:hover{
  color: #D4AF37; /* refined academic gold */
}

/* Panel text */
.panel{
  color: #F2F5FB;
}

/* Buttons */
.btn.secondary{
  color: #FFFFFF;
}

.btn.primary{
  color: #FFFFFF;
}

/* Footer contrast */
.lux-footer{
  color: rgba(255,255,255,0.85);
}

/* ===== Strong Global Contrast Fix ===== */

/* Force readable text everywhere */
body, p, li, span, div {
    color: #FFFFFF !important;
}

/* Headings pure white */
h1, h2, h3, h4, h5, h6 {
    color: #FFFFFF !important;
}

/* Muted text now light gray but readable */
.muted {
    color: #E6EAF2 !important;
}

/* Lead text slightly softer but visible */
.lead {
    color: #F5F7FC !important;
}

/* Navigation links */
.navlinks a {
    color: #FFFFFF !important;
}

.navlinks a:hover {
    color: #C9A34D !important;
}

/* Panels ensure readable */
.panel, .panel p, .panel li {
    color: #FFFFFF !important;
}

/* Footer text readable */
.lux-footer, .lux-footer * {
    color: #E6EAF2 !important;
}

/* Buttons text forced visible */
.btn, .btn.primary, .btn.secondary {
    color: #FFFFFF !important;
}

/* ===== Panel & Gradient Contrast Refinement ===== */

/* Darker, richer background base */
body{
    background: linear-gradient(180deg, #0B1424 0%, #0F1C33 60%, #0C1628 100%);
}

/* Panels deeper contrast */
.panel{
    background: linear-gradient(180deg, rgba(22,34,58,0.95) 0%, rgba(18,28,48,0.95) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 8px 28px rgba(0,0,0,0.35);
}

/* Hero panel refinement */
.hero-deliver-box{
    background: linear-gradient(180deg, rgba(25,40,68,0.98) 0%, rgba(20,32,55,0.98) 100%);
    border: 1px solid rgba(255,255,255,0.10);
}

/* Section separation */
.section{
    background: transparent;
}

/* CTA band clearer separation */
.ctaBand{
    background: linear-gradient(135deg, rgba(201,163,77,0.15), rgba(20,32,55,0.85));
    border: 1px solid rgba(201,163,77,0.35);
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

/* Footer deeper tone */
.lux-footer{
    background: #0A1322;
    border-top: 1px solid rgba(255,255,255,0.08);
}

/* ===== Ivy-League Clean Refinement ===== */

/* Simplified background — deep academic navy */
body{
    background: #0E1A2B;
    color: #F8FAFF;
}

/* Headings */
h1, h2, h3, h4, h5, h6{
    color: #FFFFFF;
}

/* Primary body text */
p, li{
    color: #E6ECF5;
}

/* Muted text — still readable */
.muted{
    color: #C9D3E3;
}

/* Lead text slightly brighter */
.lead{
    color: #F0F4FA;
}

/* Panels — flat, clean, no heavy gradients */
.panel{
    background: #142337;
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* Hero panel */
.hero-deliver-box{
    background: #162943;
    border: 1px solid rgba(255,255,255,0.08);
}

/* CTA band — subtle gold accent */
.ctaBand{
    background: #172A42;
    border: 1px solid rgba(201,163,77,0.4);
}

/* Footer simplified */
.lux-footer{
    background: #0A1422;
    color: #D6DEEB;
}

/* Navigation */
.navlinks a{
    color: #F5F8FF;
}

.navlinks a:hover{
    color: #C9A34D;
}

/* Buttons */
.btn.primary{
    background: #1F3554;
    border: 1px solid rgba(201,163,77,0.4);
    color: #FFFFFF;
}

.btn.secondary{
    background: #1A2C45;
    border: 1px solid rgba(255,255,255,0.08);
    color: #F0F4FA;
}


/* ===== FINAL PALETTE: Yale Navy + Soft Ivory ===== */

/* Base background */
body {
    background-color: #0F2341; /* Yale navy */
    color: #F4F1E8; /* soft ivory */
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #FFFFFF;
}

/* Body text */
p, li {
    color: #EDE7DA; /* warm ivory */
}

/* Muted text */
.muted {
    color: #CFC6B4; /* soft warm gray */
}

/* Lead paragraphs */
.lead {
    color: #F4F1E8;
}

/* Panels */
.panel {
    background-color: #132B4F; /* slightly lighter navy */
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}

/* Hero highlight panel */
.hero-deliver-box {
    background-color: #16325C;
    border: 1px solid rgba(255,255,255,0.08);
}

/* CTA band */
.ctaBand {
    background-color: #162F55;
    border: 1px solid rgba(201,163,77,0.35);
}

/* Footer */
.lux-footer {
    background-color: #0A1B32;
    color: #E6DDCC;
    border-top: 1px solid rgba(255,255,255,0.05);
}

/* Navigation */
.navlinks a {
    color: #F4F1E8;
}

.navlinks a:hover {
    color: #C9A34D; /* refined gold */
}

/* Buttons */
.btn.primary {
    background-color: #1B3D6D;
    border: 1px solid rgba(201,163,77,0.5);
    color: #FFFFFF;
}

.btn.secondary {
    background-color: #1A3357;
    border: 1px solid rgba(255,255,255,0.08);
    color: #F4F1E8;
}

/* Ensure all nested text remains visible */
.section, .section * {
    color: inherit;
}


/* ===== Contrast & Readability System v2 ===== */

/* Base background */
body {
    background-color: #0E223F; /* deep academic navy */
}

/* Primary text */
body, p, li {
    color: #F8F6F0; /* soft ivory white */
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #FFFFFF;
}

/* Lead text */
.lead {
    color: #F4F1E8;
}

/* Muted text – now clearly readable */
.muted {
    color: #D8D1C2;
}

/* Panels */
.panel {
    background-color: #142B4F;
    color: #F8F6F0;
}

/* Hero panel */
.hero-deliver-box {
    background-color: #17345F;
}

/* Navigation */
.navlinks a {
    color: #F8F6F0;
}

.navlinks a:hover {
    color: #D4AF37; /* academic gold */
}

/* Footer */
.lux-footer {
    background-color: #0A1A30;
    color: #EDE7DA;
}

/* Buttons */
.btn.primary {
    background-color: #1E3F70;
    color: #FFFFFF;
}

.btn.secondary {
    background-color: #1B355A;
    color: #F8F6F0;
}

/* Ensure nested text inherits readable color */
.section, .section * {
    color: inherit;
}



/* ===== Visibility Patch: Headings & Hero Boxes ===== */
.kicker{ color: rgba(248,246,240,0.92) !important; }
.kicker .dot{ box-shadow: 0 0 0 8px rgba(201,163,77,.16) !important; }
.badge{ color: rgba(248,246,240,0.90) !important; }
.deliverTitle{ color: #FFFFFF !important; }
.deliverSub{ color: rgba(248,246,240,0.86) !important; }
.deliverDivider{ background: rgba(248,246,240,0.14) !important; }

/* Checklist contrast (if used) */
.checklist li{ color: rgba(248,246,240,0.90) !important; }

/* Footer social icons */
.lux-footer-inner{ display:flex; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.lux-social{ display:flex; gap:12px; align-items:center; }
.socialLink{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px;
  border:1px solid rgba(255,255,255,0.10); background: rgba(255,255,255,0.03); color: #F4F1E8; }
.socialLink:hover{ background: rgba(201,163,77,0.12); border-color: rgba(201,163,77,0.35); color:#FFFFFF; }
.socialLink i{ font-size:18px; }


/* ===== Header Branding Fix ===== */
.wordmark > div:first-child{
  text-transform:none;
  letter-spacing:0;
  font-weight:800;
  font-size:20px;
  color:#0F2341;
}

.wordmark .tagline{
  text-transform:none;
  letter-spacing:.06em;
  font-size:11px;
  color:#2A3E5F;
}

/* Improve nav contrast */
.navlinks a{
  color:#0F2341 !important;
  font-weight:600;
}

.navlinks a:hover{
  color:#1F3A5F !important;
}

header{
  background:#F4F1E8 !important;
  border-bottom:1px solid rgba(15,35,65,.12);
}


/* ===== Box Heading Contrast Upgrade ===== */
.panel h1, .panel h2, .panel h3{
  color:#FFFFFF !important;
}

.hero h1{
  color:#FFFFFF !important;
}

.section h2{
  color:#0F2341;
}



/* ===== GLOBAL HARD COLOR RESET ===== */

/* Remove beige gradient backgrounds */
body{
  background:#0F2341 !important;
  color:#F4F1E8 !important;
}

/* Remove radial gradients if still applied */
body{
  background-image:none !important;
}

/* All sections default to navy background */
.section{
  background:#0F2341 !important;
}

/* Headings */
h1,h2,h3,h4,h5,h6{
  color:#FFFFFF !important;
}

/* Paragraphs */
p, li, span{
  color:#E9E3D7 !important;
}

/* Muted text still visible */
.muted{
  color:#CFC6B4 !important;
}

/* Hero area fix */
.hero{
  background:#0F2341 !important;
}

/* Panels */
.panel{
  background:#162F55 !important;
  color:#F4F1E8 !important;
  border:1px solid rgba(255,255,255,0.08) !important;
}

/* Deliver boxes */
.deliverTitle{
  color:#FFFFFF !important;
}

.deliverSub{
  color:#E9E3D7 !important;
}

/* Kicker + badge */
.kicker, .badge{
  color:#F4F1E8 !important;
}

/* Header */
header{
  background:#F4F1E8 !important;
}

.wordmark > div:first-child{
  color:#0F2341 !important;
}

.wordmark .tagline{
  color:#1F3A5F !important;
}

/* Nav links */
.navlinks a{
  color:#0F2341 !important;
}

/* Footer cleanup */
.lux-footer{
  background:#0B1B33 !important;
}

.lux-footer h2, 
.lux-footer h3{
  text-transform:none !important;
  letter-spacing:0 !important;
  color:#FFFFFF !important;
}

.lux-footer p{
  color:#D6DEEB !important;
}

/* Remove duplicate icon styling blocks if present */
.lux-social .socialLink{
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
}



/* ===== Dropdown Visibility Fix ===== */

/* Select fields */
select {
  background-color: #F4F1E8 !important;   /* light ivory background */
  color: #0F2341 !important;              /* dark navy text */
  border: 1px solid #CFC6B4 !important;
  padding: 10px 12px;
  font-weight: 500;
}

/* Dropdown options (when opened) */
select option {
  background-color: #FFFFFF;
  color: #0F2341;
}

/* Focus state */
select:focus {
  outline: none;
  border: 1px solid #1F3A5F !important;
  box-shadow: 0 0 0 2px rgba(31,58,95,0.2);
}

/* Placeholder-style first option */
select option[value=""] {
  color: #6B7280;
}


/* ===== Premium Dropdown Styling ===== */

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-color: #F4F1E8;
  color: #0F2341;

  border: 1px solid rgba(15,35,65,0.15);
  border-radius: 14px;
  padding: 12px 40px 12px 14px;

  font-size: 15px;
  font-weight: 500;

  box-shadow: 0 6px 18px rgba(15,35,65,0.08);
  transition: all 0.2s ease-in-out;

  background-image: linear-gradient(45deg, transparent 50%, #1F3A5F 50%),
                    linear-gradient(135deg, #1F3A5F 50%, transparent 50%);
  background-position: calc(100% - 20px) calc(50% - 3px),
                       calc(100% - 15px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

select:hover {
  box-shadow: 0 8px 22px rgba(15,35,65,0.12);
}

select:focus {
  outline: none;
  border: 1px solid #1F3A5F;
  box-shadow: 0 0 0 3px rgba(31,58,95,0.15);
}

/* Dropdown option list */
select option {
  background-color: #FFFFFF;
  color: #0F2341;
  padding: 10px;
}



/* ===== Premium Form Inputs + Label Micro-Animations ===== */
form label{
  display:block;
  margin: 6px 0 8px;
  font-weight: 650;
  color: rgba(244,241,232,0.92);
  transition: transform .18s ease, color .18s ease, opacity .18s ease;
}

form .req{
  color: #D4AF37;
}

form div:focus-within > label{
  transform: translateY(-2px);
  color: #FFFFFF;
}

input, textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(15,35,65,0.16);
  background: #F4F1E8;
  color: #0F2341;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 500;
  box-shadow: 0 6px 18px rgba(15,35,65,0.08);
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

textarea{
  min-height: 140px;
  resize: vertical;
  padding-top: 12px;
}

input::placeholder, textarea::placeholder{
  color: rgba(15,35,65,0.55);
}

input:hover, textarea:hover{
  box-shadow: 0 8px 22px rgba(15,35,65,0.12);
}

input:focus, textarea:focus{
  outline:none;
  border-color: #1F3A5F;
  box-shadow: 0 0 0 3px rgba(31,58,95,0.15);
  transform: translateY(-1px);
}

/* Match select style to inputs (override earlier) */
select{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(15,35,65,0.16);
  background-color: #F4F1E8;
  color: #0F2341;
  padding: 12px 40px 12px 14px;
  font-size: 15px;
  font-weight: 500;
  box-shadow: 0 6px 18px rgba(15,35,65,0.08);
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

select:hover{
  box-shadow: 0 8px 22px rgba(15,35,65,0.12);
}

select:focus{
  outline:none;
  border-color: #1F3A5F;
  box-shadow: 0 0 0 3px rgba(31,58,95,0.15);
  transform: translateY(-1px);
}

select option{
  background:#FFFFFF;
  color:#0F2341;
}


/* ===== School Partnerships Section Contrast Fix ===== */

/* If cards use light background */
.section .panel{
  background:#F4F1E8 !important;
  color:#0F2341 !important;
}

/* Card headings inside light panels */
.section .panel h3,
.section .panel h2{
  color:#0F2341 !important;
}

/* Card paragraph text */
.section .panel p{
  color:#243B5E !important;
}

/* Accent line inside cards */
.section .panel .deliverDivider{
  background: linear-gradient(90deg,#C9A34D,#4F6D9B) !important;
}

/* Section heading */
.section h1,
.section h2{
  color:#FFFFFF !important;
}

/* Section lead paragraph */
.section > .container > p,
.section .lead{
  color:#E9E3D7 !important;
}



/* ===== INDEX PAGE CONTRAST FIX ===== */

/* Light feature panels on homepage */
.home .panel,
.section .feature-panel,
.section .home-panel{
  background:#F4F1E8 !important;
  color:#0F2341 !important;
}

/* Headings inside homepage light panels */
.home .panel h1,
.home .panel h2,
.home .panel h3{
  color:#0F2341 !important;
}

/* Paragraph text inside homepage panels */
.home .panel p,
.home .panel li{
  color:#243B5E !important;
}

/* Large statement band (Founded by...) */
.home .statement-band,
.home .cta-band{
  background:#162F55 !important;
  color:#FFFFFF !important;
}

.home .statement-band p,
.home .cta-band p{
  color:#E9E3D7 !important;
}

/* Ensure buttons remain high contrast */
.home .btn.primary{
  background:#1F3A5F !important;
  color:#FFFFFF !important;
}



/* ===== Institutional Page: Light Card Readability + Two-Column Layout ===== */

/* Default card/panel surfaces are light -> use dark text for readability */
.panel, .card, .service-card{
  background:#F4F1E8 !important;
  color:#0F2341 !important;
}
.panel h1, .panel h2, .panel h3,
.card h1, .card h2, .card h3,
.service-card h1, .service-card h2, .service-card h3{
  color:#0F2341 !important;
}
.panel p, .panel li,
.card p, .card li,
.service-card p, .service-card li{
  color:#243B5E !important;
}
.panel .muted, .card .muted, .service-card .muted{
  color:#2F466A !important;
}

/* Keep dark hero feature box as dark */
.hero-deliver-box{
  background:#162F55 !important;
  color:#F4F1E8 !important;
}
.hero-deliver-box .deliverTitle{ color:#FFFFFF !important; }
.hero-deliver-box .deliverSub{ color:#E9E3D7 !important; }
.hero-deliver-box .badge{ color:#F4F1E8 !important; }

/* Two-column cards for Institutional PD section */
.grid.three{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:22px;
}
@media (max-width: 860px){
  .grid.three{ grid-template-columns:1fr; }
}

/* Ensure section headings on navy backgrounds stay visible */
.section > .container > h1,
.section > .container > h2,
.section > .container > h3{
  color:#FFFFFF !important;
}
.section > .container > .muted,
.section > .container > .lead{
  color:#E9E3D7 !important;
}


/* ===== Footer Brand Case Fix ===== */
.lux-brand{
  text-transform:none !important;
  letter-spacing:.14em;
  color: rgba(244,241,232,0.92) !important;
}
.lux-meta{
  color: rgba(244,241,232,0.72) !important;
}


/* ===== PROFESSIONAL DEVELOPMENT PAGE FIX ===== */

/* Target light cards on PD page */
.section .panel{
  background:#F4F1E8 !important;
  color:#0F2341 !important;
}

/* Headings inside those panels */
.section .panel h3,
.section .panel h2{
  color:#0F2341 !important;
}

/* Bullet + paragraph text */
.section .panel p,
.section .panel li{
  color:#243B5E !important;
}

/* Ensure checklist bullets visible */
.checklist li::marker{
  color:#C9A34D !important;
}



/* ===== Teacher Development Page Card Contrast Fix ===== */
body.teacher-development .service-card,
body.teacher-development .card{
  background: #F4F1E8 !important;
  border: 1px solid rgba(15,35,65,0.14) !important;
  box-shadow: 0 10px 28px rgba(10,26,48,0.16) !important;
  color: #0F2341 !important;
}

body.teacher-development .service-card h3,
body.teacher-development .card h3,
body.teacher-development .service-card h2,
body.teacher-development .card h2{
  color: #0F2341 !important;
}

body.teacher-development .service-card p,
body.teacher-development .card p,
body.teacher-development .service-card li,
body.teacher-development .card li{
  color: #243B5E !important;
}

/* Icon circle clarity on light cards */
body.teacher-development .icon-circle{
  background: rgba(15,35,65,0.06) !important;
  border: 1px solid rgba(15,35,65,0.10) !important;
}

/* Section headers on navy background remain readable */
body.teacher-development .sectionHeader p{
  color: rgba(233,227,215,0.88) !important;
}



/* ===== CONTACT PAGE CONTRAST FIX ===== */
body.contact-page label{
  color:#0F2341 !important;
  font-weight:600;
}

body.contact-page input,
body.contact-page select,
body.contact-page textarea{
  color:#0F2341 !important;
  background:#F4F1E8 !important;
  border:1px solid rgba(15,35,65,0.25) !important;
}

body.contact-page input::placeholder,
body.contact-page textarea::placeholder{
  color:#5A6B85 !important;
  opacity:1 !important;
}

body.contact-page select{
  font-weight:500;
}



/* ===== DISTRICT PAGE CONTRAST FIX ===== */
body.district-page .section h1,
body.district-page .section h2{
  color:#0F2341 !important;
}

body.district-page .section p{
  color:#243B5E !important;
}

body.district-page .service-card,
body.district-page .panel,
body.district-page .card{
  background:#F4F1E8 !important;
  color:#0F2341 !important;
}

body.district-page .service-card h3,
body.district-page .panel h3,
body.district-page .card h3{
  color:#0F2341 !important;
}

body.district-page .service-card p,
body.district-page .panel p,
body.district-page .card p{
  color:#243B5E !important;
}



/* ===== DISTRICT HERO VISIBILITY FIX (School Partnerships page) ===== */
body.district-page .hero{
  background:#F4F1E8 !important;
  background-image:none !important;
}

body.district-page .hero .kicker{
  color:#1F3A5F !important;
}

body.district-page .hero h1{
  color:#0F2341 !important;
}

body.district-page .hero p,
body.district-page .hero .lead{
  color:#243B5E !important;
  opacity:1 !important;
}



/* ===== Backup: District hero visibility for other templates ===== */
body.district-page .hero,
body.district-page .hero-elite{
  background:#F4F1E8 !important;
  background-image:none !important;
}
body.district-page .hero h1,
body.district-page .hero-elite h1{
  color:#0F2341 !important;
}
body.district-page .hero p,
body.district-page .hero-elite p{
  color:#243B5E !important;
  opacity:1 !important;
}
body.district-page .hero .kicker,
body.district-page .hero-elite .section-label{
  color:#1F3A5F !important;
  opacity:1 !important;
}


/* ===== District Page Card Text Safeguard ===== */
body.district-page .tier-card,
body.district-page .panel,
body.district-page .service-card,
body.district-page .card{
  color:#0F2341 !important;
}
body.district-page .tier-card p,
body.district-page .panel p,
body.district-page .service-card p,
body.district-page .card p,
body.district-page .tier-card li,
body.district-page .panel li,
body.district-page .service-card li,
body.district-page .card li{
  color:#243B5E !important;
}
body.district-page .tier-card h3,
body.district-page .panel h3,
body.district-page .service-card h3,
body.district-page .card h3{
  color:#0F2341 !important;
}


/* ================================
   ENGAGEMENT LABEL PERMANENT FIX
================================ */
.hero .kicker,
.hero .section-label,
.hero-eyebrow,
.engagement-label {
  color: #44566E !important;   /* refined deep slate */
  opacity: 1 !important;
  letter-spacing: 2px;
  font-weight: 600;
}


/* ================================
   CONTRAST AUDIT OVERRIDES (SITEWIDE)
   Ensures readable text on ivory/light panels
================================ */

/* Engagement labels on LIGHT sections (avoid near-white/gold on ivory) */
.section-school .section-label,
.section-district .section-label,
.section-light .section-label,
.section-ivory .section-label,
.hero-light .section-label,
.hero-ivory .section-label,
.section-school .kicker,
.section-district .kicker {
  color: #3F4F65 !important;   /* strong slate */
  opacity: 1 !important;
}

/* Body copy on LIGHT sections */
.section-school,
.section-district,
.section-light,
.section-ivory {
  color: #0F2341;
}
.section-school p,
.section-district p,
.section-light p,
.section-ivory p,
.section-school li,
.section-district li,
.section-light li,
.section-ivory li,
.section-school .muted,
.section-district .muted,
.section-light .muted,
.section-ivory .muted {
  color: #4A5B73 !important;
  opacity: 1 !important;
}

/* Headings on LIGHT sections */
.section-school h1, .section-school h2, .section-school h3,
.section-district h1, .section-district h2, .section-district h3,
.section-light h1, .section-light h2, .section-light h3,
.section-ivory h1, .section-ivory h2, .section-ivory h3 {
  color: #0F2341 !important;
}

/* Footer social icons visibility on NAVY footer */
.footer-social a svg,
.footer-social a i {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}
.footer-social a svg *{
  stroke: #FFFFFF !important;
}

/* Footer social button contrast */
.footer-social a{
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
}


/* ===== Contrast Enhancements (Index Page) ===== */
.heroShell h1,
.heroTitle,
.section-light h1,
.section-light h2 {
  color: #0f2747 !important;
}
.section-light p,
.section-light .muted {
  color: #2a3b52 !important;
}
.glassCard h3,
.card h3 {
  color: #0f2747 !important;
}
.glassCard p,
.card p {
  color: #2f3e55 !important;
}
.ctaBand h2,
.ctaBand h3 {
  color: #0f2747 !important;
}
.ctaBand p {
  color: #2f3e55 !important;
}
.btn.primary {
  background-color: #0f2747 !important;
  color: #ffffff !important;
}
.btn.ghost {
  border: 2px solid #0f2747 !important;
  color: #0f2747 !important;
}


/* ===== CTA Band Dark Variant ===== */
/* Use on pages where the CTA band sits on a dark navy background */
.ctaBand.ctaBandDark {
  color: #ffffff;
}
.ctaBand.ctaBandDark h2,
.ctaBand.ctaBandDark h3 {
  color: #ffffff !important;
}
.ctaBand.ctaBandDark .muted,
.ctaBand.ctaBandDark p {
  color: rgba(255,255,255,0.82) !important;
}
.ctaBand.ctaBandDark .btn.secondary {
  border-color: rgba(255,255,255,0.55);
  color: #ffffff;
}


/* ===== Framework Page Contrast ===== */
/* Improve contrast for Domain panels and notes on Institutional Framework page */
.panel .note, .panel .note * {
  color: #1e2a3a !important;
}
.panel .note strong {
  color: #142133 !important;
}


/* Student Academic CTA – dark background fix */
.student-cta {
  background: #1C3556;
}
.student-cta h2,
.student-cta h3 {
  color: #FFFFFF;
}
.student-cta p {
  color: #D7DEE7;
}
.student-cta .btn-primary {
  background: #FFFFFF;
  color: #1C3556;
  border: none;
}
.student-cta .btn-secondary {
  background: transparent;
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
}


/* Teacher Development CTA – light gradient fix */
.teacher-cta {
  background: linear-gradient(135deg, #E9ECEF 0%, #D8DDE3 100%);
}
.teacher-cta h2,
.teacher-cta h3 {
  color: #162233;
}
.teacher-cta p {
  color: #2F3E52;
}
.teacher-cta .btn-primary {
  background: #1F3656;
  color: #FFFFFF;
}
.teacher-cta .btn-secondary {
  background: transparent;
  color: #1F3656;
  border: 1px solid #1F3656;
}


/* Student Academic CTA – dark background fix (applies to .ctaBand container) */
.ctaBand.student-cta{
  background: #1C3556 !important;
  border-color: rgba(255,255,255,.18) !important;
}
.ctaBand.student-cta h2,
.ctaBand.student-cta h3{
  color:#FFFFFF !important;
}
.ctaBand.student-cta p{
  color:#D7DEE7 !important;
}
.ctaBand.student-cta .btn.primary{
  background:#FFFFFF !important;
  color:#1C3556 !important;
  border:none !important;
}
.ctaBand.student-cta .btn.secondary{
  background:transparent !important;
  color:#FFFFFF !important;
  border:1px solid #FFFFFF !important;
}


/* Teacher Development CTA – light gradient fix (banner) */
.banner.teacher-cta{
  background: linear-gradient(135deg, #E9ECEF 0%, #D8DDE3 100%) !important;
  border-color: rgba(15,39,71,.18) !important;
}
.banner.teacher-cta h2,
.banner.teacher-cta h3{
  color:#162233 !important;
}
.banner.teacher-cta p{
  color:#2F3E52 !important;
}
.banner.teacher-cta .btn.primary{
  background:#1F3656 !important;
  color:#FFFFFF !important;
}
.banner.teacher-cta .btn.secondary{
  background:transparent !important;
  color:#1F3656 !important;
  border:1px solid #1F3656 !important;
}


/* ============================
   Index Contrast Upgrade
============================ */

/* Light hero cards */
.index-light h1,
.index-light h2,
.index-light h3 {
  color: #142133 !important;
}

.index-light p,
.index-light li {
  color: #2B3B4F !important;
}

/* Three foundations cards */
.index-card h3 {
  color: #162233 !important;
}

.index-card p {
  color: #2F3E52 !important;
}

/* Gradient CTA on index */
.index-cta h2 {
  color: #162233 !important;
}

.index-cta p {
  color: #2F3E52 !important;
}


/* ============================
   About Page Contrast Upgrade
============================ */

/* Main story content */
.weStory h1,
.weStory h2,
.weStory h3 {
  color: #142133 !important;
}

.weStory p,
.weStory .lead {
  color: #2B3B4F !important;
}

/* Core Method centered block */
.weStory strong {
  color: #162233 !important;
}

/* Signature section */
.about-signoff h3 {
  color: #142133 !important;
}

.about-signoff p {
  color: #2F3E52 !important;
}

/* Light gradient banner on about */
.weStory .ctaBand h2 {
  color: #162233 !important;
}

.weStory .ctaBand p {
  color: #2F3E52 !important;
}


/* ============================
   Global Social Icon Contrast Upgrade
============================ */

.footer-social a,
.lux-social a,
.socialLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1F3656;   /* strong navy */
  color: #FFFFFF !important;
  transition: all 0.25s ease;
}

/* Instagram hover */
.footer-social a:hover,
.lux-social a:hover,
.socialLink:hover {
  background: #B38A2E;  /* academic gold */
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

/* Ensure icons themselves stay white */
.footer-social i,
.lux-social i,
.socialLink i {
  color: #FFFFFF !important;
  font-size: 16px;
}


/* ============================
   Social SVG Icons (No Font Awesome Required)
============================ */
.footer-social a,
.lux-social a,
.socialLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#1F3656;
  color:#FFFFFF !important;
  text-decoration:none;
}
.footer-social a:hover,
.lux-social a:hover,
.socialLink:hover{
  background:#B38A2E;
  color:#FFFFFF !important;
  transform: translateY(-2px);
}
.socialIcon{
  width:18px;
  height:18px;
  fill: currentColor;
}


/* ==========================================
   Institutional Pages Contrast System
   (Home, About, Accreditation, Framework)
========================================== */

/* General light section readability */
.section-light h1,
.section-light h2,
.section-light h3,
.sectionHeader h1,
.sectionHeader h2,
.sectionHeader h3 {
  color: #142133 !important;  /* deep institutional navy */
}

.section-light p,
.section-light li,
.sectionHeader p,
.sectionHeader .lead {
  color: #2B3B4F !important;  /* readable slate */
}

/* Card bodies */
.card h3,
.glassCard h3 {
  color: #162233 !important;
}

.card p,
.glassCard p {
  color: #2F3E52 !important;
}

/* Gradient / banner light sections */
.banner h2,
.banner h3,
.ctaBand h2,
.ctaBand h3 {
  color: #162233 !important;
}

.banner p,
.ctaBand p {
  color: #2F3E52 !important;
}

/* Dark sections (navy background) */
.section-dark h1,
.section-dark h2,
.section-dark h3,
.lux-footer h1,
.lux-footer h2,
.lux-footer h3 {
  color: #FFFFFF !important;
}

.section-dark p,
.section-dark li,
.lux-footer p {
  color: #D7DEE7 !important;
}


/* ============================
   Home Hero Deliver Box Contrast
============================ */
.home .hero-deliver-box .deliverTitle{
  color:#1C2D44 !important;
  letter-spacing: .12em;
}
.home .hero-deliver-box .deliverSub{
  color:#3F5066 !important;
  opacity: 1 !important;
}
.home .hero-deliver-box .badge{
  color:#1C2D44 !important;
}
.home .hero-deliver-box .badge .mini{
  background:#1C2D44 !important;
}

/* Accreditation page: right-side "What We Build" panel sits on dark background */
.accreditation-page .hero-deliver-box .deliverTitle{
  color: rgba(246,249,255,0.92) !important;
  opacity: 1 !important;
}
.accreditation-page .hero-deliver-box .deliverSub{
  color: rgba(246,249,255,0.72) !important;
  opacity: 1 !important;
}
.accreditation-page .hero-deliver-box .badge{
  color: rgba(246,249,255,0.84) !important;
}
.accreditation-page .hero-deliver-box .badge .mini{
  background: rgba(246,249,255,0.84) !important;
}


/* ============================
   Section Dark Overrides
============================ */
.section.section-dark .sectionHeader h1,
.section.section-dark .sectionHeader h2,
.section.section-dark .sectionHeader h3,
.section.section-dark h1,
.section.section-dark h2,
.section.section-dark h3{
  color:#FFFFFF !important;
}
.section.section-dark .sectionHeader p,
.section.section-dark p,
.section.section-dark li,
.section.section-dark .muted{
  color:#D7DEE7 !important;
}
.section.section-dark .card h3{ color:#FFFFFF !important; }
.section.section-dark .card p{ color:#D7DEE7 !important; }
.section.section-dark .card{ background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.14) !important; }
.section.section-dark .icon-circle{ background: rgba(255,255,255,.12) !important; }
.section.section-dark .icon-circle svg{ stroke:#FFFFFF !important; fill:none !important; opacity: .95; }


/* ============================
   Home Gradient Panel Contrast
============================ */
.home-cta-panel h2,
.home-cta-panel h3{
  color:#FFFFFF !important;
}
.home-cta-panel p{
  color:#E6ECF3 !important;
  opacity:1 !important;
}


/* ============================
   Home Founded Banner Contrast
============================ */
.home-founded-banner h3{
  color:#142133 !important;
}
.home-founded-banner p{
  color:#2B3B4F !important;
  opacity:1 !important;
}


/* ============================
   Home Founded Banner FINAL Contrast
============================ */
.home-founded-banner{
  background: linear-gradient(135deg,#F2EFE8,#E8E3D8) !important;
}

.home-founded-banner h3{
  color:#0F1F33 !important;
  font-weight:700 !important;
}

.home-founded-banner p{
  color:#2A3A4E !important;
  opacity:1 !important;
}

.home-founded-banner .btn{
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}


/* ============================
   Home Founded Banner OVERRIDE v24
============================ */
.banner.home-founded-banner h3{
  color:#102338 !important;
}

.banner.home-founded-banner p{
  color:#2E4156 !important;
  opacity:1 !important;
}

.banner.home-founded-banner{
  background:#F1ECE3 !important;
}


/* ============================
   Framework Page Contrast v26
============================ */

/* Framework dark domain card */
.framework-domains,
.framework-domains h1,
.framework-domains h2,
.framework-domains h3{
  color:#FFFFFF !important;
}

.framework-domains p,
.framework-domains li{
  color:#D8E2EE !important;
}

/* Bring the Framework section (dark background CTA) */
.framework-cta h2{
  color:#FFFFFF !important;
}

.framework-cta p{
  color:#D8E2EE !important;
  opacity:1 !important;
}

/* Footer contrast adjustment */
.lux-footer{
  background:#F2EFE8 !important;
}

.lux-footer .lux-brand{
  color:#142133 !important;
}

.lux-footer .lux-location,
.lux-footer .lux-meta{
  color:#2B3B4F !important;
  opacity:1 !important;
}

.program-legend{
  color:#2B3B4F !important;
}


/* ============================
   Framework Scoped Contrast v27
   (Only affects institutional-framework.html)
============================ */
.page-framework .panel.hero-deliver-box .badge,
.page-framework .panel.hero-deliver-box .badge *{
  color:#FFFFFF !important;
}

.page-framework .panel.hero-deliver-box .deliverTitle{
  color:#FFFFFF !important;
  letter-spacing: .12em;
}

.page-framework .panel.hero-deliver-box .deliverSub{
  color:#D8E2EE !important;
  opacity:1 !important;
}

.page-framework .panel.hero-deliver-box .deliverDivider{
  opacity:.45;
}

/* CTA band section */
.page-framework .ctaBand h2{
  color:#FFFFFF !important;
}

.page-framework .ctaBand .muted{
  color:#D8E2EE !important;
  opacity:1 !important;
}

/* Footer */
.page-framework .clean-footer{
  background:#F2EFE8 !important;
}

.page-framework .clean-footer,
.page-framework .clean-footer *{
  color:#2B3B4F !important;
}

.page-framework .clean-footer strong{
  color:#142133 !important;
}

/* Program legend */
.page-framework .program-legend{
  color:#2B3B4F !important;
  opacity:1 !important;
}


/* ============================
   About Page Contrast v30
   (Scoped to our-foundation.html via .page-about)
============================ */

/* CTA band: Partner with a structured approach */
.page-about .ctaBand h2,
.page-about .ctaBand h1{
  color:#FFFFFF !important;
}

.page-about .ctaBand p,
.page-about .ctaBand .muted,
.page-about .ctaBand .subtext{
  color:#DCE6F2 !important;
  opacity:1 !important;
}

/* Our Story body text */
.page-about .story,
.page-about .story p,
.page-about .story .lead,
.page-about .story .body,
.page-about .story .muted,
.page-about p{
  color:#DCE6F2 !important;
  opacity:1 !important;
}

/* Keep headings crisp */
.page-about h1,
.page-about h2,
.page-about h3{
  color:#FFFFFF !important;
}

/* If any inline-muted spans exist */
.page-about span[style*="opacity"],
.page-about span.muted{
  opacity:1 !important;
}


/* ============================
   About Page Contrast v31 Strong Intro
============================ */

/* Stronger intro paragraph directly under Our Story */
.page-about h1 + p,
.page-about .intro,
.page-about .lead{
  color:#E8F0FA !important;
  opacity:1 !important;
}

/* Ensure all paragraphs are readable */
.page-about p{
  color:#DCE6F2 !important;
  opacity:1 !important;
}


/* ============================
   Contact Page Contrast v33
============================ */

/* Main heading */
.page-contact h1{
  color:#FFFFFF !important;
}

/* Subheading paragraph */
.page-contact h1 + p{
  color:#E3EDF7 !important;
  opacity:1 !important;
}

/* Right card text (What to Expect box) */
.page-contact .panel,
.page-contact .panel h2,
.page-contact .panel h3{
  color:#FFFFFF !important;
}

.page-contact .panel p,
.page-contact .panel .muted{
  color:#DCE6F2 !important;
  opacity:1 !important;
}


/* ============================
   Contact Page FORCE Contrast v34
   (Hard override of any faded or muted styles)
============================ */

.page-contact *{
  opacity:1 !important;
}

.page-contact h1,
.page-contact h2,
.page-contact h3{
  color:#FFFFFF !important;
}

.page-contact p,
.page-contact span,
.page-contact li{
  color:#E6F0FA !important;
}

/* Card container */
.page-contact .panel,
.page-contact .hero-deliver-box,
.page-contact .ctaBand{
  color:#FFFFFF !important;
}

.page-contact .panel p,
.page-contact .hero-deliver-box p{
  color:#E6F0FA !important;
}


/* ============================
   Contact Form Contrast v36
============================ */

/* Light form section */
.page-contact .lux-section-light,
.page-contact .form-section,
.page-contact .contact-form-section{
  background:#F4F1EA !important;
}

/* Form heading */
.page-contact .lux-section-light h2,
.page-contact .contact-form-section h2{
  color:#142133 !important;
}

/* Form intro text */
.page-contact .lux-section-light p,
.page-contact .contact-form-section p{
  color:#2C3E55 !important;
  opacity:1 !important;
}

/* Labels */
.page-contact label{
  color:#1B2B40 !important;
  font-weight:600;
}

/* Inputs */
.page-contact input,
.page-contact select,
.page-contact textarea{
  color:#142133 !important;
  background:#FFFFFF !important;
  border:1px solid #C8D3DF !important;
}

.page-contact input::placeholder,
.page-contact textarea::placeholder{
  color:#6B7C8F !important;
  opacity:1 !important;
}

/* =============================
   CONTACT PAGE: TOP HERO CONTRAST (FORCE)
   ============================= */
.page-contact .hero .kicker,
.page-contact .hero .badge,
.page-contact .kicker,
.page-contact .badge{
  color: rgba(247, 244, 238, 0.90) !important;
  opacity: 1 !important;
}

/* Right-side "What to Expect" panel */
.page-contact .hero-deliver-box,
.page-contact .hero-deliver-box *{
  opacity: 1 !important;
}

.page-contact .hero-deliver-box .deliverTitle,
.page-contact .hero-deliver-box h2,
.page-contact .hero-deliver-box h3{
  color: rgba(247, 244, 238, 0.96) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.22) !important;
}

.page-contact .hero-deliver-box .deliverText,
.page-contact .hero-deliver-box p,
.page-contact .hero-deliver-box li,
.page-contact .hero-deliver-box em,
.page-contact .hero-deliver-box strong{
  color: rgba(247, 244, 238, 0.88) !important;
}



/* ===== Contrast overrides: Contact Page (scoped) ===== */
body.contact-page .kicker{
  color: rgba(255,255,255,.72) !important;
  opacity: 1 !important;
}
body.contact-page .lead{
  color: rgba(255,255,255,.78) !important;
}
body.contact-page .hero-deliver-box .deliverTitle{
  color: rgba(255,255,255,.92) !important;
  opacity: 1 !important;
}
body.contact-page .hero-deliver-box .deliverSub{
  color: rgba(255,255,255,.70) !important;
  opacity: 1 !important;
}
body.contact-page .hero-deliver-box .deliverDivider{
  background: rgba(255,255,255,.18) !important;
}

/* ============================================================
   ACCREDITATION PAGE: FOOTER CONTRAST OVERRIDE
   The accreditation page uses a dark footer background. The base
   footer theme sets darker text, which reduces contrast.
   ============================================================ */
body.accreditation-page .clean-footer{opacity:1 !important;}
body.accreditation-page .clean-footer h3,
body.accreditation-page .clean-footer p,
body.accreditation-page .clean-footer .footerComponents,
body.accreditation-page .clean-footer a,
body.accreditation-page .clean-footer .footerCopyright{
  color:#1C2D44 !important;
  opacity:1 !important;
}
body.accreditation-page .clean-footer .footerComponents strong{
  color:#1C2D44 !important;
}
body.accreditation-page .clean-footer a:hover{opacity:1 !important;}


/* ===== Teacher page: force readable headings on dark background ===== */
body.teacher-page .sectionHeader h1,
body.teacher-page .sectionHeader h2,
body.teacher-page .sectionHeader h3{
  color:#FFFFFF !important;
  opacity:1 !important;
}
body.teacher-page .sectionHeader p,
body.teacher-page .sectionHeader .lead{
  color: rgba(233,227,215,0.92) !important;
  opacity:1 !important;
}
/* Teacher page: muted kicker labels / small caps */
body.teacher-page .service-kicker,
body.teacher-page .kicker,
body.teacher-page .eyebrow,
body.teacher-page .label,
body.teacher-page .sectionKicker{
  color: rgba(233,227,215,0.78) !important;
  opacity:1 !important;
}
/* Teacher page: large centered titles (if any) */
body.teacher-page .centerTitle h2,
body.teacher-page .centerTitle h3,
body.teacher-page .centerTitle h1{
  color:#FFFFFF !important;
  opacity:1 !important;
}

