.challenge-page .story-hero img{object-position:50% 30%}
.challenge-intro{padding:35px max(5vw,22px);max-width:1240px;margin:auto;display:grid;grid-template-columns:1.5fr .8fr;gap:55px;border-top:1px solid #cad5bf}.challenge-intro h2{font:600 32px/1.2 var(--serif);margin:0 0 16px}.challenge-intro p{font:500 14px/1.85 var(--sans)}.challenge-intro aside{background:#e7eddb;border-radius:12px;padding:24px;align-self:start}.challenge-intro aside strong{font:600 25px/1.3 var(--serif)}.challenge-intro a{font:800 12px/1.7 var(--sans);display:inline-block;min-height:44px;padding-block:10px}
.challenge-plan{padding:45px max(5vw,22px) 60px;max-width:1240px;margin:auto;scroll-margin-top:24px}.challenge-progress{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;background:#f3edc4;padding:30px;border-radius:16px}.challenge-progress h2{font:600 39px/1.2 var(--serif);margin:12px 0 16px}.challenge-progress h2 em{color:#995239}.challenge-progress p{font:600 13px/1.8 var(--sans);margin-bottom:0}.challenge-progress-label{display:block;font:800 12px/1.7 var(--sans);margin-bottom:8px}.challenge-progress progress{display:block;width:100%;height:20px;accent-color:#294c32}.challenge-progress progress::-webkit-progress-bar{background:#fffdf7;border-radius:30px}.challenge-progress progress::-webkit-progress-value{background:#294c32;border-radius:30px}.challenge-progress #challengeStorageNote{font-size:11px;font-weight:500}
.challenge-week-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.challenge-week-nav a{padding:15px 20px;border:1px solid #cad5bf;border-radius:12px;text-decoration:none;background:#fffdf7;font:800 13px/1.7 var(--sans)}.challenge-week-nav span{display:block;font:500 11px/1.7 var(--sans);margin-top:5px}
.challenge-weeks{display:grid;gap:14px}.challenge-weeks>details{background:#fffdf7;border:1px solid #cad5bf;border-radius:14px;scroll-margin-top:24px}.challenge-weeks>details>summary{padding:24px;cursor:pointer;display:list-item;list-style-position:inside}.challenge-weeks>details>summary>span{font:800 10px/1.7 var(--sans);letter-spacing:.1em;margin-left:8px}.challenge-weeks summary strong{font:600 29px/1.25 var(--serif);display:block;margin:9px 0}.challenge-weeks summary small{font:600 12px/1.7 var(--sans)}.challenge-weeks>details[open]>summary{border-bottom:1px solid #cad5bf;background:#e7eddb;border-radius:14px 14px 0 0}.challenge-week-content{padding:24px}.challenge-week-content>p{margin-top:0}.challenge-day{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;padding:25px 0;border-top:1px solid #e0e4d6}.challenge-day label{display:flex;align-items:flex-start;gap:14px;cursor:pointer}.challenge-day input{width:21px;height:21px;flex:none;margin-top:3px;accent-color:#294c32}.challenge-day label>span{font:800 10px/1.7 var(--sans);letter-spacing:.07em}.challenge-day label strong{font:600 25px/1.3 var(--serif);letter-spacing:-.015em;display:block;margin-top:6px}.challenge-day:has(input:checked) label strong{text-decoration:line-through;text-decoration-thickness:1px;color:#52604c}.challenge-day p{margin:0;font:500 14px/1.85 var(--sans)}.challenge-day a{font:800 12px/1.7 var(--sans);display:inline-block;min-height:44px;padding-top:13px}.challenge-controls{display:flex;gap:18px 24px;flex-wrap:wrap;align-items:center;margin-top:28px}.challenge-reset{font:700 12px/1.7 var(--sans);background:none;border:0;text-decoration:underline;color:#294c32;min-height:44px;padding:10px;cursor:pointer}.challenge-controls>p{flex-basis:100%;font:600 12px/1.8 var(--sans)}.challenge-controls>p:empty{display:none}#challengeResetConfirm{flex-basis:100%;padding:22px;border:1px solid #cad5bf;border-radius:12px;background:#fffdf7}#challengeResetConfirm[hidden]{display:none}#challengeResetConfirm button{min-height:44px;padding:10px 15px;margin-right:10px;background:#e7eddb;border:1px solid #cad5bf;border-radius:20px;color:#294c32;font:800 12px/1.7 var(--sans)}
.challenge-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:center;max-width:1116px;margin:auto}.challenge-feature ul{padding-left:20px;margin:24px 0}.challenge-feature li{padding-block:6px}.challenge-feature figure{margin:0}.challenge-feature img{width:100%;height:320px;object-fit:cover;object-position:50% 30%;border-radius:70px 14px 14px 14px;display:block}.challenge-feature figcaption{font:700 11px/1.7 var(--sans);text-align:center;margin-top:10px}.resource-shop-note{max-width:1116px;margin:24px auto 0;font:500 12px/1.85 var(--sans)!important}
.meal-plan-intro{max-width:1116px;margin:0 auto 30px}.meal-day-grid{max-width:1116px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.meal-day-grid>article{padding:25px;background:#fffdf7;border:1px solid #cad5bf;border-radius:14px}.meal-day-grid h3{font-size:28px;min-height:2.4em}.meal-day-recipe{display:flex;gap:14px;align-items:center;padding:18px 0;border-top:1px solid #cad5bf;text-decoration:none}.meal-day-recipe img{width:80px;height:80px;object-fit:cover;border-radius:10px;flex:none}.meal-day-recipe span{min-width:0}.meal-day-recipe small{font:800 10px/1.7 var(--sans);display:block;margin-bottom:5px}.meal-day-recipe strong{font:600 20px/1.25 var(--serif)}
.film-list{max-width:1116px;margin:auto;display:grid;gap:14px}.film-list article{display:grid;grid-template-columns:40px 1fr auto;gap:22px;align-items:center;padding:28px;background:#fffdf7;border:1px solid #cad5bf;border-radius:14px}.film-list article>span{font:600 28px/1.3 var(--serif);color:#995239}.film-list h3{margin-top:0}.film-list p{margin-bottom:0;max-width:600px}.film-list a{font:800 12px/1.7 var(--sans);min-height:44px;padding-block:10px}
.challenge-page a:focus-visible,.challenge-page input:focus-visible,.challenge-page summary:focus-visible,.challenge-page button:focus-visible{outline:3px solid #995239;outline-offset:5px}
@media(max-width:900px){.challenge-progress,.challenge-intro,.challenge-feature{gap:28px}.meal-day-grid{grid-template-columns:1fr}.meal-day-grid h3{min-height:0}.meal-day-recipe img{width:90px;height:75px}.film-list article{grid-template-columns:30px 1fr}.film-list a{grid-column:2}.challenge-day{gap:22px}}
@media(max-width:650px){.challenge-intro,.challenge-progress,.challenge-feature{grid-template-columns:1fr;gap:24px}.challenge-intro{padding-block:30px}.challenge-plan{padding-top:25px}.challenge-progress{padding:24px}.challenge-progress h2{font-size:34px}.challenge-week-nav{grid-template-columns:1fr 1fr}.challenge-day{grid-template-columns:1fr;gap:12px}.challenge-day>div{padding-left:35px}.challenge-day label strong{font-size:25px}.challenge-week-content{padding:20px}.challenge-weeks>details>summary{padding:20px}.challenge-weeks summary strong{font-size:27px}.challenge-feature img{height:330px}.film-list article{padding:22px;gap:15px}.film-list h3{font-size:26px}.challenge-page .story-hero h1{font-size:38px}.challenge-page .story-hero img{height:340px}.meal-day-grid>article{padding:23px}}
@media(max-width:350px){.challenge-page .story-hero h1{font-size:33px}.challenge-week-nav a{padding:13px 15px}.challenge-controls>.story-button{font-size:12px;width:100%}.meal-day-recipe img{width:70px;height:70px}}
.starter-challenge-link{padding:35px max(5vw,22px);background:#f3edc4;color:#294c32}.starter-challenge-link h2{font:600 34px/1.2 var(--serif);margin:12px 0}.starter-challenge-link>p:not(.eyebrow){font:500 15px/1.85 var(--sans);max-width:700px}.starter-challenge-link .text-link{margin-left:20px}@media(max-width:650px){.starter-challenge-link .text-link{margin:12px 0 0;display:block}}
