:root{
  --navy:#193248;
  --navy-deep:#13212d;
  --navy-2:#1f3d5c;
  --gold:#d4a85f;
  --gold-soft:#e3c187;
  --gold-deep:#b98d45;
  --cream:#ffffff;
  --cream-2:#f1f4f7;
  --ink:#0a0805;
  --ink-soft:rgba(10,8,5,.72);
  --line:rgba(10,8,5,.13);
  --maxw:1180px;
  --display:'Acumin Pro','Acumin Variable Concept','Archivo','Inter',-apple-system,Helvetica,Arial,sans-serif;
  --serif:'Baskerville URW','Baskerville','Libre Baskerville',Georgia,'Times New Roman',serif;
  --sans:'Acumin Pro','Acumin Variable Concept','Archivo','Inter',-apple-system,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:500;color:var(--gold-deep)}
h1,h2,h3{font-weight:400;line-height:1.1}
.display{font-family:var(--display)}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);text-transform:uppercase;
  letter-spacing:.18em;font-size:12px;font-weight:500;padding:15px 30px;border-radius:2px;transition:.25s ease;cursor:pointer;border:1.5px solid transparent}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px)}
.btn-ghost-light{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost-light:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn-outline{border-color:var(--gold);color:var(--gold-deep)}
.btn-outline:hover{background:var(--gold);color:var(--navy)}

/* announcement */
.announce{background:var(--gold);text-align:center;padding:11px 16px}
.announce a{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:500;color:var(--navy)}
.announce a:hover{text-decoration:underline;text-underline-offset:3px}
.announce-2{background:var(--gold-soft);border-top:1px solid rgba(25,50,72,.18)}

/* nav */
header.site{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid rgba(191,157,87,.25)}
.nav{display:flex;align-items:center;justify-content:space-between;height:92px;gap:24px}
.nav .logo img{height:58px;width:auto}
.navlinks{display:flex;align-items:center;gap:40px}
.navlinks a{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:500;color:#eef1f6;transition:.2s}
.navlinks a:hover,.navlinks a.active{color:var(--gold-soft)}
.burger{display:none;background:none;border:0;color:#eef1f6;font-size:26px;cursor:pointer}

/* hero (home) */
.hero{position:relative;min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:90px 24px;color:#fff;overflow:hidden;border-bottom:6px solid var(--gold)}
.hero .bg{position:absolute;inset:0;background:url('img/oak-tree-web.jpg') center/cover no-repeat}
.hero .scrim{position:absolute;inset:0;background:
  radial-gradient(60% 60% at 50% 45%,rgba(12,22,34,.62),rgba(12,22,34,.32)),
  linear-gradient(180deg,rgba(12,22,34,.55),rgba(12,22,34,.2) 40%,rgba(12,22,34,.6))}
.hero .inner{position:relative;max-width:920px}
.hero-art{width:100%;max-width:780px;margin:0 auto;filter:drop-shadow(0 6px 24px rgba(0,0,0,.45))}
.hero .cta{margin-top:40px}

/* tagline band */
.tagband{background:var(--cream);text-align:center;padding:54px 24px;border-bottom:1px solid var(--line)}
.tagband .row{display:inline-flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:center}
.tagband span{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,46px);color:var(--gold-deep);letter-spacing:.01em}
.tagband .sep{width:1px;height:38px;background:var(--gold);opacity:.5}

/* pillars */
.pillars{padding:96px 0}
.pillar{max-width:820px;margin:0 auto;text-align:center}
.pillar + .pillar{margin-top:66px;padding-top:66px;border-top:1px solid var(--line)}
.pillar h2{font-family:var(--serif);font-weight:400;letter-spacing:.005em;font-size:clamp(30px,4vw,44px);color:var(--navy)}
.pillar .rule{width:60px;height:2px;background:var(--gold);margin:22px auto 26px}
.pillar p{font-size:19px;color:var(--ink-soft);line-height:1.65}

/* reality */
.reality{background:var(--navy);color:#eef1f6;padding:100px 0;position:relative;overflow:hidden}
.reality::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  background:url('img/imago-symbol.png') center/contain no-repeat;opacity:.06}
.reality .head{text-align:center;max-width:760px;margin:0 auto 50px}
.reality .head h2{font-family:var(--serif);font-weight:400;letter-spacing:.005em;font-size:clamp(30px,4.2vw,46px);color:#fff;margin-top:14px}
.rlist{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:2px}
.ritem{display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start;padding:24px 0;border-top:1px solid rgba(243,237,224,.15)}
.ritem:last-child{border-bottom:1px solid rgba(243,237,224,.15)}
.ritem .mk{font-family:var(--display);color:var(--gold-soft);font-size:26px;line-height:1.2}
.ritem p{font-size:18px;color:rgba(243,237,224,.9);line-height:1.55}
.footnote{max-width:880px;margin:18px auto 0;font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:rgba(243,237,224,.45)}
.footnote a{color:rgba(243,237,224,.55);text-decoration:underline}
.reality .closing{max-width:760px;margin:46px auto 0;text-align:center}
.reality .closing p{font-size:20px;color:#eef1f6}
.reality .closing .cta{margin-top:34px}

/* virtues */
.virtues{padding:100px 0 90px;text-align:center}
.virtues .head{max-width:720px;margin:0 auto 60px}
.virtues .head h2{font-family:var(--serif);font-weight:400;letter-spacing:.005em;font-size:clamp(28px,4vw,42px);color:var(--navy);margin-top:14px}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.virtue img{height:64px;width:auto;margin:0 auto 26px}
.virtue p{font-family:var(--sans);font-style:italic;font-size:19px;color:var(--ink-soft);line-height:1.6;max-width:340px;margin:0 auto}

/* closing band */
.closeband{background:var(--navy);color:#fff;text-align:center;padding:90px 24px;border-top:6px solid var(--gold)}
.closeband h2{font-family:var(--serif);font-size:clamp(30px,4.4vw,48px);font-weight:400;max-width:840px;margin:0 auto;line-height:1.2}
.closeband h2 em{color:var(--gold-soft);font-style:italic}
.closeband .cta{margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* footer */
footer{background:var(--navy-deep);color:rgba(243,237,224,.8);padding:60px 0 44px}
.foot{display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center}
.foot .logo img{height:64px}
.footlinks{display:flex;gap:34px;flex-wrap:wrap;justify-content:center}
.footlinks a{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:500;color:rgba(243,237,224,.75)}
.footlinks a:hover{color:var(--gold-soft)}
.socials{display:flex;gap:18px}
.socials img{height:34px;width:34px;opacity:.8;transition:.2s}
.socials a:hover img{opacity:1}
.copyright{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:rgba(243,237,224,.4)}

/* ============ inner pages ============ */
.page-hero{background:var(--navy);color:#fff;text-align:center;padding:80px 24px;border-bottom:6px solid var(--gold)}
.page-hero .eyebrow{color:var(--gold-soft)}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,68px);margin-top:12px}
.page-hero p{font-family:var(--sans);font-size:19px;color:rgba(243,237,224,.85);max-width:680px;margin:18px auto 0}

.section{padding:84px 0}
.section.tint{background:var(--cream-2)}
.section .lead{max-width:780px;margin:0 auto}
.section .lead .sub{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,38px);color:var(--navy);margin-bottom:24px}
.prose p{font-size:19px;color:var(--ink-soft);line-height:1.7;margin-top:18px;max-width:780px}
.prose p:first-child{margin-top:0}
.prose em{font-style:italic;color:var(--ink)}

/* leaders (about) */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:46px}
.leader h3{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--navy)}
.leader .role{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--gold-deep);margin:6px 0 16px}
.leader p{font-size:17px;color:var(--ink-soft);line-height:1.65}

/* steps (admissions) */
.steps{max-width:860px;margin:40px auto 0;counter-reset:step}
.step{display:grid;grid-template-columns:64px 1fr;gap:24px;align-items:start;padding:28px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step .n{font-family:var(--serif);font-size:40px;line-height:.9;color:var(--gold);font-weight:400}
.step h3{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--navy)}
.step p{font-size:17px;color:var(--ink-soft);line-height:1.6;margin-top:8px}
.step .cta{margin-top:14px}
.step .btn{padding:11px 22px}

/* facts (admissions) */
.facts{max-width:860px;margin:44px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fact{border:1px solid var(--line);padding:26px 22px;text-align:center}
.fact .k{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold-deep)}
.fact .v{font-family:var(--serif);font-size:22px;color:var(--navy);margin-top:10px}
.fact .v small{display:block;font-family:var(--sans);font-size:14px;color:var(--ink-soft);margin-top:6px;letter-spacing:0}

/* subjects (academics) */
.subjects{display:grid;grid-template-columns:1fr 1fr;gap:46px 56px;margin-top:50px}
.subject h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--navy)}
.subject .rule{width:48px;height:2px;background:var(--gold);margin:14px 0 16px}
.subject p{font-size:17px;color:var(--ink-soft);line-height:1.65}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;max-width:980px;margin:0 auto}
.contact-card{border:1px solid var(--line);padding:46px 40px;text-align:center}
.contact-card h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--navy)}
.contact-card p{font-size:17px;color:var(--ink-soft);margin:12px 0 24px}
.contact-card .socials{justify-content:center;margin-top:6px}
.contact-card .socials img{filter:none}

@media(max-width:860px){
  .navlinks{display:none}
  .burger{display:block}
  .vgrid{grid-template-columns:1fr;gap:54px}
  .tagband .sep{display:none}
  .leaders,.subjects,.contact-grid{grid-template-columns:1fr;gap:38px}
  .facts{grid-template-columns:1fr}
}

/* powered-by Steeple footer credit */
.poweredby{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.45)}
.poweredby a{font-weight:700;color:rgba(255,255,255,.72)}
.poweredby a:hover{color:#fff}

/* paisley flourish texture behind navy sections (navy tone-on-tone tile) */
.page-hero,.reality,.closeband{
  background-color:var(--navy);
  background-image:url("img/navy-paisley.png?t=2");
  background-size:cover;background-position:center;
}
footer{background-color:var(--navy-deep)}

/* mobile nav menu */
.mobile-menu{display:none}
@media(max-width:860px){
  .mobile-menu.open{display:block;position:fixed;left:0;right:0;top:92px;bottom:0;background:var(--navy);z-index:49;padding:22px 30px;overflow:auto}
  .mobile-menu a{display:block;color:#fff;font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}
}
