/* Homepage only. Real app captures and the supplied device artwork define
   the image slots; shared navigation and article styles stay in styles.css. */
.homepage { background: #fff; }
.homepage .nav { --max-width: 1168px; }
.homepage .nav-links { gap: 26px; }
.homepage .nav-links a { font-size: 14px; }
.homepage .nav-links .nav-download { color: var(--accent-ink); font-weight: 650; }
.home-wrap { width: min(100% - 48px, 1120px); margin-inline: auto; }
.homepage section { scroll-margin-top: 88px; }
.home-kicker { font-size: 14px; font-weight: 650; color: var(--accent-ink); margin-bottom: 16px; }
.home-title { font-family: var(--font-rounded); font-size: clamp(36px, 4.2vw, 52px); font-weight: 750; letter-spacing: -.035em; line-height: 1.12; margin-bottom: 24px; text-wrap: balance; }
.home-copy { font-size: 18px; line-height: 1.6; color: #55535a; max-width: 490px; }
.home-copy + .home-copy { margin-top: 16px; }
.home-note { font-size: 14px; line-height: 1.55; color: #625e65; }
.home-link { display: inline-block; color: var(--accent-ink); font-size: 15px; font-weight: 600; margin-top: 24px; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.homepage .hero { padding: 132px 0 64px; min-height: 0; overflow: visible; }
.homepage .hero-inner { max-width: 1120px; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 80px; width: min(100% - 48px, 1120px); text-align: left; margin: auto; }
.hero-copy { padding-bottom: 12px; }
.homepage .hero h1 { font-family: var(--font-rounded); font-size: clamp(42px, 5vw, 66px); font-weight: 750; line-height: 1.08; letter-spacing: -.042em; max-width: 580px; margin: 0 0 26px; text-wrap: balance; }
.homepage .hero h1 em { font-style: normal; color: var(--accent); }
.hero-description { font-size: 20px; color: #55535a; line-height: 1.6; max-width: 470px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 32px; }
.store-badge { display: inline-block; line-height: 0; border-radius: 8px; }
.store-badge img { display: block; width: auto; height: 52px; }
.hero-actions .home-link { margin: 0; }
.hero-facts { font-size: 14px; color: #625e65; margin-top: 18px; }
.hero-visual { justify-self: center; width: 100%; max-width: 346px; }
.hero-visual > figcaption { margin-top: 18px; text-align: center; font-size: 13px; color: #625e65; }
/* Exact Pro Max geometry: frame 1470×3000; display 1320×2868 at (75,66).
   Only Pro Max screenshots fit this slot. No stretching or Duo screen reuse. */
.phone { position: relative; width: 100%; aspect-ratio: 1470 / 3000; filter: drop-shadow(0 16px 20px rgba(24, 16, 20, .10)); }
.phone-screen { position: absolute; left: 5.102040816%; top: 2.2%; width: 89.795918367%; height: 95.6%; overflow: hidden; border-radius: 11.4% / 5.25%; background: #000; }
.phone-screen img { display: block; width: 100%; height: 100%; object-fit: contain; }
.phone-frame { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.chapter { padding: 92px 0; border-top: 1px solid #eee9ec; }
.anchor-alias { scroll-margin-top: 88px; }
.explorer-chapter { background: #fcfafb; }
.explorer-header { margin-bottom: 42px; }
.explorer-header .home-title { max-width: 650px; margin-bottom: 16px; }
.explorer-header .home-copy { max-width: 600px; }
.feature-explorer { position: relative; padding: 32px; border-radius: 32px; background: #fff; scroll-margin-top: 88px; }
.explorer-topic { padding: 18px 0; border-bottom: 1px solid #dfd6dc; }
.explorer-topic:last-child { border-bottom: 0; }
.explorer-control { display: inline-block; font: inherit; font-size: 17px; font-weight: 650; line-height: 1.4; color: #262329; background: #f1f1f3; border: 1px solid transparent; border-radius: 999px; padding: 12px 18px; cursor: pointer; list-style: none; text-align: left; -webkit-tap-highlight-color: transparent; }
.explorer-control::-webkit-details-marker { display: none; }
.explorer-control::after { content: ' +'; color: #625e65; }
.explorer-topic[open] > .explorer-control::after { content: ' −'; }
.explorer-control:hover { border-color: #bcaab5; }
.explorer-control:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 4px; }
.explorer-detail { padding: 20px 0 24px; max-width: 430px; }
.explorer-detail h3 { font-family: var(--font-rounded); font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; margin-bottom: 14px; text-wrap: balance; }
.explorer-detail p { color: #55535a; font-size: 17px; line-height: 1.6; }
.explorer-detail .home-link { margin-top: 18px; font-size: 14px; }
.explorer-figure { margin: 0 auto; width: 100%; max-width: 450px; }
.explorer-figure .native-component { display: block; width: 100%; height: auto; object-fit: contain; }
.explorer-figure figcaption { color: #625e65; font-size: 13px; line-height: 1.5; text-align: center; margin-top: 14px; padding-inline: 16px; }
.explorer-figure--phone .phone { max-width: 280px; margin-inline: auto; }
.explorer-stage, .explorer-controls { display: none; }
/* Native disclosures remain readable until the manual viewer is enhanced. */
.feature-explorer[data-enhanced="true"] { display: grid; grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 16px 56px; align-items: center; overflow-anchor: none; }
.feature-explorer[data-enhanced="true"] .explorer-topics { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.feature-explorer[data-enhanced="true"] .explorer-topic { padding: 0; border: 0; margin-bottom: 14px; }
.feature-explorer[data-enhanced="true"] .explorer-topic:last-child { margin-bottom: 0; }
.feature-explorer[data-enhanced="true"] .explorer-control { min-height: 44px; min-width: 44px; }
.feature-explorer[data-enhanced="true"] .explorer-control::after { content: ""; display: inline-block; width: 20px; height: 20px; margin-left: 12px; vertical-align: -4px; background: url("/assets/icons/plus-circle.svg") center / contain no-repeat; }
.feature-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control::after { display: none; }
.feature-explorer[data-enhanced="true"] .explorer-control[aria-pressed="true"] { color: #262329; background: #f1f1f3; }
.feature-explorer[data-enhanced="true"] .explorer-detail { padding: 8px 0 0; touch-action: pan-y pinch-zoom; }
.feature-explorer[data-enhanced="true"] .explorer-detail h3 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.feature-explorer[data-enhanced="true"] .explorer-stage { display: block; position: relative; isolation: isolate; overflow: hidden; touch-action: pan-y pinch-zoom; grid-column: 2; grid-row: 1; align-self: stretch; justify-self: stretch; width: 100%; min-width: 0; min-height: 650px; padding: 0; }
/* The stage is the animation viewport. Full settled proofs fit by their exact
   width/height ratio; their intrinsic pixels cannot expand the grid track. */
.feature-explorer[data-enhanced="true"] .explorer-stage .explorer-figure { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; max-width: none; min-width: 0; min-height: 0; margin: 0; }
.feature-explorer[data-enhanced="true"] .explorer-stage .native-component { flex: 0 0 auto; width: min(450px, 100%, max(0px, calc((var(--viewer-stage-height, 650px) - var(--viewer-caption-space, 56px)) * var(--viewer-proof-ratio, 1)))); height: auto; margin-inline: auto; object-fit: contain; }
.feature-explorer[data-enhanced="true"] .explorer-stage .phone { flex: 0 0 auto; width: min(280px, 100%, max(0px, calc((var(--viewer-stage-height, 650px) - var(--viewer-caption-space, 56px)) * var(--viewer-proof-ratio, .49)))); max-width: none; margin-inline: auto; }
.feature-explorer[data-enhanced="true"] .explorer-stage figcaption { width: 100%; max-width: 450px; flex: 0 0 auto; }
.explorer-stage .explorer-departing { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.feature-explorer[data-enhanced="true"] .explorer-controls { display: flex; grid-column: 2; grid-row: 2; align-items: center; justify-content: space-between; gap: 16px; width: 100%; max-width: 450px; justify-self: center; }
.feature-explorer[data-enhanced="true"] .explorer-topics::-webkit-scrollbar { display: none; }
.explorer-controls [data-viewer-count] { font-size: 13px; line-height: 1.4; color: #625e65; font-variant-numeric: tabular-nums; }
.viewer-arrows { display: flex; gap: 10px; }
.viewer-arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; flex: 0 0 44px; border: 1px solid transparent; border-radius: 50%; background: #f1f1f3; cursor: pointer; }
.viewer-arrow img { width: 20px; height: 20px; }
.viewer-arrow:hover:not(:disabled) { background: #e5e5e9; }
.viewer-arrow:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }
.viewer-arrow:disabled { opacity: .35; cursor: default; }
.feature-explorer [hidden] { display: none !important; }
.explorer-card-departing { position: absolute; z-index: 3; pointer-events: none; transition: none !important; }
.explorer-health { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 32px; padding: 0 12px; }
.explorer-health p { font-size: 15px; line-height: 1.6; color: #625e65; max-width: 680px; }
.explorer-health strong { color: #39343b; font-weight: 650; }
.explorer-health .home-link { margin: 0; white-space: nowrap; font-size: 14px; }
.meal-history-inner { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 80px; }
.meal-history-copy { max-width: 490px; }
.meal-history-proof { width: 100%; max-width: 346px; margin: 0; justify-self: center; }
.meal-history-proof figcaption { margin-top: 18px; color: #625e65; font-size: 13px; line-height: 1.5; text-align: center; }
.week-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 64px; margin-bottom: 44px; }
.week-header .home-title { max-width: 550px; margin-bottom: 0; }
.week-header .home-copy { max-width: 405px; padding-top: 38px; }
.home-pro { display: inline-block; vertical-align: middle; white-space: nowrap; font-family: var(--font); font-size: 11px; font-weight: 800; letter-spacing: .07em; line-height: 14px; padding: 4px 8px; border: 1px solid #A6193D; background: #BE2149; background: linear-gradient(135deg, #BE2149, #A6193D); color: #FFE8EE; border-radius: 6px; margin-left: 8px; }
.week-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.week-proof figure { margin: 0; }
.week-proof img { display: block; width: 100%; max-width: 450px; height: auto; object-fit: contain; margin-inline: auto; }
.week-proof figcaption { max-width: 450px; margin: 16px auto 0; padding-inline: 20px; }
.week-proof h3 { font-size: 18px; line-height: 1.4; margin-bottom: 6px; }
.week-proof p { font-size: 15px; line-height: 1.6; color: #55535a; }
.week-patterns { display: grid; gap: 12px; }
.week-footnote { margin-top: 32px; max-width: 600px; }
.activity-header { max-width: 650px; margin-bottom: 48px; }
.activity-header .home-copy { max-width: 590px; }
/* Mobile Live Activities use a manual viewer; desktop shows the full state set. */
.activity-chapter { background: #fcfafb; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] { --viewer-caption-space: 0px; height: 540px; min-height: min-content; padding: 24px; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto; gap: 16px; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-stage { grid-column: 1; grid-row: 1; min-height: 0; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-topics { display: flex; align-items: flex-start; gap: 10px; grid-column: 1; grid-row: 2; overflow-x: auto; overscroll-behavior-x: contain; padding: 8px; margin-inline: -8px; scroll-padding-inline: 8px; scrollbar-width: none; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-topic { flex: 0 0 auto; width: var(--pill-compact-width, auto); margin: 0; border-radius: 999px; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-control { white-space: nowrap; font-size: 15px; padding: 11px 17px; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-control[aria-pressed="true"] { color: #262329; background: #f1f1f3; padding: 11px 17px; font-size: 15px; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"][data-expanded="true"] .explorer-topic[data-selected="true"] { width: var(--pill-copy-width, 340px); max-width: 440px; padding: 14px 18px 18px; border-radius: 24px; background: #f1f1f3; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control { display: block; padding: 0; font-size: 20px; font-weight: 700; white-space: normal; line-height: 1.25; width: 100%; border-radius: 8px; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-detail { width: calc(var(--pill-copy-width, 340px) - 36px); padding: 8px 0 0; max-width: none; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-detail h3 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-detail p { font-size: 15px; line-height: 1.5; }
.activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-controls { grid-column: 1; grid-row: 3; max-width: none; }
.release-note { color: var(--accent-ink); font-size: 14px; font-weight: 650; margin-bottom: 12px; }
.plans-chapter { background: #fbf3f6; }
.plans-header { max-width: 620px; margin-bottom: 36px; }
.plans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.plan { border-top: 1px solid #d9cdd3; padding-top: 24px; }
.plan h3 { font-family: var(--font-rounded); font-size: 26px; line-height: 1.3; margin-bottom: 12px; }
.plan p { color: #55535a; line-height: 1.6; font-size: 17px; max-width: 390px; }
.plan ul { padding-left: 20px; margin-top: 18px; color: #55535a; font-size: 16px; }
.plan li { padding-left: 3px; margin-top: 8px; }
.download-row { display: flex; align-items: center; gap: 24px; border-top: 1px solid #d9cdd3; padding-top: 28px; margin-top: 32px; }
.download-row .home-note { max-width: 540px; }
.questions-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 72px; align-items: start; }
.home-faq { border-top: 1px solid #e9e4e7; }
.home-faq .faq-item { overflow: visible; }
.home-faq details { padding: 0; border-bottom: 1px solid #e9e4e7; }
.home-faq summary { cursor: pointer; padding: 21px 28px 21px 0; font-size: 17px; font-weight: 600; line-height: 1.45; list-style: none; position: relative; }
.home-faq summary::-webkit-details-marker { display: none; }
.home-faq .faq-toggle::after { content: '+'; position: absolute; right: 0; top: 20px; font-weight: 400; font-size: 21px; }
.home-faq details[open] .faq-toggle::after { content: '−'; }
.home-faq .answer { padding: 0 0 22px; font-size: 16px; line-height: 1.65; color: #55535a; }
.home-faq a { color: var(--accent-ink); text-underline-offset: 3px; }
.home-faq .deeper { margin-top: 24px; color: #625e65; font-size: 14px; }
.home-guides { border-top: 1px solid #eee9ec; margin-top: 64px; padding-top: 44px; }
.home-guides h3 { font-family: var(--font-rounded); font-size: 28px; letter-spacing: -.025em; margin-bottom: 26px; }
.guide-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; list-style: none; }
.guide-list a { display: block; padding: 20px 0; border-top: 1px solid #e9e4e7; color: inherit; text-decoration: none; }
.guide-list h4 { font-size: 17px; line-height: 1.4; margin-bottom: 7px; font-weight: 650; }
.guide-list p { color: #625e65; font-size: 15px; line-height: 1.55; }
.guide-list a:hover h4 { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 4px; }
.homepage .footer { background: #fcfafb; }
.homepage .footer-cta { box-shadow: none; border: 0; border-radius: 0; padding: 0; background: transparent; }
@media (min-width: 761px) {
  #numi-explorer[data-enhanced="true"] { height: auto; min-height: 714px; grid-template-columns: 340px minmax(0, 1fr); grid-template-rows: minmax(650px, 1fr); gap: 0 72px; }
  #numi-explorer[data-enhanced="true"] .explorer-topics { grid-row: 1; }
  .feature-explorer[data-enhanced="true"] .explorer-controls { display: none; }
  .feature-explorer[data-enhanced="true"] .explorer-stage, .feature-explorer[data-enhanced="true"] .explorer-detail { touch-action: auto; }
  #numi-explorer[data-enhanced="true"] .explorer-stage { min-height: 650px; }
  #numi-explorer[data-enhanced="true"] .explorer-stage .phone { width: min(300px, 100%, max(0px, calc((var(--viewer-stage-height, 650px) - 56px) * var(--viewer-proof-ratio, .49)))); }
  #numi-explorer[data-enhanced="true"] .explorer-control[aria-pressed="true"] { background: #fff0f4; color: var(--accent-ink); border-color: #e8b8c4; }
  #numi-explorer[data-enhanced="true"] .explorer-topic { width: var(--pill-compact-width, fit-content); max-width: 100%; border-radius: 999px; }
  #numi-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] { width: 100%; padding: 14px 18px 18px; border-radius: 24px; background: #f1f1f3; }
  #numi-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control { display: block; padding: 0; width: 100%; font-size: 20px; font-weight: 700; line-height: 1.25; white-space: normal; border-radius: 8px; color: #262329; background: transparent; border-color: transparent; }
  #numi-explorer[data-enhanced="true"] .explorer-detail { width: var(--pill-panel-content-width, auto); max-width: none; }
  #numi-explorer[data-enhanced="true"] .explorer-detail p { font-size: 16px; line-height: 1.5; }
  #numi-explorer[data-enhanced="true"] .explorer-detail .home-link { margin-top: 12px; font-size: 15px; }
}
@media (max-width: 1024px) {
  .homepage .hero-inner { gap: 40px; }
  .meal-history-inner { gap: 40px; }
  .meal-history-proof { max-width: 300px; }
  .hero-visual { max-width: 300px; }
  .chapter { padding: 76px 0; }
  .week-header { gap: 32px; }
  .questions-grid { gap: 40px; }
  .feature-explorer[data-enhanced="true"] { grid-template-columns: 270px minmax(0, 1fr); gap: 16px 32px; padding: 28px; }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto; gap: 16px; padding: 24px; }
}
@media (max-width: 760px) {
  .home-wrap, .homepage .hero-inner { width: min(100% - 40px, 560px); }
  .homepage .hero { padding: 116px 0 56px; }
  .homepage .hero-inner { grid-template-columns: 1fr; gap: 38px; }
  .homepage .hero h1 { font-size: clamp(40px, 9.7vw, 56px); max-width: 500px; }
  .hero-description { font-size: 18px; }
  .hero-actions { margin-top: 26px; gap: 18px; }
  .hero-visual { max-width: 280px; }
  .hero-copy { padding: 0; }
  .meal-history-inner { grid-template-columns: 1fr; gap: 38px; }
  .meal-history-proof { max-width: 280px; }
  .home-kicker { margin-bottom: 12px; }
  .home-title { font-size: 36px; margin-bottom: 20px; }
  .home-copy { font-size: 17px; }
  .chapter { padding: 56px 0; }
  .week-proof, .plans-grid, .questions-grid { grid-template-columns: 1fr; gap: 32px; }
  .explorer-header { margin-bottom: 28px; }
  .feature-explorer { padding: 20px; border-radius: 24px; }
  .feature-explorer[data-enhanced="true"] { --viewer-caption-space: 0px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(180px, 1fr) max-content auto; height: min(780px, calc(100vh - 92px)); height: min(780px, calc(100svh - 92px)); min-height: min-content; padding: 16px; gap: 12px; }
  .feature-explorer[data-enhanced="true"] .explorer-stage { grid-column: 1; grid-row: 1; min-height: 180px; }
  .feature-explorer[data-enhanced="true"] .explorer-stage figcaption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .feature-explorer[data-enhanced="true"] .explorer-topics { display: flex; align-items: flex-start; gap: 10px; grid-column: 1; grid-row: 2; overflow-x: auto; overscroll-behavior-x: contain; padding: 8px; margin-inline: -8px; scroll-padding-inline: 8px; scrollbar-width: none; }
  .feature-explorer[data-enhanced="true"] .explorer-topic { flex: 0 0 auto; width: var(--pill-compact-width, auto); margin: 0; border-radius: 999px; }
  .feature-explorer[data-enhanced="true"] .explorer-control { white-space: nowrap; font-size: 15px; padding: 11px 17px; }
  .feature-explorer[data-enhanced="true"] .explorer-control[aria-pressed="true"] { color: #262329; padding: 11px 17px; font-size: 15px; background: #f1f1f3; }
  .feature-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] { width: var(--pill-copy-width, 250px); max-width: 440px; padding: 14px 18px 18px; border-radius: 24px; background: #f1f1f3; }
  .feature-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control { display: block; padding: 0; font-size: 20px; font-weight: 700; white-space: normal; line-height: 1.25; width: 100%; border-radius: 8px; }
  .feature-explorer[data-enhanced="true"] .explorer-detail { width: calc(var(--pill-copy-width, 250px) - 36px); padding: 8px 0 0; max-width: none; }
  .feature-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-detail h3 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .feature-explorer[data-enhanced="true"] .explorer-detail p { font-size: 15px; line-height: 1.5; }
  .feature-explorer[data-enhanced="true"] .explorer-detail .home-link { margin-top: 12px; font-size: 14px; }
  .feature-explorer[data-enhanced="true"] .explorer-controls { grid-column: 1; grid-row: 3; max-width: none; }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] { height: min(540px, calc(100vh - 92px)); height: min(540px, calc(100svh - 92px)); }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control { font-size: 20px; }
  .explorer-health { display: block; padding: 0 4px; margin-top: 26px; }
  .explorer-health .home-link { margin-top: 12px; white-space: normal; }
  .week-header { display: block; margin-bottom: 30px; }
  .week-header .home-copy { padding-top: 20px; }
  .week-proof { gap: 36px; }
  .week-proof figcaption { margin-top: 20px; }
  .activity-header { margin-bottom: 32px; }
  .plans-header { margin-bottom: 28px; }
  .plans-grid { gap: 28px; }
  .download-row { align-items: flex-start; flex-direction: column; gap: 18px; }
  .questions-grid { gap: 24px; }
  .home-guides { margin-top: 44px; padding-top: 36px; }
  .guide-list { grid-template-columns: 1fr; }
  .homepage .footer-inner { gap: 24px; }
  .homepage .footer-links { gap: 16px 24px; }
}
@media (max-width: 360px) {
  .home-wrap, .homepage .hero-inner { width: calc(100% - 32px); }
  .homepage .hero h1 { font-size: 38px; }
  .home-title { font-size: 32px; }
  .hero-visual { max-width: 250px; }
  .meal-history-proof { max-width: 250px; }
  .feature-explorer[data-enhanced="true"] { padding: 12px; gap: 6px; }
  .feature-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] { padding: 12px 16px 16px; }
  .feature-explorer[data-enhanced="true"] .explorer-detail { width: calc(var(--pill-copy-width, 240px) - 32px); }
  .feature-explorer[data-enhanced="true"] .explorer-detail p { font-size: 14px; line-height: 1.45; }
}
/* The hero keeps one focused desktop proof; day-state browsing is mobile. */
.hero-explorer.hero-visual { --hero-phone-width: 346px; width: 100%; max-width: 440px; padding: 0; margin: 0; background: transparent; border-radius: 0; }
.hero-explorer .explorer-figure--phone .phone { max-width: var(--hero-phone-width); }
.hero-explorer[data-enhanced="true"] { --viewer-caption-space: 0px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto max-content auto; height: auto; min-height: 0; padding: 0; gap: 14px; }
.hero-explorer[data-enhanced="true"] .explorer-stage { grid-column: 1; grid-row: 1; height: calc(var(--hero-phone-width) * 3000 / 1470); min-height: 0; }
.hero-explorer[data-enhanced="true"] .explorer-stage .phone { width: min(var(--hero-phone-width), 100%, max(0px, calc(var(--viewer-stage-height, 706px) * var(--viewer-proof-ratio, .49)))); }
.hero-explorer[data-enhanced="true"] .explorer-stage figcaption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.hero-explorer[data-enhanced="true"] .explorer-topics { display: flex; align-items: flex-start; grid-column: 1; grid-row: 2; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 8px; margin-inline: -8px; scroll-padding-inline: 8px; scrollbar-width: none; }
.hero-explorer[data-enhanced="true"] .explorer-topic { flex: 0 0 auto; width: var(--pill-compact-width, auto); margin: 0; border-radius: 999px; }
.hero-explorer[data-enhanced="true"] .explorer-control { font-size: 13px; white-space: nowrap; padding: 11px 10px; }
.hero-explorer[data-enhanced="true"] .explorer-control::after { width: 16px; height: 16px; margin-left: 8px; vertical-align: -3px; }
.hero-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] { width: var(--pill-copy-width, 340px); max-width: 440px; padding: 14px 18px 18px; border-radius: 24px; background: #f1f1f3; }
.hero-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] .explorer-control { display: block; width: 100%; padding: 0; font-size: 20px; font-weight: 700; line-height: 1.25; white-space: normal; border-radius: 8px; }
.hero-explorer[data-enhanced="true"] .explorer-detail { width: calc(var(--pill-copy-width, 340px) - 36px); max-width: none; padding: 8px 0 0; }
.hero-explorer[data-enhanced="true"] .explorer-detail p { font-size: 14px; line-height: 1.5; }
.hero-explorer[data-enhanced="true"] .explorer-controls { grid-column: 1; grid-row: 3; max-width: none; }
@media (min-width: 761px) {
  .hero-explorer[data-enhanced="true"] { height: min(706px, calc(100vh - 160px)); height: min(706px, calc(100svh - 160px)); min-height: 300px; grid-template-rows: minmax(300px, 1fr); }
  .hero-explorer[data-enhanced="true"] .explorer-topics { display: none; }
  .hero-explorer[data-enhanced="true"] .explorer-controls { display: none; }
  .hero-explorer[data-enhanced="true"] .explorer-stage { height: auto; min-height: 300px; }
}
@media (max-width: 1024px) {
  .hero-explorer.hero-visual { --hero-phone-width: 300px; max-width: 400px; }
}
@media (max-width: 760px) {
  .hero-explorer.hero-visual { --hero-phone-width: 280px; max-width: 400px; }
  .hero-explorer[data-enhanced="true"] { height: min(780px, calc(100vh - 92px)); height: min(780px, calc(100svh - 92px)); min-height: min-content; grid-template-rows: minmax(180px, 1fr) max-content auto; }
  .hero-explorer[data-enhanced="true"] .explorer-stage { height: auto; min-height: 180px; }
}
@media (max-width: 360px) {
  .hero-explorer.hero-visual { --hero-phone-width: 250px; }
  .hero-explorer[data-enhanced="true"][data-expanded="true"] .explorer-topic[data-selected="true"] { padding: 12px 16px 16px; }
  .hero-explorer[data-enhanced="true"] .explorer-detail { width: calc(var(--pill-copy-width, 240px) - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .homepage *, .homepage *::before, .homepage *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}

/* Desktop explains the three activity states together, without a viewer shell. */
@media (min-width: 761px) {
  .activity-chapter { background: #fff; }
  .activity-explorer[data-enhanced="true"][data-presentation="overview"] { display: block; height: auto; min-height: 0; padding: 0; background: transparent; border-radius: 0; }
  .activity-explorer[data-presentation="overview"] .explorer-stage, .activity-explorer[data-presentation="overview"] .explorer-controls, .activity-explorer[data-presentation="overview"] .explorer-control { display: none; }
  .activity-explorer[data-presentation="overview"] .explorer-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin: 0; padding: 0; overflow: visible; }
  .activity-explorer[data-presentation="overview"] .explorer-topic { display: flex; flex-direction: column; width: auto; max-width: none; padding: 0; margin: 0; border-radius: 0; background: transparent; transition: none; }
  .activity-explorer[data-presentation="overview"] .explorer-figure { order: 0; width: 100%; max-width: 350px; margin: 0; }
  .activity-explorer[data-presentation="overview"] .explorer-detail { order: 1; width: auto; max-width: 350px; padding: 24px 0 0; }
  .activity-explorer[data-presentation="overview"] .explorer-detail h3 { position: static; width: auto; height: auto; padding: 0; margin: 0 0 10px; overflow: visible; clip: auto; white-space: normal; font-size: 20px; line-height: 1.3; }
  .activity-explorer[data-presentation="overview"] .explorer-detail p { font-size: 16px; line-height: 1.55; }
}
@media (min-width: 761px) and (max-width: 1059px) {
  .activity-explorer[data-presentation="overview"] .explorer-topics { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .activity-explorer[data-presentation="overview"] .explorer-topic { display: grid; grid-template-columns: minmax(260px, 350px) minmax(0, 1fr); gap: 40px; align-items: center; }
  .activity-explorer[data-presentation="overview"] .explorer-detail { padding: 0; max-width: 390px; }
}

@media (min-width: 761px) and (max-width: 1024px) {
  #numi-explorer[data-enhanced="true"] { grid-template-columns: 270px minmax(0, 1fr); gap: 0 32px; padding: 28px; }
}

/* Keep the approved mobile sizing after the explicit desktop/mobile split. */
@media (max-width: 760px) {
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] { padding: 16px; gap: 12px; grid-template-rows: minmax(180px, 1fr) max-content auto; }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-stage { min-height: 180px; }
}
@media (max-width: 360px) {
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] { padding: 12px; gap: 6px; }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"][data-expanded="true"] .explorer-topic[data-selected="true"] { padding: 12px 16px 16px; }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-detail { width: calc(var(--pill-copy-width, 240px) - 32px); }
  .activity-explorer[data-enhanced="true"][data-presentation="carousel"] .explorer-detail p { font-size: 14px; line-height: 1.45; }
}
