:root{--page-gutter:max(40px,calc((100vw - 1240px)/2));}
.site-header{box-sizing:border-box;padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
.site-footer{box-sizing:border-box;padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
main>.hero,main>.page-intro,main>.utility-hero,main>.utility-layout,main>.knowledge-index-hero,main>.instruction-hero,main>.instruction-answer,main>.instruction-videos,main>.article-hero,main>.article-body,main>.cases-hero,main>.cases-list,main>.section,main>.content-section{box-sizing:border-box;padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
.shop-layout{width:100%;max-width:1320px;box-sizing:border-box;}
main>section:not(.shop-endokey-step):not(.journey){box-sizing:border-box;padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
.story-home{--story-gutter:var(--page-gutter);}
@media(min-width:761px){.journey.is-enhanced .journey-copy h2{font-size:clamp(32px,3vw,48px);line-height:1.08;}.journey.is-enhanced .journey-description{font-size:17px;line-height:1.5;margin-top:18px;}.journey.is-enhanced .journey-description p,.journey.is-enhanced .journey-description li{font-size:inherit;line-height:inherit;}.journey.is-enhanced .journey-description li{margin-bottom:6px;}}
@media(max-width:1050px){:root{--page-gutter:28px;}.site-header .main-menu{gap:16px;}}
@media(max-width:760px){:root{--page-gutter:20px;}.site-header{padding-left:20px;padding-right:20px;}}

/* Keep headings inside their columns after the shared page gutters. */
main :is(.utility-layout,.cases-index){grid-template-columns:minmax(0,.31fr) minmax(0,.69fr)}
:is(.utility-layout,.cases-index)>*,.utility-row>div,.case-archive-row>div,.publication-row>div{min-width:0}
.utility-index,.cases-index-intro{padding-left:0;padding-right:28px}
.utility-index h2,.cases-index-intro h2{max-width:100%;font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-.04em;overflow-wrap:anywhere}
.case-archive-row{grid-template-columns:minmax(0,.38fr) minmax(0,.62fr)}
.case-archive-row>div{padding:32px clamp(20px,2.4vw,40px)}
.case-archive-row h3{font-size:clamp(28px,2.7vw,44px);line-height:1.1;overflow-wrap:anywhere}
.publication-row[data-publication-kind="instruction"] figure{background:transparent;padding:12px}
.publication-row[data-publication-kind="instruction"] img{object-fit:contain;object-position:center}
.shop-endokey-step .shop-endokey-link{margin-top:18px}
.shop-endokey-step p:not(.shop-kicker){margin-bottom:0}
@media(max-width:1000px) and (min-width:761px){main :is(.utility-layout,.cases-index){grid-template-columns:minmax(0,.35fr) minmax(0,.65fr)}.case-archive-row{grid-template-columns:1fr}.case-archive-row figure{height:280px}.utility-index,.cases-index-intro{padding-right:20px}}
@media(max-width:760px){main :is(.utility-layout,.cases-index){grid-template-columns:minmax(0,1fr)}.utility-index,.cases-index-intro{padding:40px 0 28px;min-height:0}.utility-index h2,.cases-index-intro h2{font-size:34px}.case-archive-row{grid-template-columns:minmax(0,1fr)}.case-archive-row>div{padding:28px 0 36px}.case-archive-row h3{font-size:32px}.shop-endokey-step .shop-endokey-link{margin-top:18px}}

.case-hero-copy{min-width:0}
.case-hero-copy h1{max-width:100%;font-size:clamp(38px,3.6vw,58px);line-height:1.08;overflow-wrap:anywhere}
.source-prose .protocol-native__head>div{min-width:0}
.source-prose .protocol-native__head h2{max-width:100%;font-size:clamp(24px,2vw,32px);line-height:1.15;overflow-wrap:anywhere}
@media(min-width:761px){.journey-copy #hero-title{font-size:clamp(40px,3.4vw,54px);max-width:100%;line-height:1.08}}

.source-prose h2{max-width:100%;overflow-wrap:anywhere}

.article-outcome>div{min-width:0}.article-outcome h3{max-width:100%;font-size:26px;line-height:1.15;overflow-wrap:anywhere}
