/* Mobile refinements shared by the four pages. Screen-only: preserve the PDF/print layout. */
.qa-swipe-hint { display: none; }

@media screen and (max-width: 800px) {
  html { scroll-padding-top: 84px; }
  .site-header { height: 64px; }
  .nav-shell { width: calc(100% - 32px); gap: 8px; }
  .brand { gap: 8px; font-size: 22px; white-space: nowrap; }
  .brand img { width: 32px; height: 32px; flex: none; }
  .nav-cta { min-height: 44px; padding: 10px 14px; font-size: 12px; white-space: nowrap; }
  .menu-toggle { width: 44px; height: 44px; padding: 12px; align-items: center; }
  .site-header nav { top: 63px; padding: 12px 16px 20px; max-height: calc(100dvh - 64px); overflow-y: auto; }
  .site-header nav a { min-height: 48px; display: flex; align-items: center; padding: 12px; font-size: 15px; }
  .site-header .nav-ask { align-self: stretch; border-radius: 12px; }
  .site-header nav a:focus-visible, .menu-toggle:focus-visible { outline: 3px solid #74ad8b; outline-offset: 2px; }
  .button, .qa-btn { min-height: 48px; font-size: 14px; justify-content: center; }
  .text-link, .qa-link, .qa-more, .product-demo-link, .k-text-link {
    display: inline-flex; align-items: center; min-height: 44px;
  }
  .store-button { min-height: 58px; padding: 11px 23px; }
  .store-button small { font-size: 11px; }
  .store-button strong { font-size: 21px; }
  .faq-list > details > summary { min-height: 60px; font-size: 16px; line-height: 1.5; gap: 16px; }
  .faq-list > details > summary > span[aria-hidden] { flex: 0 0 24px; text-align: center; }
  .faq-answer, .product-faq .faq-answer, .k-faq .faq-answer p { font-size: 15px; line-height: 1.75; padding-right: 0; }
  .site-footer { width: calc(100% - 40px); padding-block: 40px 24px; }
  .footer-top { gap: 24px; padding-bottom: 24px; }
  .footer-links { gap: 0; font-size: 14px; min-width: 0; }
  .footer-links a { display: flex; align-items: center; min-height: 44px; line-height: 1.5; padding-block: 6px; }
  .footer-top > div > p { font-size: 15px; }
  .footer-bottom, .legal-note { font-size: 12px; line-height: 1.7; }
  .legal-note { margin-top: 18px; }

  /* Keep the main action early and remove duplicated space below the phone caption. */
  .product-hero { padding: 28px 16px 22px; border-radius: 24px; }
  .product-hero h1 { font-size: clamp(32px, 8.9vw, 50px); line-height: 1.13; margin: 14px auto 18px; }
  .product-kicker { font-size: 10px; line-height: 1.6; letter-spacing: .1em; }
  .product-intro { font-size: 16px; line-height: 1.6; max-width: 420px; }
  .product-actions { gap: 12px 16px; margin-top: 20px; flex-wrap: wrap; }
  .product-demo-link { font-size: 13px; }
  .product-small { font-size: 12px; line-height: 1.6; }
  .product-actions + .product-small { margin-top: 10px; }
  .product-hero .k-stage { margin-top: 24px; padding-top: 0; }
  .product-hero .k-figure { margin-bottom: 64px; }
  .product-hero .k-phone { --s: .58; }
  .product-hero .st-steps { top: calc(100% + 14px); width: min(350px, calc(100vw - 64px)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 4px; white-space: normal; }
  .product-hero .st-steps span { gap: 4px; padding: 6px; font-size: 10px; min-width: 0; line-height: 1.3; }
  .product-hero .st-steps b { width: 18px; height: 18px; font-size: 10px; flex: none; }
  .product-hero .product-screen-note { margin: 8px auto 0 !important; max-width: 310px; font-size: 11px; line-height: 1.6; }
  .product-value-strip { width: calc(100% - 40px); gap: 12px 18px; padding-block: 24px; font-size: 12px; }
  .product-value-strip > span { gap: 8px; }
  .product-section { padding-block: 52px; }
  .product-section-heading h2, .product-control-copy h2 { font-size: clamp(32px, 8.5vw, 42px); }
  .product-section-heading > p:last-child:not(.product-kicker),
  .product-steps p, .product-detail-row p, .product-control-copy > p:not(.product-kicker) { font-size: 15px; line-height: 1.75; }
  .product-steps { gap: 20px; }
  .product-steps article { min-height: 0; padding-top: 20px; padding-left: 48px; }
  .product-step-number { top: 21px; }
  .product-explore { padding: 42px 16px 32px; }
  .product-feature-options { border-radius: 18px; gap: 4px; padding: 4px; }
  .product-feature-options .feature-option { min-height: 48px; padding: 10px 4px; border-radius: 14px; }
  .product-feature-options .feature-option.is-active, .product-feature-options .feature-option:hover { border-radius: 14px; }
  .product-feature-short { font-size: 12px; white-space: normal; }
  .product-mobile-summary { font-size: 15px; line-height: 1.65; min-height: 0; margin-bottom: 22px; }
  .product-demo-device { width: min(235px, 90%); }
  .product-control { gap: 28px; }
  .product-control-visual { height: 330px; }
  .product-facts span { font-size: 14px; }
  .product-facts strong { font-size: 16px; }
  .product-download { padding: 40px 20px; }
  .product-download > p:not(.product-small) { font-size: 16px; }
  .k-guide-teaser { margin-block: 40px; padding-block: 30px; gap: 14px; }
  .k-guide-teaser p:not(.product-kicker) { font-size: 15px; }

  /* All questions remain available; a visible next-card edge invites a swipe. */
  .qa-teaser { padding: 44px 0 30px; }
  .qa-teaser-head { gap: 16px; margin-bottom: 16px; }
  .qa-teaser-head h2, .qa-hero h1, .qa-ask h2 { font-size: clamp(32px, 8.8vw, 46px); line-height: 1.15; }
  .qa-teaser-head > p { font-size: 15px; line-height: 1.7; }
  .qa-swipe-hint { display: flex; justify-content: space-between; font-size: 12px; color: #537760; margin: 0 0 10px; }
  .qa-grid {
    display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc(100% - 24px);
    gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
    padding: 3px 2px 16px; scroll-padding-inline: 2px; scrollbar-width: thin; scrollbar-color: #b6cec0 transparent;
  }
  .qa-grid:focus-visible { outline: 3px solid #74ad8b; outline-offset: 3px; border-radius: 20px; }
  .qa-grid .qa-card { min-width: 0; scroll-snap-align: start; padding: 20px 18px; gap: 14px; }
  .qa-grid .qa-q { font-size: 18px; line-height: 1.45; letter-spacing: -.025em; }
  .qa-a { padding-left: 12px; }
  .qa-text { font-size: 15px; line-height: 1.7; }
  .qa-by { flex-wrap: wrap; }
  .qa-by b { font-size: 13px; }
  .qa-pill { margin-left: 0; }
  .qa-teaser-cta { gap: 8px; margin-top: 16px; }
  .qa-teaser-cta .qa-btn { width: 100%; }
  .qa-main { width: calc(100% - 40px); padding-bottom: 48px; }
  .qa-hero { padding: 28px 0 24px; }
  .qa-intro { font-size: 16px; }
  .qa-legend { display: grid; gap: 12px; font-size: 14px; }
  .qa-legend span { align-items: flex-start; line-height: 1.5; }
  .qa-legend .qa-dot { margin-top: 6px; }
  .qa-sources { font-size: 14px; }
  .qa-filters { gap: 8px; padding-bottom: 16px; }
  .qa-filter { min-height: 44px; font-size: 13px; }
  .qa-list .qa-card { padding: 22px 18px; }
  .qa-ask { margin-top: 40px; padding: 26px 18px; }
  .qa-form-wrap textarea, #creator-form input, #creator-form textarea { font-size: 16px; line-height: 1.5; }
  .qa-form-wrap textarea { min-height: 150px; }
  #creator-form input { min-height: 50px; }
  .qa-check { font-size: 14px !important; min-height: 44px; align-items: flex-start; }
  .qa-check input { flex: 0 0 20px; width: 20px; height: 20px; padding: 0; margin-top: 3px; }
  .qa-note, #creator-form .form-note { font-size: 12px; line-height: 1.7; }
  #ask-form .qa-btn, .qa-preview-actions .qa-btn { width: 100%; }
  .qa-preview-actions { gap: 8px; }
  .qa-preview pre, .email-preview pre { font-size: 15px; line-height: 1.7; padding: 16px; }

  /* The creator illustration becomes a compact card instead of a full extra screen. */
  .creators-page .creator-hero { gap: 24px; padding-top: 24px; }
  .creator-hero h1 { font-size: clamp(36px, 9.5vw, 52px); }
  .creator-hero .eyebrow { font-size: 10px; line-height: 1.7; }
  .creator-hero .hero-description { font-size: 16px; max-width: 100%; line-height: 1.75; }
  .creator-hero .hero-actions { align-items: stretch; gap: 8px; }
  .creator-hero .hero-actions .button { width: 100%; }
  .hero-actions + .fine-print, .new-creator-note { font-size: 12px; line-height: 1.6; }
  .creator-visual { width: 100%; height: auto; margin-top: 0; }
  .creator-poster { position: relative; top: auto; left: auto; width: 100%; transform: none; display: grid; grid-template-columns: 1fr 100px; gap: 14px; padding: 20px; border-radius: 18px; box-shadow: 0 4px 0 #dce1cc; }
  .poster-top { grid-column: 1 / -1; font-size: 9px; }
  .creator-poster > img { grid-column: 2; grid-row: 2; width: 100px; height: 100px; margin: 0; }
  .poster-title { grid-column: 1; grid-row: 2; font-size: 34px; padding: 0; letter-spacing: -1.4px; align-self: center; }
  .poster-title em { font-size: 36px; }
  .poster-bottom { grid-column: 1 / -1; margin-top: 0; padding-top: 10px; font-size: 11px; }
  .creator-sticker { display: none; }
  .platform-note { position: static; gap: 8px; margin-top: 20px; }
  .platform-note span { font-size: 11px; padding: 7px 10px; }
  .creator-manifesto .container > span { flex-wrap: wrap; justify-content: center; font-size: 10px; gap: 10px; line-height: 1.5; }
  .partnership-steps p, .section-description, .join-grid > div:first-child > p:not(.eyebrow) { font-size: 16px; line-height: 1.7; }
  .check-list { font-size: 15px; }
  .idea-card { transform: none; padding: 20px 16px; gap: 14px; }
  .idea-card:nth-of-type(2) { transform: none; }
  .idea-card p { font-size: 14px; line-height: 1.6; }
  .idea-card div > span { font-size: 10px; line-height: 1.5; display: block; }
  .idea-card > img { width: 72px; height: 72px; flex: none; }
  .idea-note { font-size: 12px; }
  .terms-list > div { grid-template-columns: 1fr; gap: 7px; padding-block: 18px; }
  .terms-list dt { font-size: 14px; }
  .terms-list dd { font-size: 15px; }
  .join-form-wrap { padding: 24px 18px; }
  #creator-form > p { font-size: 14px; }
  #creator-form label { font-size: 14px; }
  #creator-form label span { font-size: 12px; }
  .contact-email { font-size: 16px; min-height: 44px; }
  .email-preview > p, .email-preview .draft-recipient { font-size: 14px; }
  .draft-actions .button { font-size: 14px; }

  /* Meal guides: larger reading type and self-contained scroll areas. */
  .k-jump { top: 64px; padding-block: 8px; gap: 8px; scrollbar-width: thin; }
  .k-jump a { display: flex; align-items: center; min-height: 44px; padding: 8px 13px; border: 1px solid #dce5dc; border-radius: 24px; font-size: 13px; }
  .k-guide [id] { scroll-margin-top: 142px; }
  .k-eyebrow { font-size: 11px; }
  .k-hero-image { height: 290px; }
  .k-small, .k-byline { font-size: 13px; line-height: 1.7; }
  .k-hero-image figcaption { font-size: 11px; }
  .k-fact-strip span { font-size: 13px; line-height: 1.5; }
  .k-intro p, .k-before p, .k-section-head > p { font-size: 15px; line-height: 1.75; }
  .k-before b { font-size: 15px; }
  .k-button { min-height: 50px; font-size: 14px; }
  .k-text-link { font-size: 14px; }
  .k-controls { gap: 12px; padding: 16px; }
  .k-controls > div { gap: 12px; }
  .k-controls label { font-size: 13px; margin: 0; }
  .k-controls select { min-height: 46px; font-size: 16px; padding: 10px 28px 10px 12px; }
  .k-controls .k-print, .k-shopping-tools button { min-height: 44px; font-size: 14px; }
  .k-controls #k-scale-status { font-size: 12px; line-height: 1.6; }
  .k-plan td > a:not(:last-child) { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; line-height: 1.5; }
  .k-plan td > span { font-size: 12px; }
  .k-plan td::before { font-size: 11px; }
  .k-day-total > a:last-child { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  .k-day-total strong small { font-size: 12px; }
  .k-recipe summary { gap: 12px; padding-block: 22px; }
  .k-recipe-heading { flex: 1; min-width: 0; }
  .k-recipe-heading h3 { font-size: 18px; line-height: 1.35; }
  .k-recipe-heading small { font-size: 12px; line-height: 1.5; }
  .k-recipe-carb { min-width: 66px; font-size: 20px; }
  .k-recipe-carb small { font-size: 10px; }
  .k-expand { flex: 0 0 18px; margin-left: 0; }
  .k-recipe-desc, .k-method li, .k-prep-note { font-size: 15px; line-height: 1.75; }
  .k-recipe h4 { font-size: 16px; }
  .k-ingredients li { font-size: 15px; line-height: 1.6; gap: 14px; padding-block: 12px; }
  .k-ingredients .k-quantity { white-space: normal; flex: 0 1 47%; text-align: right; }
  .k-nutrients { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 10px; }
  .k-nutrients dt { font-size: 12px; }
  .k-nutrients dd { font-size: 24px; }
  .k-shopping-group label { min-height: 52px; margin: 0; font-size: 14px; gap: 10px; }
  .k-shopping-group input { width: 20px; height: 20px; padding: 0; }
  .k-shopping-group input:checked::after { line-height: 18px; font-size: 15px; }
  .k-shopping-group .k-quantity { max-width: 42%; white-space: normal; text-align: right; font-size: 13px; }
  .k-shopping-tools p, .k-shopping-notes p { font-size: 14px; }
  .k-prep-grid p, .k-basics-copy p, .k-app-bridge p:not(.k-eyebrow) { font-size: 15px; line-height: 1.75; }
  .k-data-table { font-size: 14px; }
  .k-data-table th, .k-data-table td { padding: 14px 12px; }
  .k-data-table thead th, .k-data-table small, .k-data-table caption { font-size: 12px; }
  .k-sources p, .k-sources li { font-size: 14px; }
  .k-sources .k-data-table { font-size: 13px; }
  .k-source-detail summary { font-size: 15px; }
}

@media screen and (max-width: 600px) {
  .product-hero .k-phone { --s: .54; }
  .k-plan tbody { grid-template-columns: 1fr; }
  .k-plan tr { border-right: 0; padding: 18px; }
  .k-plan td { position: relative; padding: 6px 0 6px 88px; }
  .k-plan td::before { position: absolute; left: 0; top: 20px; }
  .k-plan td > span { display: block; margin: 0 0 4px; }
  .k-plan .k-day-total { padding: 14px; margin-top: 12px; }
  .k-controls > div { width: 100%; justify-content: space-between; }
  .k-controls .k-print { width: 100%; justify-content: center; border: 1px solid #c9d6c4; border-radius: 8px; background: #fcfdf9; display: flex; align-items: center; }
  .k-recipe-index { display: none; }
}

@media screen and (max-width: 360px) {
  .nav-shell { width: calc(100% - 24px); gap: 6px; }
  .brand { font-size: 20px; gap: 6px; }
  .brand img { width: 29px; height: 29px; }
  .nav-cta { font-size: 11px; padding-inline: 10px; }
  .product-hero { padding-inline: 16px; }
  .product-hero .product-small { font-size: 11px; }
  .product-hero .k-phone { --s: .50; }
  .product-actions { flex-direction: column; gap: 4px; }
  .product-feature-short { font-size: 11px; }
  .product-section-heading h2, .product-control-copy h2, .qa-teaser-head h2 { font-size: 31px; }
  .qa-teaser-head h2 br { display: none; }
  .qa-grid .qa-card { padding: 18px 14px; }
  .qa-grid .qa-q { font-size: 17px; }
  .creator-poster { grid-template-columns: 1fr 88px; padding: 18px; }
  .creator-poster > img { width: 88px; height: 88px; }
  .poster-title { font-size: 29px; }
  .poster-title em { font-size: 32px; }
  .idea-card { gap: 12px; padding-inline: 12px; }
  .idea-card > img { width: 60px; height: 60px; }
  .qa-main { width: calc(100% - 32px); }
  .k-hero h1 { font-size: 38px; }
  .k-recipe[open] summary, .k-recipe-content { padding-inline: 10px; }
  .k-recipe summary { gap: 8px; }
  .k-recipe-heading h3 { font-size: 17px; }
  .k-recipe-carb { min-width: 58px; }
  .k-plan td { padding-left: 74px; }
  .k-plan td::before { font-size: 10px; }
}
