/* CPJ process layout: one unbroken number, heading-first-line alignment. */
:root{--process-number-size:28px;--process-number-column:48px;--process-heading-size:23px;--process-heading-leading:1.6;--process-copy-gap:12px;--process-row-padding:32px}
.process-row{grid-template-columns:var(--process-number-column) minmax(0,1fr) minmax(0,.95fr);column-gap:var(--space-between);row-gap:var(--space-between);align-items:start;padding-block:var(--process-row-padding)}
.process-row .process-num{grid-column:1;grid-row:1;align-self:start;min-width:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-family:var(--body);font-size:var(--process-number-size);font-weight:900;font-variant-numeric:tabular-nums;line-height:calc(var(--process-heading-size)*var(--process-heading-leading));letter-spacing:0}
.process-row .process-copy{grid-column:2;grid-row:1;align-self:start;min-width:0}
.process-copy h3{font-size:var(--process-heading-size);line-height:var(--process-heading-leading)}
.process-row .process-copy p{margin-top:var(--process-copy-gap);font-size:16px;line-height:1.8}
.process-row .field-photo{grid-column:3;grid-row:1;margin:0;align-self:start}
@media(max-width:899px){:root{--process-number-column:40px;--process-heading-size:21px}.process-row{grid-template-columns:var(--process-number-column) minmax(0,1fr)}.process-row .field-photo{grid-column:1 / -1;grid-row:2}.process-row .process-copy p{font-size:15px}}

/* Keep the full short heading on one line at 320px and center the cast on tablets. */
@media(max-width:899px){.hero-visual{margin-inline:auto}}
@media(max-width:360px){:root{--process-heading-size:20px}}

html:not(.mo){scroll-behavior:auto}

/* Local readability and keyboard fixes from the independent review. */
:root{--green:#087f3d;--sticky-cta-height:96px}
.together{background:#d91640}
.photo-open:focus-visible{outline:none}
.photo-open:focus-visible::after{content:'';position:absolute;inset:5px;border:3px solid var(--yellow);box-shadow:0 0 0 2px var(--navy);pointer-events:none;z-index:3}
.sr-only[href]:focus{position:fixed;left:16px;top:12px;z-index:100;width:auto;height:auto;margin:0;padding:12px 16px;clip-path:none;overflow:visible;white-space:normal;background:var(--navy);color:white}
html{scroll-padding-bottom:calc(var(--sticky-cta-height) + 16px)}
.process-row,.photo-open,.reel-open{scroll-margin-block:24px calc(var(--sticky-cta-height) + 16px)}

.together .section-kicker{color:#fff}.process .section-kicker,.last .section-kicker{color:#bf1238}

.together p{text-wrap:balance}
