:root{
  --cream:#EEEBDD;
  --paper:#FBF9F0;
  --white:#FFFFFF;
  --ink:#1A1A1A;
  --body:#2A2A28;
  --navy:#103569;
  --navy-lt:#1B4C8F;
  --gold:#FFB500;
  --gold-dk:#7A5300;
  --rule:#D8D2BA;
  --shadow:0 1px 2px rgba(26,26,26,.06),0 8px 24px rgba(26,26,26,.06);
  --wrap:1120px;
  --sans:"Source Sans 3","Segoe UI",Helvetica,Arial,sans-serif;
  --serif:Bitter,Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.7;
  text-wrap:pretty;
}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.75rem,4vw,2.6rem);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:2.2em}
h3{font-size:1.25rem;margin-top:1.8em}
p{margin:0 0 1.25em}
a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;-webkit-tap-highlight-color:rgba(16,53,105,.18)}
a:visited{color:var(--navy)}
a:hover,a:active{color:var(--gold-dk);text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--navy);outline-offset:2px;border-radius:2px
}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip-link{
  position:absolute;left:12px;top:-60px;z-index:200;
  background:var(--ink);color:var(--white);padding:12px 18px;
  font-weight:600;text-decoration:none;border-radius:0 0 4px 4px;
  transition:top .15s ease
}
.skip-link:focus{top:0;color:var(--white)}

.site-header{background:var(--ink);position:sticky;top:0;z-index:100;border-bottom:3px solid var(--gold)}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;padding:10px 0;text-decoration:none}
.brand img{display:block;width:230px;height:auto}
.nav-toggle{
  display:none;align-items:center;gap:10px;background:none;border:1px solid #4A4A46;
  color:var(--white);font-family:var(--sans);font-size:1rem;font-weight:600;
  padding:12px 16px;min-height:48px;cursor:pointer;border-radius:3px
}
.nav-toggle:hover{background:#2E2E2A}
.nav-toggle .bars{display:grid;gap:4px}
.nav-toggle .bars span{display:block;width:22px;height:2px;background:var(--white)}
.menu{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0}
.menu > li{position:relative}
.menu > li > a,.menu > li > button{
  display:flex;align-items:center;gap:6px;
  font-family:var(--sans);font-size:1rem;font-weight:600;
  color:var(--white);background:none;border:0;cursor:pointer;
  padding:14px 14px;min-height:48px;text-decoration:none;line-height:1.2
}
.menu > li > a:visited{color:var(--white)}
.menu > li > a:active{color:var(--gold)}
.menu > li > a:hover,.menu > li > button:hover,.menu > li > a:focus-visible,.menu > li > button:focus-visible{color:var(--gold)}
.menu > li > a[aria-current="page"]{color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}
.menu .caret{width:0;height:0;border:5px solid transparent;border-top-color:currentColor;margin-top:3px}
.menu .cta{background:var(--gold);color:var(--ink);border-radius:3px;padding:12px 18px;margin-left:8px}
.menu .cta:visited{color:var(--ink)}
.menu .cta:hover,.menu .cta:focus-visible{background:var(--white);color:var(--ink)}
.submenu{
  list-style:none;margin:0;padding:8px 0;
  position:absolute;left:0;top:100%;min-width:270px;
  background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--gold);
  box-shadow:var(--shadow);display:none;z-index:110
}
.menu > li.open > .submenu{display:block}
.submenu a{display:block;padding:11px 18px;color:var(--ink);text-decoration:none;font-size:1rem;font-weight:500}
.submenu a:visited{color:var(--ink)}
.submenu a:hover,.submenu a:focus-visible,.submenu a:active{background:var(--navy);color:var(--white)}
.submenu a[aria-current="page"]{color:var(--navy);font-weight:700;box-shadow:inset 4px 0 0 var(--gold)}

