/* Shared responsive proportions. Loaded last so every page uses the same
   bounded canvas, readable type and spacing without altering brand assets. */
:root {
 --site-width: 1760px;
 --page-gutter: clamp(20px, 4vw, 80px);
 --page-space: clamp(56px, 5vw, 112px);
 --body-size: clamp(17px, 1rem + .25vw, 24px);
 --heading-size: clamp(34px, 1.5rem + 2vw, 64px);
 --layout-gap: clamp(28px, 4vw, 80px);
}
h1,h2,h3 { text-wrap: balance; }
img,video { max-width: 100%; }
.wrap,.nav-wrap { width:100%; max-width:var(--site-width); margin-inline:auto; padding-inline:var(--page-gutter); }
.product-header { padding-inline:max(var(--page-gutter), calc((100% - var(--site-width))/2 + var(--page-gutter))); }
.product-header img { width:clamp(125px, 10vw, 190px); }
.product-header nav a,.home-nav .home-menu a { font-size:clamp(15px, .8rem + .22vw, 19px); }
main#top { --section-space:var(--page-space); --column-gap:var(--layout-gap); }
.hero-first .hero-video { width:min(100%, 1440px, calc(clamp(240px, 52svh, 920px) * 1.5)); }
@media(min-width:961px) {
 .hero-first .hero-video { width:min(100%, 1600px, calc(clamp(240px, 64svh, 1050px) * 1.5)); }
}
.hero-first .opening-copy { gap:clamp(20px, 1.6vw, 32px); }
#how.opening-copy h1 { font-size:clamp(36px, 1.75rem + 2.6vw, 88px); max-width:20ch; }
.hero-first .opening-copy p { font-size:var(--body-size); max-width:54ch; }
.hero-first .opening-description .opening-detail { max-width:52ch; }
.hero-first .opening-preorder { font-size:clamp(16px, .9rem + .2vw, 20px); }
#recipes .recipe-stage { max-width:none; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
#recipes .recipe-stage > h2 { font-size:var(--heading-size); max-width:20ch; }
#recipes .recipe-benefits h3 { font-size:clamp(22px, 1rem + .65vw, 32px); }
#recipes .recipe-benefits p { font-size:var(--body-size); max-width:44ch; }
#recipes .recipe-benefits { gap:clamp(24px, 2vw, 36px); }
[data-scroll-story] > .story-heading h2,#privacy.privacy-simple h2,#questions .faq-intro h2 { font-size:var(--heading-size); }
[data-scroll-story] > .story-heading > p,#privacy .privacy-heading p,#questions .faq-intro p { font-size:var(--body-size); max-width:48ch; }
#privacy.privacy-simple { max-width:100%; margin-inline:auto; text-align:center; }
#privacy .privacy-heading { max-width:960px; margin:auto; }
#questions.questions-section { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
#questions .faq-intro h2 { max-width:18ch; }
#questions .faq summary { font-size:clamp(18px, 1rem + .4vw, 26px); }
#questions .faq details p { font-size:var(--body-size); max-width:55ch; }
.green-footer.simple-footer .footer-inner { max-width:calc(var(--site-width) - 2 * var(--page-gutter)); margin-inline:auto; }
.simple-footer nav a { font-size:clamp(16px, .85rem + .2vw, 20px); min-height:44px; display:inline-flex; align-items:center; }
/* Product and preorder: grow the media and copy together, with a readable measure. */
.simple-purchase .shop-layout { width:100%; max-width:var(--site-width); grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:var(--layout-gap); padding-inline:var(--page-gutter); }
.simple-purchase .offer { max-width:640px; width:100%; }
.simple-purchase h1 { font-size:clamp(36px, 1.5rem + 2.3vw, 76px); }
.simple-purchase h1 br { display:initial; }
.simple-purchase .offer-intro { font-size:var(--body-size); max-width:44ch; }
.simple-purchase .gallery,.product-page .gallery { width:100%; max-width:min(900px, calc(100svh - 260px)); margin-inline:auto; }
.product-page .gallery-column { top:120px; }
.product-page .gallery { position:static; }
.product-page .demo-caption { min-height:0; padding:clamp(20px, 2vw, 36px); }
.product-page .demo-caption h3 { font-size:clamp(23px, 1.1rem + .7vw, 34px); }
.product-page .demo-caption p { font-size:var(--body-size); }
.product-section { max-width:var(--site-width); padding:var(--page-space) var(--page-gutter); }
.product-section h2 { font-size:var(--heading-size); }
.product-page .price-note,.launch-terms,.comparison-terms { font-size:clamp(14px, .8rem + .15vw, 17px); }
.product-page .launch-bonus,.core-value>p,.box-card ul,.plan-intro,.plan-card .core-features li,.club-perks p,.faq-list p { font-size:var(--body-size); }
.plan-intro { max-width:48ch; }
.plan-card { padding:clamp(24px, 2.4vw, 48px); }
.plan-card h3,.club-perks h4,.core-value h2 { font-size:clamp(24px, 1.1rem + .7vw, 34px); }
.product-faq { gap:var(--layout-gap); }
.faq-list summary { font-size:clamp(18px, 1rem + .4vw, 26px); }
.simple-purchase .site-header,.purchase-footer { max-width:var(--site-width); padding-inline:var(--page-gutter); }
.simple-purchase .purchase-details summary { font-size:clamp(16px, .9rem + .2vw, 21px); }
.simple-purchase .purchase-details p,.included-club p { font-size:clamp(16px, .9rem + .2vw, 21px); }
.simple-purchase .included-club span,.simple-purchase .price-note,.simple-purchase .payment-note { font-size:clamp(14px, .8rem + .15vw, 17px); }
/* About: a larger, balanced photograph and readable founder letter. */
.contact-main { width:100%; max-width:1600px; padding:var(--page-space) var(--page-gutter); }
.people-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--layout-gap); }
.people-copy h1 { font-size:clamp(32px, 1.5rem + 1.2vw, 58px); }
.people-copy>p { font-size:var(--body-size); max-width:45ch; }
.contact-method strong { font-size:clamp(18px, 1rem + .4vw, 26px); overflow-wrap:anywhere; }
.contact-method>span,.founder-photo figcaption { font-size:clamp(16px, .9rem + .2vw, 20px); }
/* Privacy keeps its scroll scenes, but caps their canvas and balances the columns. */
.privacy-feature { max-width:var(--site-width); padding-inline:var(--page-gutter); gap:var(--layout-gap); grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.voice-section { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
.privacy-feature .feature-copy { max-width:600px; }
.privacy-feature .feature-copy h2 { font-size:var(--heading-size); }
.privacy-feature .feature-copy>p:not(.eyebrow),.privacy-intro>p:last-of-type,.privacy-close p { font-size:var(--body-size); }
.privacy-intro { max-width:1440px; padding-inline:var(--page-gutter); }
.privacy-intro h1 { font-size:clamp(44px, 2rem + 3vw, 108px); }
.privacy-intro>p:last-of-type { max-width:52ch; }
body>footer:not(.site-footer):not(.purchase-footer) { max-width:calc(var(--site-width) - 2 * var(--page-gutter)); margin-inline:auto; }
/* Tablet layouts switch before two columns become cramped. */
@media(max-width:960px) {
 .product-header nav { display:none; }
 .simple-purchase .shop-layout { display:grid; grid-template-columns:minmax(0,1fr); max-width:760px; gap:32px; }
 .simple-purchase .gallery-column,.product-page .gallery-column { position:static; }
 .simple-purchase .gallery,.product-page .gallery { max-width:640px; }
 .simple-purchase .offer { max-width:none; }
 .simple-purchase h1 { font-size:clamp(36px, 5.6vw, 54px); }
 .simple-purchase h1 br { display:none; }
 .simple-purchase h1 br:after { content:' '; }
 #recipes .recipe-stage { grid-template-columns:1fr; grid-template-areas:'title' 'film' 'benefits'; max-width:720px; }
 #recipes .recipe-stage>h2 { max-width:22ch; }
 #recipes .recipe-media { max-width:720px; }
 #questions.questions-section { grid-template-columns:1fr; }
 #questions .faq-intro { position:static; }
 .people-layout { grid-template-columns:1fr; max-width:680px; margin:auto; }
 .founder-photo { width:min(100%,560px); margin-inline:auto; }
 .people-copy>p { max-width:none; }
 .product-faq { grid-template-columns:1fr; }
 .privacy-feature,.voice-section { grid-template-columns:1fr; max-width:760px; }
 .voice-section .feature-copy { order:2; padding-left:0; }
 .voice-section .voice-visual { order:1; }
 .privacy-feature .feature-copy { max-width:none; }
 .privacy-feature .feature-visual { max-height:none; }
}
@media(max-width:600px) {
 :root { --page-gutter:20px; --body-size:17px; --heading-size:clamp(32px, 7.5vw, 42px); }
 .hero-first .hero-video { width:100%; }
 .hero-first .opening-copy { padding-block:40px 56px !important; }
 #how.opening-copy h1 { font-size:clamp(32px, 8.5vw, 46px); }
 #recipes .recipe-stage>h2 br { display:none; }
 #recipes .recipe-stage>h2 br:after { content:' '; }
 .product-header { padding-block:16px; gap:12px; }
 .product-header .buy-link { padding:12px 16px; font-size:13px; }
 .product-page .product-hero { padding-top:20px; }
 .product-page .spotlight-gallery .gallery-tabs button { flex-basis:calc((100% - 24px)/4); min-height:48px; }
 .simple-purchase .gallery-arrow { width:44px; height:44px; }
 .product-page .spotlight-gallery .media-toggle { left:auto; }
 .product-page .hero-assurance { flex-wrap:wrap; }
 .plan-columns { grid-template-columns:minmax(0,1fr); }
 .box-card ul { grid-template-columns:1fr; }
 .privacy-feature { padding-inline:var(--page-gutter); }
 body>footer:not(.site-footer):not(.purchase-footer) { margin-inline:var(--page-gutter); }
 .contact-main { padding-top:36px; }
 .people-copy h1 { font-size:clamp(32px, 7vw, 40px); }
 .complete-panel { width:calc(100% - 40px); margin-inline:auto; }
}
@media(max-height:650px) and (min-width:961px) {
 .simple-purchase .gallery-column,.product-page .gallery-column { position:static; }
 .simple-purchase .gallery,.product-page .gallery { max-width:620px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Expanded FAQ content is wrapped by the shared disclosure controller. */
#questions .faq .disclosure-body p { font-size:var(--body-size); max-width:55ch; }
@media(min-width:961px) and (min-height:651px) {
 .product-page .gallery { max-width:min(900px, calc(100svh - 330px)); }
}

/* Recipes follow normal page flow, with matching columns and generous spacing. */
#recipes.recipe-scroll { padding:clamp(72px, 9vh, 96px) 0 clamp(112px, 17vh, 168px); }
#recipes .recipe-stage { position:static; grid-template-areas:"film copy"; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); column-gap:clamp(56px, 6vw, 120px); row-gap:0; align-items:stretch; }
#recipes .recipe-copy { grid-area:copy; display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
#recipes .recipe-copy>h2 { font-size:clamp(34px, 2.8vw, 52px); line-height:1.08; letter-spacing:-.035em; max-width:22ch; margin:0; }
#recipes .recipe-benefits { gap:clamp(20px, 1.6vw, 28px); }
#recipes .recipe-benefits h3 { font-size:clamp(21px, 1.6vw, 28px); }
#recipes .recipe-benefits p { font-size:clamp(17px, 1.25vw, 21px); line-height:1.5; max-width:none; }
#recipes .recipe-benefits article { visibility:visible; opacity:1; }
#recipes .recipe-media { align-self:stretch; display:flex; min-height:0; max-width:none; }
#recipes .recipe-media .story-media { width:100%; height:100%; min-height:100%; aspect-ratio:auto; }
#recipes .recipe-media video { object-fit:cover; }
#recipes .recipe-media .story-progress { display:none; }
@media(max-width:1100px) {
 #recipes .recipe-stage { grid-template-columns:minmax(0,1fr); grid-template-areas:"film" "copy"; max-width:720px; gap:36px; }
 #recipes .recipe-copy { gap:28px; }
 #recipes .recipe-copy>h2 { font-size:clamp(32px, 5vw, 48px); }
 #recipes .recipe-media .story-media { aspect-ratio:3/2; height:auto; min-height:0; }
 #recipes .recipe-media video { object-fit:contain; }
 #recipes.recipe-scroll { padding:72px 0; }
}
