/* Local activities and original policy wording, rebuilt as accessible HTML. */
.policy-local{padding:32px 0 110px;background:var(--pale-blue,#fafcff);scroll-margin-top:100px}
.policy-local [id]{scroll-margin-top:120px}
.policy-film{width:min(798px,calc(100% - 48px));margin-inline:auto;background:#252a33}
.policy-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#252a33}
.policy-film-caption{width:min(798px,calc(100% - 48px));display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:13px;color:var(--body-copy)}
.policy-film-caption strong{color:var(--ink,#252a33);font-size:20px;letter-spacing:.04em}
.policy-local-content{padding-top:100px}
.policy-local .section-heading{margin-bottom:64px}
.policy-local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px 64px;align-items:start}
.local-priorities{grid-column:2;grid-row:1;padding:12px 0 0}
.local-priorities-label{color:var(--red);font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:22px}
.local-priority{display:grid;grid-template-columns:37px minmax(0,1fr) 25px;align-items:center;gap:16px;min-height:104px;padding:18px 27px;background:var(--red,#d70c2b);color:#fff;margin:0 0 17px;clip-path:polygon(2.5% 0,100% 0,97.5% 100%,0 100%);transition:background .2s,transform .2s}
.local-priority:hover{background:#b90a26;transform:translateX(4px)}
.local-priority:focus-visible{outline:3px solid #252a33;outline-offset:4px;clip-path:none}
.local-priority-number{font-family:Arial,sans-serif;font-size:23px;font-weight:700;color:#ffffffa6}
.local-priority h3{font-size:clamp(19px,1.8vw,25px);line-height:1.55;margin:0;letter-spacing:.02em}
.local-priority h3 em{font-style:normal;color:#fff183}
.local-priority h3 span{display:block;font-size:17px;color:#fff}
.local-priority svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.5}
.local-priorities-note{font-size:13px;line-height:2;color:var(--body-copy);margin:24px 0 17px}
.policy-local .policy-all-link{margin:24px 0 0;text-align:left}
.local-action{min-width:0}
.local-action--seminar{grid-column:1;grid-row:1}
.local-action--station{grid-column:1;grid-row:2}
.local-action--watch{grid-column:2;grid-row:2}
.local-action figure{margin:0}
.local-action-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;display:block}
.local-action--station .local-action-photo{object-position:50% 38%}
.local-action-message{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:10px;min-height:132px;margin:-35px 18px 0 54px;padding:20px 17px 18px 25px;border:5px solid #fafcff;border-radius:34px;background:#e7f2f8}
.local-action-message p{margin:0;color:#252a33;font-weight:700;font-size:clamp(14px,1.2vw,17px);line-height:1.75;letter-spacing:.01em}
.local-action-message strong{color:var(--red);font-weight:800}
.local-action-message img{display:block;width:86px;height:96px;object-fit:contain;align-self:end}
.local-action-copy{padding:20px 5px 0}
.local-action-copy h3{font-size:23px;line-height:1.6;margin:0 0 12px;letter-spacing:.02em}
.local-action-copy>p{color:var(--body-copy);font-size:14px;line-height:2.1;margin:0;overflow-wrap:anywhere}
@media(min-width:1600px){.policy-local-content{max-width:1320px}.local-action-photo{max-height:390px}.local-priority{min-height:115px}}
@media(max-width:1000px){.policy-local-grid{gap:44px 34px}.local-priority{padding:18px 20px;gap:10px;grid-template-columns:28px minmax(0,1fr) 20px}.local-priority h3{font-size:19px}.local-priority h3 span{font-size:15px}.local-action-message{margin-left:24px;margin-right:8px;grid-template-columns:minmax(0,1fr) 65px;padding:15px 12px 14px 20px}.local-action-message img{width:65px;height:85px}.local-action-message p{font-size:13px}.local-action-copy h3{font-size:20px}}
@media(max-width:760px){.policy-local{padding-bottom:65px}.policy-film-caption{padding-top:15px;padding-bottom:15px;align-items:flex-start;flex-direction:column;gap:5px;font-size:11px}.policy-film-caption strong{font-size:17px}.policy-local-content{padding-top:55px}.policy-local .section-heading{margin-bottom:34px}.policy-local-grid{grid-template-columns:1fr;gap:42px}.local-priorities,.local-action--seminar,.local-action--station,.local-action--watch{grid-column:auto;grid-row:auto}.local-priorities{padding:0}.local-priority{min-height:91px;margin-bottom:13px;padding:15px 24px;grid-template-columns:29px minmax(0,1fr) 22px;gap:14px}.local-priority h3{font-size:21px}.local-priority h3 span{font-size:15px}.local-priorities-label{margin-bottom:17px}.local-priorities-note{margin-top:19px}.policy-local .policy-all-link{margin-top:19px}.local-action-message{grid-template-columns:minmax(0,1fr) 82px;margin:-26px 8px 0 28px;padding:17px 12px 15px 20px;min-height:126px;border-width:4px}.local-action-message img{width:82px;height:94px}.local-action-message p{font-size:14px}.local-action-photo{border-radius:15px}.local-action-copy{padding-top:16px}.local-action-copy h3{font-size:21px;margin-bottom:10px}.local-action-copy>p{font-size:13px;line-height:2}}
@media(max-width:760px){.policy-local{scroll-margin-top:74px}.policy-local [id]{scroll-margin-top:94px}}
@media(max-width:360px){.local-priority h3{font-size:18px}.local-action-message{margin-left:13px;grid-template-columns:minmax(0,1fr) 64px;padding-left:15px}.local-action-message img{width:64px}.local-action-message p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.local-priority{transition:none}.local-priority:hover{transform:none}}

/* The original site's red identity band, between Message and the introduction film.
   Wording remains HTML; the original artwork is reused without redrawing it. */
.original-promise{scroll-margin-top:100px;background:#fc0b04;color:#fff;overflow:hidden}
.original-promise-heading{border-block:5px double #fff}
.original-promise-heading-inner{width:min(798px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;padding:32px 0}
.original-promise-name{margin:0;font-size:32px;line-height:1.6;letter-spacing:.02em}
.original-promise-name span,.original-promise-name strong{display:block;font-weight:500}
.original-promise-name strong{font-size:42px;letter-spacing:.08em}
.original-promise-intro>p:first-child{font-size:20px;font-weight:700;line-height:1.7;font-style:italic;text-decoration:underline;text-underline-offset:5px;transform:rotate(-4deg);transform-origin:left center;margin:0 0 25px}
.original-promise-intro-phrase{display:inline-block;white-space:nowrap}
.original-promise-tags{font-size:12px;font-weight:700;line-height:1.6;margin:0}
.original-promise-main{width:min(798px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:285px minmax(0,1fr);gap:12px;align-items:end;padding:30px 0 0}
.original-promise-character{display:block;width:100%;height:340px;object-fit:cover;object-position:50% 0}
.original-promise-slogan{position:relative;padding:0 0 38px;align-self:center;min-width:0;font-style:italic;letter-spacing:-.04em}
.original-promise-slogan h2{margin:0;font-weight:900;line-height:1.25;color:#fff}
.original-promise-slogan h2 span{display:block;font-size:40px;white-space:nowrap}
.original-promise-slogan h2 strong{display:block;font-size:92px;font-weight:900;white-space:nowrap;letter-spacing:-.08em;margin-block:4px 12px}
.original-promise-slogan>p{font-size:29px;line-height:1.7;font-weight:800;margin:0;max-width:calc(100% - 75px)}
.original-promise-slogan em{color:#fff000;font-weight:900}
.original-promise-hand{position:absolute;width:74px;aspect-ratio:215/365;right:0;bottom:34px;overflow:hidden}
/* Transparent vector hand replaces the red rectangular crop from the old artwork. */
.original-promise-hand svg{display:block;width:100%;height:100%;overflow:visible}
.promise-hand-shape path,.promise-hand-rays{stroke:var(--red-dark);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.promise-hand-rays{stroke:#fff;stroke-width:3.2}
@media(max-width:760px){
 .original-promise{scroll-margin-top:74px}
 .original-promise-heading-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(12px,3vw,24px);padding:26px 0}
 .original-promise-name{font-size:clamp(14px,3.6vw,22px);text-align:center;white-space:nowrap;letter-spacing:0}.original-promise-name strong{font-size:clamp(24px,6.1vw,32px);letter-spacing:.04em}
 .original-promise-intro{min-width:0}
 .original-promise-intro>p:first-child{font-size:clamp(11px,2.9vw,18px);margin:0 0 16px;transform:rotate(-3deg);line-height:1.7}
 .original-promise-tags{font-size:clamp(8px,2vw,11px);overflow-wrap:anywhere}
 .original-promise-main{grid-template-columns:32% minmax(0,1fr);gap:6px;padding-top:24px}
 .original-promise-character{height:auto;object-fit:contain;align-self:end}
 .original-promise-slogan{padding-bottom:20px}
 .original-promise-slogan h2 span{font-size:clamp(15px,4.5vw,29px)}
 .original-promise-slogan h2 strong{font-size:clamp(36px,10.7vw,70px);margin-block:3px 8px}
 .original-promise-slogan>p{font-size:clamp(13px,3.7vw,23px);max-width:calc(100% - 30px)}
 .original-promise-hand{width:29px;bottom:21px}
}

/* The original narrow policy ribbons: red, yellow and white, with an upright finger. */
.local-priorities{container-type:inline-size}
.local-priority-bands{padding-block:clamp(22px,6.2cqw,38px)}
.local-priority{position:relative;isolation:isolate;display:flex;align-items:center;gap:2px;min-height:0;height:clamp(46px,14cqw,76px);padding:5px 12px 5px 7px;margin:0 0 12px;clip-path:none;background:transparent;color:#fff;transform:skewY(-7deg);transition:transform .2s}
.local-priority:last-child{margin-bottom:0}
.local-priority:before{content:"";position:absolute;inset:0;z-index:-1;background:#e70012;clip-path:polygon(4% 0,100% 0,100% 100%,0 100%)}
.local-priority:hover{background:transparent;transform:skewY(-7deg) translateX(3px)}
.local-priority:hover:before{background:#c60010}
.local-priority:focus-visible{outline:3px solid #252a33;outline-offset:4px}
.local-priority h3{font-size:clamp(12px,5.8cqw,32px);font-weight:900;font-style:italic;line-height:1.2;letter-spacing:-.05em;white-space:nowrap;margin:0}
.local-priority h3 em{font-style:italic;color:#fff000}
.local-priority h3 span{display:inline;font-size:inherit;color:#fff}
.local-priority svg.local-priority-hand{flex:none;width:clamp(26px,8.6cqw,47px);height:clamp(36px,11cqw,60px);stroke:none}
.policy-film{position:relative}
.policy-sound-toggle{position:absolute;inset:0 0 48px;display:flex;justify-content:flex-end;align-items:flex-start;padding:12px;background:transparent;border:0;color:#fff;cursor:pointer}
.policy-sound-toggle[hidden]{display:none}
.policy-sound-toggle span{padding:7px 11px;border-radius:4px;background:#252a33d9;font:700 12px/1.5 var(--font)}
.policy-sound-toggle:focus-visible{outline:3px solid #fff;outline-offset:-5px}
@media(max-width:450px){.policy-sound-toggle{padding:8px}.policy-sound-toggle span{font-size:10px;padding:5px 8px}}
/* Hovering does not stop the activity strip; explicit pause/focus and reduced-motion remain. */
@media(hover:hover){.photo-track:hover{animation-play-state:running}}
@media(prefers-reduced-motion:reduce){.local-priority{transition:none}.local-priority:hover{transform:skewY(-7deg)}}
/* Fit each speech bubble to its text and character instead of stretching it. */
.local-action-message{width:fit-content;max-width:calc(100% - 36px);min-height:0;grid-template-columns:minmax(0,max-content) 76px;gap:18px;margin:-35px 18px 0 auto;padding:18px 22px}
.local-action-message img{width:76px;height:92px}
@media(max-width:1000px){.local-action-message{max-width:calc(100% - 16px);grid-template-columns:minmax(0,max-content) 65px;gap:14px;padding:16px 18px;margin-right:8px}.local-action-message img{width:65px;height:82px}}
@media(max-width:760px){.local-action-message{max-width:calc(100% - 16px);grid-template-columns:minmax(0,max-content) 70px;gap:12px;margin:-26px 8px 0 auto;padding:16px 18px}.local-action-message img{width:70px;height:86px}}
@media(max-width:360px){.local-action-message{max-width:calc(100% - 12px);grid-template-columns:minmax(0,max-content) 60px;gap:10px;padding:14px 15px;margin-right:6px}.local-action-message img{width:60px;height:78px}}

/* Keep the policy introduction directly below its heading at every breakpoint. */
.policy-local .section-heading{display:block}
.policy-local .section-heading .section-intro{margin:24px 0 0;max-width:none}

/* Message: a centered reading column, with left-aligned text. */
.message-section.message-text-only{display:block;padding-block:100px}
.message-text-only .message-copy{width:min(520px,100%);margin-inline:auto;text-align:left}
@media(max-width:760px){.message-section.message-text-only{padding-block:72px}}

/* Center the message label, headline, signature and calls to action. */
.message-text-only .eyebrow{justify-content:center}
.message-text-only .message-copy h2{text-align:center;font-size:28px;line-height:1.7}
.message-text-only .message-copy h2 br{display:none}
.message-text-only .message-copy h2 em{display:inline-block}
.message-text-only .message-copy>p.message-signature:not(.eyebrow):not(.message-lead){text-align:center}
.message-text-only .message-actions{margin-inline:auto}
.message-phrase-end{display:inline-block;white-space:nowrap}
@media(max-width:760px){.message-text-only .message-copy h2{font-size:24px}.message-text-only .message-copy h2 br{display:initial}.message-copy-break{display:none}}

/* Center the lead and place the handwritten signature slightly right of center. */
.message-text-only .message-copy .message-lead{text-align:center}
.message-text-only .message-copy>p.message-signature:not(.eyebrow):not(.message-lead){padding-left:clamp(80px,20vw,220px)}

/* Center the actual text blocks, retaining left-aligned lines. */
.message-text-only .message-heading{width:100%;margin-inline:auto}
.message-text-only .message-heading .eyebrow{justify-content:flex-start}
.message-text-only .message-heading h2{text-align:left}
.message-text-only .message-copy .message-lead{width:min(520px,100%);margin-inline:auto;text-align:left}
.message-text-only .message-copy>p:not(.eyebrow):not(.message-lead):not(.message-signature){width:min(520px,100%);margin-inline:auto}
/* Optical offset of the complete message composition on wider screens. */
.message-text-only .message-copy{position:relative;left:clamp(0px,calc(5vw - 38px),32px)}

/* Retain sentence breaks and wrap meaningful phrases on small screens. */
@media(max-width:760px){.message-mobile-phrase{display:inline-block;white-space:nowrap}.message-copy-break{display:initial}}
