/* Phone layouts use the same content with larger controls and a single reading column. */
:root{--nav-height:72px}
body{--muted:#626c63}
.offer{font-size:12px;line-height:1.5;padding:8px 52px 8px 20px;text-wrap:balance}
body>nav{padding:12px 16px;gap:8px;flex-wrap:nowrap}
nav>.nav-side:first-child,nav .right>a,nav .right>[data-dialog]{display:none}
nav>.brand{order:-1;font-size:23px;white-space:nowrap}
nav>.right{order:0;flex:0;flex-basis:auto;gap:8px}
nav .icon,.mobile-menu{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
.mobile-menu{border:1px solid #ffffff60;border-radius:8px;background:transparent}
.icon span{right:0;top:0}
.button,.arrow,.add{min-height:44px}
.button{font-size:14px}
.arrow,.add{width:44px}
.hero{min-height:0;max-height:none;height:auto;padding:110px 20px 0;background-image:linear-gradient(90deg,#092e25c9,#092e2533),url('assets/hero.webp');background-position:56% center}
.hero-content{position:relative;inset:auto;display:flex;flex-direction:column;gap:28px;align-items:stretch}
.hero-copy{width:100%;max-width:410px}
.eyebrow{font-size:20px;margin-bottom:18px}
.hero-copy>p:nth-child(2){font-size:16px;line-height:1.6;margin-bottom:24px;text-wrap:pretty}
.hero-copy .button{min-width:144px;min-height:48px}
.featured{display:flex;align-items:center;gap:14px;width:100%;max-width:410px;margin:0;padding:8px;border-radius:12px;background:#ffffffd9;backdrop-filter:blur(8px)}
.featured img{width:68px;height:68px;border-radius:7px;flex-shrink:0}
.featured>span{margin:0;padding:0 4px 0 0;gap:14px;flex:1;background:none;font-size:14px;line-height:1.4}
.featured b{padding:6px 9px}
.hero h1{position:relative;left:auto;bottom:-.09em;font-size:24vw;margin:24px -10px 0;line-height:1;letter-spacing:-.065em}
.section{padding:44px 20px}
.menu-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}
.tabs{display:flex;gap:24px;max-width:100%;padding:4px 0 8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c8cdc0 transparent;scroll-padding-inline:8px}
.tabs button{flex:0 0 auto;font-size:22px;letter-spacing:-.7px;white-space:nowrap;line-height:1.3;padding:10px 0;min-height:48px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted)}
.tabs button[aria-selected=true]{background:transparent;color:var(--green);border-bottom-color:var(--green)}
.tabs sup{display:inline;font-size:11px;line-height:0;vertical-align:super;letter-spacing:0;margin-left:2px}
.tabs button:focus-visible{outline-offset:-2px}
.filter{align-self:flex-end;font-size:14px;min-height:44px;padding:0 12px;gap:12px}
.filters{display:grid;grid-template-columns:1fr;gap:12px;padding:16px;margin-bottom:20px;background:var(--cream);border-radius:12px;font-size:14px}
.filters label{display:flex;align-items:center;gap:12px;min-height:44px}
.filters label:first-child{display:grid;grid-template-columns:auto 1fr}
select{font-size:16px;min-height:44px;width:100%;min-width:0}
input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}
.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.product{padding:14px;border-radius:14px}
.badge{font-size:12px;padding:6px 10px;width:max-content;max-width:100%}
.product h3{font-size:17px;line-height:1.3;letter-spacing:-.4px;min-height:0;margin:10px 0 8px}
.product p{font-size:14px;line-height:1.5;white-space:normal;margin:0 0 10px}
.price-row{padding:4px 4px 4px 10px}
.price-row strong{font-size:18px}
.add svg{width:21px;height:21px}
.center{margin-top:24px}
.about{grid-template-columns:1fr;gap:28px;padding-top:12px}
.about-photo{min-height:0;max-height:none;border-radius:16px;background:var(--cream)}
.about-photo>img{height:330px}
.nutrition{position:static;padding:20px 16px;border:0;border-radius:0;gap:16px;align-items:center}
.ring{width:76px;height:76px;border-width:6px}
.nutrition h3{font-size:18px;line-height:1.3}
.nutrition p{font-size:14px;line-height:1.5;margin-bottom:10px}
.macros{font-size:12px;gap:8px;line-height:1.6}
.about-copy{padding:0}
.about-copy h2{font-size:36px;letter-spacing:-1.3px}
.description{font-size:16px}
.benefits{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}
.benefits>div{font-size:16px;min-height:140px;padding:20px}
.how{padding:44px 20px;grid-template-columns:1fr;gap:20px}
.how-copy{display:contents}
.how-copy>p{order:0;margin:0}
.how-copy>h2{order:1;font-size:34px;letter-spacing:-1.3px;margin:0}
.steps{order:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0}
.steps>button{font-size:14px;line-height:1.4;border:1px solid #bcc7b6;border-radius:10px;padding:14px 12px;min-height:82px;color:var(--green)}
.steps em{font-size:12px;display:block;margin:0 0 6px;font-style:normal}
.steps>button.active{background:var(--green);color:white;border-color:var(--green)}
.steps img{display:none}
.step-description{order:3;margin:0;max-width:none;min-height:145px;background:#fdf9ee;padding:20px;border-radius:12px}
.step-description h3{line-height:1.4;margin-bottom:10px}
.step-description p{font-size:16px;line-height:1.6}
.stories{grid-template-columns:1fr;gap:20px}
.quote-card{padding:24px 16px;min-height:0}
.story-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.story-tabs button{font-size:12px;min-height:44px;padding:10px 8px;color:var(--green)}
.story-tabs .active{color:white}
.story-content{margin-top:28px}
.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-row blockquote{grid-column:1/-1;grid-row:1;font-size:21px;line-height:1.5;max-width:100%;min-height:9em}
.quote-row button{width:44px;height:44px;border:1px solid #c8cdc0;border-radius:50%;justify-self:center}
.person{font-size:14px;margin:22px 0 8px}
.story-image{height:300px}
.story-caption{font-size:20px;left:8%;right:8%;padding:20px;bottom:14%}
.section-heading{align-items:flex-end;gap:12px}
.section-heading h2{font-size:30px;letter-spacing:-1px}
.section-heading>div:last-child{display:flex;gap:8px;flex-shrink:0}
.plan-grid{grid-template-columns:1fr;gap:16px}
.plan-card{min-height:360px}
.plan-card:after{background:linear-gradient(transparent 15%,#082e23c9)}
.plan-card>div{left:20px;right:20px;bottom:20px}
.plan-card h3{font-size:24px}
.plan-card p{font-size:16px;max-width:310px}
.plan-link{font-size:14px;min-height:48px;padding:10px 12px}
.plan-wide{height:200px;max-height:none}
.plan-cta{grid-column:auto;flex-direction:column;padding:26px;gap:18px;font-size:16px}
.plan-cta p{margin:0;line-height:1.5}
.plan-cta .button{font-size:14px;min-height:44px}
footer{padding:44px 20px 24px;background-image:linear-gradient(#052c2590,#052c2590),url('assets/dessert.webp')}
.footer-main{flex-wrap:wrap;gap:24px}
.footer-center{order:-1;width:100%}
.footer-center h2{font-size:34px}
.footer-center>div{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.footer-center .button{font-size:14px;margin:0}
.footer-links{gap:0;font-size:14px;min-width:90px}
.footer-links a,.footer-links button{min-height:44px;display:flex;align-items:center}
.footer-links.right button{justify-content:flex-end}
.footer-bottom{flex-direction:column;gap:20px;margin-top:24px;font-size:12px;text-align:center}
.footer-bottom .brand{order:-1;font-size:24px;flex-basis:auto}
.footer-bottom button{font-size:12px;min-height:44px;padding:0 8px;margin:0}
.ticker{display:flex;flex-wrap:wrap;white-space:normal;justify-content:center;gap:12px 20px;font-size:12px;line-height:1.4;padding:20px}
.concept-note{font-size:12px;line-height:1.5;padding:16px 20px}
dialog{width:100%;max-width:100%;max-height:85dvh;margin:auto 0 0;border-radius:22px 22px 0 0;padding:24px 20px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
.dialog-heading{position:sticky;top:-24px;background:#fdf9ee;padding:12px 0;align-items:center;z-index:1}
.dialog-heading h2{font-size:27px;margin:0;letter-spacing:-1px}
.dialog-heading button{flex-shrink:0}
.cart-item{gap:12px;align-items:flex-start;flex-direction:column;font-size:16px}
.cart-item>div:last-child{display:flex;align-items:center;gap:16px;align-self:flex-end}
.cart-item button{min-width:44px;min-height:44px;font-size:20px}
.cart-item small{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.mobile-links{display:grid;gap:4px;margin-top:16px}
.mobile-links a,.mobile-links button{min-height:52px;padding:14px 4px;background:none;border:0;border-bottom:1px solid #d7d7cc;text-align:left;font-size:18px;color:var(--green)}
#toast{max-width:calc(100% - 32px);width:max-content;font-size:14px;line-height:1.4;bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:479px){
 .products{grid-template-columns:1fr}
 .product{display:grid;grid-template-columns:92px minmax(0,1fr);gap:0 14px;padding:14px}
 .dish{grid-column:1;grid-row:1/5;width:100%;margin:0;align-self:center}
 .badge,.product h3,.product p,.price-row{grid-column:2}
 .badge{grid-row:1}
 .product h3{grid-row:2}
 .product p{grid-row:3}
 .price-row{grid-row:4}
 .section-heading{align-items:flex-start;flex-direction:column}
 .nutrition{gap:12px;padding:18px 12px}
 .nutrition .ring{width:64px;height:64px}
}

.product h3{min-height:2.6em}.product .price-row{align-self:stretch}
@media(max-width:479px){.product{grid-template-rows:auto 1fr auto auto}.product .price-row{align-self:end}}