@media (max-width:1080px){
  .nav-toggle{display:flex}
  .site-nav{display:none;width:100%}
  .site-nav.open{display:block;padding-bottom:16px}
  .header-bar{flex-wrap:wrap;padding:12px 0}
  .menu{flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #38382F;margin-top:12px}
  .menu > li{border-bottom:1px solid #38382F}
  .menu > li > a,.menu > li > button{width:100%;justify-content:space-between;padding:16px 4px}
  .menu .cta{margin:14px 0 0;justify-content:center}
  .submenu{position:static;min-width:0;background:transparent;border:0;border-left:3px solid var(--gold);box-shadow:none;margin:0 0 12px 4px;padding:0}
  .submenu a{color:#E9E6D8;padding:12px 16px}
  .submenu a:visited{color:#E9E6D8}
  .submenu a:hover,.submenu a:focus-visible,.submenu a:active{background:var(--gold);color:var(--ink)}
}

#hero{
  position:relative;
  background:var(--ink) url("../images/2.jpg") center center/cover no-repeat;
}
#hero::before{content:"";position:absolute;inset:0;background:#000;opacity:.4}
.hero-inner{position:relative;padding:300px 24px 90px;text-align:center}
.hero-rotator{position:relative;max-width:450px;margin:0 auto}
.hero-rotator img{display:block;width:100%;animation:heroFade 15s linear infinite}
.hero-rotator img + img{position:absolute;inset:0}
.hero-rotator img:nth-child(2){animation-delay:-10s}
.hero-rotator img:nth-child(3){animation-delay:-5s}
@keyframes heroFade{
  0%,28%{opacity:1}
  33%,95%{opacity:0}
  100%{opacity:1}
}
@media (max-width:700px){.hero-inner{padding:180px 24px 60px}}
@media (prefers-reduced-motion:reduce){
  .hero-rotator img{animation:none}
  .hero-rotator img + img{display:none}
}

.page-head{
  position:relative;
  background:var(--navy) url("../images/top-sub-image.png") center center/cover no-repeat;
  border-bottom:3px solid var(--gold)
}
.page-head .wrap{
  position:relative;
  padding-top:84px;padding-bottom:84px
}
.page-head h1{
  color:var(--white);margin:0;
  max-width:min(100%,30ch);
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 2px 10px rgba(0,0,0,.85),0 0 28px rgba(0,0,0,.7)
}
.page-head .eyebrow{
  display:block;font-family:var(--sans);font-size:.85rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 2px 10px rgba(0,0,0,.85),0 0 28px rgba(0,0,0,.7)
}

main{display:block}
.section{padding:72px 0}
.section--paper{background:var(--paper)}
.section--tight{padding:48px 0}
.prose{max-width:none}
.prose > :first-child{margin-top:0}
.lead{font-size:1.2rem;line-height:1.6;color:var(--ink)}

.callout{
  border-left:5px solid var(--navy);
  background:var(--white);
  padding:22px 26px;
  margin:2.25em 0;
  box-shadow:var(--shadow)
}
.callout > :last-child{margin-bottom:0}
.callout > :first-child{margin-top:0}
.callout--gold{border-left-color:var(--gold)}
.callout--plain{background:transparent;box-shadow:none;padding:6px 0 6px 26px}
.callout__label{
  display:block;font-family:var(--sans);font-size:.8rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:0 0 8px
}
.callout--gold .callout__label{color:var(--gold-dk)}
.faq-q{font-size:1.2rem;margin:0 0 10px}
.section-title{
  font-size:1.35rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy);text-align:center;margin:0 0 36px
}
.section-title--onnavy{color:var(--gold)}
.callout__big{font-family:var(--serif);font-size:1.35rem;line-height:1.35;color:var(--ink);margin:0}
blockquote.callout{font-family:var(--serif);font-size:1.2rem;font-style:italic}
blockquote.callout cite{display:block;font-family:var(--sans);font-size:.95rem;font-style:normal;color:#55554E;margin-top:12px}

.cards{list-style:none;margin:0;padding:0;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}
.card{background:var(--white);border-left:5px solid var(--gold);box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}
.card img{display:block;width:100%;aspect-ratio:216/134;object-fit:cover}
.card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.card h2{font-size:1.15rem;letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--navy)}
.card p{font-size:1rem;margin:0;flex:1 1 auto}
.card .more{font-weight:700;text-decoration:none;border-top:1px solid var(--rule);padding-top:14px;margin-top:auto;white-space:nowrap}
.card .more:hover{text-decoration:underline}
.card .more::after{content:"\00a0\2192"}

.section--navy{background:var(--navy);padding:56px 0}
.promo-rotator{position:relative;max-width:519px;margin:0 auto;list-style:none;padding:0}
.promo-rotator li{margin:0}
.promo-rotator li + li{position:absolute;inset:0}
.promo-rotator a{display:block;line-height:0}
.promo-rotator img{display:block;width:100%}
.promo-rotator li{animation:promoFade 10s linear infinite}
.promo-rotator li:nth-child(2){animation-delay:-5s}
@keyframes promoFade{
  0%,44%{opacity:1;visibility:visible}
  50%,94%{opacity:0;visibility:hidden}
  100%{opacity:1;visibility:visible}
}
@media (prefers-reduced-motion:reduce){
  .promo-rotator li{animation:none}
  .promo-rotator li + li{display:none}
}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--navy);color:var(--white);text-decoration:none;
  font-weight:700;padding:15px 26px;min-height:50px;border-radius:3px;border:0;cursor:pointer;font-size:1rem
}
.btn:visited{color:var(--white)}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--white)}
.btn--gold,.btn--gold:visited{background:var(--gold);color:var(--ink)}
.btn--gold:hover,.btn--gold:focus-visible{background:var(--ink);color:var(--white)}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;margin:2em 0 0}

