:root{
  --aoa-navy:#0B2D5B;
  --aoa-blue:#114B8E;
  --aoa-orange:#FF8A00;
  --aoa-cream:#F8F4EB;
  --aoa-paper:#fffdf8;
  --aoa-ink:#173452;
  --aoa-muted:#52647A;
  --aoa-line:rgba(11,45,91,.2);
  --aoa-radius:3px;
}

html{scroll-behavior:smooth}
body{background:var(--aoa-cream);color:var(--aoa-ink)}

/* A quiet, substantial header keeps the site grounded in an independent-school identity. */
.site-header,
body:has(.hero) > .site-header{
  position:relative;
  inset:auto;
  background:var(--aoa-navy);
  border-bottom:4px solid var(--aoa-orange);
}
.nav{min-height:104px}
.nav-links{gap:25px}
.nav-links a{letter-spacing:.075em}
.header-logo-container{display:flex;align-items:center}
.header-logo{max-height:62px;width:auto}
.menu-button{border-radius:var(--aoa-radius);background:transparent}
.nav-cta{border-radius:var(--aoa-radius)}

/* Editorial type hierarchy. */
h1,h2,h3,.experience-hero h1,.section h2,.student-hero h1,.hero h1,
.closing h2,.research-cta strong,.callout strong{
  letter-spacing:-.045em;
}
.experience-hero h1,.hero h1{max-width:980px}
.section h2{max-width:980px}
.section-heading{max-width:1120px}
.lead,.section-copy{max-width:760px}

/* Let sections read as a continuous publication rather than stacks of cards. */
section{border-top:1px solid rgba(11,45,91,.12)}
.section{padding:clamp(84px,9vw,144px) 0}
.section.paper{background:var(--aoa-paper)}
.section.blue{background:var(--aoa-navy)}
.section.blue .section-copy,.section.blue .lead{color:rgba(255,255,255,.82)}
.wrap{width:min(1440px,calc(100% - 96px))}

/* Cards become restrained editorial modules with no floating SaaS-panel effect. */
.card,
.learning-card,
.evidence-card,
.person,
.support-card,
.pathway-card,
.model-panel,
.grade-card,
.curriculum-item,
.subject-table-wrap,
.research-cta,
.quote-card{
  border-radius:var(--aoa-radius)!important;
  box-shadow:none!important;
}
.card{padding:28px 0 28px 24px;background:transparent;border:0;border-left:3px solid var(--aoa-orange);border-top:0}
.blue .card{background:transparent;border:0;border-left:3px solid var(--aoa-orange)}
.card h3{letter-spacing:-.025em}
.card p{max-width:42rem}
.grid2,.grid3{gap:0 48px}

/* Callouts are editorial pull quotes, not orange interface boxes. */
.callout{margin-top:42px;padding:28px 0 28px 28px;background:transparent;border:0;border-left:5px solid var(--aoa-orange);border-radius:0;color:var(--aoa-navy)}
.blue .callout{color:#fff;background:transparent}
.callout strong{max-width:900px}

/* Buttons stay useful, but lose the oversized pill treatment. */
.button{border-radius:var(--aoa-radius);letter-spacing:.08em}

/* Immersive sections use the approved imagery as composition, not decoration inside a card. */
.programs,.closing{border-radius:0!important;box-shadow:none!important}
.hero-photo,.hero-visual img,.section img{border-radius:0;box-shadow:none}

/* Homepage editorial rhythm. */
.hero-grid{padding-top:170px}
.principles-grid{border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24)}
.principle,.principles-intro{border-radius:0!important}
.learning,.progression,.leadership,.sources,.evidence{border-top:1px solid var(--aoa-line)}
.local-context-grid{gap:clamp(3rem,8vw,9rem)}
.local-context-grid>div:last-child{font-size:1.16rem}
.programs{min-height:560px}

/* Topic navigation added to the editorial page passes. */
.progress-topic-nav,.day-topic-nav{background:var(--aoa-paper)!important;border-bottom:1px solid var(--aoa-line)!important}
.progress-topic-links,.day-topic-links{gap:10px 26px}

@media(max-width:1023px){
  .wrap{width:calc(100% - 64px)}
  .nav{min-height:92px}
  .nav-links{gap:17px}
  .grid2,.grid3{gap:0 28px}
}
@media(max-width:767px){
  .wrap{width:calc(100% - 40px)}
  .site-header,body:has(.hero)>.site-header{position:relative;background:var(--aoa-navy);border-bottom:3px solid var(--aoa-orange)}
  .nav{min-height:82px}
  .nav-links{border-radius:var(--aoa-radius);box-shadow:none}
  .section{padding:72px 0}
  .grid2,.grid3{gap:0}
  .card{padding:24px 0 24px 18px}
  .callout{padding-left:20px}
  .hero-grid{padding-top:72px}
}
