/* Focused layout corrections; all typefaces, color tokens and base components
   are inherited from the frozen Youth template. */
.article-heading,.product-intro{padding-top:calc(var(--header-h) + clamp(36px,5vw,72px));padding-bottom:clamp(36px,5vw,64px)}
.article-heading .phero__crumb,.product-intro .phero__crumb{color:var(--fg-2)}
.article-title{max-width:23ch;margin:28px 0 24px;font-size:clamp(34px,4.6vw,68px);line-height:1.07;overflow-wrap:break-word}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 24px;line-height:1.65;color:var(--fg-2)}
.article-meta>span{display:inline-flex;align-items:baseline;gap:.45em}
.article-meta .link{font:inherit;letter-spacing:inherit;text-transform:none}
.article-flow{display:flex;flex-direction:column;gap:clamp(28px,4vw,56px)}
.article-prose{width:100%;max-width:70ch;margin-inline:auto;font-size:16px;line-height:1.75;overflow-wrap:break-word}
.article-prose p{max-width:none;margin:0 0 1.25em}
.article-prose>:last-child{margin-bottom:0}
.article-prose h2,.article-prose h3,.article-prose h4{font-family:var(--serif);font-size:clamp(25px,2.1vw,32px);font-weight:400;line-height:1.2;letter-spacing:.005em;text-transform:none;margin:1.75em 0 .7em}
.article-prose>h2:first-child,.article-prose>h3:first-child,.article-prose>h4:first-child{margin-top:0}
.article-prose h2 strong,.article-prose h3 strong,.article-prose h4 strong{font-weight:inherit}
.article-prose ul,.article-prose ol{padding-left:1.2em;margin:0 0 1.3em;list-style:disc}
.article-prose ol{list-style:decimal}
.article-prose li{padding-left:.15em;margin:.5em 0}
.article-prose li p{margin:0}
.article-prose a{overflow-wrap:anywhere}
.article-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);align-items:start}
.article-gallery--one{grid-template-columns:minmax(0,1fr);width:100%;max-width:760px;margin-inline:auto}
.article-figure{margin:0;min-width:0}
.article-figure figcaption{margin-top:12px;line-height:1.55;max-width:65ch}
.article-image{aspect-ratio:4/3;background:#f6f5f2;display:block}
.article-image picture{position:relative;inset:auto;display:block;width:100%;height:100%}
.article-image img{position:relative;inset:auto;width:100%;height:100%;object-fit:contain;transform:none!important}
.article-figure--single .article-image{aspect-ratio:auto;background:transparent}
.article-figure--single .article-image img{height:auto;max-height:760px;object-fit:contain}
.article-media{width:100%;max-width:1100px;margin-inline:auto}
.article-media .association-video{margin:0}
.association-article .article-gallery-group{display:flex;flex-direction:column;gap:18px;min-width:0}
.association-article .article-gallery-label{margin:0;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2)}
.article-footer{padding-top:clamp(40px,5vw,72px)}
.article-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,80px);border-top:1px solid var(--rule);margin-top:32px;padding-top:32px}
.article-pagination__link{display:flex;flex-direction:column;align-items:start;gap:16px;min-width:0}
.article-pagination__link>.h3{font-size:clamp(24px,2.3vw,34px);line-height:1.2}
.article-pagination__link>.link{margin-top:auto}
.product-layout{margin-top:32px;row-gap:24px}
.product-heading{grid-column:8/13;grid-row:1;min-width:0}
.product-heading h1{line-height:1.1;overflow-wrap:break-word}
.product-listing{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-top:24px}
.product-price{font-family:var(--sans);font-size:20px;font-weight:400;line-height:1.4}
.product-status{border:1px solid var(--rule-strong);padding:7px 11px}
.product-media{grid-column:1/7;grid-row:1/3;min-width:0}
.product-media .article-image{display:flex;min-height:0;max-height:650px;background:#f6f5f2}
.product-media .article-image picture{width:100%;height:auto;display:flex;justify-content:center}
.product-media .article-image img{width:100%;max-height:650px;height:auto;object-fit:contain}
.product-details{grid-column:8/13;grid-row:2;gap:28px;min-width:0}
.product-details .article-prose{margin:0;max-width:none}
.product-details .article-prose h3{font-size:clamp(24px,2vw,30px)}
.product-action{display:flex;flex-direction:column;align-items:start;gap:14px}
.product-action .btn{min-width:0;max-width:100%;white-space:normal;text-align:left}
.product-action p{max-width:48ch;line-height:1.6}
.product-gallery-section{padding-top:0;padding-bottom:clamp(36px,5vw,64px)}
.product-gallery .article-image{aspect-ratio:4/3}
.product-body{padding-bottom:clamp(64px,8vw,128px)}
.product-section{display:flex;flex-direction:column;gap:clamp(28px,4vw,48px);border-top:1px solid var(--rule);padding-top:clamp(32px,4vw,56px)}
.product-schedule{width:100%;max-width:1100px;margin-inline:auto}
.product-schedule>h2{font-size:clamp(28px,3vw,40px);margin-bottom:28px}
.product-schedule__row{grid-template-columns:minmax(130px,1fr) minmax(0,4fr);align-items:start}
.product-schedule__row .article-prose{max-width:none}
.product-schedule__row .event__what p{max-width:none;line-height:1.7;font-size:16px;margin:0 0 .7em}
.product-schedule__row .event__what p:first-child{font-weight:600;color:var(--fg)}
.product-schedule__row .event__what p strong{font-weight:inherit}
@media(max-width:700px){.product-schedule__row{grid-template-columns:minmax(0,1fr);gap:12px}}
@media(max-width:900px){.product-heading,.product-media,.product-details{grid-column:1/-1;grid-row:auto}.product-heading{order:0}.product-media{order:1}.product-details{order:2}.product-layout{row-gap:28px}.product-media .article-image,.product-media .article-image img{max-height:560px}.article-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.article-gallery--one{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.article-title{font-size:clamp(32px,8.6vw,44px);line-height:1.1;margin-top:22px}.article-heading,.product-intro{padding-top:calc(var(--header-h) + 32px)}.article-meta{gap:5px 20px}.article-gallery{grid-template-columns:minmax(0,1fr)}.article-image{aspect-ratio:4/3}.article-pagination{grid-template-columns:minmax(0,1fr)}.article-pagination__link+.article-pagination__link{border-top:1px solid var(--rule);padding-top:28px}.product-heading h1{font-size:clamp(30px,8vw,40px)}.product-media .article-image,.product-media .article-image img{max-height:500px}.article-prose{font-size:16px;line-height:1.7}}
@media(max-width:380px){.product-schedule>.h3{font-size:clamp(23px,7.2vw,26px)}}
