/* Homepage conversion refresh. Loaded after the existing shared styles. */
:root {
  --cream: #faf8f2;
  --cream-2: #f2f1e8;
  --sand: #e9eade;
  --ink: #173d36;
  --ink-soft: #53645e;
  --ink-mute: #64716b;
  --border: #e0e5da;
  --border-2: #ced8cb;
  --teal-600: #176c5c;
  --teal-700: #145447;
  --teal-800: #123f36;
  --coral-600: #b8432e;
  --fs-h2: clamp(1.95rem, 1.2rem + 2.5vw, 2.9rem);
}

html { scroll-padding-top: 94px; }
body { overflow-x: clip; }
main, section[id] { scroll-margin-top: 94px; }
button, a, select, input, label[role="button"] { -webkit-tap-highlight-color: transparent; }
:where(a, button, select, input, label[role="button"]):focus-visible {
  outline: 3px solid #bf5037;
  outline-offset: 4px;
}
.skip-link {
  position: fixed;
  left: 20px;
  top: 12px;
  z-index: 100001;
  transform: translateY(-160%);
  padding: 12px 20px;
  border-radius: 8px;
  background: #123f36;
  color: #fff;
  font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
.reveal, .reveal.visible, .pr-stack .pr-stack__list li {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.lp-progress, .lp-cursor, .lp-cursor-dot, .lp-cue { display: none !important; }
body.lp-has-cursor { cursor: auto; }
body.lp-has-cursor a, body.lp-has-cursor button, body.lp-has-cursor label,
body.lp-has-cursor input { cursor: pointer; }

/* Keep navigation legible and compact, including the language selector. */
.nav { background: rgba(250,248,242,.97); border-bottom-color: #e7e9df; }
.nav__inner { height: 76px; gap: 20px; }
.nav.is-scrolled .nav__inner { background: transparent; box-shadow: none; border-color: transparent; }
.nav__brand { color: #173d36; white-space: nowrap; font-size: 1.07rem; }
.nav__logo { background: #176c5c; box-shadow: none; }
.nav__links { gap: 0; }
.nav__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 11px; font-size: .86rem; }
.nav__actions { gap: 8px; }
.nav__login { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 8px; font-size: .86rem; }
.nav__cta { padding: 10px 17px; font-size: .86rem; }
.lang select { min-height: 44px; font-size: .82rem; padding-left: 12px; max-width: 142px; background: transparent; }
.nav__burger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }

/* A single visual priority: start a menu, with a real demo one click away. */
.btn {
  min-height: 48px;
  border-radius: 12px;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-coral, .btn-teal {
  background: #145447;
  background-image: none;
  color: #fff;
  box-shadow: 0 3px 0 rgba(17,55,45,.1);
}
.btn-coral:hover, .btn-teal:hover {
  background: #0d4035;
  background-image: none;
  transform: none;
  box-shadow: 0 4px 12px rgba(17,55,45,.16);
}
.btn-coral::after, .btn-teal::after { display: none; }
.btn-soft { background: #fffefa; border: 1px solid #bacabe; color: #234a3e; box-shadow: none; }
.btn-soft:hover { background: #edf2e8; border-color: #7f9f8f; transform: none; color: #123f36; }
.btn:active { transform: none; }
.btn-lg { min-height: 54px; padding: 14px 23px; font-size: .97rem; }

.hero { padding: 48px 0 52px; background: var(--cream); text-align: left; }
.hero::before, .hero::after, .hero__art, .hero__aurora, .hero__chip { display: none !important; }
.hero__inner { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 54px; align-items: center; }
.hero__copy { min-width: 0; padding: 4px 0; }
.hero__pill {
  margin: 0 0 20px;
  padding: 0;
  gap: 9px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #315b4d;
  box-shadow: none;
  backdrop-filter: none;
  font-size: .78rem;
  line-height: 1.45;
  font-weight: 700;
}
.hero__pill-tag { background: #e1ead7; color: #385331; font-size: .65rem; padding: 5px 8px; }
.hero__h1 {
  margin: 0 0 20px;
  max-width: 630px;
  color: #173d36;
  font-size: clamp(2.7rem, 3.95vw, 3.55rem);
  font-weight: 800;
  line-height: 1.075;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.hero__h1 .hl { white-space: normal; color: #397b57; background: none; -webkit-text-fill-color: currentColor; }
.hero__h1 .hl svg { display: none; }
.hero__sub {
  margin: 0 0 24px;
  max-width: 515px;
  color: #53645e;
  font-size: 1.04rem;
  line-height: 1.65;
  font-weight: 500;
}
.hero__actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 11px; }
.hero__plan-note { margin-top: 13px; font-size: .8rem; line-height: 1.6; color: #59695f; }
.hero__plan-note a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: #245647; }
.hero__trust { justify-content: flex-start; margin-top: 19px; gap: 9px 16px; }
.hero__trust-item { font-size: .75rem; color: #53645e; gap: 5px; }
.hero__trust-item svg { width: 15px; height: 15px; color: #276e50; flex-shrink: 0; }
.hero__preview-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; font-size: .77rem; font-weight: 700; color: #315f48; text-decoration: underline; text-underline-offset: 4px; }
.hero__preview-link:hover { color: #123f36; }
.hero__product {
  position: relative;
  padding: 25px;
  background: #e8eedf;
  border: 1px solid #dce5d4;
  border-radius: 30px;
  min-width: 0;
}
.menu-preview {
  background: #fffefa;
  color: #253e32;
  border: 1px solid #d8dfd3;
  border-radius: 19px;
  overflow: hidden;
  box-shadow: 0 20px 34px -20px rgba(36,63,43,.28);
}
.menu-preview__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 19px 22px 0; font-size: .69rem; color: #61715f; }
.menu-preview__top svg { width: 18px; height: 18px; }
.menu-preview__badge { display: inline-flex; align-items: center; gap: 6px; color: #315c3e; background: #eaf1e4; border-radius: 6px; font-size: .6rem; font-weight: 800; letter-spacing: .07em; padding: 5px 7px; text-transform: uppercase; }
.menu-preview h2, .menu-preview__title {
  padding: 17px 22px 0;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1.15;
  color: #2f4737;
}
.menu-preview h2 + p, .menu-preview__subtitle { padding: 6px 22px 0; font-size: .73rem; color: #687061; }
.menu-preview__categories { display: flex; flex-wrap: wrap; gap: 6px; padding: 16px 22px 17px; border-bottom: 1px solid #e9eae1; }
.menu-preview__categories span { padding: 5px 10px; color: #61705e; font-size: .64rem; line-height: 1.5; border-radius: 6px; background: #f2f3ea; }
.menu-preview__categories span:first-child { color: #fff; background: #486244; }
.menu-preview__dish { display: grid; grid-template-columns: 66px minmax(0,1fr) auto; align-items: center; gap: 12px; margin: 0 20px; padding: 14px 0; border-bottom: 1px solid #e9eae1; }
.menu-preview__dish img { width: 66px; height: 66px; object-fit: cover; border-radius: 10px; background: #edf0e5; }
.menu-preview__dish div { min-width: 0; }
.menu-preview__dish strong { display: block; font-size: .8rem; line-height: 1.4; font-weight: 700; color: #314638; }
.menu-preview__dish small { display: block; font-size: .66rem; line-height: 1.45; color: #6b7465; margin-top: 4px; }
.menu-preview__dish > b { font-size: .77rem; font-weight: 700; white-space: nowrap; color: #42523c; }
.menu-preview__footer { padding: 13px 20px 16px; text-align: center; }
.menu-preview__footer a { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; border-radius: 9px; background: #e9eedf; color: #365632; font-size: .76rem; font-weight: 700; }
.menu-preview__footer a:hover { background: #dce6ce; }
.menu-preview__footer svg { width: 15px; height: 15px; }
.menu-preview__footer small { display: block; margin-top: 8px; color: #687061; font-size: .63rem; }
.hero__product-note { display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; margin-top: 13px; font-size: .72rem; color: #5f7058; }
.hero__product-note svg { width: 14px; height: 14px; flex-shrink: 0; }

/* The upload demo is a second step, after the product is understood. */
#menu-import { text-align: center; background: #f1f3e9; border-block: 1px solid #e3e8dc; }
#menu-import .head { margin-bottom: 30px; }
#menu-import .upload-hero { box-shadow: none; max-width: 620px; }
.upload-hero__zone { padding: 29px; border-width: 1.5px; border-radius: 20px; border-color: #9bbba7; box-shadow: none; background: #fffefa; }
.upload-hero__zone::before { display: none; }
.upload-hero__zone:hover { transform: none; box-shadow: none; background: #fff; }
.upload-hero__icon { width: 52px; height: 52px; margin-bottom: 14px; border-radius: 15px; background: #145447; box-shadow: none; animation: none; }
.upload-hero__icon svg { width: 25px; height: 25px; }
.upload-hero__title { font-size: 1.2rem; }
.upload-hero__hint { font-size: .9rem; }
.upload-hero__formats { margin-bottom: 19px; }
.upload-hero__alt { margin-top: 5px; }
.upload-hero__link { min-height: 44px; padding: 9px 3px; }
.upload-hero__flow { line-height: 1.6; margin-top: 18px; }
.upload-hero__zone[hidden], .upload-hero__flow[hidden] { display: none !important; }

/* Quieter sections leave the content, pricing and demo to do the work. */
.section { padding: 78px 0; }
.head { margin-bottom: 38px; }
.h2 { line-height: 1.15; letter-spacing: -.04em; }
.lead { font-size: 1.04rem; line-height: 1.7; }
.eyebrow { background: transparent; padding: 0; border: 0; box-shadow: none; border-radius: 0; margin-bottom: 15px; color: #36684f; font-size: .77rem; }
.relief__card, .step, .tcard, .quote, .pcard { box-shadow: none; border-radius: 19px; }
.relief__card:hover, .step:hover, .tcard:hover, .pcard:hover, .pcard--feat:hover { transform: none; box-shadow: none; }
.relief__card, .step { padding: 27px; }
.step__num, .step:nth-child(n) .step__num { background: #e7eee0; color: #3a6247; box-shadow: none; width: 42px; height: 42px; border-radius: 12px; font-size: 1rem; }
.step.is-on .step__num { transform: none; box-shadow: none; }
.relief__pain { color: #a34130; }
.staff__tab { min-height: 44px; color: rgba(255,255,255,.86); }
.staff__count .d, .demolive__cue i, .hero__voice-orb::after { animation: none; }
.demolive { background: #fffdf7; padding: 74px 0; }
.demolive__inner { gap: 64px; }
.demolive__device { box-shadow: 0 20px 40px -22px rgba(33,52,37,.3); }
.demolive__device:hover { box-shadow: 0 20px 40px -22px rgba(33,52,37,.3); }
.demolive__scan { background: #3c6948; box-shadow: none; }
.pcard { padding: 25px 23px; }
.pcard--feat { background: #174b3e; border-color: #174b3e; box-shadow: none; }
.pcard--feat:hover { border-color: #174b3e; }
.pcard--feat .btn-coral { background: #f6ecc9; color: #173d36; }
.pcard--feat .btn-coral:hover { background: #fff5d6; }
.pcard__tag { background: #cf5a3e; box-shadow: none; }
.pcard__desc { line-height: 1.6; }
.pcard__price, .pcard__price .pcard__amt { font-size: 2.35rem; }
.pcard .btn { padding: 12px 15px; font-size: .88rem; white-space: normal; }
.bill-toggle { box-shadow: none; border-color: #d7e0d0; }
.bill-toggle__b { min-height: 44px; }
.bill-toggle__b.is-active { background: #e5ecdf; box-shadow: none; }
.bill-toggle__save { color: #315e43; }
.pr-stack { box-shadow: none; backdrop-filter: none; background: #fffefa; }
.pr-stack__list li { color: #48594b; }
.faq__q { min-height: 64px; line-height: 1.5; }
.faq__q { list-style: none; cursor: pointer; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q:focus-visible { outline: 3px solid #bf5037; outline-offset: -5px; }
.faq__i.open .faq__a, .faq__i[open] .faq__a { max-height: none; }
.faq__i[open] { border-color: #9bbba7; }
.faq__i[open] .faq__qi { background: #176c5c; color: #fff; transform: rotate(135deg); }
.final { background: #edf0e4; padding: 76px 0; }
.final::before, .final__inner::before { display: none; }
.final__h2 { letter-spacing: -.04em; }
.footer { background: #14372f; padding-bottom: 34px; }
.footer__ct { color: rgba(255,255,255,.74); }
.footer__links { gap: 1px; }
.footer__links a { display: inline-flex; align-items: center; min-height: 40px; color: rgba(255,255,255,.82); }
.footer__tag, .footer__copy { color: rgba(255,255,255,.74); }
.footer__soc a { width: 44px; height: 44px; }
.lp-stickycta[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.lp-stickycta[aria-hidden="false"] { visibility: visible; }
.lp-stickycta { bottom: var(--consent-height,0px); box-shadow: 0 -3px 18px rgba(29,52,37,.07); }
.lp-stickycta__txt strong { color: #173d36; font-size: .88rem; }
.lp-stickycta__txt span { color: #53645e; }
.lp-stickycta__btn { font-size: .83rem; min-height: 44px; padding: 10px 17px; }

/* The shared banner owns consent logic; only its landing-page layout changes. */
body #tmConsent {
  left: 18px;
  right: auto;
  bottom: 18px;
  width: 330px;
  max-width: calc(100vw - 36px);
  margin: 0;
  gap: 11px;
  padding: 15px;
  border-color: #d6ded0;
  border-radius: 13px;
  box-shadow: 0 8px 28px rgba(25,48,34,.12);
}
body #tmConsent .tmc-text { font-size: .72rem; line-height: 1.55; color: #53645e; flex-basis: 100%; }
body #tmConsent .tmc-text a { color: #145447; text-decoration: underline; text-underline-offset: 2px; }
body #tmConsent .tmc-btns { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body #tmConsent button { min-height: 44px; padding: 8px 7px; border-radius: 8px; font-size: .7rem; line-height: 1.4; }
body #tmConsent .tmc-primary { background: #145447; border-color: #145447; }

@media (max-width: 1080px) {
  .nav__links a { padding-inline: 8px; font-size: .81rem; }
  .nav__inner { gap: 13px; }
  .nav__login { display: none; }
  .hero__inner { gap: 30px; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); }
  .hero__h1 { font-size: clamp(2.45rem,4.25vw,3rem); }
  .hero__product { padding: 18px; }
  .menu-preview__dish { grid-template-columns: 56px minmax(0,1fr) auto; gap: 9px; margin-inline: 16px; }
  .menu-preview__dish img { width: 56px; height: 60px; }
  .hero__actions .btn { padding-inline: 18px; font-size: .9rem; }
}
@media (max-width: 900px) {
  .nav__links { align-items: stretch; }
  .nav__links a { font-size: .96rem; }
  .nav__inner { height: 68px; }
  .hero { padding-block: 35px 42px; }
  .hero__inner { gap: 24px; }
  .hero__h1 { font-size: 2.45rem; }
  .hero__sub { font-size: .94rem; }
  .hero__actions .btn { white-space: normal; }
  .hero__product { padding: 13px; border-radius: 23px; }
  .menu-preview__top { padding-inline: 16px; }
  .menu-preview h2, .menu-preview__title { padding-inline: 16px; font-size: 1.95rem; }
  .menu-preview h2 + p, .menu-preview__subtitle, .menu-preview__categories { padding-inline: 16px; }
  .menu-preview__dish { grid-template-columns: 48px minmax(0,1fr); padding-block: 11px; }
  .menu-preview__dish img { width: 48px; height: 53px; grid-row: 1 / 3; }
  .menu-preview__dish > b { grid-column: 2; margin-top: -6px; font-size: .69rem; }
  .menu-preview__dish strong { font-size: .73rem; }
  .menu-preview__dish small { font-size: .62rem; }
  .menu-preview__footer { padding-inline: 13px; }
  .hero__trust { gap: 7px 12px; }
  .hero__trust-item { font-size: .71rem; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 84px; }
  main, section[id] { scroll-margin-top: 84px; }
  .container { padding-inline: 20px; }
  .hero { padding: 29px 0 37px; }
  .hero__inner { grid-template-columns: 1fr; gap: 28px; }
  .hero__copy { padding: 0; }
  .hero__pill { margin-bottom: 16px; font-size: .7rem; gap: 7px; }
  .hero__pill-tag { font-size: .6rem; }
  .hero__h1 { max-width: 550px; font-size: clamp(2.25rem,7.8vw,3rem); line-height: 1.09; letter-spacing: -.05em; margin-bottom: 16px; }
  .hero__sub { max-width: 560px; font-size: .98rem; line-height: 1.6; margin-bottom: 20px; }
  .hero__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
  .hero__actions .btn { min-height: 53px; padding: 12px 9px; font-size: .83rem; line-height: 1.35; gap: 6px; }
  .hero__actions .btn svg { width: 15px; flex-shrink: 0; }
  .hero__plan-note { font-size: .72rem; margin-top: 11px; }
  .hero__trust { gap: 8px 13px; margin-top: 14px; }
  .hero__trust-item { font-size: .7rem; }
  .hero__product { width: 100%; max-width: 430px; padding: 18px; margin-inline: auto; }
  .menu-preview__top { padding-top: 17px; }
  .menu-preview h2, .menu-preview__title { font-size: 2.15rem; }
  .menu-preview__dish { grid-template-columns: 62px minmax(0,1fr) auto; gap: 10px; padding-block: 12px; }
  .menu-preview__dish img { width: 62px; height: 62px; grid-row: auto; }
  .menu-preview__dish > b { grid-column: auto; margin-top: 0; font-size: .75rem; }
  .menu-preview__dish strong { font-size: .77rem; }
  .menu-preview__dish small { font-size: .64rem; }
  .section, .demolive { padding: 56px 0; }
  .head { margin-bottom: 28px; }
  .h2 { font-size: 2rem; }
  .lead { font-size: .99rem; }
  .relief__grid, .steps, .quotes { gap: 15px; }
  .relief__card, .step, .tcard, .quote { padding: 23px; }
  .upload-hero__zone { padding: 24px 19px; }
  .upload-hero__flow { font-size: .75rem; gap: 6px; }
  .pcard { padding: 26px; }
  .pcard__desc { min-height: 0; }
  .faq__q { font-size: .95rem; padding: 18px 20px; }
  .faq__ai { padding: 0 20px 20px; font-size: .91rem; }
  .final { padding: 57px 0; }
  .final__h2 { font-size: 2.1rem; }
  .final__sub { font-size: 1rem; margin-bottom: 26px; }
  .final__actions { gap: 10px; }
  .final__actions .btn { font-size: .9rem; }
  .final__trust { gap: 9px 14px; }
  .final__ti { font-size: .75rem; }
  .footer { padding-bottom: 104px; }
  body #tmConsent { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: none; padding: 10px 12px; gap: 8px; }
  body #tmConsent .tmc-text { font-size: .65rem; line-height: 1.5; }
  body #tmConsent button { font-size: .69rem; min-height: 44px; }
}
@media (max-width: 600px) {
  .nav__cta { display: none; }
  .nav__inner { height: 64px; gap: 12px; }
  .nav__brand { font-size: 1.02rem; gap: 8px; }
  .nav__logo { width: 32px; height: 32px; border-radius: 9px; }
  .nav__actions { gap: 7px; }
  .lang--flag select { min-height: 44px; padding: 9px 11px; font-size: .79rem; }
  .bill-toggle__b { font-size: .84rem; padding: 9px 13px; }
  .bill-toggle__save { font-size: .66rem; }
}
@media (max-width: 360px) {
  .container { padding-inline: 16px; }
  .hero__h1 { font-size: 2.1rem; }
  .hero__sub { font-size: .92rem; }
  .hero__actions .btn { font-size: .76rem; padding-inline: 7px; }
  .hero__product { padding: 12px; }
  .menu-preview__dish { grid-template-columns: 52px minmax(0,1fr) auto; margin-inline: 13px; }
  .menu-preview__dish img { width: 52px; height: 56px; }
  .menu-preview__dish strong { font-size: .7rem; }
  .menu-preview__dish small { font-size: .61rem; }
  .menu-preview__dish > b { font-size: .67rem; }
  .lp-stickycta { gap: 8px; padding-inline: 10px; }
  .lp-stickycta__btn { padding-inline: 11px; font-size: .76rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 900px) {
  .nav__links.is-open { display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; padding:14px 24px; gap:2px; background:#faf8f2; border-bottom:1px solid #ced8cb; box-shadow:0 12px 22px #173d3612; z-index:99; }
}
summary:focus-visible {outline:3px solid #bf5037;outline-offset:4px;}
/* Long translated labels must remain inside the same responsive layout. */
.btn { max-width:100%; white-space:normal; text-align:center; overflow-wrap:anywhere; }
.btn svg { flex-shrink:0; }
.hero__h1, .h2, .final__h2 { overflow-wrap:break-word; hyphens:auto; }
.voice__inner > *, .split > *, .steps > *, .pricing__grid > * { min-width:0; }
.vo__head { flex-wrap:wrap; }
.vo__status { min-width:100px; }
.vo__play { min-height:44px; max-width:100%; white-space:normal; }
.voice .eyebrow { color:#d1eadf; }
@media (max-width:700px) {
  .voice__inner { grid-template-columns:minmax(0,1fr); }
  .voice__actions { flex-wrap:wrap; }
}
.phone-stage::before { max-width:100%; }
.feat__media, .phone-stage { min-width:0; }
.phone { max-width:100%; }
@media (min-width:901px) and (max-width:1080px) { .nav__login { display:inline-flex; } }
