body:has(.about-page) { margin:0; background:#f4f3ef; color:#243140 }
.home-layout { display:block; max-width:none; margin:0; padding:0 }
.home-header { position:sticky; top:0; z-index:20; width:100%; border-bottom:1px solid #dedfd9; background:#fbfaf7ed; backdrop-filter:blur(14px) }
.home-header-inner { width:min(1120px,calc(100% - 48px)); min-height:82px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:28px }
.home-brand { display:inline-flex; align-items:center; gap:12px; color:#283947; font-size:15px; font-weight:700; line-height:1.2; text-decoration:none; white-space:nowrap }
.home-brand small { display:block; margin-top:5px; color:#8d938f; font-size:10px; font-weight:400; letter-spacing:.04em }
.brand-mark { display:grid; width:40px; height:40px; place-items:center; border:1px solid #d7d8d1; border-radius:50%; color:#d35239; font:26px/1 Georgia,serif }
.home-nav { display:flex; align-items:center; gap:14px }
.nav-link { display:inline-flex; min-height:42px; align-items:center; padding:0 12px; color:#53616a; font-size:14px; text-decoration:none; white-space:nowrap }
.nav-link:hover { color:#c84932 }
.nav-menu { position:relative }
.nav-menu summary { display:flex; flex-flow:row nowrap; min-height:42px; align-items:center; gap:8px; padding:0 12px; border-radius:4px; color:#53616a; cursor:pointer; font-size:14px; list-style:none; white-space:nowrap }
.nav-menu summary::-webkit-details-marker { display:none }
.nav-menu summary::after { content:none }
.nav-menu[open] summary,.nav-menu summary:hover,.nav-menu summary:focus-visible { background:#efeee8; color:#293e4c; outline:0 }
.nav-dropdown { position:absolute; top:calc(100% + 4px); right:0; z-index:30; display:grid; min-width:205px; padding:5px; border:1px solid #e1e1da; border-radius:4px; background:#fff; box-shadow:0 12px 28px #24314020 }
.nav-dropdown a { padding:10px 12px; border-radius:3px; color:#53616a; font-size:13px; text-decoration:none; white-space:nowrap }
.nav-dropdown a:hover,.nav-dropdown a:focus-visible { background:#f3f2ed; color:#c84932; outline:0 }
.nav-current-year { display:inline-flex; flex-flow:row nowrap; flex:0 0 auto; min-height:44px; align-items:center; justify-content:center; gap:9px; margin-right:7px; padding:0 15px; border-radius:3px; background:#283d4d; color:#fff; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap }
.nav-current-year span { display:inline-block; flex:0 0 auto; line-height:1 }
.nav-current-year:hover { background:#cf5238 }
.about-page { width:min(850px,calc(100% - 48px)); margin:48px auto 80px; padding:0 0 20px }
.about-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:0 0 23px; border-bottom:1px solid #d9dad3 }
.eyebrow { margin:0 0 8px; color:#c95239; font-size:10px; font-weight:700; letter-spacing:.1em }
.about-heading h1 { margin:0; color:#283947; font-size:clamp(32px,5vw,47px); font-weight:500; letter-spacing:-.04em; line-height:1.1 }
.heading-mark { padding:0 3px 1px; color:#d4d2c7; font:italic 30px/1 Georgia,serif }
.about-copy { max-width:760px; margin-inline:auto }
.about-copy p { color:#5d6970; font-size:16px; line-height:1.95 }
.about-lead { margin:26px 0 32px; color:#344954!important; font-size:19px!important; line-height:1.85!important }
.article-section { padding:0 0 21px; margin:0 0 23px; border-bottom:1px solid #e0e0da }
.article-section h2 { margin:0 0 11px; color:#304451; font-size:21px; font-weight:600; letter-spacing:-.02em }
.article-section p { margin:8px 0; }
.section-title-row { display:flex; align-items:center; justify-content:space-between; gap:16px }
.section-title-row h2 { margin-bottom:6px }
.section-title-row>a { color:#c94e35; font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap }
.section-title-row>a:hover { text-decoration:underline; text-underline-offset:3px }
.selection-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0; border-block:1px solid #dcded7 }
.selection-steps>div { display:flex; align-items:center; gap:12px; min-height:66px; padding:10px 14px; border-left:1px solid #e1e2dc }
.selection-steps>div:last-child { border-left:0 }
.selection-steps>div>span { color:#d05239; font:27px/1 Georgia,serif }
.selection-steps p { margin:0; color:#858d8a; font-size:10px; line-height:1.55 }
.selection-steps strong { display:block; color:#42535c; font-size:11px }
.last-section { padding-bottom:0; border:0 }
section[id] { scroll-margin-top:84px }
@media(max-width:620px) {
  .home-header-inner { width:calc(100% - 24px); min-height:68px; gap:6px }
  .home-brand { gap:7px; font-size:12px }
  .home-brand small { font-size:9px }
  .brand-mark { width:34px; height:34px; font-size:22px }
  .home-nav { gap:1px }
  .nav-link,.nav-menu summary { min-height:37px; padding:0 7px; font-size:11px }
  .nav-current-year { min-height:37px; gap:5px; margin-right:2px; padding:0 8px; font-size:10px }
  .nav-dropdown { min-width:180px }
  .about-page { width:calc(100% - 36px); margin:31px auto 45px }
  .about-heading { padding-bottom:17px }
  .about-heading h1 { font-size:34px }
  .heading-mark { font-size:24px }
  .about-lead { margin:20px 0 24px; font-size:16px!important }
  .about-copy p { font-size:13px; line-height:1.85 }
  .article-section { padding-bottom:17px; margin-bottom:19px }
  .article-section h2 { font-size:18px }
  .selection-steps>div { flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; padding:8px }
  .selection-steps>div>span { font-size:21px }
  .selection-steps p { font-size:9px }
  .selection-steps strong { font-size:11px }
}
@media(max-width:400px) {
  .home-header-inner { width:calc(100% - 16px) }
  .home-brand { font-size:10px }
  .home-brand small { display:none }
  .brand-mark { width:29px; height:29px; font-size:19px }
  .nav-link,.nav-menu summary { padding:0 5px; font-size:9px }
  .nav-current-year { gap:4px; padding:0 6px; font-size:9px }
  .about-page { width:calc(100% - 28px) }
}
