section[id]{scroll-margin-top:90px}
.honor .eyebrow,.contact .eyebrow{color:var(--gold)}
:focus-visible{outline:3px solid #bc8620;outline-offset:4px}
.services-menu{position:relative;font-size:.9rem;font-weight:600}
.services-menu summary{cursor:pointer}
.services-menu>div{position:absolute;top:2rem;left:-1rem;background:white;border:1px solid var(--line);box-shadow:0 12px 30px #24132f22;min-width:240px;padding:.7rem;z-index:15}
.services-menu a{display:block;padding:.6rem}
.services-menu a:hover{background:var(--cream)}
.mobile-nav{display:none}
.bot-field{position:absolute;left:-9999px;overflow:hidden;width:1px;height:1px}
.contact .form-error{color:#a22626;font-weight:700}
.contact .g-recaptcha{margin-bottom:1rem;max-width:100%;overflow:auto}
.contact>*,.contact label,.contact .two>*{min-width:0}
.button:disabled{opacity:.65;cursor:wait}
.thank-you{min-height:70vh;max-width:900px;margin:auto}
.thank-you h1{font:800 clamp(2.4rem,5vw,4.5rem)/1.1 'Libre Franklin',sans-serif;color:var(--navy)}
.thank-you p{max-width:640px;font-size:1.1rem}
.thank-you .button-light{color:var(--navy);border-color:var(--navy)}
@media(max-width:1100px){.site-header>nav,.site-header>.button-small{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;padding:.55rem .7rem;border:1px solid var(--line);border-radius:3px}.site-header .mobile-nav nav{display:flex;flex-direction:column;gap:0;position:absolute;right:0;top:2.8rem;width:min(290px,calc(100vw - 40px));background:white;border:1px solid var(--line);padding:.7rem;box-shadow:0 12px 30px #24132f22}.mobile-nav nav a{padding:.65rem}.site-header{gap:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* One responsive type scale shared by the landing page and confirmation. */
:root{
  --type-body:1rem;
  --type-small:.875rem;
  --type-label:.75rem;
  --type-lead:1.125rem;
  --type-h1:clamp(2.5rem,4.5vw,4.5rem);
  --type-h2:clamp(1.75rem,2.8vw,2.5rem);
  --type-h3:1.25rem;
  --font-body:"DM Sans",sans-serif;
  --font-heading:"Libre Franklin",sans-serif;
}
body{font-family:var(--font-body);font-size:var(--type-body);line-height:1.65}
.hero{min-height:620px}
.hero-copy{padding:clamp(3rem,5.5vw,5rem) clamp(1.3rem,7vw,7rem)}
.hero h1,.thank-you h1{font-family:var(--font-heading);font-size:var(--type-h1);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin:0 0 1.5rem}
.intro h2,.section-heading h2,.honor h2,.leadership h2,.steps h2,.contact h2{font-family:var(--font-heading);font-size:var(--type-h2);font-weight:800;line-height:1.2;letter-spacing:-.025em;margin:.2rem 0 1.5rem}
.service-grid h3,.program-list h3,.steps h3{font-family:var(--font-heading);font-size:var(--type-h3);font-weight:700;line-height:1.35}
.intro-grid,.honor-copy p:last-child,.leadership>div:last-child>p:not(.eyebrow):not(.caption),.thank-you p{font-size:var(--type-body);line-height:1.65}
.hero-lead{font-size:var(--type-lead);line-height:1.65}
.hero-quote{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.4}
.eyebrow{font-size:var(--type-label);font-weight:700;line-height:1.5;letter-spacing:.16em}
.trust-list,.caption,.form-note,footer p{font-size:var(--type-small);line-height:1.6}
.site-header nav a,.services-menu,.mobile-nav summary{font-family:var(--font-body);font-size:var(--type-small);font-weight:600}
.button{font-family:var(--font-body);font-size:var(--type-body);font-weight:700;line-height:1.5}
.contact label{font-size:var(--type-small);line-height:1.5}
.contact input,.contact select,.contact textarea{font-family:var(--font-body);font-size:var(--type-body);line-height:1.5}
.contact small{font-size:var(--type-small)}
.phone-link{font-family:var(--font-heading);font-size:var(--type-h3);line-height:1.4}
.brand strong{font-size:var(--type-body);line-height:1.2}
.brand small{font-size:var(--type-label);line-height:1.3}
.section{padding:clamp(3rem,6vw,5rem) clamp(1.3rem,8vw,8rem)}
@media(max-width:580px){.brand strong{font-size:var(--type-small)}.brand small{font-size:.6875rem}.hero-copy{padding:3rem 1.3rem}.hero{min-height:0}}
