@font-face {
  font-family: Manrope;
  src: url("/savour/assets/manrope.ttf") format("truetype");
  font-weight: 400 800;
  font-display: swap;
}
:root {
  --sc-canvas: #14251d;
  --sc-surface: #1c3026;
  --sc-ink: #f3f6ef;
  --sc-ink-soft: #bcc9bf;
  --sc-accent: #b5d4a8;
  --sc-accent-ink: #14251d;
  --sc-font-display: Manrope, sans-serif;
  --sc-font-text: Manrope, sans-serif;
  --ink: #f3f6ef;
  --muted: #bcc9bf;
  --sage: #b5d4a8;
  --forest: #14251d;
  --surface: #1c3026;
  --rule: #ffffff21;
  --radius: 20px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
  scrollbar-color: #708773 var(--forest);
}
body {
  margin: 0;
  background: var(--forest);
  color: var(--ink);
  font-family: Manrope, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: var(--sage);
  color: var(--forest);
}
a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 5px;
}
button {
  font: inherit;
  cursor: pointer;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--sage);
  outline-offset: 6px;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
h1,
h2,
h3,
p,
figure {
  margin: 0;
}
h1,
h2 {
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.08;
  text-wrap: balance;
}
h2 {
  font-size: clamp(40px, 4.6vw, 68px);
}
h2 span {
  color: var(--sage);
}
p {
  text-wrap: pretty;
}
.wrap {
  width: min(1280px, calc(100% - 112px));
  margin-inline: auto;
}
.symbol-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.skip-link {
  position: fixed;
  top: 16px;
  left: 20px;
  z-index: 100;
  padding: 12px 20px;
  background: var(--sage);
  color: var(--forest);
  transform: translateY(-180%);
}
.skip-link:focus {
  transform: none;
}
.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  padding: 28px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.wordmark {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 1;
}
.brand-mark {
  width: 39px;
  height: 39px;
  color: var(--sage);
}
.wordmark-dot {
  color: var(--sage);
  margin-left: -10px;
}
.site-header nav {
  display: flex;
  gap: 32px;
  font-size: 13px;
  font-weight: 500;
  color: #d4dfd4;
}
.site-header nav a {
  padding: 12px 0;
  transition: color 0.2s;
}
.site-header nav a:hover {
  color: var(--sage);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 56px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--sage);
  color: var(--forest);
  font-weight: 700;
  font-size: 14px;
  border: 1px solid transparent;
  transition:
    background 0.2s,
    transform 0.2s var(--ease);
}
.button:hover {
  background: #d0e3c8;
  transform: translateY(-2px);
}
.button:active {
  transform: scale(0.98);
}
.button svg {
  width: 21px;
  height: 21px;
}
.button-small {
  min-height: 46px;
  padding: 10px 20px;
  font-size: 12px;
  gap: 20px;
}
.text-link {
  display: inline-flex;
  gap: 22px;
  align-items: center;
  min-height: 48px;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid #ffffff50;
  transition:
    border-color 0.2s,
    color 0.2s;
}
.text-link:hover {
  border-color: var(--sage);
  color: var(--sage);
}
.text-link span {
  font-size: 22px;
  font-weight: 400;
}
.eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.status-dot {
  display: inline-block;
  vertical-align: middle;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--sage);
}
.hero {
  position: relative;
  overflow: clip;
  isolation: isolate;
  background: #14251d;
}
.hero-watermark {
  position: absolute;
  top: 8%;
  left: 43%;
  width: 800px;
  height: 800px;
  opacity: 0.035;
  z-index: -1;
}
.hero-watermark svg {
  width: 100%;
  height: 100%;
}
.hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: 0;
  min-height: 820px;
  padding-top: 120px;
  padding-bottom: 56px;
}
.hero-copy {
  position: relative;
  z-index: 8;
}
.hero h1 {
  font-size: clamp(62px, 6.35vw, 96px);
  line-height: 1.04;
  font-weight: 600;
  letter-spacing: -0.055em;
  margin-bottom: 28px;
  text-wrap: initial;
}
.hero h1 span {
  color: var(--sage);
}
.hero-description {
  font-size: 24px;
  line-height: 1.45;
  letter-spacing: -0.02em;
  font-weight: 500;
}
.hero-body {
  max-width: 340px;
  margin-top: 20px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 32px;
}
.availability {
  font-size: 11px;
  color: var(--muted);
  margin-top: 18px;
  letter-spacing: 0.015em;
}
.hero-scene {
  position: relative;
  height: 650px;
  perspective: 1100px;
  margin-left: 12px;
}
.scene-ring {
  position: absolute;
  inset: 58px -24px 66px 10px;
  border: 1px solid #b5d4a825;
  border-radius: 50%;
  transform: rotate(-15deg);
  background: radial-gradient(ellipse at 50% 55%, #244432 0%, transparent 68%);
}
.hero-phone-motion {
  position: absolute;
  top: 15px;
  left: 26%;
  z-index: 4;
  transform: translate3d(
      calc(var(--pointer-x, 0) * 9px),
      calc(var(--hero-travel, 0) * -35px + var(--pointer-y, 0) * 7px),
      0
    )
    rotate(calc(-5deg + var(--pointer-x, 0) * 2deg));
}
.phone {
  position: relative;
  width: 260px;
  padding: 7px;
  border-radius: 43px;
  background: linear-gradient(
    125deg,
    #b3b6ac,
    #40463e 20%,
    #1a201c 45%,
    #8b9186 65%,
    #2b332d
  );
  border: 1px solid #a3aba6;
  box-shadow:
    inset 0 0 0 2px #131b16,
    12px 32px 70px #06110dc0;
}
.phone:before,
.phone:after {
  content: "";
  position: absolute;
  left: -3px;
  width: 3px;
  border-radius: 3px;
  background: #738077;
}
.phone:before {
  top: 115px;
  height: 36px;
}
.phone:after {
  top: 166px;
  height: 60px;
}
.phone img {
  width: 100%;
  height: auto;
  border: 3px solid #101612;
  border-radius: 35px;
  background: #f5f7f4;
  aspect-ratio: 1320/2868;
  object-fit: cover;
}
.phone-island {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 27%;
  height: 17px;
  background: #101612;
  border-radius: 20px;
}
.hero-source {
  position: absolute;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid #a3aba636;
  box-shadow: 8px 18px 40px #07160d80;
}
.source-reel {
  width: 160px;
  top: 88px;
  left: 0;
  z-index: 2;
  transform: translate3d(
      calc(var(--pointer-x, 0) * -7px),
      calc(var(--hero-travel, 0) * -15px),
      0
    )
    rotate(-14deg);
}
.source-reel img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.source-reel > span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  background: #20372b;
  padding: 11px 10px;
}
.source-reel svg {
  width: 14px;
  height: 14px;
}
.source-note {
  top: 22px;
  right: -7px;
  width: 166px;
  padding: 24px 20px;
  background: #d4ddcd;
  color: #23382b;
  transform: translate3d(
      calc(var(--pointer-x, 0) * -5px),
      calc(var(--hero-travel, 0) * -22px),
      0
    )
    rotate(12deg);
}
.note-label {
  font-size: 8px;
  letter-spacing: 0.09em;
  display: block;
}
.source-note strong {
  display: block;
  font-size: 25px;
  margin: 12px 0 16px;
}
.source-note > span:last-of-type {
  font-size: 11px;
  line-height: 1.9;
}
.source-note > svg {
  display: block;
  margin-top: 12px;
  width: 35px;
  height: 35px;
}
.scene-caption {
  position: absolute;
  left: 16px;
  bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.02em;
  color: var(--muted);
}
.caption-line {
  width: 28px;
  height: 1px;
  background: var(--muted);
}
.source-strip {
  padding: 24px 0 28px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--rule);
  font-size: 12px;
  color: var(--muted);
}
.source-strip > span {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.source-strip > div {
  display: flex;
  gap: 25px;
  align-items: center;
}
.source-strip i {
  color: var(--sage);
  font-style: normal;
}
.recognition {
  padding-block: 110px;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 72px;
  align-items: end;
}
.recognition-copy {
  font-size: clamp(30px, 3.3vw, 47px);
  line-height: 1.25;
  letter-spacing: -0.035em;
  font-weight: 500;
}
.recognition-copy span {
  color: #8fa994;
}
.recognition > p:last-child {
  font-size: 15px;
  color: var(--muted);
  padding-bottom: 5px;
}
.section-description {
  font-size: 16px;
  line-height: 1.8;
  color: var(--muted);
  max-width: 440px;
  margin-top: 24px;
}
.fine-print {
  font-size: 11px;
  line-height: 1.8;
  color: var(--muted);
  max-width: 380px;
}
.recipe-browser-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  background: #e6e9e1;
  border-bottom: 1px solid #14251d12;
}
.browser-controls {
  display: flex;
  gap: 3px;
}
.browser-controls i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #6b7c6860;
}
.recipe-address {
  flex: 1;
  border-radius: 4px;
  padding: 3px 5px;
  text-align: center;
  background: #ffffffa8;
  font-size: 8px;
  font-weight: 600;
  white-space: nowrap;
  color: #41543e;
}
.recipe-page-capture {
  display: block;
  width: 100%;
  height: auto;
}
.source-caption {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
}
.screen-note {
  position: absolute;
  bottom: 16px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 9px;
  color: var(--muted);
}
.cook-section {
  padding-block: 120px;
}
.cook-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}
.cook-visual {
  height: 640px;
  position: relative;
  background: #abc3a3;
  overflow: hidden;
  border-radius: var(--radius);
  color: #2b4633;
}
.cook-phone {
  position: absolute;
  right: 40px;
  top: 45px;
  width: 245px;
  transform: rotate(8deg);
  box-shadow: 12px 24px 45px #24443150;
}
.timer-label {
  position: absolute;
  z-index: 5;
  left: 30px;
  bottom: 30px;
  display: flex;
  gap: 12px;
  align-items: center;
  background: #183a28;
  color: #eef5e9;
  padding: 17px 20px;
  border-radius: 15px;
  box-shadow: 4px 12px 32px #24443140;
}
.timer-label svg {
  fill: none;
  stroke: var(--sage);
  stroke-width: 1.6;
  width: 32px;
  height: 32px;
}
.timer-label strong {
  font-size: 12px;
  display: block;
}
.timer-label span {
  font-size: 10px;
  display: block;
  color: #bfd3b9;
}
.cook-copy h2 {
  font-size: clamp(38px, 4.1vw, 60px);
}
.cook-copy .section-description {
  margin-bottom: 32px;
}
.feature-line {
  border-top: 1px solid var(--rule);
  padding-block: 18px;
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  align-items: start;
}
.feature-line > span {
  font-size: 12px;
  font-weight: 700;
  padding-top: 2px;
}
.feature-line p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.cook-copy .text-link {
  margin-top: 24px;
}
.review-strip {
  border-top: 1px solid var(--rule);
  padding-top: 48px;
  padding-bottom: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 100px;
}
.review-strip > div {
  display: flex;
  gap: 20px;
  align-items: center;
}
.review-strip h3 {
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: -0.025em;
  font-weight: 500;
}
.review-strip p {
  font-size: 14px;
  color: var(--muted);
  max-width: 440px;
}
.plan-section {
  background: #1a2e24;
  overflow: clip;
  padding-block: 100px;
  border-block: 1px solid #ffffff0c;
}
.plan-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.plan-copy h2 {
  font-size: clamp(40px, 4.5vw, 65px);
}
.plan-copy h2 span {
  display: inline-block;
  text-wrap: balance;
}
.plan-switch {
  display: inline-flex;
  background: #10231a;
  border: 1px solid var(--rule);
  padding: 5px;
  border-radius: 999px;
  margin-block: 28px 24px;
}
.plan-switch button {
  background: transparent;
  border: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  min-height: 44px;
  padding: 10px 22px;
  border-radius: 999px;
  transition:
    background 0.2s,
    color 0.2s;
}
.plan-switch button.is-active {
  background: var(--sage);
  color: var(--forest);
}
.preview-description {
  min-height: 114px;
  max-width: 370px;
}
.preview-description h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}
.preview-description p {
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted);
}
.plan-copy > .fine-print {
  margin-top: 24px;
}
.plan-visual {
  position: relative;
  height: 625px;
  isolation: isolate;
}
.plan-phone {
  position: absolute;
  width: 250px;
  top: 12px;
  right: 75px;
  z-index: 3;
  transform: rotate(5deg);
}
.ownership {
  padding-block: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}
