/* Compact page introductions shared by the public navigation. */
body .focus-header{padding-block:12px;gap:12px 24px}
body .focus-header .brand-mark{width:36px;height:40px;font-size:34px;line-height:33px;letter-spacing:-4px;padding-left:5px}
body .focus-header .brand small{font-size:8px;margin-top:2px}
body .focus-header nav{gap:4px}
body .focus-header nav a{padding:10px 12px;min-height:44px}
body main,body.focused-site main{padding-top:20px}
body .editorial-position{font-size:11px;line-height:1.5;margin:0 0 14px}
body .eyebrow{margin-bottom:6px;letter-spacing:1.2px}
body h1,body.focused-site h1,body .referendum-page h1{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px;margin:0 0 8px}
body .lead{font-size:14px;line-height:1.5;margin:0 0 20px}
body :is(.polling-page,.polling-summary-page) .poll-intro{padding:20px 24px;margin-bottom:16px;border-radius:14px}
body :is(.polling-page,.polling-summary-page) .poll-intro .ps-eyebrow{margin-bottom:6px;font-size:10px}
body :is(.polling-page,.polling-summary-page) .poll-intro h1{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px;margin:0 0 8px}
body :is(.polling-page,.polling-summary-page) .poll-intro p{font-size:14px;line-height:1.5;margin:0 0 8px}
body .poll-intro-note{border:0;padding:0;font-size:11px;line-height:1.5}
body :is(.polling-page,.polling-summary-page) .polling-view-nav{margin-bottom:16px}
body [data-political-map] .pm-header{margin-bottom:12px}
body [data-political-map] .pm-kicker{margin-bottom:6px!important;font-size:10px}
body [data-political-map] .pm-header h2{font-size:clamp(28px,3vw,40px);line-height:1.15}
body [data-political-map] .pm-subtitle{margin-top:8px!important;line-height:1.5}
body [data-political-map] .pm-notice{margin:8px 0;line-height:1.5}
@media(max-width:600px){
 body .focus-header{padding:12px 18px;gap:10px}
 body .focus-header nav{width:100%;gap:2px}
 body .focus-header nav a{padding:10px;font-size:13px}
 body main,body.focused-site main{padding-top:16px}
 body .editorial-position{margin-bottom:12px}
 body :is(.polling-page,.polling-summary-page) .poll-intro{padding:16px 18px}
}

/* One introduction style, matching the polling banner, on every main page. */
body main .page-header{
 display:block;padding:20px 24px;margin:0 0 16px;border-radius:14px;
 background:linear-gradient(120deg,#112d51,#244b72 70%,#315b76);color:#fff;
}
body main .page-header :is(.eyebrow,.ps-eyebrow,.pm-kicker){
 display:block;color:#c4d9eb;font:600 10px/1.5 system-ui,sans-serif;
 letter-spacing:.13em;margin:0 0 6px!important;
}
body main .page-header :is(h1,h2){
 color:#fff;font:400 clamp(28px,3vw,40px)/1.15 Georgia,serif;
 letter-spacing:-1px;margin:0 0 8px;
}
body main .page-header :is(.lead,.pm-subtitle),body main .page-header.poll-intro p{
 max-width:650px;color:#e0e9f2;font-size:14px;line-height:1.5;margin:0!important;
}
body main .page-header .poll-intro-note{color:#d1dfec;margin-top:8px}
@media(max-width:600px){body main .page-header{padding:16px 18px}}
@media print{
 body main .page-header{background:white!important;color:#152640;border:1px solid #dfe5ed}
 body main .page-header :is(h1,h2,p,span,.eyebrow){color:#152640!important}
}
