/* Intermediate widths get roomier controls and layouts sized for their content.
   The stylesheet's media query leaves phones, short phone landscapes and laptops alone. */
.site-shell{overflow:clip}
.wrap{width:calc(100% - 2 * clamp(28px,4vw,48px));margin-inline:auto;min-width:0}
.palette-switch button{min-height:44px}
.header{height:auto;min-height:104px;padding-block:18px;gap:24px}
.brand{flex-shrink:0;font-size:24px}
.brand-mark{width:49px;height:54px}
.desktop-nav{margin:0 0 0 auto;gap:22px}
.header-end{gap:12px;flex-shrink:0}
.coming-badge{display:none}

/* Keep the two-part hero, with fluid type and a bowl that stays in its column. */
.hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:32px;min-height:0;padding-block:64px 96px}
.hero:before{display:none}
.hero-copy{min-width:0;max-width:none}
.hero .eyebrow{font-size:10px;letter-spacing:1.2px}
.hero h1{font-size:clamp(42px,5.2vw,60px);letter-spacing:-2px;line-height:1.1;margin-block:20px 24px}
.hero h1 em{font-size:1.16em;letter-spacing:-1.3px}
.hero-intro{max-width:460px;font-size:15px;line-height:1.8;margin-block:24px 30px}
.hero-visual{width:100%;margin:0;max-width:none;min-width:0}
.food-image-wrap{inset:0}
.visual-overline{top:-6%;left:5%;font-size:clamp(17px,1.9vw,22px)}
.food-caption{width:min(290px,100%);max-width:100%;left:0;bottom:-2%;gap:10px;padding:14px;transform:rotate(-2deg)}
.food-caption strong{font-size:14px;line-height:1.45}
.food-caption .micro-label{font-size:9px;letter-spacing:1px}
.caption-meta{font-size:11px;flex-wrap:wrap}
.caption-icon{width:34px;height:34px;flex-shrink:0}
.caption-heart{font-size:25px}
.email-icon{display:block;width:21px;height:21px;margin-left:8px;flex-shrink:0;color:var(--warm-accent,var(--mint))}
.email-row input{width:100%;min-width:0;font-size:16px;padding-inline:10px}
.email-field{min-width:0}
.submit-button span:first-child{font-size:13px}
.form-footnote{font-size:13px;line-height:1.8}
.scroll-cue{bottom:26px;font-size:11px;min-height:44px}
.scroll-cue .arrow-down{width:30px;height:30px}

.ingredient-inner{min-height:100px;gap:18px;padding-block:24px;flex-wrap:wrap;justify-content:center}
.ingredient-inner>p{font-size:13px;text-align:center}
.ingredient-tags{flex-wrap:wrap;justify-content:center;gap:14px;font-size:12px}
.section-space{padding-block:80px}
.product-benefits{padding-block:80px}
.benefits-layout{gap:32px;align-items:stretch}
.benefits-heading{margin-bottom:36px}
.benefits-discovery{padding:28px}
.benefits-discovery:after{display:none}
.pantry-token{width:76px;height:76px}
.pantry-token svg{width:62px;height:62px}
.pantry-spark{font-size:38px;margin-left:8px}
.benefit-detail{grid-template-columns:36px minmax(0,1fr);gap:16px}
.benefit-detail h3{font-size:21px}
.benefit-detail p{font-size:14px}