.ownership h2 {
  font-size: 46px;
}
.ownership > div > p:first-child {
  max-width: 440px;
  font-size: 15px;
  color: var(--muted);
}
.ownership .fine-print {
  margin-top: 20px;
}
.faq-section {
  padding-block: 30px 110px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 70px;
}
.faq-heading h2 {
  font-size: 42px;
}
.faq-list {
  border-top: 1px solid var(--rule);
}
details {
  border-bottom: 1px solid var(--rule);
}
summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 72px;
  padding-block: 18px;
  font-size: 14px;
  font-weight: 500;
}
summary::-webkit-details-marker {
  display: none;
}
summary > span {
  font-size: 23px;
  color: var(--sage);
  font-weight: 400;
  transition: transform 0.2s;
}
details[open] summary > span {
  transform: rotate(45deg);
}
details > p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.9;
  max-width: 580px;
  padding-bottom: 24px;
}
.beta-section {
  background: #203d2c;
  overflow: clip;
}
.beta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  padding-block: 82px 72px;
}
.beta-copy h2 {
  font-size: clamp(55px, 6.4vw, 92px);
}
.beta-copy > p:not(.eyebrow):not(.beta-note) {
  font-size: 17px;
  line-height: 1.8;
  color: #d2dfcd;
  margin-top: 24px;
}
.beta-copy > .button {
  margin-top: 32px;
}
.beta-note {
  font-size: 10px;
  color: #becfba;
  max-width: 330px;
  margin-top: 16px;
}
.email-fallback {
  font-size: 10px;
  text-decoration: underline;
  color: #d2dfcd;
  display: inline-block;
  padding: 8px 0;
}
.beta-form { margin-top: 28px; max-width: 410px; position: relative; }
.beta-form > label { display: block; color: #e3ebdc; font-size: 13px; margin-bottom: 9px; }
.beta-form input[type="email"] {
  display: block; width: 100%; min-height: 54px; padding: 14px 17px;
  border: 1px solid #d5dfcd; border-radius: 9px; background: #faf8ef;
  color: #203d2c; font: inherit; font-size: 16px;
}
.beta-form input::placeholder { color: #67715e; }
.beta-form input:focus-visible { outline: 3px solid #bedc9a; outline-offset: 4px; }
.beta-form .button { margin-top: 13px; cursor: pointer; }
.beta-form .button:disabled { cursor: wait; opacity: 0.75; }
.beta-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.beta-status { color: #e3ebdc; font-size: 14px; line-height: 1.6; margin-top: 16px; }
.beta-status:empty { display: none; }
.beta-status:focus-visible { outline: 2px solid #bedc9a; outline-offset: 5px; }
.beta-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
footer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding-block: 30px;
  border-top: 1px solid #ffffff25;
}
footer .wordmark {
  font-size: 24px;
}
footer .brand-mark {
  width: 31px;
  height: 31px;
}
footer > p {
  font-size: 10px;
  color: #bfd0ba;
}
footer nav {
  display: flex;
  gap: 26px;
  font-size: 11px;
}
footer nav a:hover {
  color: var(--sage);
}
footer small {
  grid-column: 1/-1;
  font-size: 9px;
  color: #bfd0ba;
}
.no-motion [data-sc-in],
.no-motion [data-sc-stagger] > * {
  opacity: 1;
  transform: none;
}
.no-motion [data-sc-reveal] {
  clip-path: none !important;
}
body:not(.has-motion) [data-sc-in] {
  opacity: 1;
  transform: none;
}
body:not(.has-motion) [data-sc-reveal] {
  clip-path: none !important;
}
.no-motion .hero-phone-motion {
  transform: rotate(-5deg);
}
.no-motion .source-reel {
  transform: rotate(-14deg);
}
.no-motion .source-note {
  transform: rotate(12deg);
}
@media (min-width: 1600px) {
  .hero-inner {
    min-height: 900px;
  }
  .hero-scene {
    height: 700px;
  }
  .hero-phone {
    width: 285px;
  }
  .hero h1 {
    font-size: 96px;
  }
}
@media (max-width: 1100px) {
  .wrap {
    width: calc(100% - 72px);
  }
  .site-header {
    padding: 25px 36px;
  }
  .site-header nav {
    gap: 22px;
  }
  .hero-inner {
    min-height: 760px;
    grid-template-columns: 1fr 1fr;
  }
  .hero h1 {
    font-size: clamp(55px, 6.3vw, 70px);
  }
  .hero-scene {
    height: 580px;
  }
  .hero-phone {
    width: 235px;
  }
  .hero-phone-motion {
    left: 19%;
    top: 35px;
  }
  .source-note {
    width: 135px;
    right: -20px;
  }
  .source-reel {
    width: 136px;
    left: -12px;
  }
  .source-reel img {
    height: 190px;
  }
  .cook-layout,
  .review-strip,
  .plan-layout,
  .ownership {
    gap: 60px;
  }
  .cook-phone {
    width: 220px;
    right: 18px;
    top: 70px;
  }
  .cook-visual {
    height: 590px;
  }
  .feature-line {
    grid-template-columns: 110px 1fr;
    gap: 12px;
  }
  .plan-phone {
    right: 20px;
    width: 240px;
  }
  .hero-actions {
    gap: 18px;
  }
  .button {
    gap: 22px;
  }
}
@media (max-width: 800px) {
  .wrap {
    width: calc(100% - 48px);
  }
  .site-header {
    padding: 22px 24px;
  }
  .site-header nav {
    display: none;
  }
  .wordmark {
    font-size: 28px;
  }
  .hero-inner {
    grid-template-columns: 1fr;
    padding-top: 138px;
    padding-bottom: 24px;
    gap: 36px;
    min-height: auto;
  }
  .hero-copy {
    max-width: 580px;
  }
  .hero h1 {
    font-size: clamp(60px, 9vw, 76px);
    margin-bottom: 24px;
  }
  .hero-description {
    font-size: 21px;
  }
  .hero-body {
    max-width: 370px;
  }
  .hero-scene {
    margin: 0 auto;
    width: 480px;
    max-width: 100%;
    height: 560px;
  }
  .hero-phone-motion {
    top: 0;
    left: 28%;
  }
  .hero-phone {
    width: 240px;
  }
  .source-reel {
    left: 14px;
    top: 55px;
  }
  .source-note {
    right: 0;
    top: 10px;
    width: 144px;
  }
  .scene-caption {
    bottom: 0;
    left: 15px;
  }
  .source-strip {
    flex-direction: column;
    gap: 16px;
    padding-block: 24px;
    font-size: 10px;
  }
  .source-strip > div {
    justify-content: space-between;
    gap: 8px;
  }
  .source-strip > span {
    font-size: 8px;
  }
  .recognition {
    padding-block: 70px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .recognition-copy {
    font-size: 36px;
  }
  .recognition > p:last-child {
    font-size: 14px;
  }
  .screen-note {
    bottom: 10px;
    font-size: 8px;
  }
  .cook-section {
    padding-block: 72px;
  }
  .cook-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .cook-visual {
    height: 590px;
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
  }
  .cook-phone {
    right: 64px;
    top: 38px;
    width: 236px;
  }
  .cook-copy h2 {
    font-size: 46px;
  }
  .feature-line {
    grid-template-columns: 130px 1fr;
    gap: 20px;
  }
  .cook-copy .section-description {
    max-width: 550px;
  }
  .review-strip {
    grid-template-columns: 1fr;
    padding-bottom: 70px;
    gap: 22px;
  }
  .review-strip p {
    max-width: 550px;
  }
  .plan-section {
    padding-block: 64px;
  }
  .plan-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .plan-copy {
    max-width: 550px;
  }
  .plan-copy h2 {
    font-size: 48px;
  }
  .plan-visual {
    width: 450px;
    max-width: 100%;
    height: 600px;
    margin: auto;
  }
  .plan-phone {
    right: 65px;
    width: 238px;
  }
  .ownership {
    padding-block: 72px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ownership h2 {
    font-size: 40px;
  }
  .ownership > div > p:first-child {
    max-width: 550px;
    font-size: 14px;
  }
  .faq-section {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 72px;
  }
  .faq-heading h2 {
    font-size: 36px;
  }
  .beta-inner {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-block: 64px 40px;
  }
  .beta-copy h2 {
    font-size: 65px;
  }
  footer {
    grid-template-columns: 1fr auto;
    gap: 20px;
  }
  footer > p {
    grid-column: 1;
    grid-row: 2;
  }
  footer nav {
    gap: 20px;
  }
  footer small {
    grid-column: 1/-1;
  }
}
@media (max-width: 480px) {
  .hero-inner {
    padding-top: 120px;
    gap: 32px;
  }
  .hero h1 {
    font-size: clamp(42px, 11.5vw, 56px);
    letter-spacing: -0.05em;
  }
  .hero-description {
    font-size: 20px;
  }
  .hero-body {
    font-size: 13px;
    max-width: 300px;
    margin-top: 16px;
  }
  .hero-actions {
    margin-top: 24px;
  }
  .hero-actions .button {
    min-height: 50px;
    padding: 12px 20px;
    font-size: 12px;
  }
  .text-link {
    font-size: 12px;
  }
  .availability {
    font-size: 10px;
    margin-top: 15px;
  }
  .hero-scene {
    height: 445px;
    width: 345px;
  }
  .hero-phone-motion {
    left: 27%;
    top: 0;
  }
  .hero-phone {
    width: 190px;
    padding: 5px;
    border-radius: 34px;
  }
  .hero-phone img {
    border-radius: 27px;
  }
  .hero-phone .phone-island {
    height: 12px;
    top: 12px;
  }
  .source-reel {
    width: 107px;
    left: 0;
    top: 42px;
  }
  .source-reel img {
    height: 152px;
  }
  .source-reel > span {
    font-size: 8px;
    padding: 8px;
  }
  .source-note {
    width: 112px;
    padding: 16px 12px;
    top: 0;
    right: 0;
  }
  .note-label {
    font-size: 6px;
  }
  .source-note strong {
    font-size: 20px;
    margin: 9px 0;
  }
  .source-note > span:last-of-type {
    font-size: 8px;
  }
  .source-note > svg {
    width: 25px;
    height: 25px;
    margin-top: 7px;
  }
  .scene-ring {
    inset: 30px -15px 38px;
  }
  .scene-caption {
    font-size: 8px;
    bottom: 6px;
    left: 0;
    gap: 6px;
  }
  .caption-line {
    width: 16px;
  }
  .source-strip > div {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 15px;
    font-size: 9px;
  }
  .recognition-copy {
    font-size: 29px;
  }
  .recognition {
    padding-block: 58px;
  }
  .recipe-browser-bar {
    padding: 6px;
    gap: 5px;
  }
  .recipe-address {
    font-size: 6px;
    padding: 3px;
  }
  .browser-controls {
    gap: 2px;
  }
  .browser-controls i {
    width: 3px;
    height: 3px;
  }
  .screen-note {
    bottom: 5px;
    font-size: 7px;
  }
  .cook-visual {
    height: 480px;
  }
  .cook-phone {
    width: 200px;
    right: 20px;
    top: 29px;
    padding: 5px;
    border-radius: 34px;
  }
  .cook-phone img {
    border-radius: 27px;
  }
  .cook-phone .phone-island {
    height: 12px;
    top: 11px;
  }
  .timer-label {
    left: 16px;
    bottom: 22px;
    padding: 12px 16px;
    gap: 10px;
  }
  .timer-label strong {
    font-size: 10px;
  }
  .timer-label span {
    font-size: 9px;
  }
  .timer-label svg {
    width: 25px;
    height: 25px;
  }
  .cook-copy h2 {
    font-size: 37px;
  }
  .section-description {
    font-size: 14px;
    margin-top: 20px;
  }
  .feature-line {
    grid-template-columns: 105px 1fr;
    gap: 15px;
  }
  .feature-line > span,
  .feature-line p {
    font-size: 11px;
  }
  .review-strip {
    padding-top: 30px;
    padding-bottom: 56px;
  }
  .review-strip h3 {
    font-size: 22px;
  }
  .review-strip > div {
    gap: 14px;
  }
  .review-strip p {
    font-size: 12px;
  }
  .plan-copy h2 {
    font-size: 39px;
  }
  .preview-description {
    min-height: 125px;
  }
  .plan-visual {
    height: 515px;
    width: min(340px, 100%);
  }
  .plan-phone {
    width: 210px;
    right: 32px;
  }
  .ownership h2 {
    font-size: 36px;
  }
  .ownership > div > p:first-child {
    font-size: 13px;
  }
  .ownership .fine-print {
    font-size: 10px;
  }
  .faq-section {
    gap: 24px;
  }
  .faq-heading h2 {
    font-size: 34px;
  }
  summary {
    font-size: 12px;
    min-height: 68px;
  }
  details > p {
    font-size: 12px;
  }
  .beta-copy h2 {
    font-size: 55px;
  }
  .beta-copy > p:not(.eyebrow):not(.beta-note) {
    font-size: 14px;
  }
  .beta-note {
    font-size: 9px;
  }
  footer nav {
    font-size: 10px;
    gap: 15px;
  }
  footer .wordmark {
    font-size: 23px;
  }
  footer > p {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  .hero-phone-motion {
    transform: rotate(-5deg);
  }
  .source-reel {
    transform: rotate(-14deg);
  }
  .source-note {
    transform: rotate(12deg);
  }
}
body:not(.has-motion) .plan-switch {
  display: none;
}
h1,
h2,
.hero h1 {
  letter-spacing: -0.04em;
}
.source-strip {
  font-size: 12px;
}
.source-strip > span {
  font-size: 11px;
  letter-spacing: 0.05em;
}
.source-strip > div {
  font-size: 12px;
}
.availability,
.scene-caption,
.screen-note,
footer small {
  font-size: 11px;
}
.fine-print,
.beta-note {
  font-size: 12px;
}
.email-fallback {
  font-size: 13px;
}
.feature-line > span,
.feature-line p {
  font-size: 14px;
}
.feature-line {
  grid-template-columns: 145px 1fr;
  padding-block: 22px;
}
.preview-description p,
details > p {
  font-size: 14px;
}
.preview-description {
  min-height: 135px;
}
summary {
  font-size: 15px;
}
footer nav {
  font-size: 13px;
}
footer > p {
  font-size: 12px;
}
.scene-ring {
  background: none;
}
.phone {
  box-shadow:
    inset 0 0 0 2px #131b16,
    12px 28px 54px #06110d90;
}
.cook-phone {
  box-shadow: 12px 24px 38px #24443140;
}
@media (max-width: 1100px) {
  .feature-line {
    grid-template-columns: 115px 1fr;
    gap: 16px;
  }
  .feature-line > span,
  .feature-line p {
    font-size: 12px;
  }
}
@media (max-width: 800px) {
  .feature-line {
    grid-template-columns: 125px 1fr;
  }
  .feature-line > span,
  .feature-line p {
    font-size: 14px;
  }
  .ownership .fine-print {
    font-size: 12px;
  }
  .beta-note {
    font-size: 12px;
  }
  .source-strip > div {
    gap: 10px 16px;
  }
  .scene-caption {
    left: 0;
    bottom: 0;
  }
  .preview-description {
    min-height: 125px;
  }
}
@media (max-width: 480px) {
  .feature-line {
    grid-template-columns: 100px 1fr;
    gap: 16px;
  }
  .feature-line > span,
  .feature-line p {
    font-size: 13px;
  }
  .review-strip p,
  .ownership > div > p:first-child {
    font-size: 14px;
  }
  .plan-switch button {
    font-size: 13px;
  }
  .preview-description p {
    font-size: 14px;
  }
  .preview-description {
    min-height: 140px;
  }
  summary {
    font-size: 14px;
  }
  .source-strip > div {
    font-size: 11px;
  }
  .scene-caption {
    bottom: 0;
    font-size: 11px;
  }
  .caption-line {
    width: 12px;
  }
  .screen-note {
    font-size: 11px;
    position: static;
    padding: 0 24px 16px;
  }
  .hero-scene {
    height: 460px;
  }
  footer nav {
    font-size: 12px;
    gap: 16px;
  }
  footer > p {
    font-size: 11px;
  }
}
@media (max-width: 380px) {
  .cook-copy h2 {
    font-size: 33px;
  }
  .hero h1 {
    font-size: 40px;
  }
  .plan-copy h2 {
    font-size: 37px;
  }
}

/* The complete recipe journey: one persistent phone, five concrete actions. */
.hero-body {max-width: 390px; font-size: 16px;}
.availability {font-size: 12px;}
.hero-actions {gap: 20px;}
.source-note {padding: 0; width: 180px; color: var(--ink); background: #20372b;}
.source-note img {height: 155px; width: 100%; object-fit: cover; object-position: 68% 55%;}
.source-note > span {display:block; padding: 10px 12px; font-size: 10px;}



.walkthrough {background: #1c3026; border-block:1px solid #ffffff10;}
.walk-layout {display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:60px; min-height:790px; padding-block:54px;}
.walk-copy h2 {font-size:clamp(38px,3.6vw,54px);}
.walk-copy .section-description {margin-top:20px; font-size:15px; max-width:400px;}
.walk-steps {padding:0; margin:26px 0 18px; list-style:none;}
.walk-steps li {border-top:1px solid #ffffff16;}
.walk-steps li:last-child {border-bottom:1px solid #ffffff16;}
.walk-steps button {display:flex; align-items:flex-start; gap:16px; width:100%; padding:13px 0; background:none; border:0; text-align:left; color: var(--muted); min-height:66px;}
.walk-steps button > span:last-child {display:block;}
.walk-steps strong {display:block; font-size:14px; font-weight:600; line-height:1.5;}
.walk-steps button > span > span {display:block; font-size:12px; line-height:1.65; margin-top:3px; max-width:375px;}
.step-icon {display:flex; justify-content:center; align-items:center; width:30px; height:30px; flex-shrink:0; border:1px solid #8fa99455; border-radius:50%; font-size:17px; color:var(--sage); transition:background .25s,color .25s;}
.walk-steps button[aria-pressed=true] {color:var(--ink);}
.walk-steps button[aria-pressed=true] .step-icon {background:var(--sage); color:var(--forest); border-color:var(--sage);}
.walk-support {max-width:410px;}
.walk-visual {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; isolation:isolate; padding:20px 0 0;}
.walk-orbit {position:absolute; inset:12% -4% 16%; border:1px solid #b5d4a823; border-radius:50%; z-index:-1; transform:rotate(-20deg); background:radial-gradient(ellipse,#36583b55,transparent 70%);}
.walk-phone {width:min(284px,34vh); transform:rotate(calc((1 - var(--walk-p,0)) * 3deg)); transition:transform .4s var(--ease);}
.walk-display {position:relative; width:100%; aspect-ratio:402 / 874; border:3px solid #101612; border-radius:35px; overflow:hidden; background:#f9f6ec;}
.walk-frame {position:absolute; inset:0; overflow:hidden; background:#f9f6ec; animation:walk-arrive .4s var(--ease);}
.walk-frame[hidden] {display:none;}
.walk-frame > img {width:100%; height:100%; aspect-ratio:unset; object-fit:cover; border:0; border-radius:0;}
.reel-frame > img {height:100%; object-fit:cover;}
.reel-credit {position:absolute; inset:auto 0 0; color:#fff; padding:70px 18px 26px; background:linear-gradient(transparent,#101812f2 45%);}
.reel-credit > span:first-child {display:block; font-size:11px;}
.reel-credit strong {display:block; font-size:18px; line-height:1.4; margin-top:8px; max-width:185px;}
.reel-share {display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff35; padding-top:12px; margin-top:20px; font-size:12px;}
.reel-share > span {font-size:20px;}
.share-frame > img {filter:brightness(.6);}
.share-illustration {position:absolute; bottom:0; width:100%; background:#f3f3ec; color:#182d20; border-radius:24px 24px 0 0; padding:12px 16px 22px;}
.sheet-handle {width:32px; height:4px; border-radius:3px; margin:0 auto 18px; background:#9b9f95;}
.shared-link {display:flex; align-items:center; gap:10px; padding-bottom:16px; border-bottom:1px solid #14251d1a;}
.shared-link img {width:42px; height:48px; border:0; border-radius:8px; object-fit:cover;}
.shared-link strong {display:block; font-size:11px; line-height:1.4;}
.shared-link span {display:block; font-size:10px; color:#67715f; margin-top:4px;}
.share-target {margin-top:18px; display:flex; align-items:center; gap:12px; background:#fff; padding:12px; border-radius:13px; box-shadow:0 2px 12px #1223190a;}
.share-target img {width:38px; height:38px; border:0; border-radius:9px; aspect-ratio:1;}
.share-target strong {font-size:12px; flex:1;}
.share-target svg {width:16px; height:16px;}
.share-illustration p {font-size:11px; line-height:1.6; margin-top:16px;}
.illustration-label {display:block; color:#64715c; margin-top:20px; font-size:9px;}
.walk-visual figcaption {margin-top:22px; display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; font-size:11px; color:var(--muted); max-width:350px;}
.walk-visual figcaption a {font-size:11px; text-decoration:underline; padding:4px;}
.walk-controls {display:flex; align-items:center; gap:18px; margin-top:12px;}
.walk-controls button {display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid #80938570; background:transparent; color:var(--ink); font-size:19px;}
.walk-controls button:hover {border-color:var(--sage); background:#b5d4a81a;}
.walk-controls button:disabled {opacity:.35; cursor:default;}
.walk-controls span {font-size:12px; min-width:95px; text-align:center;}
@keyframes walk-arrive {from {opacity:.3;transform:translateY(9px);} to {opacity:1;transform:none;}}
.source-gallery {padding-block:100px;}
.source-intro {display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:end; margin-bottom:42px;}
.source-intro h2 {font-size:clamp(34px,3.2vw,46px);}
.source-intro p {max-width:400px; font-size:14px; color:var(--muted);}
.source-photos {display:grid; grid-template-columns:1fr 1.15fr .85fr; gap:28px; align-items:start;}
.source-photo-link {display:block; border-radius:15px; text-decoration:none;}
.source-photo-link:focus-visible {outline:2px solid var(--sage); outline-offset:6px;}
.source-photos .source-social .source-image {height:350px; position:relative; background:#201d17;}
.source-social .source-image > img {object-position:50% 66%; transition:transform .5s var(--ease);}
.source-photo-link:hover .source-image > img {transform:scale(1.025);}
.source-format {position:absolute; top:16px; left:16px; display:flex; align-items:center; gap:6px; padding:7px 10px; border-radius:20px; color:#fff; background:#14251dd9; font-size:10px;}
.source-format svg {width:12px; height:12px; fill:currentColor;}
.source-article {margin-top:35px;}
.source-book {margin-top:80px;}
.source-image {height:265px; overflow:hidden; border-radius:15px; background:#d6dcca;}
.source-image > img {width:100%; height:100%; object-fit:cover; object-position:65% 65%;}
.source-article .source-image {height:315px; background:#f5f1e7; color:#243528;}
.source-web > img {height:190px; object-position:50% 50%;}
.source-web .recipe-browser-bar {height:39px;}
.source-web .recipe-address {font-size:10px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.source-recipe-title {padding:15px 18px;}
.source-recipe-title > span {display:block; font-size:9px; color:#5a6a59; margin-bottom:3px;}
.source-recipe-title > strong {display:block; font-size:19px; font-weight:500; line-height:1.3; letter-spacing:-.6px;}
.source-photos figcaption {display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-top:18px;}
.source-photos figcaption {flex-direction:column; gap:5px;}
.source-photos figcaption a {font-size:11px; color:var(--muted); text-decoration:none; padding-block:5px;}
.source-photos figcaption a:hover {color:var(--ink); text-decoration:underline; text-underline-offset:4px;}
.source-photos figcaption strong {font-size:16px; font-weight:500;}
.source-photos figcaption span,.source-disclosure {font-size:11px; color:var(--muted);}
.source-disclosure {margin-top:22px;}
.cook-visual {overflow:visible; background:none;}
.cooking-photo {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:22% 50%; border-radius:22px;}
.cook-phone {width:245px; transform:rotate(6deg);}
.timer-label {background:#f6f4e7; border:1px solid #ffffff75; color:#20372b; border-radius:13px; padding:14px 19px; box-shadow:0 14px 30px #10231a50;}
.timer-label strong {color:#20372b;}
.timer-label span {color:#5c715a;}
.meal-photo {position:absolute; width:215px; overflow:hidden; border:5px solid #f0eddf; border-radius:12px; background:#f0eddf; box-shadow:6px 18px 35px #0b1c1360;}
.meal-photo img {width:100%; height:165px; object-fit:cover;}
.meal-photo figcaption {padding:8px 7px 4px; font-size:11px; color:#334a31; font-weight:600;}
.meal-chicken {top:75px; left:-15px; transform:rotate(-9deg); z-index:2;}
.meal-salad {bottom:12px; left:25px; transform:rotate(7deg); z-index:4;}
.plan-phone {right:30px; transform:rotate(3deg);}
.team-note {border-top:1px solid #ffffff38; padding:34px 0 20px; max-width:430px;}
.team-note .brand-mark {width:32px; height:32px; margin-bottom:28px;}
.team-note h3 {font-size:29px; line-height:1.3; font-weight:500; letter-spacing:-.025em; max-width:330px;}
.team-note p {font-size:14px; color:#d2dfcd; line-height:1.9; margin-top:22px;}
.team-note > span {display:block; font-size:12px; margin-top:24px; color:var(--sage);}
.team-note > a {display:inline-block; text-decoration:underline; font-size:12px; padding:12px 0;}
.no-js-screens {display:grid; grid-template-columns:repeat(3,1fr); gap:25px; padding:30px 0 60px;}
.no-js-screens img {border-radius:15px;}
.no-js-screens figcaption {font-size:12px; margin-top:10px;}
@media(min-width:801px) and (min-height:720px) {
 .has-motion .walkthrough[data-sc-act=pin] .walk-layout {min-height:0; height:100svh; padding-block:35px;}
 .has-motion .walkthrough[data-sc-act=pin] .walk-phone {width:min(284px,33vh);}
 .has-motion .walkthrough[data-sc-act=pin] .walk-copy h2 {font-size:clamp(36px,3.2vw,49px);}
 .has-motion .walkthrough[data-sc-act=pin] .walk-steps {margin-top:20px;}
}
@media(max-width:1100px) {
 .walk-layout {gap:35px;}
 .walk-copy h2 {font-size:40px;}

 .source-note {width:150px;}
 .source-note img {height:130px;}
 .plan-phone {right:0;}
 .meal-chicken {left:-24px; width:190px;}
 .meal-salad {left:0; width:190px;}
 .source-photos figcaption {flex-direction:column; gap:4px;}
}
@media(max-width:800px) {

 .source-note {width:136px;}
 .source-note img {height:115px;}
 .walk-layout {grid-template-columns:1fr; gap:28px; min-height:0; padding-block:62px;}
 .walk-copy h2 {font-size:40px;}
 .walk-copy .section-description {max-width:430px;}
 .walk-steps {display:flex; gap:6px; margin-bottom:14px;}
 .walk-steps li,.walk-steps li:last-child {border:0; flex:1; min-width:0;}
 .walk-steps button {flex-direction:column; align-items:center; text-align:center; gap:8px; padding:10px 2px; border-radius:12px; border:1px solid #80938540; min-height:87px;}
 .walk-steps strong {font-size:10px; line-height:1.5;}
 .walk-steps button > span > span {display:none;}
 .walk-steps button[aria-pressed=true] {border-color:var(--sage); background:#b5d4a80d;}
 .step-icon {width:27px; height:27px;}
 .walk-phone {width:258px;}
 .walk-visual {padding-top:0;}
 .walk-visual figcaption {margin-top:20px;}
 .walk-mobile-copy {display:block; font-size:13px; color:#d2dfcd; line-height:1.8; margin-top:0; min-height:47px;}
 .walk-support {margin-top:16px;}
 .source-gallery {padding-block:65px;}
 .source-intro {grid-template-columns:1fr; gap:22px; margin-bottom:28px;}
 .source-intro h2 {font-size:36px;}
 .source-photos {gap:18px;}
 .source-image {height:190px;}
 .source-photos figcaption strong {font-size:13px;}
 .source-web .recipe-address {font-size:8px;}
 .source-web .recipe-browser-bar {padding-inline:7px; gap:5px;}
 .cook-phone {width:225px;}
 .meal-chicken {left:0; top:60px;}
 .meal-salad {left:15px;}
 .plan-phone {right:25px;}
 .team-note {max-width:none; margin-top:18px;}
 .beta-inner {gap:35px;}
 .no-js-screens {grid-template-columns:1fr; max-width:300px;}
}
@media(min-width:801px) {.walk-mobile-copy {display:none;}}
@media(max-width:480px) {
 .site-header .button-small {font-size:11px; padding-inline:14px; gap:8px;}
 .hero-actions {gap:16px;}
 .hero-actions .button {padding-inline:19px; gap:14px;}

 .source-note {width:123px;}
 .source-note img {height:103px;}
 .walk-copy h2 {font-size:34px;}
 .walk-steps strong {font-size:9px;}
 .source-photos {grid-template-columns:1fr; gap:29px;}
 .source-image {height:230px;}
 .source-photos figcaption {flex-direction:row;}
 .source-photos figcaption span {font-size:10px;}
 .cook-phone {width:210px;}
 .meal-chicken,.meal-salad {width:165px;}
 .meal-photo img {height:135px;}
 .meal-photo figcaption {font-size:9px;}
 .meal-chicken {left:-8px; top:55px;}
 .meal-salad {left:0; bottom:8px;}
 .plan-phone {right:12px;}
 .team-note h3 {font-size:27px;}
}
@media(prefers-reduced-motion:reduce) {
 .walk-frame {animation:none;}
 .walk-phone {transform:none;}
 .step-icon {transition:none;}
}
.plan-section > .screen-note {position:static; inset:auto; text-align:center; padding:28px 24px 0; width:auto; font-size:11px; transform:none;}
.timer-label svg {stroke:#486b44;}
@media(max-width:800px) {.walk-steps button {min-height:90px;} .walk-steps strong {font-size:10px;}}
.walk-play {font-size:11px; font-weight:600; color:var(--sage); background:none; border:0; border-bottom:1px solid #b5d4a855; padding:8px 2px; min-height:44px; margin-top:8px;}
.walk-controls {margin-top:4px;}
.walk-visual figcaption {margin-top:17px;}
@media(min-width:801px) and (min-height:720px) {.has-motion .walkthrough[data-sc-act=pin] .walk-phone {width:min(284px,31vh);} .has-motion .walkthrough[data-sc-act=pin] .walk-visual {padding-top:0;} }
@media(prefers-reduced-motion:reduce) {.walk-play {display:none;}}
.step-short {display:none;}
@media(max-width:800px) {.step-short {display:block; font-size:12px; font-weight:600;} .walk-steps button > span:last-of-type {display:none;} .walk-steps button {min-height:79px; gap:7px;} .walk-mobile-copy {min-height:70px;}}
.walkthrough {overflow:clip;}
@media(max-width:800px) {
 .walk-layout {gap:20px;}
 .walk-copy {display:contents;}
 .walk-copy h2 {order:0;}
 .walk-copy > .section-description {order:1; margin-top:0;}
 .walk-visual {order:2; margin-top:8px;}
 .walk-steps {order:3; margin:0;}
 .walk-mobile-copy {order:4;}
 .walk-support {order:5; margin:0;}
 .walk-phone {width:244px;}
}
footer small {display:flex; align-items:center; justify-content:space-between; gap:20px;}
.motion-toggle {background:transparent; color:#d2dfcd; font-size:11px; padding:10px 0; min-height:44px; border:0; text-decoration:underline; text-underline-offset:4px;}
.motion-toggle[hidden] {display:none;}
html.reduce-motion {scroll-behavior:auto;}
.no-motion *, .no-motion *::before, .no-motion *::after {animation:none!important; transition:none!important;}
.no-motion .walk-phone {transform:none;}
.no-motion .walk-play {display:none;}
.no-motion .button:hover {transform:none;}
body:not(.has-motion) .walk-controls, body:not(.has-motion) .walk-play, body:not(.has-motion) .walk-steps {display:none;}
.no-script-steps {padding-top:32px; max-width:850px; color:var(--muted); font-size:14px;}
.no-script-steps li {margin-bottom:12px;}
@media(max-width:380px) {
 .site-header {gap:12px;}
 .site-header .button-small {white-space:nowrap; font-size:10px; padding-inline:12px; min-height:44px;}
 .site-header .button-small svg {display:none;}
 .hero-actions {flex-wrap:wrap; gap:8px 20px;}
}
@media(max-width:800px) {
 .hero-inner {grid-template-columns:minmax(0,1fr);}
 .hero-copy {min-width:0;}
}
@media(max-width:480px) {
 .hero-scene {width:min(345px,100%);}
}

/* Narrow screens use the same scroll-led story, with the introduction outside
   the sticky scene so the whole phone and current action remain visible. */
.walk-intro[hidden], .walk-outro[hidden] {display:none;}
@media(max-width:800px) {
 .compact-scroll .walk-intro {padding-block:64px 24px;}
 .compact-scroll .walk-intro h2 {font-size:clamp(32px,7.8vw,44px);}
 .compact-scroll .walk-intro .section-description {margin-top:20px; font-size:14px; max-width:430px;}
 .compact-scroll .walk-outro {padding-block:22px 40px;}
 .compact-scroll .walk-layout {height:100svh; min-height:0; padding-block:18px; grid-template-rows:auto minmax(0,1fr) auto; gap:12px;}
 .compact-scroll .walk-steps {order:0; margin:0;}
 .compact-scroll .walk-steps button {min-height:44px; padding:8px 2px; border-radius:8px;}
 .compact-scroll .walk-steps .step-icon {display:none;}
 .compact-scroll .walk-visual {order:1; margin:0; padding:0; align-self:center;}
 .compact-scroll .walk-phone {width:min(238px,calc((100svh - 290px) / 2.18));}
 .compact-scroll .walk-mobile-copy {order:2; margin:0; min-height:64px; font-size:13px; line-height:1.65;}
 .compact-scroll .walk-visual figcaption {margin-top:13px; font-size:10px; gap:2px;}
 .compact-scroll .walk-visual figcaption a {font-size:10px;}
 .compact-scroll .walk-play {display:none;}
 .compact-scroll .walk-controls {margin-top:2px;}
 .compact-scroll .walk-orbit {inset:8% -2% 18%;}
}

/* One continuous handoff, scrubbed by scroll rather than timed screen swaps. */
.journey-cover,.journey-touch,.walk-kitchen {display:none;}
.cinematic-walk .walk-frame {animation:none; will-change:transform,opacity; pointer-events:none;}
.cinematic-walk .walk-frame[data-frame="0"] {z-index:1; transform-origin:50% 0;}
.cinematic-walk .walk-frame[data-frame="1"] {z-index:2; background:transparent;}
.cinematic-walk .share-frame > img {display:none;}
.cinematic-walk .walk-frame[data-frame="2"] {z-index:3; transform-origin:50% 0;}
.cinematic-walk .walk-frame[data-frame="3"] {z-index:4; transform-origin:50% 0;}
.cinematic-walk .walk-frame[data-frame="4"] {z-index:5;}
.cinematic-walk .share-illustration {will-change:transform; box-shadow:0 -15px 40px #09140c35;}
.cinematic-walk .journey-cover {display:block; position:absolute; z-index:8; overflow:hidden; pointer-events:none; box-shadow:0 8px 25px #0c1b2440; will-change:transform,opacity;}
.cinematic-walk .journey-cover img {width:100%; height:100%; object-fit:cover; border:0; border-radius:0;}
.cinematic-walk .journey-touch {display:block; position:absolute; z-index:9; border:2px solid #759669; border-radius:999px; pointer-events:none; box-shadow:0 0 0 4px #c4dcb742; will-change:transform,opacity;}
.cinematic-walk .journey-touch[data-target="cook"] {border-color:#d9eccb; box-shadow:0 0 0 3px #d9eccb26;}
.cinematic-walk .walk-phone {transform:translateY(var(--phone-lift,0px)) rotate(var(--phone-lean,3deg)); transition:none;}
.cinematic-walk .walk-kitchen {display:block; position:absolute; inset:0 -2% auto; width:104%; height:88%; object-fit:cover; object-position:25% 50%; z-index:-1; border-radius:24px; opacity:calc(var(--kitchen-in,0) * .40); transform:translateY(calc((1 - var(--kitchen-in,0)) * 35px)) scale(calc(.97 + var(--kitchen-in,0) * .03)); pointer-events:none; will-change:transform,opacity;}
.walk-steps button {position:relative; overflow:hidden;}
.walk-steps button::after {content:""; position:absolute; left:0; bottom:0; height:2px; width:var(--step-progress,0%); background:var(--sage); opacity:.6; pointer-events:none;}
.no-motion .journey-cover,.no-motion .journey-touch,.no-motion .walk-kitchen {display:none;}
.no-motion .walk-frame {opacity:1!important; transform:none!important;}
.no-motion .reel-credit {opacity:1!important;}
@media (max-width: 1000px) and (min-width: 801px) {
 .source-photos {gap:18px;}
 .source-recipe-title > strong {font-size:17px;}
 .source-web .browser-controls {display:none;}
}
@media (max-width: 800px) {
 .source-photos {grid-template-columns:1fr; gap:32px;}
 .source-article, .source-book {margin-top:0;}
 .source-photos .source-social .source-image {height:320px;}
 .source-social .source-image > img {object-position:50% 69%;}
 .source-article .source-image {height:auto;}
 .source-web > img {height:225px;}
 .source-recipe-title {padding:15px 18px 18px;}
 .source-photos figcaption {flex-direction:column; gap:5px;}
 .source-book .source-image {height:265px;}
}
.no-motion .share-illustration {transform:none!important;}
@media(prefers-reduced-motion:reduce) {
 .journey-cover,.journey-touch,.walk-kitchen {display:none!important;}
 .walk-frame {opacity:1!important; transform:none!important;}
 .reel-credit {opacity:1!important;}
 .share-illustration {transform:none!important;}
}

.walk-phone .phone-island {z-index:10;}

.cinematic-walk .walk-kitchen {mask-image:radial-gradient(ellipse at 50% 45%,#000 38%,transparent 76%);}
.no-motion .walk-frame {filter:none!important;}
@media(prefers-reduced-motion:reduce) {.walk-frame {filter:none!important;}}

.no-motion .source-photo-link:hover .source-image > img {transform:none;}
.no-motion .source-social .source-image > img {transition:none;}
@media(prefers-reduced-motion:reduce) {
 .source-photo-link:hover .source-image > img {transform:none;}
 .source-social .source-image > img {transition:none;}
}

/* Real creator previews: a quiet opening, one recipe once scrolling begins. */
.recipe-previews {margin-top:22px; max-width:390px;}
.recipe-previews[hidden] {display:none;}
.recipe-credit {display:inline-block; font-size:12px; line-height:1.7; color:var(--muted); text-decoration:underline; text-decoration-color:#8fa99460; text-underline-offset:4px;}
.preview-controls {display:flex; align-items:center; gap:18px;}
.preview-selectors {display:flex; margin-left:-12px;}
.preview-selectors button {display:grid; place-items:center; width:44px; height:44px; background:transparent; border:0; color:var(--sage); cursor:pointer;}
.preview-selectors button span {width:20px; height:6px; border-radius:999px; background:currentColor; transform:scaleX(.3); opacity:.45; transition:transform .2s,opacity .2s;}
.preview-selectors button[aria-pressed=true] span {transform:scaleX(1); opacity:1;}
.preview-selectors button:hover span {opacity:1;}
.preview-selectors button:disabled {cursor:default;}
.preview-pause {min-height:44px; padding:0; border:0; background:transparent; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:4px;}
.preview-pause:hover {color:var(--ink);}
.preview-pause:disabled {cursor:default; text-decoration:none;}
.preview-hint {font-size:12px; color:var(--muted); margin:0;}
.recipe-previews[data-locked=true] .preview-hint {visibility:hidden;}
.reel-frame > video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
[data-recipe-video] {opacity:0; transition:opacity .25s; pointer-events:none;}
[data-recipe-video].is-playing {opacity:1;}
.hero-phone,.source-reel {transition:opacity .16s ease-out;}
.hero-scene.is-changing .hero-phone,.hero-scene.is-changing .source-reel {opacity:.35;}
@media (max-width:800px) {.recipe-previews {margin:20px auto 0;} .preview-controls {justify-content:center;}}
@media (prefers-reduced-motion:reduce) {.preview-selectors button span,[data-recipe-video],.hero-phone,.source-reel {transition:none;}}
.source-social .source-image > video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

.source-social .source-format {z-index:1;}
@media (max-width:800px) {
 .recipe-previews {margin-top:14px;}
 .preview-hint {display:none;}
}
@media (max-width:360px) {
 .hero-actions {flex-wrap:nowrap; gap:12px;}
 .hero-actions .button {padding-inline:14px; gap:8px; font-size:11px;}
 .hero-actions .button svg {width:16px; height:16px;}
 .hero-actions .text-link {gap:8px; white-space:nowrap;}
 .site-header .button-small {font-size:11px; padding-inline:10px;}
}
@media (max-width:360px) {
 .hero-actions .button {white-space:nowrap;}
 .hero-actions .button svg {display:none;}
}


/* The reel is the foreground source; the phone keeps its recipe image and title clear. */
@media (min-width:801px) {
 .hero-inner {grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); column-gap:52px;}
 .hero h1 {font-size:clamp(56px,5.7vw,84px); letter-spacing:-.04em;}
}
.hero-reel-layout {height:680px; margin-left:0; isolation:isolate;}
.hero-reel-layout .hero-phone-motion {top:20px; left:40%; z-index:3;}
.hero-reel-layout .hero-phone {width:270px;}
.hero-reel-layout .source-reel {top:236px; left:12px; width:222px; margin:0; z-index:6; border:0; border-radius:17px; background:#112018; box-shadow:10px 24px 45px #07160d90; transform:translate3d(calc(var(--pointer-x,0) * -5px),calc(var(--hero-travel,0) * -24px + var(--pointer-y,0) * 4px),0) rotate(-6deg);}
.reel-source-link {display:block; color:#fff; text-decoration:none;}
.hero-reel-media {position:relative; aspect-ratio:9/16; overflow:hidden; background:#112018;}
.hero-reel-media > img,.hero-reel-media > video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-reel-platform {position:absolute; top:0; left:0; right:0; display:flex; align-items:center; gap:7px; padding:13px 12px 32px; font-size:12px; font-weight:600; background:linear-gradient(#07110bc9,transparent);}
.hero-reel-platform svg {width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7;}
.hero-reel-platform .reel-camera-dot {fill:currentColor; stroke:none;}
.hero-reel-tools {position:absolute; right:12px; bottom:90px; display:grid; gap:15px; color:#fff; filter:drop-shadow(1px 2px 3px #0008);}
.hero-reel-tools svg {width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round;}
.hero-reel-credit {position:absolute; inset:auto 0 0; display:grid; gap:4px; padding:30px 12px 14px; background:linear-gradient(transparent,#07110bee 48%); color:#fff; pointer-events:none;}
.hero-reel-credit strong {font-size:12px; font-weight:650; line-height:1.6;}
.hero-reel-credit > span {font-size:11px; line-height:1.5; color:#e2eee3;}
.hero-reel-layout .source-reel:focus-within {outline:2px solid var(--sage); outline-offset:5px;}
.hero-reel-layout .scene-caption {bottom:0; left:0; width:100%; justify-content:center; font-size:12px;}
@media (min-width:801px) and (max-width:1100px) {
 .hero-inner {column-gap:32px;}
 .hero h1 {font-size:clamp(48px,5.7vw,63px);}
 .hero-reel-layout {height:570px;}
 .hero-reel-layout .hero-phone {width:210px;}
 .hero-reel-layout .hero-phone-motion {left:39%; top:24px;}
 .hero-reel-layout .source-reel {width:178px; left:0; top:210px;}
}
@media (max-width:800px) {
 .hero-reel-layout {width:min(480px,100%); height:540px;}
 .hero-reel-layout .hero-phone {width:228px;}
 .hero-reel-layout .hero-phone-motion {left:43%; top:0;}
 .hero-reel-layout .source-reel {width:190px; top:170px; left:8px;}
}
@media (max-width:480px) {
 .hero-reel-layout {width:min(350px,100%); height:460px;}
 .hero-reel-layout .hero-phone {width:190px;}
 .hero-reel-layout .hero-phone-motion {left:43%;}
 .hero-reel-layout .source-reel {width:148px; top:150px; left:0; transform:translate3d(0,calc(var(--hero-travel,0) * -16px),0) rotate(-5deg);}
 .hero-reel-platform {font-size:11px; padding:11px 10px 28px;}
 .hero-reel-platform svg {width:15px; height:15px;}
 .hero-reel-credit {padding-inline:10px; padding-bottom:12px;}
 .hero-reel-credit strong {font-size:11px;}
 .hero-reel-tools {right:10px; bottom:80px; gap:12px;}
 .hero-reel-tools svg {width:19px; height:19px;}
}
@media (max-width:360px) {
 .hero-reel-layout {height:440px;}
 .hero-reel-layout .hero-phone {width:164px;}
 .hero-reel-layout .hero-phone-motion {left:41%;}
 .hero-reel-layout .source-reel {width:126px; top:168px; left:-2px;}
}
.no-motion .hero-reel-layout .source-reel {transform:rotate(-6deg);}
@media (prefers-reduced-motion:reduce) {.hero-reel-layout .source-reel {transform:rotate(-6deg);}}

/* A real dish photo, then Savour's own recipe for review. */
.dish-photo-section {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:80px; align-items:center; padding-block:90px; border-top:1px solid var(--rule);}
.dish-photo-copy {min-width:0;}
.dish-photo-copy h2 {font-size:clamp(40px,4.1vw,60px); letter-spacing:-.03em;}
.dish-photo-copy .section-description {max-width:450px; margin-top:28px;}
.dish-photo-detail {margin-top:30px; max-width:420px;}
.dish-photo-detail h3 {font-size:18px; font-weight:600; line-height:1.45;}
.dish-photo-detail p {font-size:15px; color:var(--muted); margin-top:12px;}
.dish-photo-note {max-width:430px; margin-top:28px;}
.dish-photo-copy .text-link {margin-top:28px;}
.dish-photo-visual {position:relative; min-width:0; height:620px;}
.dish-photo-input {position:absolute; top:115px; left:0; width:54%; background:#f0eddf; border-radius:15px; overflow:hidden; transform:rotate(-7deg); box-shadow:5px 18px 36px #0b1c134d;}
.dish-photo-input img {display:block; width:100%; height:300px; object-fit:cover; object-position:58% 50%;}
.dish-photo-input figcaption {padding:13px 16px 15px; color:#334a31; font-size:13px; line-height:1.5;}
.dish-photo-output {position:absolute; top:10px; right:0; width:250px;}
.dish-photo-phone {width:100%; transform:rotate(3deg);}
.dish-photo-output figcaption {font-size:13px; color:var(--muted); text-align:center; margin-top:26px;}
.dish-photo-path {position:absolute; top:38px; left:23%; width:140px; height:80px; fill:none; stroke:var(--sage); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:.7;}
@media(min-width:801px) and (max-width:1100px) {
 .dish-photo-section {gap:32px;}
 .dish-photo-visual {height:580px;}
 .dish-photo-output {width:220px;}
 .dish-photo-input {width:53%; left:-10px;}
 .dish-photo-input img {height:255px;}
 .dish-photo-path {left:8%;}
}
@media(max-width:800px) {
 .dish-photo-section {grid-template-columns:minmax(0,1fr); gap:40px; padding-block:64px;}
 .dish-photo-copy {max-width:550px;}
 .dish-photo-copy h2 {font-size:clamp(36px,9.8vw,48px);}
 .dish-photo-visual {width:450px; max-width:100%; height:auto; margin:auto;}
 .dish-photo-input {position:relative; left:8px; top:0; width:82%;}
 .dish-photo-input img {height:auto; aspect-ratio:1.5; object-fit:cover;}
 .dish-photo-input figcaption {font-size:12px; padding:12px;}
 .dish-photo-output {position:relative; width:218px; margin:42px 8px 0 auto; top:0; right:0;}
 .dish-photo-output figcaption {margin-top:20px; font-size:12px;}
 .dish-photo-path {display:none;}
}
@media(max-width:360px) {
 .dish-photo-output {width:185px;}
}

/* Native nutrition proof beside the meal it describes. */
.nutrition-section {display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;padding-block:100px 120px;border-top:1px solid var(--rule);}
.nutrition-copy {min-width:0;}
.nutrition-copy h2 {font-size:clamp(40px,4.2vw,62px);}
.nutrition-copy .section-description {max-width:460px;}
.nutrition-benefits {margin:30px 0 0;}
.nutrition-benefits > div {border-top:1px solid var(--rule);padding-block:21px;}
.nutrition-benefits dt {font-size:15px;font-weight:650;margin-bottom:7px;}
.nutrition-benefits dd {margin:0;font-size:14px;line-height:1.8;color:var(--muted);max-width:430px;}
.nutrition-note {font-size:12px;margin-top:12px;max-width:440px;}
.nutrition-copy .text-link {margin-top:30px;}
.nutrition-visual {position:relative;min-width:0;padding-bottom:0;}
.nutrition-meal {position:relative;margin-right:30px;overflow:hidden;border-radius:24px;}
.nutrition-meal > img {width:100%;aspect-ratio:1.24;object-fit:cover;}
.nutrition-meal > span {position:absolute;bottom:0;left:0;right:0;padding:48px 24px 50px;background:linear-gradient(transparent,#08140dd9);font-size:12px;font-weight:600;color:#fff;}
.nutrition-native {position:relative;z-index:1;width:88%;margin:-30px 0 0 auto;overflow:hidden;border-radius:20px;background:#f8f9f5;box-shadow:0 24px 56px #00000030;}
.nutrition-native > img {width:100%;height:auto;}
.nutrition-visual figcaption {margin:24px 0 0;text-align:right;font-size:12px;color:var(--muted);}
@media(max-width:1100px) {.nutrition-section {gap:48px;}.nutrition-meal {margin-right:20px;}.nutrition-native {width:94%;}}
@media(max-width:800px) {.nutrition-section {grid-template-columns:1fr;gap:40px;padding-block:70px 80px;}.nutrition-copy .section-description,.nutrition-benefits dd {max-width:560px;}.nutrition-copy {max-width:600px;}.nutrition-visual {width:min(100%,500px);margin-inline:auto;}.nutrition-copy h2 {font-size:clamp(38px,6vw,52px);}.nutrition-native {width:92%;}.nutrition-visual figcaption {text-align:center;}}
@media(max-width:480px) {.nutrition-section {gap:32px;}.nutrition-benefits dt {font-size:14px;}.nutrition-benefits dd {font-size:13px;}.nutrition-meal {margin-right:14px;border-radius:18px;}.nutrition-meal > span {padding:40px 16px 34px;font-size:11px;}.nutrition-native {border-radius:16px;margin-top:-18px;}.nutrition-visual figcaption {margin-top:18px;}}

.beta-form > .email-optin{display:flex;gap:12px;align-items:flex-start;margin:20px 0 12px;line-height:1.6;cursor:pointer}.email-optin input{width:20px;height:20px;flex:0 0 20px;margin:2px 0;accent-color:#b5d4a8}.email-optin span{font-size:13px}
