.site-header nav { gap: 22px; }
.site-header nav a { white-space: nowrap; }
.hero h1 { font-size: clamp(61px, 5.45vw, 82px); }
.hero-description { max-width: 475px; }
.button-blue { background: #1c55fb; color: #fff; }
.button-blue:hover { background: #1046d8; }

.national-feature { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr); gap: 8vw; padding-top: 94px; padding-bottom: 94px; border-bottom: 1px solid var(--line); background: #fff; }
.national-feature-copy h2 { margin: 18px 0 23px; }
.national-feature-copy h2 em, .authority-section h2 em { color: #1c55fb; }
.national-feature-copy p, .authority-section p { color: var(--ink-soft); font-size: 14px; line-height: 1.8; max-width: 550px; }
.national-feature-copy .button { margin-top: 30px; }
.national-feature-points { border-top: 1px solid var(--line); }
.national-feature-points>div { display: grid; grid-template-columns: 110px 1fr; gap: 2px 20px; border-bottom: 1px solid var(--line); padding: 23px 0; }
.national-feature-points span { grid-row: span 2; font-size: 9px; font-weight: 700; letter-spacing: .9px; color: #1c55fb; }
.national-feature-points strong { font-size: 17px; font-weight: 600; line-height: 1.3; }
.national-feature-points p { font-size: 12px; line-height: 1.65; color: var(--ink-soft); }
.market-directory-link { display: inline-flex; align-items: center; gap: 10px; padding-top: 18px; color: #1c55fb; font-size: 11px; font-weight: 700; }
.market-directory-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pillar-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; background: #edf7fc; padding-top: 80px; padding-bottom: 80px; }
.pillar-detail h2 { margin: 18px 0 20px; }
.pillar-detail>div>p { color: var(--ink-soft); font-size: 14px; line-height: 1.8; max-width: 540px; }
.pillar-detail .text-link { color: #1c55fb; margin-top: 24px; }
.pillar-checklist { border-top: 1px solid #bdd8ed; }
.pillar-checklist>.small-label { padding: 17px 0 12px; color: #42516a; }
.pillar-checklist>div { border-top: 1px solid #bdd8ed; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; padding: 18px 0; }
.pillar-checklist>div>span { color: #1c55fb; font-size: 10px; font-weight: 700; }
.pillar-checklist>div>p { font-size: 13px; line-height: 1.5; }
.pillar-checklist>a { display: inline-flex; margin: 15px 22px 0 0; font-size: 11px; font-weight: 700; color: #1c55fb; }
.pillar-checklist>a:hover { text-decoration: underline; text-underline-offset: 4px; }

.pillar-guides { display: grid; grid-template-columns: minmax(260px,.82fr) minmax(0,1.18fr); gap: 8vw; padding-top: 86px; padding-bottom: 88px; background: #fff; border-top: 1px solid var(--line); }
.pillar-guides h2 { margin: 18px 0 20px; }
.pillar-guides h2 em { color: #1c55fb; }
.pillar-guides>div>p { color: var(--ink-soft); font-size: 14px; line-height: 1.8; max-width: 390px; }
.pillar-guides .text-link { margin-top: 26px; color: #1c55fb; }
.pillar-guide-grid { border-top: 1px solid var(--line); }
.pillar-guide-grid a { display: grid; grid-template-columns: 1fr 25px; gap: 8px 15px; align-items: end; border-bottom: 1px solid var(--line); padding: 18px 4px 19px; }
.pillar-guide-grid a span { grid-column: 1/-1; color: #1c55fb; font-size: 9px; font-weight: 700; letter-spacing: .6px; }
.pillar-guide-grid a strong { font-size: 17px; font-weight: 550; line-height: 1.4; }
.pillar-guide-grid a i { color: #1c55fb; font-size: 17px; font-style: normal; font-weight: 400; text-align: right; }
.pillar-guide-grid a:hover strong { color: #1c55fb; }

.authority-section { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; background: #edf7fc; padding-top: 85px; padding-bottom: 85px; }
.authority-section h2 { margin: 18px 0 23px; }
.authority-section .text-link { color: #1c55fb; margin-top: 23px; }
.authority-quicklinks { border-top: 1px solid #bdd8ed; }
.authority-quicklinks a { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 16px; padding: 20px 4px; border-bottom: 1px solid #bdd8ed; }
.authority-quicklinks a span { color: #1c55fb; font-size: 12px; }
.authority-quicklinks a strong { font-size: 16px; font-weight: 550; }
.authority-quicklinks a:hover strong { text-decoration: underline; text-underline-offset: 5px; }

.footer-top { grid-template-columns: minmax(220px,1.35fr) repeat(3,minmax(130px,1fr)); gap: 48px; }
.footer-top>div>strong { font-size: 10px; text-transform: uppercase; letter-spacing: .9px; margin-bottom: 12px; }
.footer-top .footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.footer-brand p { color: #42516a; font: italic 21px/1.2 var(--serif); }
.footer-top>div>a:not(.brand) { font-size: 11px; line-height: 1.5; }

@media (max-width: 1120px) {
  .site-header nav { gap: 13px; font-size: 10px; }
  .hero h1 { font-size: clamp(52px,5.7vw,68px); }
  .national-feature { gap: 4vw; }
  .footer-top { gap: 25px; }
}
@media (max-width: 800px) {
  .site-header nav { gap: 5px; font-size: 13px; }
  .national-feature { grid-template-columns: 1fr; gap: 40px; padding-top: 65px; padding-bottom: 65px; }
  .authority-section { gap: 5vw; }
  .pillar-detail { gap: 5vw; }
  .pillar-guides { gap: 5vw; }
  .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
}
@media (max-width: 560px) {
  .hero h1 { font-size: 56px; }
  .national-feature { padding-top: 50px; padding-bottom: 50px; }
  .national-feature-copy h2, .authority-section h2 { font-size: 42px; }
  .national-feature-copy p, .authority-section p { font-size: 12px; }
  .national-feature-points>div { grid-template-columns: 72px 1fr; gap: 4px 12px; }
  .national-feature-points span { font-size: 8px; }
  .national-feature-points strong { font-size: 15px; }
  .national-feature-points p { font-size: 11px; }
  .authority-section { grid-template-columns: 1fr; gap: 35px; padding-top: 54px; padding-bottom: 54px; }
  .pillar-detail { grid-template-columns: 1fr; gap: 30px; padding-top: 50px; padding-bottom: 50px; }
  .pillar-detail h2 { font-size: 42px; }
  .pillar-detail>div>p { font-size: 12px; }
  .pillar-guides { grid-template-columns: 1fr; gap: 32px; padding-top: 54px; padding-bottom: 54px; }
  .pillar-guides h2 { font-size: 42px; }
  .pillar-guides>div>p { font-size: 12px; }
  .authority-quicklinks a { padding: 18px 2px; }
  .authority-quicklinks a strong { font-size: 14px; }
  .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 18px; }
  .footer-top .footer-brand { grid-column: 1/-1; }
  .footer-top>div>a:not(.brand) { font-size: 10px; }
}
