/* Secondary pages share the same visual rhythm as the homepage and contact form. */
.page-hero .eyebrow { color:#a9dbea; }
.explainer-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:36px; align-items:center; background:radial-gradient(ellipse at 100% 100%,#197b93,transparent 65%),#163e52; }
.explainer-hero h1 { font-size:clamp(36px,4.2vw,62px); line-height:1.07; }
.explainer-hero>div>p:not(.eyebrow) { max-width:610px; font-size:17px; line-height:1.7; color:#d7eaf0; }
.explainer-hero .button { margin-top:14px; }
.protection-art { text-align:center; }
.protection-art img { width:100%; height:auto; max-width:420px; margin:auto; }
.protection-art p { margin:0; font-size:12px!important; line-height:1.65; }
.explainer-intro { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-bottom:0; }
.explainer-intro h2,.weight-example h2,.protection-next h2,.training-test h2 { margin:0; color:#163e52; font:720 clamp(30px,3.2vw,44px)/1.12 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.045em; }
.explainer-intro>p { color:#526b78; line-height:1.85; }
.protection-options { padding-bottom:0; }
.protection-options .section-heading { grid-template-columns:1fr auto; align-items:end; }
.protection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.protection-card { display:flex; flex-direction:column; align-items:start; padding:30px; border:1px solid #dde7e8; border-radius:28px; background:#fff; }
.guide-number { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:#edf5f7; color:#087eaf; font-size:12px; font-weight:800; }
.protection-card h3,.preparation-grid h3 { margin:25px 0 8px; color:#153e53; font-size:22px; line-height:1.2; letter-spacing:-.025em; }
.protection-card p,.protection-card li,.preparation-grid p { color:#526b78; font-size:14px; line-height:1.75; }
.protection-card p { margin:8px 0; }
.protection-card ul { padding-left:18px; margin:8px 0 22px; }
.protection-card a { margin-top:auto; color:#0a658b; font-size:14px; font-weight:800; }
.protection-card.featured { background:#f1f7f8; border-color:#bcd7df; }
.protection-card .coverage-rate { margin:10px 0; font-size:44px; line-height:1.15; font-weight:850; color:#087eaf; letter-spacing:-.045em; }
.coverage-rate span { display:block; margin-top:7px; font-size:13px; font-weight:650; letter-spacing:0; color:#526b78; }
.weight-example { display:grid; grid-template-columns:1fr 1.1fr; gap:50px; align-items:center; width:min(1180px,calc(100% - 48px)); margin:60px auto 0; padding:42px; border-radius:32px; background:#f5f0e6; }
.weight-example p { max-width:500px; color:#536974; line-height:1.75; font-size:14px; }
.weight-example .example-note { font-size:12px; }
.weight-equation { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:9px; align-items:center; }
.weight-equation>div { min-width:0; text-align:center; padding:25px 6px; border-radius:20px; background:#fffdf9; }
.weight-equation strong { display:block; color:#173e50; font-size:clamp(28px,3.1vw,46px); font-weight:850; letter-spacing:-.06em; line-height:1.1; }
.weight-equation strong span { font-size:20px; margin-left:4px; }
.weight-equation small { display:block; margin-top:9px; color:#536974; font-size:11px; }
.weight-equation>b { color:#9c815a; font-size:23px; }
.weight-equation .equation-total { background:#153e53; }
.equation-total strong,.equation-total small { color:#fff; }
.preparation-section { padding-bottom:0; }
.preparation-grid { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:0; padding:0; }
.preparation-grid li { padding:0 25px 0 0; border-right:1px solid #dde7e8; }
.preparation-grid li:last-child { border:0; padding-right:0; }
.interstate-note { display:grid; grid-template-columns:200px 1fr; gap:5px 28px; align-items:start; margin-top:42px; padding:28px 30px; border:1px solid #d8e4e9; border-radius:22px; }
.interstate-note h3 { margin:0; font-size:20px; line-height:1.3; color:#153e53; }
.interstate-note p { margin:0; color:#526b78; font-size:14px; line-height:1.7; }
.interstate-note a { grid-column:2; margin-top:10px; font-weight:700; font-size:13px; }
.protection-next { padding-top:60px; }
.protection-next>div { padding:36px; background:#edf5f7; border-radius:30px; }
.protection-next>div>p:not(.eyebrow) { max-width:780px; color:#526b78; line-height:1.8; }
.coverage-footnote { margin:22px 10px 0; font-size:12px; line-height:1.8; color:#637780; }
.coverage-footnote a { display:inline; }
.training-hero { background:radial-gradient(ellipse at 90% 120%,#2c7488,transparent 70%),#163e52; }
.training-section { padding-top:42px; }
.training-start { display:grid; grid-template-columns:200px 1fr; gap:25px; align-items:start; padding:26px 30px; margin-bottom:30px; background:#f5f0e6; border-radius:22px; }
.training-start strong { color:#75592f; }
.training-start p { margin:0; font-size:14px; color:#566b76; line-height:1.8; }
.training-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.training-candidates { grid-template-columns:repeat(6,minmax(0,1fr)); }
.training-candidates .training-resource { grid-column:span 2; }
.training-candidates .training-resource:nth-last-child(-n+2) { grid-column:span 3; }
.training-resource { display:flex; flex-direction:column; align-items:start; padding:28px; background:#fff; border:1px solid #dfe8eb; border-radius:26px; }
.training-resource h2 { margin:23px 0 10px; color:#153e53; font-size:23px; letter-spacing:-.035em; line-height:1.2; }
.training-resource p { color:#526b78; margin:0 0 25px; font-size:14px; line-height:1.75; }
.training-resource a { margin-top:auto; color:#08749e; font-size:14px; font-weight:800; padding:8px 0; }
.training-overview { margin-top:32px; padding:0 28px; border:1px solid #dfe8eb; border-radius:23px; background:#fff; }
.training-overview summary { padding:24px 0; font-size:17px; font-weight:800; color:#153e53; cursor:pointer; }
.training-overview-body { max-width:820px; margin:auto; padding:10px 0 30px; line-height:1.8; color:#526b78; }
.training-overview-body h2 { margin-top:36px; color:#153e53; font-size:27px; }
.training-overview-body h3 { color:#153e53; font-size:19px; }
.training-quick-links { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.training-quick-links a { padding:12px 18px; border:1px solid #dbe5e8; border-radius:14px; background:#fff; font-size:13px; font-weight:750; }
.training-test { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-top:32px; padding:35px; border-radius:28px; background:#edf5f7; }
.training-test>div { max-width:680px; }
.training-test p:not(.eyebrow) { color:#526b78; font-size:14px; line-height:1.8; }
.training-test .button { flex-shrink:0; }
.blog-card h2 { font-family:ui-sans-serif,system-ui,sans-serif; font-size:25px; line-height:1.2; letter-spacing:-.035em; font-weight:720; }
.blog-card { min-height:310px; border-radius:25px; padding:27px; }
.blog-card>p:not(.eyebrow) { line-height:1.75; font-size:14px; }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0 0 20px; color:#08749e; font-size:12px; font-weight:750; }
.article header h1 { font-size:clamp(34px,4.1vw,56px); line-height:1.12; }
.article-body { font-size:17px; line-height:1.85; }
.article-body h2 { font-size:31px; line-height:1.2; }
.article-body h3 { color:#153e53; font-size:22px; line-height:1.3; }
.article-body li { margin-bottom:8px; }
.article-toc { padding:22px 26px; border:1px solid #dbe5e8; background:#f4f8f8; border-radius:22px; margin-top:28px; }
.article-toc summary { cursor:pointer; font-weight:750; color:#153e53; }
.article-toc ol { padding-left:22px; margin:18px 0 0; display:grid; gap:9px; font-size:14px; }
.article-body h2[id] { scroll-margin-top:140px; }
.article aside h2 { font-family:ui-sans-serif,system-ui,sans-serif; font-size:30px; font-weight:750; letter-spacing:-.035em; }
.article aside p { color:#536974; }
.article aside .button { margin-top:8px; }
.sms-form #sms-fields>label>input { min-width:0; min-height:50px; padding:12px 14px; border:1px solid #b8cbd5; border-radius:12px; font:inherit; background:#fff; }
.sms-form .choice-row label { padding:22px; border-radius:22px; background:white; align-items:start; }
.sms-form input[type=radio],.sms-form input[type=checkbox] { accent-color:#087eaf; width:18px; height:18px; flex-shrink:0; }
@media(max-width:1000px){
  .explainer-hero { grid-template-columns:1.1fr .9fr; gap:20px; }
  .explainer-hero h1 { font-size:40px; }
  .explainer-hero>div>p:not(.eyebrow) { font-size:15px; }
  .explainer-intro { gap:35px; }
  .protection-grid { gap:13px; }
  .protection-card { padding:24px 20px; }
  .weight-example { gap:30px; padding:32px; }
  .weight-equation { gap:5px; }
  .training-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .training-candidates .training-resource,.training-candidates .training-resource:nth-last-child(-n+2) { grid-column:auto; }
  .training-grid .training-resource:last-child:nth-child(odd) { grid-column:1/-1; }
}
@media(max-width:700px){
  .explainer-hero,.explainer-intro,.weight-example { grid-template-columns:1fr; }
  .explainer-hero { gap:24px; }
  .explainer-hero h1 { font-size:36px; }
  .protection-art img { max-width:290px; }
  .protection-art p { font-size:11px!important; }
  .explainer-intro { padding-top:45px; gap:12px; }
  .protection-options .section-heading { display:block; }
  .protection-grid,.preparation-grid,.training-grid { grid-template-columns:1fr; }
  .protection-card { padding:27px; }
  .weight-example { width:calc(100% - 36px); margin-top:38px; padding:29px 23px; gap:18px; }
  .weight-equation strong { font-size:33px; }
  .weight-equation small { font-size:10px; }
  .weight-equation strong span { font-size:17px; }
  .preparation-grid { gap:26px; }
  .preparation-grid li { border-right:0; border-bottom:1px solid #dbe5e8; padding:0 0 17px; }
  .interstate-note { display:block; padding:25px; margin-top:28px; }
  .interstate-note h3 { margin-bottom:12px; }
  .interstate-note a { display:inline-block; }
  .protection-next>div { padding:27px; }
  .protection-next .contact-actions { gap:10px; }
  .protection-next .button { width:100%; }
  .training-start { display:block; padding:24px; }
  .training-start strong { display:block; margin-bottom:8px; }
  .training-test { display:block; padding:27px; }
  .training-test .button { margin-top:12px; }
  .training-overview { padding:0 22px; }
  .training-overview summary { font-size:15px; }
  .article { width:calc(100% - 40px); }
  .article header h1 { font-size:36px; }
  .article-body { font-size:16px; }
  .article-body h2 { font-size:27px; }
  .article-toc { padding:21px; }
}