.gallery{list-style:none;margin:2em 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.gallery--tight{gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.gallery--center{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:center}
.gallery a{display:block;line-height:0;border:1px solid var(--rule);background:var(--white);overflow:hidden}
.gallery a:hover,.gallery a:focus-visible{border-color:var(--navy)}
.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.gallery a:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery a:hover img{transform:none}}

.media{display:grid;gap:40px;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;margin:0 0 64px}
.media img{display:block;width:100%;border:1px solid var(--rule)}
.media .prose{max-width:none}
.media h2{margin-top:0}
@media (max-width:820px){.media{grid-template-columns:1fr}}

.list-cols{columns:2 220px;column-gap:40px;list-style:none;margin:1.5em 0;padding:0}
.list-cols li{padding:6px 0 6px 14px;border-left:3px solid var(--rule);break-inside:avoid}

.levels{list-style:none;margin:1.5em 0;padding:0;display:grid;gap:18px}
.levels li{border-left:5px solid var(--navy);background:var(--white);padding:18px 24px;box-shadow:var(--shadow)}
.levels strong{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--ink)}

.poem{border-left:5px solid var(--gold);background:var(--white);padding:26px 30px;margin:0 0 40px;box-shadow:var(--shadow)}
.poem h2{margin:0 0 18px;font-size:1.5rem}
.poem p{font-family:var(--serif);font-size:1.1rem;line-height:1.75;white-space:pre-line}
.poem footer{border-top:1px solid var(--rule);padding-top:14px;font-size:.98rem}

.embed{margin:2.5em 0}
.embed iframe{display:block;width:100%;min-height:1200px;border:0}

.site-footer{background:var(--ink);color:#E9E6D8;font-size:1rem}
.footer-connect{display:flex;align-items:center;justify-content:center;gap:20px;padding:28px 0;border-bottom:1px solid #38382F}
.footer-connect p{margin:0;font-family:var(--serif);font-weight:700;letter-spacing:.1em;color:var(--gold)}
.footer-connect img{display:block;width:52px;height:52px}
.footer-cols{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));padding:48px 0}
.footer-cols h2{font-family:var(--serif);font-size:1.05rem;letter-spacing:.1em;color:var(--gold);margin:0 0 16px}
.footer-cols ul{list-style:none;margin:0;padding:0}
.footer-cols li{margin:0 0 8px}
.footer-cols a,.footer-connect a,.footer-legal a{color:#E9E6D8}
.footer-cols a:visited,.footer-connect a:visited,.footer-legal a:visited{color:#E9E6D8}
.footer-cols a:hover,.footer-legal a:hover,.footer-cols a:active,.footer-legal a:active{color:var(--gold)}
.footer-cols address{font-style:normal}
.footer-legal{border-top:1px solid #38382F;padding:24px 0 40px;font-size:.95rem;color:#BEBBAE}
.footer-legal p{margin:0 0 6px}
.footer-legal .heart{color:var(--gold);font-size:1.05em}
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0
}