.journey-layout{gap:36px;align-items:center}
.journey-story h2{font-size:clamp(40px,4.3vw,50px)}
.journey-visual{padding-inline:10px 16px}
.journey-board{padding:22px}
.journey-board h3{font-size:29px}
.journey-sprig{right:-5px;width:115px}
.plans-cards{gap:22px}
.plan-card{padding:26px 24px}
.premium-card{padding:25px 23px}
.plan-card li{font-size:14px}
.faq-layout{gap:38px;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr)}
.faq-heading h2{font-size:40px}
.faq-item>summary{font-size:16px;gap:18px}
.faq-answer{padding-right:30px}
.final-cta>p{font-size:15px;max-width:520px}
.footer{padding-block:28px;gap:24px}
.footer-links button{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.modal-close{min-width:44px;min-height:44px}

@media(max-width:959px){
  /* Portrait tablets retain a useful side-by-side hero without a narrow email field. */
  .hero .signup-form{grid-template-columns:minmax(0,1fr);grid-template-areas:'email' 'submit' 'message';max-width:100%}
  .hero .email-row{grid-area:email}
  .hero .submit-button{grid-area:submit;width:100%;justify-content:space-between}
  .hero .form-message{grid-area:message}
  .hero .form-footnote{max-width:100%;font-size:11px}

  /* A wide discovery panel and three open columns make use of tablet width. */
  .benefits-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .benefits-discovery{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0 24px;align-items:center}
  .benefits-pantry{grid-column:1;grid-row:1 / span 4;margin:0;padding:0;min-height:0}
  .pantry-token{width:64px;height:64px}
  .pantry-token+ .pantry-token{margin-left:-15px}
  .pantry-token svg{width:52px;height:52px}
  .pantry-spark{display:none}
  .benefits-discovery-label{grid-column:2;grid-row:1}
  .benefits-discovery h3{grid-column:2;grid-row:2;margin-top:10px;font-size:29px;text-wrap:pretty}
  .benefits-discovery>p{grid-column:2;grid-row:3;max-width:none;margin-top:14px}
  .benefits-filters{grid-column:2;grid-row:4;margin-top:20px}
  .benefits-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .benefit-detail,.benefit-detail:first-child,.benefit-detail:last-child{display:block;align-content:start;padding:0;border-bottom:0}
  .benefit-detail+ .benefit-detail{padding-left:20px;border-left:1px solid var(--line)}
  .benefit-detail-icon{width:34px;height:34px;margin-bottom:16px}
  .benefit-detail h3{font-size:20px;text-wrap:pretty}
  .benefit-detail p{font-size:14px;line-height:1.8}

  /* The recipe becomes a landscape card above three parallel cooking steps. */
  .kitchen-journey{padding-block:80px}
  .journey-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'label' 'heading' 'intro' 'recipe' 'steps' 'note';gap:0}
  .journey-story{display:contents}
  .journey-story>.eyebrow{grid-area:label}
  .journey-story h2{grid-area:heading;font-size:44px;margin-block:20px}
  .journey-story h2>span,.journey-story h2>em{display:inline}
  .journey-story h2>em{margin-left:10px}
  .journey-intro{grid-area:intro;max-width:620px}
  .journey-visual{grid-area:recipe;width:min(620px,100%);margin:32px auto 36px;padding:0}
  .journey-visual:before,.journey-sprig,.journey-board:before{display:none}
  .journey-board{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px 22px;max-width:none;transform:none;padding:22px;border-radius:18px}
  .journey-board-top{grid-column:1 / -1}
  .journey-photo{grid-column:1;grid-row:2 / span 2;width:140px;margin:0;align-self:center;border-radius:16px;box-shadow:none!important}
  .journey-board figcaption{display:contents}
  .journey-board h3{grid-column:2;grid-row:2;align-self:end;font-size:32px}
  .journey-dish-facts{grid-column:2;grid-row:3;margin:0;align-self:start;gap:18px}
  .journey-board-footnote{grid-column:1 / -1;grid-row:4;margin:0;padding-top:12px}
  .journey-week-note{position:relative;inset:auto;width:70%;margin:0 12px 0 auto;padding:14px 18px;transform:none;box-shadow:none;border-radius:0 0 12px 12px}
  .journey-week-note>div{font-size:16px;margin-top:8px}
  .journey-steps{grid-area:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
  .journey-steps>li{display:block;padding-bottom:0}
  .journey-steps>li:before{display:none}
  .journey-steps h3{font-size:19px;margin-top:14px}
  .journey-steps p{font-size:14px;max-width:none}
  .journey-premium{margin-top:12px;font-size:9px}
  .journey-premium+ h3{margin-top:2px}
  .journey-note{grid-area:note;margin-top:30px}
  .faq-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .faq-heading{max-width:620px}
  .faq-heading h2{font-size:40px}
  .faq-heading h2>span,.faq-heading h2>em{display:inline}
  .faq-heading h2>em{margin-left:10px}
  .faq-answer{padding-right:52px}
}

.footer-links .text-button{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:8px 10px}
