:root {
  --ink: #1f1a16;
  --muted: #5c534c;
  --paper: #f7f2ea;
  --paper-2: #efe6d8;
  --deep: #2c3822;
  --olive: #6d7c3e;
  --gold: #c4a36a;
  --white: #fffcf7;
  --shadow: 0 18px 40px rgba(44, 56, 34, 0.08);
  --radius: 18px;
  --max: 1120px;
  --icancook-chrome-pad-inline: 1.25rem;
  --icancook-chrome-pad-between: 1.25rem;
  --font: "DM Sans", "Segoe UI", Arial, sans-serif;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  padding-bottom: 72px;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

img { max-width: 100%; height: auto; display: block; }

a {
  text-decoration: none;
}
a:not([class*="gb-"]),
a:not([class*="gb-"]):hover,
a:not([class*="gb-"]):focus {
  color: var(--deep);
}

iconify-icon,
.kneads-icon {
  display: inline-block;
  vertical-align: -0.125em;
  line-height: 1;
  flex-shrink: 0;
  color: inherit;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-panel__row {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
}
.contact-panel__row a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--deep);
  color: var(--white);
  padding: 0.5rem 1rem;
  z-index: 1000;
}
.skip-link:focus { left: 0; }

.site-announcement {
  background: var(--deep);
  color: var(--white);
  text-align: center;
  padding: 0.45rem 1rem;
  font-size: 0.92rem;
}

.site-main,
.site-footer:not(.icancook-footer) {
  width: min(var(--max), calc(100% - 2rem));
  margin-inline: auto;
}

.site-header {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 20;
  overflow: visible;
  background: transparent;
  border-bottom: 1px solid rgba(44, 56, 34, 0.08);
}
/* Blur stays on the bar only. The dropdown hangs outside this layer, so item hovers do not re-blur the hero. */
.site-header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: rgba(247, 242, 234, 0.92);
  backdrop-filter: blur(10px);
  pointer-events: none;
}

.site-header__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: 0.75rem var(--icancook-chrome-pad-inline, 1.25rem);
  box-sizing: border-box;
  overflow: visible;
}

.icancook-topbar {
  background: var(--icancook-topbar-right-bg, #2c3822);
  container-type: inline-size;
  container-name: icancook-topbar;
}
.icancook-topbar__inner {
  width: 100%;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 0;
}
.icancook-topbar__left,
.icancook-topbar__right {
  box-sizing: border-box;
  min-width: 0;
  display: flex;
  align-items: center;
  padding-inline: var(--icancook-chrome-pad-inline, 1.25rem);
}
.icancook-topbar__left *:not([class*="gb-"]),
.icancook-topbar__right *:not([class*="gb-"]) {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  margin: 0;
}
.icancook-topbar__right {
  justify-content: flex-end;
  text-align: right;
  margin-left: auto;
  gap: 0.65rem;
}
.icancook-topbar__staff-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--icancook-topbar-right-link, #fffcf7);
  text-decoration: none;
  line-height: 1;
  padding: 0.15rem;
}
.icancook-topbar__staff-login:hover,
.icancook-topbar__staff-login:focus-visible {
  color: var(--icancook-topbar-right-link, #fffcf7);
  opacity: 0.85;
}

/* Topbar GB button pairs: equal width = whichever label is longer */
.icancook-topbar__right > [class*="gb-element"]:has(> a[class*="gb-text"]) {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  width: max-content;
  max-width: 100%;
  column-gap: 0.5rem;
  row-gap: 0.35rem;
}

@container icancook-topbar (min-width: 641px) {
  .icancook-topbar__right > [class*="gb-element"]:has(> a[class*="gb-text"]) {
    margin-left: auto;
    margin-right: 0;
  }
}

.icancook-topbar__right > [class*="gb-element"] > a[class*="gb-text"] {
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
  text-align: center;
}

@container icancook-topbar (max-width: 640px) {
  .icancook-topbar__inner {
    flex-direction: column;
    align-items: stretch;
  }
  .icancook-topbar__left,
  .icancook-topbar__right {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal;
  }
  .icancook-topbar__left {
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-align: center;
    padding-block: 0.45rem;
  }
  .icancook-topbar__right {
    margin-left: 0;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    padding-block: 0.45rem;
  }
  .icancook-topbar__left [class*="gb-element"],
  .icancook-topbar__right [class*="gb-element"] {
    justify-content: center;
    margin-inline: auto;
    text-align: center;
  }
  .icancook-topbar__right > [class*="gb-element"]:has(> a[class*="gb-text"]) {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .icancook-topbar__left *:not([class*="gb-"]),
  .icancook-topbar__right *:not([class*="gb-"]) {
    white-space: normal;
  }
  .icancook-topbar__staff-login {
    display: none;
  }
  .icancook-topbar__right > [class*="gb-element"] > a[class*="gb-text"] {
    width: auto;
    min-height: 0 !important;
    padding: 0.38rem 0.75rem !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
  }
}

/* Match admin mobile preview when container queries are unavailable */
@media (max-width: 640px) {
  .icancook-topbar__inner {
    flex-direction: column;
    align-items: stretch;
  }
  .icancook-topbar__left,
  .icancook-topbar__right {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal;
  }
  .icancook-topbar__left {
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-block: 0.45rem;
  }
  .icancook-topbar__right {
    margin-left: 0;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    padding-block: 0.45rem;
  }
  .icancook-topbar__left [class*="gb-element"],
  .icancook-topbar__right [class*="gb-element"] {
    justify-content: center;
    margin-inline: auto;
    text-align: center;
  }
  .icancook-topbar__right > [class*="gb-element"]:has(> a[class*="gb-text"]) {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .icancook-topbar__staff-login {
    display: none;
  }
  .icancook-topbar__right > [class*="gb-element"] > a[class*="gb-text"] {
    width: auto;
    min-height: 0 !important;
    padding: 0.38rem 0.75rem !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
  }
}

html:has(body.icancook-layout-boxed) {
  background: var(--icancook-canvas-color, #e8e8e8);
}
.icancook-layout-boxed {
  --boxed-gutter: var(--icancook-boxed-gutter, 2rem);
  --site-main-pad-inline: var(--icancook-boxed-gutter, 2rem);
  --icancook-chrome-pad-inline: var(--site-main-pad-inline, var(--icancook-boxed-gutter, 2rem));
  background: var(--icancook-canvas-color, #e8e8e8);
  padding-top: calc(var(--boxed-gutter) * 0.5);
  padding-bottom: var(--boxed-gutter);
  padding-inline: 0;
}
.icancook-layout-boxed .icancook-frame {
  width: auto;
  max-width: none;
  margin-inline: var(--boxed-gutter);
  background: var(--paper);
  border-radius: 15px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.14);
  min-height: calc(100vh - (var(--boxed-gutter) * 1.5));
  overflow-x: clip;
}
.icancook-layout-boxed .icancook-frame > :first-child {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.icancook-layout-boxed .icancook-topbar {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  overflow: hidden;
}
.icancook-layout-boxed .icancook-topbar__left {
  border-top-left-radius: 15px;
}
.icancook-layout-boxed .icancook-topbar__right {
  border-top-right-radius: 15px;
}
.icancook-layout-boxed .site-header {
  width: 100%;
  top: 0;
}

.icancook-layout-boxed .site-header__inner,
.icancook-layout-boxed .site-main {
  width: 100%;
  max-width: none;
  padding-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 2rem));
  box-sizing: border-box;
}

/* Service singles: fixed 2rem side inset (boxed layout only). */
.icancook-layout-boxed.single-tm_service {
  --site-main-pad-inline: 2rem;
}
.icancook-layout-boxed.single-tm_service .site-main {
  padding-inline: 2rem;
}

/* Pages & services: full width inside the boxed sheet (side padding only). */
.icancook-layout-boxed .site-main .page-content,
.icancook-layout-boxed .site-main .service-page {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main .page-content .prose,
.icancook-layout-boxed .site-main .service-page .prose,
.icancook-layout-boxed .site-main .service-page > .section,
.icancook-layout-boxed .site-main .page-content .section,
.icancook-layout-boxed .site-main .page-content .page-header,
.icancook-layout-boxed .site-main .service-page .page-header {
  max-width: none;
  width: 100%;
}

.icancook-layout-boxed .site-main .page-header .lede,
.icancook-layout-boxed .site-main .service-page .page-header .lede {
  max-width: 52rem;
}

.icancook-layout-boxed .site-main .kneads-faq-page__inner,
.icancook-layout-boxed .site-main .kneads-faq-section,
.icancook-layout-boxed .site-main .kneads-faq-section__grid,
.icancook-layout-boxed .site-main .kneads-faq-section__grid--solo {
  max-width: none;
  width: 100%;
}

.icancook-layout-wide .site-main .page-content,
.icancook-layout-wide .site-main .service-page,
.icancook-layout-full .site-main .page-content,
.icancook-layout-full .site-main .service-page {
  width: 100%;
  max-width: none;
}

.icancook-layout-wide .site-main .page-content .prose,
.icancook-layout-wide .site-main .service-page .prose,
.icancook-layout-full .site-main .page-content .prose,
.icancook-layout-full .site-main .service-page .prose,
.icancook-layout-wide .site-main .service-page > .section,
.icancook-layout-full .site-main .service-page > .section {
  max-width: none;
  width: 100%;
}

.icancook-layout-wide .site-main,
.icancook-layout-full .site-main {
  width: min(var(--icancook-content-max-width, 1200px), calc(100% - 2rem));
  max-width: none;
}

/* Footer backgrounds edge-to-edge inside the boxed sheet; copy stays aligned. */
.icancook-layout-boxed .site-footer {
  width: 100%;
  max-width: none;
  padding-inline: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}

.icancook-layout-boxed .icancook-footer .site-footer__main,
.icancook-layout-boxed .icancook-footer .site-footer__bottom {
  padding-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 2rem));
  box-sizing: border-box;
}

.icancook-layout-boxed .icancook-footer-cta {
  width: auto;
  max-width: none;
  margin-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 2rem));
  padding-inline: 0;
}

/* Hero background edge-to-edge inside the boxed sheet; copy stays aligned. */
.icancook-layout-boxed .site-main .home-blocks > .wp-block-generateblocks-element:has(> .icancook-hero),
.icancook-layout-boxed .site-main .home-blocks > .wp-block-generateblocks-element:has(> section.icancook-hero),
.icancook-layout-boxed .site-main .home-blocks > .wp-block-kneads-hero,
.icancook-layout-boxed .site-main .home-blocks > section.icancook-hero {
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  max-width: none;
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main .home-blocks > section.icancook-hero,
.icancook-layout-boxed .site-main .home-blocks > .wp-block-kneads-hero > .icancook-hero {
  padding-inline: var(--site-main-pad-inline, 2rem);
}

.icancook-layout-boxed .site-main .home-blocks > .wp-block-generateblocks-element:has(.icancook-hero) .icancook-hero {
  margin-inline: 0;
  width: 100%;
  max-width: none;
  padding-inline: var(--site-main-pad-inline, 2rem);
  box-sizing: border-box;
}

/* CTA background edge-to-edge inside the boxed sheet; copy stays aligned. */
.icancook-layout-boxed .site-main :is(
  .wp-block-kneads-cta,
  .wp-block-kneads-book-cta,
  .wp-block-kneads-gift,
  .kneads-cta.section--cta,
  .kneads-about-eli
) {
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  max-width: none;
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main .kneads-cta.section--cta,
.icancook-layout-boxed .site-main .kneads-about-eli,
.icancook-layout-boxed .site-main section.kneads-testimonials {
  border-radius: 0;
  padding-inline: var(--site-main-pad-inline, 2rem);
}

/* Client stories background edge-to-edge inside the boxed sheet; copy stays aligned. */
.icancook-layout-boxed .site-main :is(
  .wp-block-kneads-testimonials,
  section.kneads-testimonials
) {
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  max-width: none;
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main .wp-block-kneads-testimonials > section.kneads-testimonials {
  margin-inline: 0;
  width: 100%;
  max-width: none;
}

.icancook-layout-boxed .site-main .kneads-testimonials__inner {
  width: 100%;
  max-width: var(--max);
}

/* Slider is a direct child of the section so it can span the full band (header/CTA stay padded). */
.icancook-layout-boxed .site-main section.kneads-testimonials > .kneads-testimonials__slider,
.icancook-layout-wide .site-main section.kneads-testimonials > .kneads-testimonials__slider,
.icancook-layout-full .site-main section.kneads-testimonials > .kneads-testimonials__slider {
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  max-width: none;
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main :is(.wp-block-kneads-cta, .wp-block-kneads-book-cta, .wp-block-kneads-gift) > .kneads-cta {
  margin-inline: 0;
  width: 100%;
  max-width: none;
}

.icancook-layout-boxed .icancook-topbar__inner {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
.icancook-layout-boxed .icancook-topbar__left {
  padding-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 2rem))
    var(--icancook-chrome-pad-between, 1.25rem);
}
.icancook-layout-boxed .icancook-topbar__right {
  padding-inline: var(--icancook-chrome-pad-between, 1.25rem)
    var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 2rem));
}
.icancook-layout-boxed .alignfull,
.icancook-layout-boxed .alignwide {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.icancook-layout-full .site-main,
.icancook-layout-full .site-footer:not(.icancook-footer) {
  width: calc(100% - 2rem);
  max-width: none;
}

.icancook-layout-full .site-header__inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--icancook-chrome-pad-inline, 1.25rem);
}
.icancook-layout-full .icancook-topbar__inner {
  width: 100%;
  max-width: none;
}

.site-logo {
  display: flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}

.site-logo img,
.site-logo .custom-logo {
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.site-logo__mobile { display: none; }

.site-nav {
  margin-left: auto;
  align-self: stretch;
  display: flex;
  align-items: stretch;
}
.site-nav .menu {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-nav .menu > li {
  display: flex;
  align-items: center;
  position: relative;
}
.site-nav a { text-decoration: none; font-weight: 600; }

.site-nav .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.site-nav .menu-item-has-children > a::after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-0.12rem) rotate(45deg);
  transition: transform 0.15s ease;
}
.site-nav .menu-item-has-children:hover > a::after,
.site-nav .menu-item-has-children:focus-within > a::after,
.site-nav .menu-item-has-children.is-open > a::after {
  transform: translateY(0.05rem) rotate(225deg);
}

.site-nav .menu > .menu-item-has-children > .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 30;
  min-width: 16.5rem;
  margin: 0;
  padding: 0.4rem;
  list-style: none;
  background: var(--white);
  border: 1px solid rgba(44, 56, 34, 0.1);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(44, 56, 34, 0.16);
}
.site-nav .menu > .menu-item-has-children:hover > .sub-menu,
.site-nav .menu > .menu-item-has-children:focus-within > .sub-menu,
.site-nav .menu > .menu-item-has-children.is-open > .sub-menu {
  display: block;
}
.site-nav .sub-menu li {
  list-style: none;
  margin: 0;
}
.site-nav .sub-menu > li:first-child {
  margin-bottom: 0.35rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(44, 56, 34, 0.16);
}
.site-nav .sub-menu a {
  display: block;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  font-weight: 600;
  white-space: nowrap;
  background-color: transparent;
  transition: none;
}
.site-nav .sub-menu a:hover,
.site-nav .sub-menu a:focus-visible {
  background-color: var(--paper-2);
  transition: none;
}

.header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

@media (max-width: 860px) {
  .header-actions {
    display: none !important;
  }
}

.nav-toggle { display: none; }

.btn,
.wp-block-button__link,
button.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: var(--icancook-btn-radius, 999px);
  padding: 0.7rem 1.15rem;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
  width: var(--icancook-btn-width, auto);
  max-width: 100%;
  box-sizing: border-box;
}
.btn--primary { background: var(--icancook-btn-bg, var(--deep)); color: var(--icancook-btn-color, var(--white)); }
.btn--ghost { background: transparent; border-color: var(--icancook-btn-bg, var(--deep)); color: var(--icancook-btn-bg, var(--deep)); }
.btn--small { padding: 0.45rem 0.85rem; font-size: 0.9rem; }

.home-blocks > section.icancook-hero,
.home-blocks > .wp-block-kneads-hero,
.home-blocks > .wp-block-kneads-service-grid,
.home-blocks > .wp-block-kneads-about,
.home-blocks > .wp-block-kneads-testimonials,
.home-blocks > .wp-block-kneads-faq-list,
.home-blocks > .wp-block-kneads-location,
.home-blocks > .wp-block-kneads-gift,
.home-blocks > .wp-block-kneads-book-cta,
.home-blocks > .wp-block-kneads-cta,
.home-blocks > section.kneads-cta,
.home-blocks > section.kneads-about-eli,
.home-blocks > section.kneads-testimonials {
  margin: 0;
}

.hero,
.section,
.page-content,
.entry,
.service-page { padding: 3rem 0; }

/* Service sections stack: adjustable side inset (ICanCook → Homepage → Layout). */
.service-page--meta .service-page__sections {
  --service-sections-outer-pad: var(--site-main-pad-inline, 2rem);
  margin-inline: calc(-1 * var(--service-sections-outer-pad));
  width: calc(100% + (2 * var(--service-sections-outer-pad)));
  padding-inline: var(--service-page-sections-pad-inline, var(--service-sections-outer-pad));
  /* Full-width bands inside this stack stay within the padded area (do not re-bleed). */
  --site-main-pad-inline: 0;
  box-sizing: border-box;
}

.service-page--meta .kneads-service-jumpnav {
  padding: 0.85rem 0 1.15rem;
  margin: 0 0 0.5rem;
  background: rgba(239, 230, 216, 0.45);
  border-bottom: 1px solid rgba(44, 56, 34, 0.08);
}

.service-page--meta .kneads-service-jumpnav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.45rem 1.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-jumpnav__link {
  display: inline-block;
  padding: 0.35rem 0.15rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--muted, #5f6560);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.service-page--meta .kneads-service-jumpnav__link:hover,
.service-page--meta .kneads-service-jumpnav__link:focus-visible {
  color: var(--deep, #2c3822);
  border-bottom-color: var(--gold, #c4a36a);
}

.service-page--meta #service-overview,
.service-page--meta #service-benefits,
.service-page--meta #service-expect,
.service-page--meta #service-pricing,
.service-page--meta #service-includes,
.service-page--meta #service-visit-care,
.service-page--meta #service-location,
.service-page--meta #service-testimonials,
.service-page--meta #service-faq,
.service-page--meta #service-related,
.service-page--meta #service-gift {
  scroll-margin-top: 5.5rem;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift {
  padding-top: 0;
  padding-bottom: 2.75rem;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(26, 31, 28, 0.11);
  background: var(--paper, #fffcf7);
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__media {
  margin: 0;
  min-height: 17rem;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 17rem;
  object-fit: cover;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.35rem, 2.8vw, 2.35rem);
  background: var(--paper-2, #f7f2e8);
  overflow: hidden;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__inner {
  position: relative;
  z-index: 1;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__decor {
  position: absolute;
  right: -0.5rem;
  bottom: -0.75rem;
  width: min(13.5rem, 52%);
  aspect-ratio: 1;
  background-image: var(--kneads-service-gift-floral);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  opacity: 0.32;
  pointer-events: none;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__eyebrow {
  margin: 0 0 0.65rem;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__title {
  margin: 0 0 0.85rem;
  color: var(--deep, #2c3822);
  max-width: 22rem;
  line-height: 1.22;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__text {
  margin: 0 0 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--muted, #5f6560);
  max-width: 26rem;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__perks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__perk {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--ink, #3a403c);
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__perk-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: rgba(196, 163, 106, 0.22);
  color: var(--gold, #c4a36a);
  flex-shrink: 0;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__perk-svg {
  display: block;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__actions {
  margin: 0;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__btn-icon {
  flex-shrink: 0;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__btn-icon--after {
  opacity: 0.92;
}

:is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__footnote {
  margin: 0.85rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--muted, #5f6560);
  max-width: 24rem;
}

/* Section H2s: layout/color only — family, size, weight from ICanCook → Typography (H2). */
.service-page--meta :is(
  .kneads-svc-section-head__title,
  .kneads-service-benefits__title,
  .kneads-service-overview__title,
  .kneads-service-pricing__title,
  .kneads-service-includes__title,
  .kneads-service-visit-care__title,
  .kneads-service-location__title,
  .kneads-service-testimonials__title,
  .kneads-service-related__title,
  .kneads-service-gift__title
) {
  margin: 0;
  max-width: none;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-svc-section-head {
  margin-bottom: clamp(1.35rem, 2.5vw, 1.85rem);
}

.service-page--meta .kneads-svc-section-head--left {
  text-align: left;
}

.service-page--meta .kneads-svc-section-head--center,
.service-page--meta .kneads-svc-section-head--center-line {
  text-align: center;
}

.service-page--meta .kneads-svc-section-head__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.service-page--meta .kneads-svc-section-head--center .kneads-svc-section-head__eyebrow-row,
.service-page--meta .kneads-svc-section-head--center-line .kneads-svc-section-head__eyebrow-row {
  justify-content: center;
}

.service-page--meta .kneads-svc-section-head--left .kneads-svc-section-head__eyebrow-row {
  justify-content: flex-start;
}

.service-page--meta .kneads-svc-section-head__eyebrow {
  margin: 0 0 0.75rem;
}

.service-page--meta .kneads-svc-section-head__eyebrow-row .kneads-svc-section-head__eyebrow {
  margin-bottom: 0;
  flex-shrink: 0;
}

.service-page--meta .kneads-svc-section-head__eyebrow-row + .kneads-svc-section-head__title {
  margin-top: 0.75rem;
}

.service-page--meta .kneads-svc-section-head__title {
  margin: 0;
}

.service-page--meta .kneads-svc-section-head--center-line .kneads-svc-section-head__eyebrow {
  color: var(--olive, #6d7c3e);
  letter-spacing: 0.14em;
}

.service-page--meta .kneads-svc-section-head__line {
  flex: 0 1 5.5rem;
  width: min(22vw, 6.5rem);
  height: 1px;
  background: rgba(44, 56, 34, 0.42);
}

.service-page--meta .kneads-svc-section-head__line--tail {
  flex: 1;
  width: auto;
  max-width: 14rem;
  background: var(--gold, #c4a36a);
  opacity: 0.72;
}

.service-page--meta .kneads-service-benefits-band {
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.25rem, 4vw, 3rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 3.25rem);
  background: var(--paper, #fffcf7);
}

.service-page--meta .kneads-service-benefits-band__inner {
  position: relative;
  z-index: 1;
  max-width: min(72rem, 100%);
  margin-inline: auto;
}

.service-page--meta .kneads-service-benefits-band__floral {
  pointer-events: none;
  position: absolute;
  width: min(38vw, 20rem);
  height: min(38vw, 20rem);
  background-image: var(--kneads-service-benefits-floral);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.28;
  z-index: 0;
}

.service-page--meta .kneads-service-benefits-band__floral--tr {
  top: -0.5rem;
  right: -1.5rem;
  background-position: right top;
}

.service-page--meta .kneads-service-benefits-band__floral--bl {
  bottom: -1rem;
  left: -2rem;
  background-position: left bottom;
  transform: scaleX(-1);
}

.service-page--meta .kneads-service-benefits-band__head {
  margin-bottom: 1.65rem;
}

:is(.service-page--meta, .home-blocks) .kneads-service-benefits__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
}

:is(.service-page--meta, .home-blocks) .kneads-service-benefits__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem;
  min-height: 0;
  height: 100%;
  padding: 1.1rem 0.65rem 0.95rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(44, 56, 34, 0.06);
  box-shadow: 0 4px 18px rgba(26, 31, 28, 0.05);
  text-align: center;
}

:is(.service-page--meta, .home-blocks) .kneads-service-benefits__icon {
  display: inline-flex;
  line-height: 0;
  color: var(--gold, #c4a36a);
  flex-shrink: 0;
}

:is(.service-page--meta, .home-blocks) .kneads-service-benefits__icon-svg {
  display: block;
  width: 40px;
  height: 40px;
}

:is(.service-page--meta, .home-blocks) .kneads-service-benefits__label {
  margin: 0;
  flex: 0 1 auto;
  font-size: 0.8125rem;
  line-height: 1.4;
  font-weight: 500;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-benefits__tagline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: clamp(1.75rem, 3vw, 2.35rem) auto clamp(1.75rem, 3vw, 2.15rem);
  max-width: 52rem;
  text-align: center;
}

.service-page--meta .kneads-service-benefits__tagline-line {
  flex: 1;
  height: 1px;
  background: var(--gold, #c4a36a);
  opacity: 0.55;
  min-width: 2rem;
}

.service-page--meta .kneads-service-benefits__tagline-text {
  margin: 0;
  flex: 0 1 auto;
  max-width: 36rem;
  font-family: var(--serif);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.45;
  color: var(--deep, #2c3822);
}

@media (max-width: 1100px) {
  :is(.service-page--meta, .home-blocks) .kneads-service-benefits__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  :is(.service-page--meta, .home-blocks) .kneads-service-benefits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-page--meta .kneads-service-benefits__tagline {
    flex-direction: column;
    gap: 0.65rem;
  }

  .service-page--meta .kneads-service-benefits__tagline-line {
    width: min(8rem, 55%);
    flex: 0 0 auto;
  }
}

.service-page--meta .kneads-service-ideal {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.service-page--meta .kneads-service-ideal__head {
  margin-bottom: 1.35rem;
}

.service-page--meta .kneads-service-ideal__section-title {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 500;
  line-height: 1.2;
}

.service-page--meta .kneads-service-includes__head {
  margin-bottom: 1.35rem;
}

.service-page--meta .kneads-service-overview__head {
  margin-bottom: 1.35rem;
}

.service-page--meta .kneads-service-ideal--embedded {
  margin-top: 0;
}

.service-page--meta .kneads-service-ideal__eyebrow {
  margin: 0 0 1.15rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
  color: var(--deep, #2c3822);
  font-size: 0.72rem;
  font-weight: 600;
}

.service-page--meta .kneads-service-ideal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
}

.service-page--meta .kneads-service-ideal__card {
  padding: 1.25rem 1.2rem 1.15rem;
  border-radius: 12px;
  border: 1px solid rgba(44, 56, 34, 0.06);
  box-shadow: 0 4px 16px rgba(26, 31, 28, 0.04);
}

.service-page--meta .kneads-service-ideal__card--good {
  background: rgba(228, 238, 220, 0.45);
}

.service-page--meta .kneads-service-ideal__card--tell {
  background: rgba(247, 236, 220, 0.55);
}

.service-page--meta .kneads-service-ideal__card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(44, 56, 34, 0.1);
}

.service-page--meta .kneads-service-ideal__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: var(--gold, #c4a36a);
  color: #fff;
}

.service-page--meta .kneads-service-ideal__card-icon-svg {
  display: block;
  width: 22px;
  height: 22px;
}

.service-page--meta .kneads-service-ideal__card-title {
  margin: 0.1rem 0 0;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  line-height: 1.25;
  font-weight: 600;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-ideal__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-ideal__list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-ideal__list li:last-child {
  margin-bottom: 0;
}

.service-page--meta .kneads-service-ideal__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05rem;
  width: 1rem;
  height: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  background: var(--gold, #c4a36a);
  border-radius: 50%;
}

.service-page--meta .kneads-service-ideal__disclaimer {
  margin: 1.5rem auto 0;
  max-width: 40rem;
  text-align: center;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--muted, #5f6560);
}

@media (max-width: 900px) {
  .service-page--meta .kneads-service-ideal__grid {
    grid-template-columns: 1fr;
  }
}

.service-page--meta .kneads-service-expect {
  position: relative;
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  padding: 3rem var(--site-main-pad-inline, 2rem) 3.25rem;
  color: var(--white, #fffcf7);
  overflow: hidden;
  box-sizing: border-box;
}

.service-page--meta .kneads-service-expect__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
}

.service-page--meta .kneads-service-expect__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(20, 24, 22, calc(var(--kneads-expect-overlay, 0.85) * 0.96)) 0%,
    rgba(20, 24, 22, var(--kneads-expect-overlay, 0.85)) 45%,
    rgba(20, 24, 22, calc(var(--kneads-expect-overlay, 0.85) * 1.04)) 100%
  );
}

.service-page--meta .kneads-service-expect__inner {
  position: relative;
  z-index: 1;
  max-width: var(--max, 1120px);
  margin-inline: auto;
  text-align: center;
}

.service-page--meta .kneads-service-expect__eyebrow {
  margin: 0 0 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-expect__title {
  margin: 0 0 2rem;
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--white, #fffcf7);
}

.service-page--meta .kneads-service-expect__flow {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.35rem 0.5rem;
  text-align: left;
}

.service-page--meta .kneads-service-expect__step {
  flex: 1 1 0;
  min-width: 0;
  max-width: 16rem;
}

.service-page--meta .kneads-service-expect__step-head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}

.service-page--meta .kneads-service-expect__num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: var(--gold, #c4a36a);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  color: var(--white, #fffcf7);
}

.service-page--meta .kneads-service-expect__step-title {
  margin: 0;
  color: var(--white, #fffcf7);
}

.service-page--meta .kneads-service-expect__step-text {
  margin: 0;
  padding-left: 3.65rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255, 252, 247, 0.82);
}

.service-page--meta .kneads-service-expect__sep {
  flex: 0 0 auto;
  align-self: center;
  margin-top: 0.25rem;
  padding: 0 0.15rem;
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 600;
  color: var(--gold, #c4a36a);
}

.icancook-layout-boxed .site-main .service-page--meta .kneads-service-expect {
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  border-radius: 0;
}

@media (max-width: 960px) {
  .service-page--meta .kneads-service-expect__flow {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    max-width: 22rem;
    margin-inline: auto;
    text-align: left;
  }

  .service-page--meta .kneads-service-expect__sep {
    display: none;
  }

  .service-page--meta .kneads-service-expect__step {
    max-width: none;
  }
}

.service-page--meta .kneads-service-block__subhead {
  margin: 1.25rem 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-block__list {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
}

.service-page--meta .kneads-service-pricing {
  padding-top: 2.5rem;
  padding-bottom: 2.75rem;
}

.service-page--meta .kneads-service-pricing__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
  gap: 2rem 2.5rem;
  align-items: center;
}

.service-page--meta .kneads-service-pricing__intro {
  border-left: 4px solid var(--olive, #6d7c3e);
  padding-left: 1.15rem;
}

.service-page--meta .kneads-service-pricing__title {
  margin-bottom: 0.65rem;
}

.service-page--meta .kneads-service-pricing__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(44, 56, 34, 0.72);
}

.service-page--meta .kneads-service-pricing__lead {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-pricing__cards-wrap {
  min-width: 0;
}

.service-page--meta .kneads-service-pricing__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  align-items: stretch;
  margin: 0;
  padding: 1.35rem 1.1rem;
  border-radius: 14px;
  background: rgba(44, 56, 34, 0.06);
}

.service-page--meta .kneads-service-pricing__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.35rem 0.85rem 1.15rem;
  border-radius: 12px;
  background: var(--white, #fffcf7);
  border: 1px solid rgba(44, 56, 34, 0.08);
  box-shadow: 0 2px 10px rgba(26, 31, 28, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.service-page--meta .kneads-service-pricing__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26, 31, 28, 0.1);
  border-color: rgba(44, 56, 34, 0.14);
}

.service-page--meta .kneads-service-pricing__card--featured {
  position: relative;
  padding-top: 2.35rem;
  transform: translateY(-0.35rem);
  box-shadow: 0 14px 36px rgba(26, 31, 28, 0.12);
  border-color: rgba(44, 56, 34, 0.12);
}

.service-page--meta .kneads-service-pricing__card--featured:hover {
  transform: translateY(-0.65rem);
  box-shadow: 0 18px 42px rgba(26, 31, 28, 0.16);
}

.service-page--meta .kneads-service-pricing__badge {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem 0.5rem;
  border-radius: 12px 12px 0 0;
  background: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.service-page--meta .kneads-service-pricing__badge-icon {
  display: inline-flex;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-pricing__duration {
  margin: 0 0 0.85rem;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-pricing__price {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.15rem;
  margin: 0 0 1.15rem;
  line-height: 1;
  color: var(--olive, #6d7c3e);
}

.service-page--meta .kneads-service-pricing__currency {
  font-size: 1.15rem;
  font-weight: 700;
  margin-top: 0.35rem;
}

.service-page--meta .kneads-service-pricing__amount {
  font-size: clamp(2rem, 3.5vw, 2.65rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.service-page--meta .kneads-service-pricing__btn {
  margin-top: auto;
  width: 100%;
  max-width: 11rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.78rem;
  font-weight: 700;
  justify-content: center;
}

.service-page--meta .kneads-service-pricing__btn--outline {
  background: var(--white, #fffcf7) !important;
  border: 1px solid rgba(44, 56, 34, 0.22) !important;
  color: var(--deep, #2c3822) !important;
  box-shadow: none !important;
}

.service-page--meta .kneads-service-pricing__btn--outline:hover,
.service-page--meta .kneads-service-pricing__btn--outline:focus-visible {
  background: rgba(44, 56, 34, 0.04) !important;
  color: var(--deep, #2c3822) !important;
}

@media (max-width: 1024px) {
  .service-page--meta .kneads-service-pricing__layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .service-page--meta .kneads-service-pricing__cards {
    grid-template-columns: 1fr;
    max-width: 20rem;
    margin-inline: auto;
  }

  .service-page--meta .kneads-service-pricing__card:hover,
  .service-page--meta .kneads-service-pricing__card--featured,
  .service-page--meta .kneads-service-pricing__card--featured:hover {
    transform: none;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  .service-page--meta .kneads-service-pricing__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.service-page--meta .kneads-service-addons {
  padding-top: 0.35rem;
  padding-bottom: 2.25rem;
}

.service-page--meta .kneads-service-addons__head {
  margin-bottom: 1.35rem;
}

.service-page--meta .kneads-service-addons .kneads-svc-section-head__eyebrow-row {
  gap: 0.85rem;
}

.service-page--meta .kneads-service-addons .kneads-svc-section-head__line {
  flex: 0 0 3.65rem;
  width: 3.65rem;
  height: 1px;
  background: var(--gold, #c4a36a);
  opacity: 0.9;
}

.service-page--meta .kneads-service-addons .kneads-svc-section-head__eyebrow,
.service-page--meta .kneads-service-addons__heading {
  margin: 0;
  max-width: none;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-addons__lede {
  margin: 0.45rem 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  font-weight: 400;
  color: rgba(44, 56, 34, 0.48);
}

.service-page--meta .kneads-service-addons__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.service-page--meta .kneads-service-addons__item {
  height: 7.25rem;
}

.service-page--meta .kneads-service-addons__card {
  --addon-art-h: 7.25rem;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.85rem;
  height: 100%;
  min-height: 0;
  text-decoration: none;
  color: inherit;
  padding: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  border: 0;
  box-shadow: 0 12px 30px rgba(44, 56, 34, 0.055);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.service-page--meta .kneads-service-addons__card:hover,
.service-page--meta .kneads-service-addons__card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(44, 56, 34, 0.1);
}

.service-page--meta .kneads-service-addons__art {
  flex: 0 0 calc(var(--addon-art-h) * 533 / 800);
  width: calc(var(--addon-art-h) * 533 / 800);
  height: 100%;
  display: block;
  margin-left: 20px;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-addons__art img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.service-page--meta .kneads-service-addons__icon {
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-addons__copy {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: 1.1rem 1.15rem 1.1rem 0.35rem;
}

.service-page--meta .kneads-service-addons__card-title {
  margin: 0;
  width: 100%;
  text-align: center;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-addons__badge {
  margin: 0;
  width: 100%;
  text-align: center;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-includes {
  padding-top: 2.25rem;
  padding-bottom: 2.5rem;
}

.service-page--meta .kneads-service-includes__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}

.service-page--meta .kneads-service-includes__eyebrow {
  margin: 0 0 0.65rem;
}

.service-page--meta .kneads-service-includes__title {
  margin-bottom: 1rem;
}

.service-page--meta .kneads-service-includes__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-includes__list li {
  position: relative;
  padding-left: 1.35rem;
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-includes__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--olive, #6d7c3e);
  font-weight: 700;
}

.service-page--meta .kneads-service-includes__media {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(26, 31, 28, 0.1);
}

.service-page--meta .kneads-service-includes__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.service-page--meta .kneads-service-visit-care {
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.5rem, 4.5vw, 3.25rem);
  padding-bottom: clamp(2.75rem, 5vw, 3.5rem);
  background: var(--paper, #fffcf7);
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  padding-inline: var(--site-main-pad-inline, 2rem);
  box-sizing: border-box;
}

.service-page--meta .kneads-service-visit-care__inner {
  position: relative;
  z-index: 1;
  max-width: min(72rem, 100%);
  margin-inline: auto;
}

.service-page--meta .kneads-service-visit-care__floral {
  pointer-events: none;
  position: absolute;
  width: min(36vw, 18rem);
  height: min(36vw, 18rem);
  background-image: var(--kneads-service-visit-care-floral);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.22;
  z-index: 0;
}

.service-page--meta .kneads-service-visit-care__floral--tl {
  top: -0.25rem;
  left: -1.75rem;
  background-position: left top;
}

.service-page--meta .kneads-service-visit-care__floral--tr {
  top: -0.25rem;
  right: -1.75rem;
  background-position: right top;
  transform: scaleX(-1);
}

.service-page--meta .kneads-service-visit-care__header {
  margin-bottom: clamp(1.75rem, 3vw, 2.35rem);
}

.service-page--meta .kneads-service-visit-care__stage {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.75rem);
  align-items: stretch;
}

.service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) {
  --visit-care-bridge-track: clamp(4.5rem, 8vw, 7.5rem);
  grid-template-columns: minmax(0, 1fr) var(--visit-care-bridge-track) minmax(0, 1fr);
  column-gap: 0;
  row-gap: clamp(1.25rem, 3vw, 2rem);
}

.service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) .kneads-service-visit-care__card--before {
  grid-column: 1;
  grid-row: 1;
}

.service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) .kneads-service-visit-care__card--after {
  grid-column: 3;
  grid-row: 1;
}

.service-page--meta .kneads-service-visit-care__card {
  padding: clamp(1.35rem, 2.2vw, 1.85rem) clamp(1.25rem, 2vw, 1.65rem);
  border-radius: 22px;
  border: 1px solid transparent;
  box-shadow: 0 8px 28px rgba(26, 31, 28, 0.06);
}

.service-page--meta .kneads-service-visit-care__card--before {
  background: #eff3ed;
  border-color: rgba(109, 124, 62, 0.22);
}

.service-page--meta .kneads-service-visit-care__card--after {
  background: #fcf7ef;
  border-color: rgba(196, 163, 106, 0.35);
}

.service-page--meta .kneads-service-visit-care__card-head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.15rem;
}

.service-page--meta .kneads-service-visit-care__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 50%;
  background: var(--gold, #c4a36a);
  color: #fff;
}

.service-page--meta .kneads-service-visit-care__card-icon-svg {
  display: block;
  width: 22px;
  height: 22px;
}

.service-page--meta .kneads-service-visit-care__card-title {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-visit-care__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-visit-care__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-visit-care__list li:last-child {
  margin-bottom: 0;
}

.service-page--meta .kneads-service-visit-care__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.2rem;
  border-radius: 50%;
  background: var(--gold, #c4a36a);
  color: #fff;
}

.service-page--meta .kneads-service-visit-care__check-svg {
  display: block;
  width: 12px;
  height: 12px;
}

.service-page--meta .kneads-service-visit-care__list-text {
  flex: 1;
  min-width: 0;
}

.service-page--meta .kneads-service-visit-care__bridge {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: min(9.5rem, 22vw);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) .kneads-service-visit-care__bridge {
  position: relative;
  left: auto;
  top: auto;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: stretch;
  width: 100%;
  max-width: var(--visit-care-bridge-track);
  transform: none;
  padding-inline: 0.15rem;
  box-sizing: border-box;
}

.service-page--meta .kneads-service-visit-care__bridge-line {
  flex: 1;
  min-width: 0.35rem;
  height: 1px;
  background: var(--gold, #c4a36a);
  opacity: 0.65;
}

.service-page--meta .kneads-service-visit-care__bridge-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  color: var(--gold, #c4a36a);
  background: var(--paper, #fffcf7);
  border-radius: 50%;
  box-shadow: 0 0 0 4px var(--paper, #fffcf7);
}

.service-page--meta .kneads-service-visit-care__bridge-icon-svg {
  display: block;
  width: 18px;
  height: 18px;
}

.service-page--meta .kneads-service-location {
  position: relative;
  overflow: hidden;
  padding-top: clamp(2.5rem, 4.5vw, 3.25rem);
  padding-bottom: clamp(2.75rem, 5vw, 3.5rem);
  background: var(--paper, #fffcf7);
}

.service-page--meta .kneads-service-location__inner {
  position: relative;
  z-index: 1;
  max-width: min(72rem, 100%);
  margin-inline: auto;
}

.service-page--meta .kneads-service-location__floral {
  pointer-events: none;
  position: absolute;
  width: min(36vw, 18rem);
  height: min(36vw, 18rem);
  background-image: var(--kneads-service-location-floral);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.22;
  z-index: 0;
}

.service-page--meta .kneads-service-location__floral--tl {
  top: -0.25rem;
  left: -1.75rem;
  background-position: left top;
}

.service-page--meta .kneads-service-location__floral--tr {
  top: -0.25rem;
  right: -1.75rem;
  background-position: right top;
  transform: scaleX(-1);
}

.service-page--meta .kneads-service-location__header {
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  max-width: 48rem;
}

.service-page--meta .kneads-service-location__eyebrow {
  color: var(--gold, #c4a36a);
  letter-spacing: 0.12em;
}

.service-page--meta .kneads-service-location__body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}

.service-page--meta .kneads-service-location__map-wrap {
  min-height: 20rem;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(26, 31, 28, 0.1);
  background: #e8e4dc;
}

.service-page--meta .kneads-service-location__map,
.service-page--meta .kneads-service-location__map-fallback {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 20rem;
  border: 0;
  object-fit: cover;
}

.service-page--meta .kneads-service-location__card {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  padding: clamp(1.35rem, 2.2vw, 1.75rem);
  border-radius: 18px;
  background: #fcf7ef;
  border: 1px solid rgba(196, 163, 106, 0.32);
  box-shadow: 0 8px 28px rgba(26, 31, 28, 0.06);
}

.service-page--meta .kneads-service-location__visit {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.service-page--meta .kneads-service-location__visit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 50%;
  background: var(--gold, #c4a36a);
  color: #fff;
}

.service-page--meta .kneads-service-location__visit-icon-svg {
  display: block;
  width: 20px;
  height: 20px;
}

.service-page--meta .kneads-service-location__visit-label {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-location__address {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  font-weight: 600;
  line-height: 1.45;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-location__hours-block {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(44, 56, 34, 0.08);
}

.service-page--meta .kneads-service-location__hours-icon {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 0.35rem;
  color: var(--gold, #c4a36a);
}

.service-page--meta .kneads-service-location__hours-icon-svg {
  display: block;
  width: 18px;
  height: 18px;
}

.service-page--meta .kneads-service-location__hours-list {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-location__hours-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--deep, #2c3822);
  border-bottom: 1px solid rgba(44, 56, 34, 0.07);
}

.service-page--meta .kneads-service-location__hours-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.service-page--meta .kneads-service-location__hours-day {
  font-weight: 600;
}

.service-page--meta .kneads-service-location__hours-time {
  text-align: right;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-location__directions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  margin-top: 0.35rem;
  padding: 0.9rem 1.35rem;
  border-radius: 12px;
  background: var(--deep, #2c3822);
  color: var(--gold, #c4a36a);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.service-page--meta .kneads-service-location__directions:hover,
.service-page--meta .kneads-service-location__directions:focus-visible {
  background: #1f2818;
  color: var(--gold, #c4a36a);
  transform: translateY(-1px);
}

.service-page--meta .kneads-service-location__directions-icon {
  color: inherit;
}

.service-page--meta .kneads-service-testimonials {
  padding-top: 2.25rem;
  padding-bottom: 2.75rem;
}

.service-page--meta .kneads-service-testimonials__header {
  margin-bottom: 1.35rem;
  text-align: center;
}

.service-page--meta .kneads-service-testimonials__eyebrow {
  margin: 0 0 0.65rem;
}

.service-page--meta .kneads-service-testimonials__title {
  margin: 0;
}

.service-page--meta .kneads-service-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.service-page--meta .kneads-service-testimonials__grid .kneads-testimonials__card {
  height: 100%;
  margin: 0;
}

.service-page--meta .kneads-service-related {
  padding-top: 2.25rem;
  padding-bottom: 2.5rem;
}

.service-page--meta .kneads-service-related__header {
  margin-bottom: 1.35rem;
  max-width: 36rem;
}

.service-page--meta .kneads-service-related__eyebrow {
  margin: 0 0 0.5rem;
  color: var(--gold, #c4a36a);
  letter-spacing: 0.14em;
}

.service-page--meta .kneads-service-related__title {
  margin: 0;
}

.service-page--meta .kneads-service-related__slider {
  --kneads-testimonials-gap: clamp(0.85rem, 2vw, 1.15rem);
  --kneads-testimonials-carousel-pad: 0;
  --kneads-testimonials-carousel-pad-bottom: 0;
  margin: 0;
}

.service-page--meta .kneads-service-related__slider .kneads-testimonials__track {
  align-items: stretch;
  padding-top: 0;
  padding-bottom: 0;
}

.service-page--meta .kneads-service-related__slider .kneads-testimonials__viewport {
  perspective: none;
}

.service-page--meta .kneads-service-related__card.kneads-testimonials__card {
  background: var(--white, #fffcf7);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(44, 56, 34, 0.06);
  border: 1px solid rgba(44, 56, 34, 0.07);
  padding: 0;
  margin: 0;
  transform: none !important;
  height: 100%;
  align-items: stretch;
  text-align: center;
  min-height: 0;
}

.service-page--meta .kneads-service-related__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.service-page--meta .kneads-service-related__media {
  margin: 0;
  width: 100%;
  aspect-ratio: 2 / 1;
  max-height: 8.75rem;
  overflow: hidden;
  background: var(--paper-2, #efe6d8);
  border-radius: 0;
}

.service-page--meta .kneads-service-related__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.service-page--meta .kneads-service-related__link:hover .kneads-service-related__media img,
.service-page--meta .kneads-service-related__link:focus-visible .kneads-service-related__media img {
  transform: scale(1.03);
}

.service-page--meta .kneads-service-related__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 0.6rem 0.65rem 0.7rem;
  gap: 0.45rem;
}

.service-page--meta .kneads-service-related__card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-related__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  align-self: center;
  width: calc(100% - 0.5rem);
  max-width: 100%;
  margin-top: auto;
  min-height: 2.15rem;
  padding: 0 0.65rem;
  border: 1px solid rgba(44, 56, 34, 0.22);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: var(--deep, #2c3822);
  background: var(--white, #fffcf7);
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.service-page--meta .kneads-service-related__cta-arrow {
  font-size: 0.95em;
  line-height: 1;
}

.service-page--meta .kneads-service-related__link:hover .kneads-service-related__card-title,
.service-page--meta .kneads-service-related__link:focus-visible .kneads-service-related__card-title {
  color: var(--olive, #6d7c3e);
}

.service-page--meta .kneads-service-related__link:hover .kneads-service-related__cta,
.service-page--meta .kneads-service-related__link:focus-visible .kneads-service-related__cta {
  border-color: var(--deep, #2c3822);
  background: var(--paper-2, #efe6d8);
}

@media (max-width: 960px) {
  .service-page--meta .kneads-service-visit-care__bridge {
    display: none;
  }

  .service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) {
    grid-template-columns: 1fr;
  }

  .service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) .kneads-service-visit-care__card--before,
  .service-page--meta .kneads-service-visit-care__stage:has(.kneads-service-visit-care__bridge) .kneads-service-visit-care__card--after {
    grid-column: auto;
    grid-row: auto;
  }

  .service-page--meta .kneads-service-includes__grid,
  .service-page--meta .kneads-service-visit-care__stage,
  .service-page--meta .kneads-service-location__body,
  .service-page--meta .kneads-service-testimonials__grid,
  :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__card {
    grid-template-columns: 1fr;
  }

  :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__media,
  :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__img {
    min-height: 14rem;
  }
}

@media (max-width: 900px) {
  .service-page--meta .kneads-service-addons__list {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-page--meta .kneads-service-pricing__card,
  .service-page--meta .kneads-service-pricing__card--featured,
  .service-page--meta .kneads-service-addons__card {
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
  }

  .service-page--meta .kneads-service-pricing__card:hover,
  .service-page--meta .kneads-service-pricing__card--featured,
  .service-page--meta .kneads-service-pricing__card--featured:hover,
  .service-page--meta .kneads-service-addons__card:hover,
  .service-page--meta .kneads-service-addons__card:focus-visible {
    transform: none;
  }
}

.service-page--meta .kneads-service-overview {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.service-page--meta .kneads-service-overview__decor {
  pointer-events: none;
  position: absolute;
  top: 0;
  right: -2rem;
  width: min(42vw, 22rem);
  height: 100%;
  max-height: 28rem;
  background-image: var(--kneads-service-overview-floral);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  opacity: 0.35;
  z-index: 0;
}

.service-page--meta .kneads-service-overview__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: center;
}

.service-page--meta .kneads-service-overview__eyebrow {
  margin: 0 0 0.75rem;
}

.service-page--meta .kneads-service-overview__title {
  margin-bottom: 1rem;
}

.service-page--meta .kneads-service-overview__body {
  max-width: 42rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-overview__body p {
  margin: 0 0 1rem;
}

.service-page--meta .kneads-service-overview__body p:last-child {
  margin-bottom: 0;
}

.service-page--meta .kneads-service-overview__callout {
  padding: 1.35rem 1.4rem 1.25rem;
  border-radius: 12px;
  background: rgba(196, 163, 106, 0.16);
  border: 1px solid rgba(44, 56, 34, 0.08);
  box-shadow: 0 8px 28px rgba(26, 31, 28, 0.04);
}

.service-page--meta .kneads-service-overview__callout-head {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.service-page--meta .kneads-service-overview__callout-icon {
  flex-shrink: 0;
  color: var(--gold, #c4a36a);
  line-height: 0;
  margin-top: 0.15rem;
}

.service-page--meta .kneads-service-overview__callout-title {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--deep, #2c3822);
}

.service-page--meta .kneads-service-overview__checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--meta .kneads-service-overview__checklist li {
  position: relative;
  padding-left: 1.35rem;
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--muted, #5f6560);
}

.service-page--meta .kneads-service-overview__checklist li:last-child {
  margin-bottom: 0;
}

.service-page--meta .kneads-service-overview__checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gold, #c4a36a);
  font-weight: 700;
}

@media (max-width: 900px) {
  .service-page--meta .kneads-service-overview__grid {
    grid-template-columns: 1fr;
  }

  .service-page--meta .kneads-service-overview__decor {
    opacity: 0.22;
    right: 0;
    width: 12rem;
  }
}

/* Service page readability (40+): supporting copy, nav/footer on service views — headings unchanged */
body.single-tm_service {
  --kneads-svc-support: var(--ink, #3a403c);
}

body.single-tm_service .service-page--meta .service-page__sections {
  font-size: 1.0625rem;
  line-height: 1.6;
}

body.single-tm_service .service-page--meta .service-page__sections :is(p, li, dd) {
  line-height: 1.6;
}

body.single-tm_service .service-page--meta :is(.eyebrow, [class*="__eyebrow"]) {
  letter-spacing: 0.08em;
}

body.single-tm_service .service-page--meta .kneads-service-benefits__label {
  font-size: 1rem;
  line-height: 1.45;
}

body.single-tm_service .service-page--meta .kneads-service-ideal__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

body.single-tm_service .service-page--meta .kneads-service-ideal__list li {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-ideal__list li::before {
  font-size: 0.75rem;
}

body.single-tm_service .service-page--meta .kneads-service-ideal__disclaimer {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-expect__eyebrow {
  letter-spacing: 0.08em;
}

body.single-tm_service .service-page--meta .kneads-service-expect__step-text {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 252, 247, 0.92);
}

body.single-tm_service .service-page--meta .kneads-service-pricing__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: var(--deep, #2c3822);
}

body.single-tm_service .service-page--meta .kneads-service-pricing__lead {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-pricing__badge {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

body.single-tm_service .service-page--meta .kneads-service-pricing__btn {
  font-size: 0.9375rem;
}

body.single-tm_service .service-page--meta :is(
  .kneads-service-includes__list li,
  .kneads-service-overview__checklist li,
  .kneads-service-overview__body
) {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-overview__body {
  font-size: 1.0625rem;
}

body.single-tm_service .service-page--meta .kneads-service-visit-care__list li {
  font-size: 1rem;
  line-height: 1.6;
}

body.single-tm_service .service-page--meta .kneads-service-location__visit-label {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--deep, #2c3822);
}

body.single-tm_service .service-page--meta .kneads-service-location__hours-item {
  font-size: 1rem;
  line-height: 1.55;
}

body.single-tm_service .service-page--meta .kneads-service-location__hours-time {
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-location__directions {
  font-size: 1rem;
}

body.single-tm_service .service-page--meta .kneads-testimonials__badge {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

body.single-tm_service .service-page--meta .kneads-testimonials__quote {
  font-size: clamp(1rem, 1.45vw, 1.0625rem);
  line-height: 1.6;
}

body.single-tm_service .service-page--meta .kneads-testimonials__author {
  font-size: 1rem;
}

body.single-tm_service .service-page--meta .kneads-testimonials__source {
  font-size: 0.9375rem;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-testimonials__card--accent .kneads-testimonials__source {
  color: rgba(255, 252, 247, 0.88);
}

body.single-tm_service .service-page--meta .kneads-faq-section__intro {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-faq-accordion__answer {
  font-size: 1rem;
  line-height: 1.62;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-related__cta {
  font-size: 0.9375rem;
}

body.single-tm_service :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__text {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__perk,
body.single-tm_service :is(.service-page--meta, .kneads-gift-page) .kneads-service-gift__footnote {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--kneads-svc-support);
}

body.single-tm_service .service-page--meta .kneads-service-block__list li {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--kneads-svc-support);
}

body.single-tm_service .site-nav a,
body.single-tm_service .header-actions .btn {
  font-size: max(0.9375rem, 1em);
}

body.single-tm_service .icancook-footer :is(
  .footer-links a,
  .kneads-footer-services__list a,
  .site-footer__note,
  .kneads-footer-services__empty
) {
  font-size: 0.9375rem;
  line-height: 1.55;
}

.hero {
  padding-top: 4.5rem;
  padding-bottom: 4rem;
}

.eyebrow,
.hero-text--eyebrow {
  text-transform: uppercase;
}

h1, h2, h3 {
  font-family: var(--serif);
  line-height: 1.15;
  margin: 0 0 0.75rem;
  font-weight: 500;}

h1 { font-size: clamp(2.1rem, 5vw, 4rem); max-width: 16ch; }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }

.lede { font-size: 1.15rem; max-width: 42rem; color: var(--muted); }

.hero__actions,
.card__meta { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }

.icancook-hero {
  position: relative;
  isolation: isolate;
  text-align: left;
}

.icancook-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(10, 24, 16, 0.58) 0%,
    rgba(14, 30, 20, 0.36) 18%,
    rgba(16, 34, 24, 0.12) 42%,
    rgba(16, 34, 24, 0.04) 50%,
    rgba(16, 34, 24, 0.12) 58%,
    rgba(14, 30, 20, 0.36) 82%,
    rgba(10, 24, 16, 0.58) 100%
  );
}

.icancook-hero > * {
  position: relative;
  z-index: 1;
}

.icancook-hero .hero__copy {
  text-align: left;
  min-width: 0;
}

.icancook-hero .hero__actions {
  justify-content: flex-start;
}

.icancook-hero .hero-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 1.15rem;
  text-decoration: none;
  font-weight: 600;
  box-sizing: border-box;
  border: 1px solid transparent;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.icancook-hero.has-phrase-wheel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  column-gap: 2.25rem;
  row-gap: 1.35rem;
}

.icancook-hero.has-phrase-wheel > .icancook-hero-preview__overlay {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  z-index: 0;
}

.hero-phrase-wheel-slot:empty {
  display: none;
}

.hero-phrase-wheel-slot {
  width: min(100%, 36rem);
}

.hero-phrase-wheel-slot .hero-phrase-wheel {
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.hero-phrase-wheel {
  --gold: #c7a76a;
  --ivory: #fffdf6;
  --olive: 42, 49, 29;
  --step: clamp(3.15rem, 4.6vw, 3.85rem);
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  min-width: 0;
  color: var(--ivory);
  font-family: var(--hero-wheel-font, "Playfair Display", Georgia, "Times New Roman", serif);
  justify-self: center;
  outline: none;
  user-select: none;
}

.hero-phrase-wheel .wheel {
  position: relative;
  width: min(100%, 640px);
  height: calc(var(--step) * 3);
  margin-inline: auto;
  overflow: hidden;
  isolation: isolate;
  container-type: inline-size;
  border-radius: 18px;
}

.hero-phrase-wheel .focus-band {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: 18px;
  background: linear-gradient(
    90deg,
    rgba(10, 24, 16, 0.94) 0%,
    rgba(14, 30, 20, 0.82) 14%,
    rgba(16, 34, 24, 0.38) 32%,
    rgba(18, 34, 24, 0.08) 48%,
    rgba(18, 34, 24, 0.08) 52%,
    rgba(16, 34, 24, 0.38) 68%,
    rgba(14, 30, 20, 0.82) 86%,
    rgba(10, 24, 16, 0.94) 100%
  );
  box-shadow: none;
  backdrop-filter: blur(1.5px);
}

.hero-phrase-wheel .focus-band::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: linear-gradient(
    105deg,
    #8d7344 0%,
    #e8d7a8 24%,
    #c6a56a 46%,
    #f4e7c6 64%,
    #b8924e 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

.hero-phrase-wheel .focus-band::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, transparent 8%, rgba(199, 167, 106, 0.2) 24%, rgba(255, 236, 196, 0.95) 50%, rgba(199, 167, 106, 0.2) 76%, transparent 92%)
      center 33.333% / 80% 1.5px no-repeat,
    linear-gradient(90deg, transparent 8%, rgba(199, 167, 106, 0.2) 24%, rgba(255, 236, 196, 0.95) 50%, rgba(199, 167, 106, 0.2) 76%, transparent 92%)
      center 66.666% / 80% 1.5px no-repeat;
  pointer-events: none;
}

.hero-phrase-wheel .items {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero-phrase-wheel .phrase {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.65rem, 2vw, 1.5rem);
  padding: 0 clamp(0.6rem, 3vw, 2rem);
  text-align: center;
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 3.4cqi, 1.65rem);
  line-height: 1.1;
  white-space: nowrap;
  color: rgba(255, 253, 246, 0.62);
  opacity: 0;
  transform: translate(-50%, calc(-50% + var(--offset) * var(--step))) scale(0.82);
  transition: transform var(--hero-wheel-move, 0.72s) cubic-bezier(0.22, 0.75, 0.2, 1), opacity calc(var(--hero-wheel-move, 0.72s) * 0.78), color calc(var(--hero-wheel-move, 0.72s) * 0.78), font-size calc(var(--hero-wheel-move, 0.72s) * 0.78);
  will-change: transform, opacity;
}

.hero-phrase-wheel .phrase[data-distance="0"] {
  width: 100%;
  box-sizing: border-box;
  padding-inline: 1.25rem;
  overflow: hidden;
  color: #fffdf8;
  opacity: 1;
  font-size: clamp(1.55rem, 3.4cqi, 2.15rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  transform: translate(-50%, -50%) scale(1);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.hero-phrase-wheel .phrase[data-distance="1"] {
  color: rgba(255, 252, 246, 0.9);
  opacity: 1;
  font-size: clamp(0.98rem, 2.1cqi, 1.15rem);
  font-weight: 500;
  transform: translate(-50%, calc(-50% + var(--offset) * var(--step))) scale(1);
}

.hero-phrase-wheel .phrase[data-distance="2"],
.hero-phrase-wheel .phrase[data-distance="3"] {
  opacity: 0;
}

.hero-phrase-wheel .phrase::before,
.hero-phrase-wheel .phrase::after {
  content: none;
}

.hero-phrase-wheel .hint {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  margin: 0;
  padding: 0.45rem 0.7rem;
  border-radius: 99px;
  background: rgba(22, 28, 16, 0.56);
  color: rgba(255, 255, 255, 0.76);
  font: 500 0.72rem/1.2 "DM Sans", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.03em;
}

.hero-phrase-wheel__static {
  display: none;
  margin: 0 auto;
  width: min(88%, 830px);
  max-width: calc(100% - 0.5rem);
  box-sizing: border-box;
  padding-inline: clamp(1rem, 2.4cqi, 1.6rem);
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: clamp(0.65rem, 2vw, 1.5rem);
  text-align: center;
  font-family: inherit;
  font-size: clamp(1.5rem, 3.5vw, 2.7rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--ivory);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.32);
}

.hero-phrase-wheel__static::before,
.hero-phrase-wheel__static::after {
  content: "";
  width: auto;
  max-width: 4rem;
  min-width: 0;
  height: 1.5px;
  background: var(--gold);
  flex: 1 1 0.75rem;
}

@media (min-width: 768px) {
  .hero-phrase-wheel .wheel {
    border-radius: 0;
  }

  .hero-phrase-wheel .focus-band {
    background: none;
    backdrop-filter: none;
    border-radius: 0;
  }

  .hero-phrase-wheel .focus-band::before {
    content: none;
  }

  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)),
  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel-slot .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.95fr);
    align-items: stretch;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .icancook-hero.has-phrase-wheel > .hero__copy,
  .icancook-hero.has-phrase-wheel > .icancook-hero-preview__copy {
    min-width: 0;
    padding-top: 4.5rem;
    padding-bottom: 4rem;
  }

  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) > .hero-phrase-wheel,
  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel-slot .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) > .hero-phrase-wheel-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 100%;
    min-height: 100%;
  }

  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) > .hero-phrase-wheel {
    display: block;
    align-self: center;
    height: auto;
    min-height: 0;
  }

  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) > .hero-phrase-wheel .wheel,
  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel-slot .hero-phrase-wheel:not(.hero-phrase-wheel--mobile)) .wheel {
    height: calc(var(--step) * 3);
    max-height: 100%;
    flex: 0 1 auto;
  }

  .hero-phrase-wheel--mobile {
    display: none;
  }
}

@media (max-width: 600px) {
  .hero-phrase-wheel {
    --step: 4rem;
  }

  .hero-phrase-wheel .wheel {
    width: 100%;
  }

  .hero-phrase-wheel .focus-band {
    width: calc(100% - 1.25rem);
    height: 3.75rem;
  }

  .hero-phrase-wheel .phrase {
    padding-inline: 1rem;
  }

  .hero-phrase-wheel .phrase[data-distance="0"] {
    font-size: clamp(1.25rem, 6vw, 1.65rem);
  }

  .hero-phrase-wheel .phrase[data-distance="0"] {
    width: calc(100% - 1.25rem);
  }

  .hero-phrase-wheel .phrase[data-distance="0"]::before,
  .hero-phrase-wheel .phrase[data-distance="0"]::after {
    max-width: 1.15rem;
  }

  .hero-phrase-wheel .hint {
    display: none;
  }
}

.hero-scroll-cue {
  display: none;
}

.hero__mobile-cta {
  display: none;
}

@media (max-width: 767px) {
  .icancook-hero.has-phrase-wheel {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: calc(100svh - var(--icancook-header-height, 81px) - 9.25rem);
    padding: 1.35rem 1.15rem 0.75rem !important;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .icancook-hero.has-phrase-wheel > .hero__copy {
    padding: 0;
    max-width: 24rem;
  }

  .icancook-hero .hero__actions {
    display: none;
  }

  .icancook-hero .hero__mobile-cta {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
    max-width: 22rem;
    margin-top: 1.15rem;
  }

  .icancook-hero a.hero__mobile-cta__book,
  .icancook-hero a.hero__mobile-cta__explore {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0.75rem 1.1rem;
    border-radius: 999px;
    box-sizing: border-box;
    font-family: var(--sans, "DM Sans", sans-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }

  .icancook-hero a.hero__mobile-cta__book,
  .icancook-hero a.hero__mobile-cta__book:hover,
  .icancook-hero a.hero__mobile-cta__book:focus-visible {
    background: #c6a56a;
    color: #142016;
    border: 1px solid #c6a56a;
  }

  .icancook-hero a.hero__mobile-cta__explore,
  .icancook-hero a.hero__mobile-cta__explore:hover,
  .icancook-hero a.hero__mobile-cta__explore:focus-visible {
    background: transparent;
    color: #fffdf8;
    border: 1px solid rgba(255, 253, 246, 0.82);
  }

  .icancook-hero .hero-text.hero-text--eyebrow,
  .icancook-hero .eyebrow {
    margin: 0 0 0.85rem;
    max-width: 18rem;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    line-height: 1.45;
  }

  .icancook-hero .hero-text--heading {
    max-width: 8ch;
    margin: 0 0 0.7rem;
    font-size: clamp(2.75rem, 12vw, 3.125rem);
    line-height: 1.05;
  }

  .icancook-hero .lede,
  .icancook-hero .hero-text--intro {
    max-width: 22rem;
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.5;
  }

  .hero-phrase-wheel--desktop,
  .hero-phrase-wheel-slot:has(.hero-phrase-wheel--desktop) {
    display: none !important;
  }

  .hero-phrase-wheel--mobile,
  .hero-phrase-wheel--both,
  .hero-phrase-wheel-slot:has(.hero-phrase-wheel--mobile),
  .hero-phrase-wheel-slot:has(.hero-phrase-wheel--both) {
    display: block !important;
    width: 100%;
    max-width: 24rem;
    margin: 1.35rem 0 0;
  }

  .hero-phrase-wheel {
    --step: 2.75rem;
  }

  .hero-phrase-wheel .hint {
    display: none;
  }

  .hero-phrase-wheel .wheel {
    height: calc(var(--step) * 3);
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hero-phrase-wheel .focus-band {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }

  .hero-phrase-wheel .phrase {
    white-space: normal;
    padding-inline: 0.85rem;
  }

  .hero-phrase-wheel .phrase[data-distance="0"] {
    width: calc(100% - 1.25rem);
    font-size: clamp(1.2rem, 5.4vw, 1.55rem);
    padding-inline: 0.5rem;
  }

  .hero-phrase-wheel .phrase[data-distance="0"]::before,
  .hero-phrase-wheel .phrase[data-distance="0"]::after,
  .hero-phrase-wheel .phrase::before,
  .hero-phrase-wheel .phrase::after {
    display: none;
  }

  .hero-phrase-wheel .phrase[data-distance="1"] {
    font-size: 0.92rem;
    opacity: 0.82;
  }

  .hero-phrase-wheel .phrase[data-distance="2"],
  .hero-phrase-wheel .phrase[data-distance="3"] {
    opacity: 0;
  }

  .hero-scroll-cue {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin: auto 0 0;
    padding-top: 1rem;
    color: rgba(255, 252, 247, 0.92);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.01em;
  }

  .hero-scroll-cue__arrow {
    width: 0.55rem;
    height: 0.55rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-phrase-wheel .phrase,
  .hero-phrase-wheel .phrase::before,
  .hero-phrase-wheel .phrase::after {
    transition: none;
  }

  .hero-phrase-wheel--reduce-static .wheel,
  .hero-phrase-wheel--reduce-static .hint {
    display: none;
  }

  .hero-phrase-wheel--reduce-static .hero-phrase-wheel__static {
    display: flex;
    width: min(88%, 830px);
    box-sizing: border-box;
    padding-inline: 1.25rem;
    overflow: hidden;
  }

  .hero-phrase-wheel--reduce-hide {
    display: none !important;
  }

  .icancook-hero.has-phrase-wheel:has(> .hero-phrase-wheel--reduce-hide) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Hero frame cards must span full width when appended inside a GenerateBlocks flex row. */
.wp-block-generateblocks-element:has(> section.icancook-hero-frames),
.wp-block-generateblocks-element:has(> .icancook-hero-frames) {
  flex-wrap: wrap;
}

.wp-block-generateblocks-element > section.icancook-hero,
.wp-block-generateblocks-element > section.icancook-hero-frames {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.icancook-hero-frames {
  display: grid;
  grid-template-columns: repeat(var(--hero-frames, 2), minmax(0, 1fr));
  gap: 1.15rem;
  margin: 1.25rem 0 0;
  padding: 0 0 1.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.icancook-layout-boxed .site-main .home-blocks > .wp-block-generateblocks-element:first-child:has(.icancook-hero) .icancook-hero-frames {
  padding-inline: var(--site-main-pad-inline, 2rem);
  box-sizing: border-box;
}

.icancook-layout-boxed .site-main .home-blocks > section.icancook-hero-frames {
  padding-inline: 0;
  box-sizing: border-box;
}

.home-blocks > section.icancook-hero-frames {
  width: 100%;
  max-width: none;
}

.icancook-hero-frame {
  position: relative;
  min-height: 280px;
  min-width: 0;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  background-color: #24312b;
  display: flex;
  align-items: flex-end;
  color: #fffcf7;
}

.icancook-hero-frame__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform 0.5s ease;
  will-change: transform;
}

.icancook-hero-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(20, 24, 22, 0.78) 0%, rgba(20, 24, 22, 0.22) 55%, transparent 100%);
  pointer-events: none;
  transition: background 0.35s ease, opacity 0.35s ease;
}

.icancook-hero-frame__copy {
  position: relative;
  z-index: 2;
  padding: 1.5rem 1.35rem 1.35rem;
}

.icancook-hero-frames--hover-zoom .icancook-hero-frame:hover .icancook-hero-frame__bg {
  transform: scale(1.08);
}

.icancook-hero-frames--hover-lift .icancook-hero-frame {
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.icancook-hero-frames--hover-lift .icancook-hero-frame:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(20, 24, 22, 0.32);
}

.icancook-hero-frames--hover-focus .icancook-hero-frame:hover::before {
  background: linear-gradient(to top, rgba(20, 24, 22, 0.9) 0%, rgba(20, 24, 22, 0.45) 55%, rgba(20, 24, 22, 0.12) 100%);
}

.icancook-hero-frames--hover-brighten .icancook-hero-frame:hover::before {
  background: linear-gradient(to top, rgba(20, 24, 22, 0.62) 0%, rgba(20, 24, 22, 0.12) 55%, transparent 100%);
}

@media (prefers-reduced-motion: reduce) {
  .icancook-hero-frame__bg,
  .icancook-hero-frames--hover-lift .icancook-hero-frame,
  .icancook-hero-frame::before {
    transition: none;
  }

  .icancook-hero-frames--hover-zoom .icancook-hero-frame:hover .icancook-hero-frame__bg,
  .icancook-hero-frames--hover-lift .icancook-hero-frame:hover {
    transform: none;
  }
}

.icancook-hero-frame__title {
  margin: 0 0 0.35rem;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.15;
  color: #fffcf7;
  max-width: none;
  font-weight: 500;}

.icancook-hero-frame__text {
  margin: 0 0 0.9rem;
  font-size: 0.95rem;
  color: rgba(255, 252, 247, 0.88);
}

.icancook-hero-frame__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 1.05rem;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  box-sizing: border-box;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.icancook-hero-frame__btn .hero-action__icon {
  flex-shrink: 0;
  line-height: 0;
}

@media (max-width: 720px) {
  .icancook-hero-frames {
    grid-template-columns: 1fr;
  }
}

/* Tablet: drop the boxed side inset so the three frame cards keep readable titles. */
@media (min-width: 721px) and (max-width: 1199px) {
  .icancook-layout-boxed .site-main .home-blocks > section.icancook-hero-frames,
  .icancook-layout-boxed .site-main .home-blocks .icancook-hero-frames {
    margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
    width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
    max-width: none;
    padding-inline: 0;
  }
}

.hero-action__icon {
  flex-shrink: 0;
  line-height: 0;
}

.kneads-featured-services__intro {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 2rem;
}

.kneads-featured-services__heading {
  margin: 0 0 0.75rem;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.2;
  color: var(--charcoal, #24312b);
  font-weight: 500;}

.kneads-featured-services__lede {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: rgba(36, 49, 43, 0.82);
}

.kneads-featured-services__divider {
  margin: 1.35rem auto 0;
  width: min(100%, 320px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(199, 167, 106, 0.55) 20%, rgba(199, 167, 106, 0.55) 80%, transparent);
  position: relative;
}

.kneads-featured-services__divider::after {
  content: "🌿";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: var(--cream, #f3f1ec);
  padding: 0 0.45rem;
  font-size: 0.85rem;
  line-height: 1;
}

.kneads-featured-services__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
}

.kneads-featured-services__column {
  padding: 0 1rem;
  border-inline-start: 1px solid rgba(36, 49, 43, 0.1);
}

.kneads-featured-services__columns .kneads-featured-services__column:first-child {
  border-inline-start: 0;
  padding-inline-start: 0;
}

.kneads-featured-services__columns .kneads-featured-services__column:last-child {
  padding-inline-end: 0;
}

.kneads-featured-services__column-title {
  margin: 0 0 1.15rem;
  font-family: var(--serif);
  font-size: 1.35rem;
  text-align: center;
  color: var(--charcoal, #24312b);
  font-weight: 500;}

.kneads-featured-services__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.kneads-featured-services__empty {
  text-align: center;
  color: rgba(36, 49, 43, 0.65);
  font-size: 0.95rem;
}

.kneads-featured-service__link {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.kneads-featured-service__media {
  margin: 0 0 0.75rem;
  aspect-ratio: 1;
  border-radius: 4px;
  overflow: hidden;
  background: #e8e4dc;
}

.kneads-featured-service__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.kneads-featured-service__link:hover .kneads-featured-service__media img,
.kneads-featured-service__link:focus-visible .kneads-featured-service__media img {
  transform: scale(1.04);
}

.kneads-featured-service__title {
  margin: 0 0 0.35rem;
  font-family: var(--serif);
  font-size: 1.05rem;
  line-height: 1.25;
  text-align: center;
  color: var(--charcoal, #24312b);
  font-weight: 500;}

.kneads-featured-service__tagline {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  text-align: center;
  color: rgba(36, 49, 43, 0.72);
}

@media (max-width: 1199px) {
  .kneads-featured-services__columns {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .kneads-featured-services__column {
    border-inline-start: 0;
    padding-inline: 0;
  }
}

@media (max-width: 720px) {
  .kneads-featured-services__list {
    grid-template-columns: 1fr;
    max-width: 320px;
    margin-inline: auto;
  }
}

.kneads-featured-services__kicker,
.kneads-featured-services__nav,
.kneads-featured-services__all,
.kneads-featured-service__more {
  display: none;
}

@media (max-width: 767px) {
  .icancook-hero-frames {
    display: none !important;
  }

  .kneads-featured-services__intro {
    display: none;
  }

  .kneads-featured-services__columns {
    gap: 2.35rem;
  }

  .kneads-featured-services__column-head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
    align-items: end;
    gap: 0.55rem;
    margin: 0 0 0.85rem;
  }

  .kneads-featured-services__column-title {
    margin: 0;
    text-align: left;
    font-size: clamp(1.35rem, 5.2vw, 1.7rem);
    line-height: 1.15;
  }

  .kneads-featured-services__kicker {
    display: block;
    margin: 0 0 0.15rem;
    color: #8d7344;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-align: right;
    text-transform: uppercase;
  }

  .kneads-featured-services__kicker::before {
    content: "";
    display: inline-block;
    width: 1.15rem;
    height: 1px;
    margin: 0 0.35rem 0.15rem 0;
    vertical-align: middle;
    background: #c6a56a;
  }

  .kneads-featured-services__viewport {
    overflow: hidden;
    touch-action: pan-y;
  }

  .kneads-featured-services__list {
    display: flex;
    grid-template-columns: none;
    gap: 0.8rem;
    width: max-content;
    max-width: none;
    margin: 0;
    padding: 0.15rem 0 0.35rem;
  }

  .kneads-featured-service {
    flex: 0 0 calc(100cqi - 4.6rem);
    width: calc(100cqi - 4.6rem);
    box-sizing: border-box;
    padding: 0.5rem 0.5rem 0.85rem;
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 10px 28px rgba(36, 49, 43, 0.08);
  }

  .kneads-featured-services__viewport {
    container-type: inline-size;
  }

  .kneads-featured-service__media {
    aspect-ratio: 16 / 10;
    margin: 0;
    border-radius: 12px;
  }

  .kneads-featured-service__copy {
    display: block;
    padding: 0.75rem 0.35rem 0.1rem;
  }

  .kneads-featured-service__title,
  .kneads-featured-service__tagline {
    text-align: left;
  }

  .kneads-featured-service__title {
    font-size: 1.28rem;
  }

  .kneads-featured-service__tagline {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.7rem;
  }

  .kneads-featured-service__more {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #1d4a32;
    font-size: 0.95rem;
    font-weight: 600;
  }

  .kneads-featured-services__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.85rem;
  }

  .kneads-featured-services__dots {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  .kneads-featured-services__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ddd4c2;
    cursor: pointer;
  }

  .kneads-featured-services__dot[aria-selected="true"] {
    background: #1a3328;
  }

  .kneads-featured-services__dot:focus-visible,
  .kneads-featured-services__pause:focus-visible,
  .kneads-featured-services__all:focus-visible {
    outline: 3px solid var(--gold, #c6a56a);
    outline-offset: 3px;
  }

  .kneads-featured-services__pause {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #1a3328;
    cursor: pointer;
  }

  .kneads-featured-services__pause-icon,
  .kneads-featured-services__pause-icon::before,
  .kneads-featured-services__pause-icon::after {
    display: block;
    width: 2px;
    height: 10px;
    background: currentColor;
  }

  .kneads-featured-services__pause-icon {
    position: relative;
    width: 8px;
    background: transparent;
  }

  .kneads-featured-services__pause-icon::before,
  .kneads-featured-services__pause-icon::after {
    content: "";
    position: absolute;
    top: 0;
  }

  .kneads-featured-services__pause-icon::before {
    left: 0;
  }

  .kneads-featured-services__pause-icon::after {
    right: 0;
  }

  .kneads-featured-services__pause[aria-pressed="true"] .kneads-featured-services__pause-icon {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 9px;
    border-color: transparent transparent transparent currentColor;
    background: transparent;
  }

  .kneads-featured-services__pause[aria-pressed="true"] .kneads-featured-services__pause-icon::before,
  .kneads-featured-services__pause[aria-pressed="true"] .kneads-featured-services__pause-icon::after {
    content: none;
  }

  .kneads-featured-services__pause-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .kneads-featured-services__all {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 0.95rem;
    padding: 0.7rem 1rem;
    border: 1.5px solid rgba(29, 74, 50, 0.45);
    border-radius: 14px;
    color: #1d4a32;
    background: transparent;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .kneads-featured-services__list {
    transition: none !important;
  }
}

.kneads-testimonials {
  position: relative;
  padding: clamp(3rem, 6vw, 4.5rem) 0;
  background-color: var(--kneads-testimonials-surface, var(--white, #fffcf7));
  overflow-x: clip;
  overflow-y: visible;
  isolation: isolate;
  --kneads-testimonials-visible: 3;
  --kneads-testimonials-duration: 45s;
}

.kneads-testimonials::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image: var(--kneads-testimonials-bg);
  background-size: contain;
  background-position: left top;
  background-repeat: no-repeat;
  background-origin: padding-box;
  opacity: var(--kneads-testimonials-bg-opacity, 0.55);
}

.icancook-layout-boxed .site-main section.kneads-testimonials::before {
  left: 0;
  right: 0;
  background-position: left top;
}

.kneads-testimonials__inner {
  position: relative;
  z-index: 1;
  width: min(var(--max), calc(100% - 2rem));
  margin-inline: auto;
}

.kneads-testimonials__header {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 2.25rem;
}

.kneads-testimonials__eyebrow {
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.kneads-testimonials__eyebrow::before,
.kneads-testimonials__eyebrow::after {
  content: "—";
  opacity: 0.85;
  margin: 0 0.35em;
}

.kneads-testimonials__heading {
  font-family: var(--serif);
  font-size: clamp(1.85rem, 3.4vw, 2.65rem);
  font-weight: 500;
  line-height: 1.15;
  margin: 0 0 0.85rem;
  color: var(--ink);
}

.kneads-testimonials__intro {
  margin: 0;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.6;
  color: var(--muted);
}

.kneads-testimonials__empty {
  text-align: center;
  color: var(--muted);
  margin: 0 0 1.5rem;
}

.kneads-testimonials__slider {
  margin: 0 0 0.5rem;
  --kneads-testimonials-gap: clamp(0.85rem, 2vw, 1.25rem);
  --kneads-testimonials-carousel-pad: clamp(1rem, 3vw, 1.75rem);
  --kneads-testimonials-carousel-pad-bottom: clamp(0.65rem, 2vw, 1rem);
}

.kneads-testimonials__viewport {
  overflow-x: hidden;
  overflow-y: visible;
  width: 100%;
  container-type: inline-size;
  container-name: kneads-testimonials;
  cursor: grab;
  touch-action: none;
  background-color: transparent;
  perspective: 1200px;
  perspective-origin: 50% 50%;
  /* Fully transparent strip at the boxed edge, then a short ramp to full visibility. */
  --kneads-testimonials-edge-inset: max(15px, 0.9375rem);
  --kneads-testimonials-edge-fade: clamp(1.25rem, 3.5vw, 2.5rem);
}

.kneads-testimonials__viewport:not(.kneads-testimonials__viewport--scroll) {
  mask-image: linear-gradient(
    to right,
    transparent 0,
    transparent var(--kneads-testimonials-edge-inset),
    #000 calc(var(--kneads-testimonials-edge-inset) + var(--kneads-testimonials-edge-fade)),
    #000
      calc(
        100% - var(--kneads-testimonials-edge-inset) - var(--kneads-testimonials-edge-fade)
      ),
    transparent calc(100% - var(--kneads-testimonials-edge-inset)),
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    transparent var(--kneads-testimonials-edge-inset),
    #000 calc(var(--kneads-testimonials-edge-inset) + var(--kneads-testimonials-edge-fade)),
    #000
      calc(
        100% - var(--kneads-testimonials-edge-inset) - var(--kneads-testimonials-edge-fade)
      ),
    transparent calc(100% - var(--kneads-testimonials-edge-inset)),
    transparent 100%
  );
}

.kneads-testimonials__viewport.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.kneads-testimonials__viewport.is-dragging .kneads-testimonials__card {
  pointer-events: none;
}

.kneads-testimonials__viewport--scroll {
  overflow-x: auto;
  mask-image: none;
  -webkit-mask-image: none;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.kneads-testimonials__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--kneads-testimonials-gap);
  width: max-content;
  will-change: transform;
  transform-style: preserve-3d;
  padding-top: var(--kneads-testimonials-carousel-pad);
  padding-bottom: var(--kneads-testimonials-carousel-pad-bottom);
}

.kneads-testimonials__track--loop {
  animation: kneads-testimonials-marquee var(--kneads-testimonials-duration, 45s) linear infinite;
}

.kneads-testimonials__slider:hover .kneads-testimonials__track--loop {
  animation-play-state: paused;
}

.kneads-service-related__slider:hover .kneads-testimonials__track--loop {
  animation-play-state: paused;
}

.kneads-testimonials__track--js {
  animation: none !important;
}

.kneads-testimonials__track--loop.is-paused {
  animation-play-state: paused;
}

@keyframes kneads-testimonials-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.kneads-testimonials__set {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--kneads-testimonials-gap);
  flex-shrink: 0;
}

.kneads-testimonials__slider .kneads-testimonials__card {
  flex: 0 0 calc(
    (100cqw - (var(--kneads-testimonials-visible) - 1) * var(--kneads-testimonials-gap)) /
      var(--kneads-testimonials-visible)
  );
  width: calc(
    (100cqw - (var(--kneads-testimonials-visible) - 1) * var(--kneads-testimonials-gap)) /
      var(--kneads-testimonials-visible)
  );
  max-width: 22rem;
  min-width: 0;
  flex-shrink: 0;
  scroll-snap-align: center;
  transform-style: preserve-3d;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.25s ease,
    box-shadow 0.35s ease;
  will-change: transform;
  box-shadow: none;
}

.kneads-testimonials__slider:not(.kneads-testimonials__slider--flat) .kneads-testimonials__card.is-elevated {
  z-index: 20;
  transform-style: flat;
  isolation: isolate;
  /* Even glow — no filter (avoids duplicate/ghost text with 3D). */
  box-shadow:
    0 0 0 1px rgba(44, 56, 34, 0.05),
    0 0 22px rgba(44, 56, 34, 0.1),
    -8px 0 18px rgba(44, 56, 34, 0.06),
    8px 0 18px rgba(44, 56, 34, 0.06),
    0 -4px 16px rgba(44, 56, 34, 0.05);
}

.kneads-testimonials__viewport--scroll .kneads-testimonials__track {
  width: auto;
  padding-bottom: 0.35rem;
}

/* Mobile: flat carousel, one review at a time */
@media (max-width: 767px) {
  .kneads-testimonials__slider--flat .kneads-testimonials__viewport {
    perspective: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    mask-image: none;
    -webkit-mask-image: none;
  }

  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__viewport {
    overflow: hidden;
    scroll-snap-type: none;
    touch-action: auto;
  }

  .icancook-layout-boxed .site-main section.kneads-testimonials > .kneads-testimonials__slider {
    margin-inline: 0;
    width: 100%;
    max-width: none;
    padding-inline: var(--service-page-sections-pad-inline-mobile, var(--service-page-sections-pad-inline, 1rem));
    box-sizing: border-box;
  }

  .kneads-testimonials__slider--flat .kneads-testimonials__track {
    padding-block: 0.75rem;
  }

  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__track,
  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__set {
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .kneads-testimonials__slider--flat .kneads-testimonials__card {
    flex: 0 0 calc(100cqw - 2.5rem);
    width: calc(100cqw - 2.5rem);
    max-width: none;
    transform: none !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__card {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    scroll-snap-align: none;
  }

  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__quote,
  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__quote p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  section.kneads-testimonials .kneads-testimonials__slider--flat .kneads-testimonials__card[hidden] {
    display: none !important;
  }

  .kneads-testimonials__slider--flat .kneads-testimonials__set {
    gap: var(--kneads-testimonials-gap);
  }

  .kneads-testimonials__slider--flat .kneads-testimonials__set[aria-hidden="true"] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kneads-testimonials__track--loop {
    animation: none;
  }

  .kneads-testimonials__viewport:not(.kneads-testimonials__viewport--scroll) {
    overflow-x: auto;
  }
}

.kneads-testimonials__card {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: clamp(1.35rem, 2.5vw, 1.75rem) clamp(1.1rem, 2vw, 1.35rem);
  border-radius: clamp(1rem, 2.2vw, 1.35rem);
  background-color: var(--kneads-testimonials-card-bg, var(--paper-2, #efe6d8));
  color: var(--ink);
  box-shadow: none;
  min-height: 100%;
}

.kneads-testimonials__card--accent {
  background-color: var(--kneads-testimonials-card-accent-bg, var(--deep, #2c3822));
  color: var(--white, #fffcf7);
  box-shadow: none;
}

.kneads-testimonials__badge {
  margin: 0 0 0.85rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(196, 163, 106, 0.35);
  color: var(--ink);
}

.kneads-testimonials__card--accent .kneads-testimonials__badge {
  background: rgba(255, 252, 247, 0.14);
  color: var(--white, #fffcf7);
}

.kneads-testimonials__stars {
  display: flex;
  gap: 0.15rem;
  margin: 0 0 1rem;
  color: var(--gold, #c4a36a);
  font-size: 1.05rem;
  line-height: 1;
}

.kneads-testimonials__card--accent .kneads-testimonials__stars {
  color: #e8c97a;
}

.kneads-testimonials__quote {
  margin: 0 0 1.25rem;
  flex: 1 1 auto;
  font-family: var(--serif);
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  line-height: 1.55;
  font-style: normal;
  font-weight: 500;}

.kneads-testimonials__quote p {
  margin: 0;
}

.kneads-testimonials__card--accent .kneads-testimonials__quote {
  color: rgba(255, 252, 247, 0.95);
}

.kneads-testimonials__meta {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: center;
}

.kneads-testimonials__author {
  font-weight: 600;
  font-size: 0.95rem;
}

.kneads-testimonials__source {
  font-size: 0.82rem;
  color: var(--muted);
}

.kneads-testimonials__card--accent .kneads-testimonials__source {
  color: rgba(255, 252, 247, 0.78);
}

.kneads-testimonials__actions {
  margin: 2rem 0 0;
  text-align: center;
}

.kneads-testimonials__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  padding: 0.75rem 1.35rem;
  font-family: var(--serif);
  font-weight: 500;
}

.kneads-testimonials__btn-icon {
  flex-shrink: 0;
}

.cards,
.quotes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.card,
.quote,
.contact-panel {
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.25rem;
  box-shadow: var(--shadow);
}

.card h3 { margin-top: 0; }
.card h3 a { text-decoration: none; color: inherit; }

.kneads-service-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.25rem;
  padding: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.kneads-service-tabs__tab {
  appearance: none;
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 -1px;
  padding: 0.55rem 0.85rem;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted, #5c5c5c);
  font-weight: 600;
  border-radius: 0;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.kneads-service-tabs__tab:hover,
.kneads-service-tabs__tab:focus-visible {
  color: var(--ink, #1a1a1a);
}

.kneads-service-tabs__tab.is-active {
  color: var(--olive, #4a5d3f);
  border-bottom-color: var(--gold, #c7a76a);
}

.kneads-service-tabs__count {
  font-size: 0.78em;
  font-weight: 600;
  opacity: 0.75;
}

.kneads-service-tabs__panel:not(.is-active) {
  display: none;
}

.kneads-service-tabs--links .kneads-service-tabs__nav {
  margin-bottom: 0.85rem;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.kneads-service-tabs--links .kneads-service-tabs__tab {
  padding: 0.4rem 0.55rem;
  font-size: 0.92rem;
}

.icancook-footer .kneads-service-tabs__tab.is-active {
  color: var(--footer-heading-color, #fff);
  border-bottom-color: var(--gold, #c7a76a);
}

.section--split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}

.kneads-about-eli {
  position: relative;
  overflow: hidden;
  background: var(--kneads-about-bg, #fcf9f5);
  padding-top: clamp(2.5rem, 4.5vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 3.5rem);
}

.kneads-about-eli::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(46%, 380px);
  height: min(92%, 520px);
  background-image: var(--kneads-about-deco-image);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  opacity: var(--kneads-about-deco-opacity, 0.38);
  pointer-events: none;
  z-index: 0;
}

.kneads-about-eli__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 3.5vw, 3.25rem);
  align-items: center;
  max-width: var(--max, 1120px);
  margin-inline: auto;
}

.kneads-about-eli__inner > * {
  min-width: 0;
}

.kneads-about-eli__media {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  margin: 0;
  line-height: 0;
}

.kneads-about-eli__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center 22%;
  aspect-ratio: 547 / 420;
  border-radius: 20px;
}

.kneads-about-eli__content {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  align-self: end;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding-block: 0.35rem;
  padding-right: clamp(0rem, 4vw, 3rem);
}

.kneads-about-eli__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  margin: 0 0 1.1rem;
}

.kneads-about-eli__eyebrow {
  margin: 0;
  flex-shrink: 0;
  line-height: 1.3;
  text-transform: uppercase;
}

.kneads-about-eli__eyebrow-line {
  flex: 1;
  height: 1px;
  background: var(--kneads-about-accent, #b99772);
  opacity: 0.85;
  min-width: 2rem;
}

.kneads-about-eli__heading {
  font-family: var(--serif);
  font-size: clamp(1.7rem, 1.05rem + 1.55vw, 2.55rem);
  font-weight: 500;
  margin: 0 0 1.15rem;
  line-height: 1.12;
  color: var(--deep, #28362d);
  width: 100%;
  max-width: 100%;
  text-wrap: balance;
}

.kneads-about-eli__text {
  margin: 0;
  color: #555555;
  font-size: 1rem;
  line-height: 1.8;
  max-width: 100%;
}

.kneads-about-eli__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.35rem;
  width: 100%;
  max-width: 100%;
  margin-top: clamp(1.65rem, 2.8vw, 2.15rem);
}

.kneads-about-eli__btn {
  display: none;
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  align-self: start;
  margin-top: clamp(1.65rem, 2.8vw, 2.15rem);
  border-radius: var(--kneads-about-btn-radius, 5px);
  padding: 0.82rem 1.55rem;
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.kneads-about-eli__btn.btn--primary {
  background: var(--kneads-about-btn-bg, var(--icancook-btn-bg, #28362d));
  color: var(--kneads-about-btn-color, var(--icancook-btn-color, var(--white)));
}

.kneads-about-eli__btn.btn--primary:hover,
.kneads-about-eli__btn.btn--primary:focus-visible {
  background: var(--kneads-about-btn-bg-hover, var(--icancook-btn-bg-hover, var(--deep)));
  color: var(--kneads-about-btn-color-hover, var(--icancook-btn-color-hover, var(--white)));
}

.kneads-about-eli__btn.btn--ghost {
  background: transparent;
  color: var(--kneads-about-btn-bg, var(--icancook-btn-bg, var(--deep)));
  border-color: var(--kneads-about-btn-bg, var(--icancook-btn-bg, var(--deep)));
}

.kneads-about-eli__btn.btn--ghost:hover,
.kneads-about-eli__btn.btn--ghost:focus-visible {
  background: var(--kneads-about-btn-bg, var(--icancook-btn-bg, var(--deep)));
  color: var(--kneads-about-btn-color, var(--icancook-btn-color, var(--white)));
}

.kneads-about-eli__signature {
  text-align: left;
}

.kneads-about-eli__sign-name {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0 0 0.45rem;
  line-height: 1;
}

.kneads-about-eli__sign-script {
  font-family: var(--kneads-about-sig-family, "Great Vibes", cursive);
  font-size: clamp(2.35rem, 3.2vw, 3rem);
  font-weight: 400;
  line-height: 1;
  color: var(--deep, #28362d);
}

.kneads-about-eli__sign-heart {
  display: inline-block;
  width: auto;
  height: 1.2em;
  max-height: 24px;
  transform: translateY(5px);
}

.kneads-about-eli__creds {
  margin: 0;
  max-width: 22rem;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.55;
  text-transform: uppercase;
  color: var(--deep, #28362d);
}

@media (max-width: 820px) {
  .kneads-about-eli__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .kneads-about-eli__media,
  .kneads-about-eli__content,
  .kneads-about-eli__btn {
    grid-column: 1;
    grid-row: auto;
  }

  .kneads-about-eli__content {
    align-self: start;
    padding-right: 0;
  }

  .kneads-about-eli__btn {
    justify-self: start;
  }

  .kneads-about-eli::after {
    width: min(52%, 260px);
    height: min(70%, 320px);
    opacity: calc(var(--kneads-about-deco-opacity, 0.38) * 0.9);
  }

  .kneads-about-eli__img {
    aspect-ratio: 16 / 11;
    object-position: center 22%;
  }
}

@media (max-width: 720px) {
  .kneads-about-eli__media {
    display: none;
  }
}

@media (max-width: 767px) {
  .home-blocks > .kneads-about-eli,
  .home-blocks > .wp-block-kneads-testimonials,
  .home-blocks > .wp-block-kneads-testimonials > section.kneads-testimonials,
  .home-blocks > section.kneads-testimonials,
  .home-blocks > .wp-block-kneads-faq-list,
  .home-blocks > .wp-block-kneads-faq-list > .kneads-faq-section,
  .home-blocks > section.kneads-faq-section {
    background: #f7f2ea;
    background-image: none;
  }

  .home-blocks > .kneads-about-eli {
    padding-bottom: 0.35rem;
  }

  .home-blocks > .kneads-about-eli::after {
    width: min(42%, 150px);
    height: 150px;
    bottom: 0.25rem;
    opacity: 0.55;
  }

  .home-blocks .kneads-about-eli__actions {
    display: block;
    margin-top: 1rem;
  }

  .home-blocks .kneads-about-eli__signature {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 0.7rem;
  }

  .home-blocks .kneads-about-eli__sign-name {
    margin: 0;
  }

  .home-blocks .kneads-about-eli__sign-script {
    font-size: 2.65rem;
  }

  .home-blocks .kneads-about-eli__sign-heart {
    display: none;
  }

  .home-blocks .kneads-about-eli__creds {
    max-width: 11.5rem;
    margin: 0;
    font-size: 0.58rem;
    letter-spacing: 0.11em;
    line-height: 1.45;
  }

  .home-blocks .kneads-about-eli__btn {
    width: max-content;
    margin-top: 0.7rem;
    padding: 0.62rem 1.15rem;
    border-radius: 999px;
    font-family: var(--sans, "DM Sans", sans-serif);
    font-size: 0.95rem;
    font-weight: 600;
  }

  .home-blocks .kneads-about-eli__btn.btn--primary,
  .home-blocks .kneads-about-eli__btn.btn--ghost {
    background: #1b3024;
    color: #fffdf8;
    border-color: #1b3024;
    border-radius: 999px;
  }

  .home-blocks section.kneads-testimonials {
    padding-top: 0.85rem;
    padding-bottom: 0.35rem;
  }

  .home-blocks section.kneads-testimonials::before {
    display: none;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__header,
  .home-blocks section.kneads-testimonials .kneads-testimonials__actions,
  .home-blocks section.kneads-testimonials .kneads-testimonials__badge,
  .home-blocks section.kneads-testimonials .kneads-testimonials__source {
    display: none;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__card,
  .home-blocks section.kneads-testimonials .kneads-testimonials__card--accent {
    background: #f3eee4;
    color: #314038;
    border-radius: 18px;
    box-shadow: none;
    padding: 1.2rem 1.15rem 1.05rem;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__stars,
  .home-blocks section.kneads-testimonials .kneads-testimonials__card--accent .kneads-testimonials__stars {
    justify-content: center;
    gap: 0.28rem;
    margin: 0 0 0.8rem;
    color: #c6a56a;
    font-size: 1.05rem;
    letter-spacing: 0;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__quote,
  .home-blocks section.kneads-testimonials .kneads-testimonials__card--accent .kneads-testimonials__quote {
    margin: 0 0 0.85rem;
    color: #3c4840;
    font-family: var(--sans, "DM Sans", sans-serif);
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.55;
    quotes: "“" "”";
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__quote:not(:has(p))::before,
  .home-blocks section.kneads-testimonials .kneads-testimonials__quote p::before {
    content: open-quote;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__quote:not(:has(p))::after,
  .home-blocks section.kneads-testimonials .kneads-testimonials__quote p::after {
    content: close-quote;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__author {
    font-size: 0.95rem;
    font-weight: 500;
    color: #3c4840;
  }

  .home-blocks section.kneads-testimonials .kneads-testimonials__author::before {
    content: "— ";
  }

  .home-blocks .kneads-faq-section {
    padding-top: 0.85rem;
    background: #f7f2ea;
  }

  .home-blocks .kneads-faq-section__aside {
    display: none;
  }
}

@media (max-width: 480px) {
  .kneads-about-eli__btn {
    white-space: normal;
    text-align: center;
  }
}

/* Tablet About: photo and copy stay side by side, with a gold frame around Eli. */
@media (min-width: 721px) and (max-width: 1199px) {
  .kneads-about-eli__inner {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: clamp(1.15rem, 2.8vw, 2rem);
    row-gap: 0;
    align-items: start;
  }

  .kneads-about-eli__media {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    position: relative;
    margin: 0.2rem 0.85rem 0;
    border-radius: 1.15rem;
    overflow: hidden;
    outline: 1.5px solid var(--kneads-about-accent, #c4a36a);
    outline-offset: 0.7rem;
  }

  .kneads-about-eli__content {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  .kneads-about-eli__img {
    aspect-ratio: 5 / 6;
    border-radius: 0;
    object-position: 40% 30%;
    transform: scale(1.08);
    transform-origin: 42% 40%;
  }

  .kneads-about-eli__content {
    padding-right: 0;
    padding-block: 0;
  }

  .kneads-about-eli__heading {
    font-size: clamp(2.05rem, 3.6vw, 2.75rem);
    max-width: 16ch;
  }

  .kneads-about-eli::after {
    top: 0;
    bottom: 0;
    width: min(40%, 300px);
    height: auto;
    background-position: right center;
  }
}

.plain-list { padding-left: 1.1rem; }

.quote blockquote { margin: 0 0 0.75rem; font-family: var(--serif); font-size: 1.05rem;
  font-weight: 500;}
.quote figcaption { color: var(--muted); font-weight: 600; }

/* —— FAQ section (homepage, FAQ page, services) —— */
.kneads-faq-section {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.kneads-faq-section__header {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 2.25rem;
}

.kneads-faq-section__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.kneads-faq-section__eyebrow-line {
  flex: 1 1 3rem;
  max-width: 4.5rem;
  height: 1px;
  background: var(--gold, #c4a36a);
  opacity: 0.85;
}

.kneads-faq-section__title {
  margin: 0 0 0.65rem;
  color: var(--deep, #2c3822);
}

.kneads-faq-section__intro {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--muted, #5f6560);
}

.kneads-faq-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
  max-width: var(--max, 1120px);
  margin-inline: auto;
}

.kneads-faq-section__grid--solo {
  grid-template-columns: 1fr;
  max-width: 48rem;
  margin: 0 auto;
}

.kneads-faq-section__view-all {
  margin: 1.35rem 0 0;
  text-align: center;
}

.kneads-faq-section__view-all a {
  font-weight: 600;
  color: var(--deep, #2c3822);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.kneads-faq-section__view-all a:hover,
.kneads-faq-section__view-all a:focus-visible {
  color: var(--gold, #c4a36a);
  border-bottom-color: currentColor;
}

.kneads-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.kneads-faq-accordion__item {
  background: var(--white, #fffcf7);
  border: 1px solid rgba(44, 56, 34, 0.08);
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(26, 31, 28, 0.06);
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.kneads-faq-accordion__item[open] {
  border-left: 4px solid var(--deep, #2c3822);
  box-shadow: 0 4px 18px rgba(26, 31, 28, 0.08);
}

.kneads-faq-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.15rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--deep, #2c3822);
}

.kneads-faq-accordion__summary::-webkit-details-marker {
  display: none;
}

.kneads-faq-accordion__question {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.kneads-faq-accordion__toggle {
  flex-shrink: 0;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: var(--gold, #c4a36a);
  color: var(--deep, #2c3822);
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.kneads-faq-accordion__toggle::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.1rem);
}

.kneads-faq-accordion__item[open] .kneads-faq-accordion__toggle::before {
  transform: rotate(-135deg) translateY(-0.05rem);
}

.kneads-faq-accordion__answer {
  padding: 0 1.15rem 1.15rem 1.15rem;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--muted, #5f6560);
}

.kneads-faq-accordion__answer p:first-child {
  margin-top: 0;
}

.kneads-faq-accordion__answer p:last-child {
  margin-bottom: 0;
}

.kneads-faq-help {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
  min-height: 100%;
}

.kneads-faq-help::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--kneads-faq-help-bg);
  background-size: cover;
  background-position: center;
  opacity: 0.22;
  pointer-events: none;
}

.kneads-faq-help__inner {
  position: relative;
  z-index: 1;
  padding: 1.65rem 1.5rem 1.5rem;
}

.kneads-faq-help__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.kneads-faq-help__title {
  margin: 0 0 0.65rem;
  color: inherit;
}

.kneads-faq-help__text {
  margin: 0 0 1.15rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255, 252, 247, 0.92);
}

.kneads-faq-help__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--gold, #c4a36a) !important;
  border-color: var(--gold, #c4a36a) !important;
  color: var(--deep, #2c3822) !important;
  font-weight: 700;
  padding: 0.65rem 1.15rem;
  border-radius: 999px;
}

.kneads-faq-help__btn:hover,
.kneads-faq-help__btn:focus-visible {
  filter: brightness(1.05);
}

/* FAQ page: rectangular CTAs (not theme pill .btn radius) */
.kneads-faq-page .kneads-faq-help__btn.btn {
  border-radius: 8px;
  padding: 0.65rem 1.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  border: none;
  box-shadow: none;
}

.kneads-faq-help__note {
  margin: 0.85rem 0 0;
  font-size: 0.82rem;
  color: rgba(255, 252, 247, 0.75);
}

@media (max-width: 900px) {
  .kneads-faq-section__grid {
    grid-template-columns: 1fr;
  }

  .kneads-faq-section__aside {
    order: 2;
  }
}

/* —— FAQ page (full layout) —— */
.page-content--faq {
  padding-top: 0;
}

.page-content--faq .prose--faq:not(:has(> *)) {
  display: none;
}

.kneads-faq-page {
  position: relative;
  overflow: hidden;
  background: var(--paper, #f9f7f2);
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
  padding-inline: var(--site-main-pad-inline, 2rem);
}

.kneads-faq-page__decor {
  pointer-events: none;
  position: absolute;
  width: min(220px, 28vw);
  height: min(280px, 36vw);
  opacity: 0.35;
  background-image: var(--kneads-faq-page-floral);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}

.kneads-faq-page__decor--left {
  top: 0.5rem;
  left: 0;
  background-position: left top;
}

.kneads-faq-page__decor--right {
  top: 0.5rem;
  right: 0;
  background-position: right top;
  transform: scaleX(-1);
}

.kneads-faq-page__inner {
  position: relative;
  z-index: 1;
  max-width: var(--max, 1120px);
  margin-inline: auto;
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}

.kneads-faq-page__header {
  max-width: 56rem;
  margin-inline: auto;
}

.kneads-faq-page__title {
  text-align: center;
  white-space: nowrap;
  font-size: clamp(1.55rem, 2.75vw, 2.65rem);
  max-width: 100%;
  margin-inline: auto;
}

.kneads-faq-page__group {
  margin-bottom: 1.75rem;
}

.kneads-faq-page__group:last-child {
  margin-bottom: 0;
}

.kneads-faq-page__group-title {
  margin: 0 0 0.85rem;
  color: var(--deep, #2c3822);
}

.kneads-faq-page__group[hidden] {
  display: none !important;
}

.service-page--blocks .service-page__blocks,
.service-page--blocks .service-page__blocks.prose {
  max-width: none;
  width: 100%;
}

/* Service page block template (import layout) */
.service-page--blocks .kneads-svc-tpl-section {
  padding: 2.5rem 0;
}

.service-page--blocks .kneads-svc-tpl-section h2 {
  font-family: var(--serif);
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  color: var(--deep, #2c3822);
  margin: 0 0 1rem;
  font-weight: 500;}

.service-page--blocks .kneads-svc-tpl-section h3 {
  font-family: var(--serif);
  font-size: 1.15rem;
  color: var(--deep, #2c3822);
  margin: 0 0 0.65rem;
  font-weight: 500;}

.service-page--blocks .kneads-svc-tpl-hero__media {
  position: relative;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(26, 31, 28, 0.12);
}

.service-page--blocks .kneads-svc-tpl-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.service-page--blocks .kneads-svc-tpl-hero__chip {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  margin: 0;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  background: rgba(255, 252, 247, 0.94);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--deep, #2c3822);
}

.service-page--blocks .kneads-svc-tpl-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 1.5rem;
  align-items: start;
}

.service-page--blocks .kneads-svc-tpl-overview__aside {
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  background: rgba(196, 163, 106, 0.18);
  border: 1px solid rgba(44, 56, 34, 0.08);
}

.service-page--blocks .kneads-svc-tpl-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-page--blocks .kneads-svc-tpl-checklist li {
  position: relative;
  padding-left: 1.35rem;
  margin-bottom: 0.45rem;
  color: var(--muted, #5f6560);
  line-height: 1.45;
}

.service-page--blocks .kneads-svc-tpl-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--gold, #c4a36a);
  font-weight: 700;
}

.service-page--blocks .kneads-svc-tpl-benefits__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.service-page--blocks .kneads-svc-tpl-benefits__item {
  padding: 1rem;
  border-radius: 10px;
  background: var(--white, #fffcf7);
  border: 1px solid rgba(44, 56, 34, 0.1);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--deep, #2c3822);
  text-align: center;
}

.service-page--blocks .kneads-svc-tpl-ideal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.service-page--blocks .kneads-svc-tpl-steps {
  background: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
  padding-inline: var(--site-main-pad-inline, 2rem);
  margin-inline: calc(-1 * var(--site-main-pad-inline, 2rem));
  width: calc(100% + (2 * var(--site-main-pad-inline, 2rem)));
}

.service-page--blocks .kneads-svc-tpl-steps h2 {
  color: inherit;
}

.service-page--blocks .kneads-svc-tpl-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: svc-step;
}

.service-page--blocks .kneads-svc-tpl-steps__list li {
  padding: 1rem;
  border-radius: 10px;
  background: rgba(255, 252, 247, 0.08);
  border: 1px solid rgba(255, 252, 247, 0.12);
}

.service-page--blocks .kneads-svc-tpl-steps__list li strong {
  display: block;
  margin-bottom: 0.35rem;
}

.service-page--blocks .kneads-svc-tpl-steps__list li span {
  display: block;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(255, 252, 247, 0.88);
}

.service-page--blocks .kneads-svc-tpl-pricing__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 42rem;
  margin: 1rem 0;
}

.service-page--blocks .kneads-svc-tpl-pricing__card {
  padding: 1.35rem;
  border-radius: 12px;
  background: var(--white, #fffcf7);
  border: 1px solid rgba(44, 56, 34, 0.12);
  box-shadow: 0 4px 18px rgba(26, 31, 28, 0.06);
}

.service-page--blocks .kneads-svc-tpl-pricing__price {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--deep, #2c3822);
  margin: 0.35rem 0 1rem;
}

.service-page--blocks .kneads-svc-tpl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.25rem;
  border-radius: 8px;
  background: var(--gold, #c4a36a);
  color: var(--deep, #2c3822);
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .service-page--blocks .gb-element[class*="gridTemplateColumns"],
  .service-page--blocks .kneads-svc-tpl-overview__grid,
  .service-page--blocks .kneads-svc-tpl-ideal__grid,
  .service-page--blocks .kneads-svc-tpl-benefits__grid,
  .service-page--blocks .kneads-svc-tpl-steps__list,
  .service-page--blocks .kneads-svc-tpl-pricing__cards {
    grid-template-columns: 1fr;
  }
}

.kneads-faq-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  margin: 0 0 2rem;
}

.kneads-faq-page__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.kneads-faq-page__filter {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(44, 56, 34, 0.22);
  background: var(--white, #fffcf7);
  color: var(--deep, #2c3822);
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  min-height: 2.35rem;
  padding: 0 1.25rem;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.kneads-faq-page__filter:hover,
.kneads-faq-page__filter:focus-visible {
  border-color: var(--deep, #2c3822);
}

.kneads-faq-page__filter.is-active {
  background: var(--deep, #2c3822);
  border-color: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
}

.kneads-faq-page__search {
  position: relative;
  flex: 1 1 220px;
  max-width: 320px;
  margin-left: auto;
}

.kneads-faq-page__search-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(44, 56, 34, 0.12);
  border-radius: 999px;
  background: var(--white, #fffcf7);
  padding: 0.6rem 2.5rem 0.6rem 1rem;
  font: inherit;
  font-size: 0.92rem;
  color: var(--deep, #2c3822);
  box-shadow: 0 2px 10px rgba(26, 31, 28, 0.05);
}

.kneads-faq-page__search-input::placeholder {
  color: var(--muted, #5f6560);
  opacity: 0.85;
}

.kneads-faq-page__search-icon {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted, #5f6560);
  pointer-events: none;
  display: flex;
}

.kneads-faq-page__body.kneads-faq-section__grid {
  max-width: none;
}

.kneads-faq-page__list-title {
  margin: 0 0 1rem;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 500;
  color: var(--deep, #2c3822);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
}

.kneads-faq-page__list-count {
  font-family: var(--font, "DM Sans", "Segoe UI", Arial, sans-serif);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--muted, #5f6560);
}

.kneads-faq-page .kneads-faq-accordion__item.is-hidden {
  display: none;
}

.kneads-faq-page .kneads-faq-accordion__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(44, 56, 34, 0.1);
}

.kneads-faq-page .kneads-faq-accordion__action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.65rem 1.35rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: none;
  box-shadow: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.kneads-faq-page .kneads-faq-accordion__action-link.primary {
  background: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
}

.kneads-faq-page .kneads-faq-accordion__action-link.primary:hover,
.kneads-faq-page .kneads-faq-accordion__action-link.primary:focus-visible {
  background: #1b2419;
  color: var(--white, #fffcf7);
}

.kneads-faq-page .kneads-faq-accordion__action-link.ghost {
  background: var(--deep, #2c3822);
  color: var(--white, #fffcf7);
}

.kneads-faq-page .kneads-faq-accordion__action-link.ghost:hover,
.kneads-faq-page .kneads-faq-accordion__action-link.ghost:focus-visible {
  background: #1b2419;
  color: var(--white, #fffcf7);
}

.kneads-faq-page .kneads-faq-accordion__action-arrow {
  font-size: 1em;
  line-height: 1;
  opacity: 0.95;
}

.kneads-faq-page__empty {
  margin: 1rem 0 0;
  font-size: 0.95rem;
  color: var(--muted, #5f6560);
}

.kneads-faq-help--page {
  min-height: 100%;
}

.kneads-faq-help__call {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 252, 247, 0.18);
}

.kneads-faq-help__call-label {
  margin: 0 0 0.5rem;
  font-size: 0.82rem;
  color: rgba(255, 252, 247, 0.78);
}

.kneads-faq-help__call-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  color: var(--gold, #c4a36a);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kneads-faq-help__call-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(196, 163, 106, 0.2);
  color: var(--gold, #c4a36a);
}

.kneads-faq-page__intake {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  margin-top: 2.25rem;
  padding: 1.15rem 1.35rem;
  background: rgba(196, 163, 106, 0.22);
  border-radius: 14px;
}

.kneads-faq-page__intake-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(196, 163, 106, 0.35);
  color: var(--deep, #2c3822);
}

.kneads-faq-page__intake-copy {
  flex: 1 1 12rem;
  min-width: 0;
}

.kneads-faq-page__intake-title {
  margin: 0;
  font-weight: 700;
  font-size: 1rem;
  color: var(--deep, #2c3822);
}

.kneads-faq-page__intake-text {
  margin: 0.15rem 0 0;
  font-size: 0.92rem;
  color: var(--muted, #5f6560);
}

.kneads-faq-page__intake-action {
  margin: 0;
  margin-left: auto;
}

.kneads-faq-page__intake-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.65rem 1.35rem;
  border-radius: 8px;
  border: 1px solid rgba(44, 56, 34, 0.25);
  background: var(--white, #fffcf7);
  color: var(--deep, #2c3822);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.kneads-faq-page__intake-btn:hover,
.kneads-faq-page__intake-btn:focus-visible {
  border-color: var(--deep, #2c3822);
  background: var(--paper-2, #f3efe6);
}

.kneads-faq-page__footnote {
  margin: 1.75rem 0 0;
  text-align: center;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--muted, #5f6560);
}

@media (max-width: 640px) {
  .kneads-faq-page__title {
    white-space: normal;
    font-size: clamp(1.45rem, 6vw, 2rem);
  }
}

@media (max-width: 900px) {
  .kneads-faq-page__search {
    max-width: none;
    width: 100%;
    margin-left: 0;
  }

  .kneads-faq-page__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
    max-width: 100%;
  }

  .kneads-faq-page__intake-action {
    margin-left: 0;
    width: 100%;
  }

  .kneads-faq-page__intake-btn {
    width: 100%;
    justify-content: center;
  }
}

.section--cta {
  text-align: center;
  background: var(--paper-2);
  border-radius: var(--radius);
  padding: 2.5rem 1.25rem;
}

.kneads-cta.section--cta {
  text-align: left;
  border-radius: 0;
  padding: 2.5rem 0;
  --kneads-cta-accent: var(--gold, #c4a36a);
}

.kneads-cta {
  position: relative;
  overflow: hidden;
  background: var(--kneads-cta-bg, var(--paper-2));
  color: var(--kneads-cta-color, inherit);
}

.kneads-cta__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.kneads-cta__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.kneads-cta__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2.5vw, 2.25rem);
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 2.25rem clamp(1.25rem, 6vw, 120px);
  border-top: 1px solid var(--kneads-cta-accent, var(--gold, #c4a36a));
  border-bottom: 1px solid var(--kneads-cta-accent, var(--gold, #c4a36a));
  box-sizing: border-box;
}

.kneads-cta__body {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  flex: 1 1 auto;
  min-width: 0;
}

.kneads-cta__lead-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c7a76a;
  line-height: 0;
}

.kneads-cta__lead-icon-svg,
.kneads-cta__lead-icon .kneads-icon {
  width: clamp(2.5rem, 4vw, 3.25rem);
  height: clamp(2.5rem, 4vw, 3.25rem);
  color: #c7a76a;
}

.kneads-cta__copy {
  flex: 1 1 auto;
  min-width: 0;
}

.kneads-cta__aside {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.85rem;
  text-align: right;
}

.kneads-cta__actions {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.kneads-cta__actions .kneads-cta__btn {
  width: auto;
  flex: 0 0 auto;
}

.kneads-cta .kneads-cta__btn--secondary {
  background: transparent;
  color: var(--white, #fffcf7);
  border: 1px solid rgba(255, 252, 247, 0.88);
  border-radius: 999px;
  padding: 0.85rem 1.45rem;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.05rem;
  white-space: nowrap;
  text-decoration: none;
}

.kneads-cta .kneads-cta__btn--secondary:hover,
.kneads-cta .kneads-cta__btn--secondary:focus-visible {
  background: rgba(255, 252, 247, 0.08);
  color: var(--white, #fffcf7);
  border-color: var(--white, #fffcf7);
}

.kneads-cta__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 1rem;
  max-width: 100%;
}

.kneads-cta__eyebrow-line {
  flex: 0 0 clamp(1.5rem, 4vw, 2.75rem);
  height: 1px;
  background: var(--kneads-cta-accent, var(--gold, #c4a36a));
  opacity: 0.95;
}

.kneads-cta__eyebrow-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-transform: uppercase;
  line-height: 1.2;
}

.kneads-cta__eyebrow-icon {
  flex-shrink: 0;
  opacity: 0.95;
}

.kneads-cta__heading {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 0.65rem;
  color: var(--kneads-cta-heading-color, var(--white, #fffcf7));
}

.kneads-cta__text {
  margin: 0;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.55;
  max-width: 40rem;
  color: var(--kneads-cta-body-color, rgba(255, 252, 247, 0.92));
}

.kneads-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border-radius: 999px;
  padding: 0.85rem 1.45rem;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.05rem;
  white-space: nowrap;
  text-decoration: none;
}

.kneads-cta__btn-icon {
  flex-shrink: 0;
}

.kneads-cta__secondary {
  display: inline-block;
  color: var(--kneads-cta-accent, var(--gold, #c4a36a));
  font-size: 0.98rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

.kneads-cta__secondary:hover,
.kneads-cta__secondary:focus-visible {
  color: var(--white, #fffcf7);
}

.kneads-cta .kneads-cta__btn.btn--primary {
  background: var(--kneads-cta-accent, var(--gold, #c7a76a)) !important;
  color: #24312b !important;
  border: 1px solid transparent !important;
}

.kneads-cta .kneads-cta__btn.btn--primary:hover,
.kneads-cta .kneads-cta__btn.btn--primary:focus-visible {
  background: #d4b57a;
  color: #1b2419;
}

.kneads-cta .kneads-cta__btn.btn--ghost {
  border-color: var(--kneads-cta-accent, var(--gold, #c4a36a));
  color: var(--kneads-cta-accent, var(--gold, #c4a36a));
  background: transparent;
}

.kneads-cta--has-image .kneads-cta__heading,
.kneads-cta--has-image .kneads-cta__text {
  color: var(--kneads-cta-heading-color, var(--kneads-cta-color, var(--white, #fffcf7)));
}

.kneads-cta--has-image .kneads-cta__text {
  color: var(--kneads-cta-body-color, rgba(255, 252, 247, 0.92));
}

.kneads-cta[style*="--kneads-cta-color"] .kneads-cta__heading,
.kneads-cta[style*="--kneads-cta-color"] .kneads-cta__text {
  color: var(--kneads-cta-color);
}

@media (max-width: 900px) {
  .kneads-cta__inner {
    padding-inline: clamp(1.25rem, 6vw, 2.5rem);
  }
}

@media (max-width: 720px) {
  .kneads-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .kneads-cta__body {
    align-items: flex-start;
    width: 100%;
  }

  .kneads-cta__lead-icon {
    display: none;
  }

  .kneads-cta__aside {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .kneads-cta__actions {
    justify-content: center;
    width: 100%;
  }

  .kneads-cta__btn,
  .kneads-cta__btn--secondary {
    width: auto;
    max-width: 100%;
    white-space: normal;
  }

  .kneads-cta__secondary {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .home-blocks > .kneads-cta .kneads-cta__btn--secondary {
    display: none;
  }
}

/* Tablet guidance: eyebrow across the top, heading on the left, note and buttons on the right. */
@media (min-width: 721px) and (max-width: 1199px) {
  .icancook-layout-boxed .site-main .home-blocks > .kneads-cta.section--cta {
    padding-inline: clamp(1.15rem, 3vw, 2rem);
  }

  .home-blocks > .kneads-cta .kneads-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(1.25rem, 3vw, 2.25rem);
    row-gap: 0.85rem;
    align-items: start;
    padding-inline: 0.35rem;
  }

  .home-blocks > .kneads-cta .kneads-cta__body,
  .home-blocks > .kneads-cta .kneads-cta__copy {
    display: contents;
  }

  .home-blocks > .kneads-cta .kneads-cta__eyebrow-row {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-content: center;
    margin: 0 0 0.65rem;
  }

  .home-blocks > .kneads-cta .kneads-cta__eyebrow-line {
    flex: 1 1 3.25rem;
    max-width: 5.5rem;
  }

  .home-blocks > .kneads-cta .kneads-cta__heading {
    grid-column: 1;
    grid-row: 2 / 5;
    align-self: center;
    margin: 0;
    font-size: clamp(1.85rem, 3.5vw, 2.65rem);
    line-height: 1.15;
  }

  .home-blocks > .kneads-cta .kneads-cta__lead-icon {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }

  .home-blocks > .kneads-cta .kneads-cta__text {
    grid-column: 2;
    grid-row: 3;
    max-width: 28rem;
  }

  .home-blocks > .kneads-cta .kneads-cta__aside {
    grid-column: 2;
    grid-row: 4;
    align-items: flex-start;
    text-align: left;
    width: auto;
  }

  .home-blocks > .kneads-cta .kneads-cta__actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .home-blocks > .kneads-cta .kneads-cta__btn,
  .home-blocks > .kneads-cta .kneads-cta__btn--secondary {
    font-size: 0.98rem;
    padding: 0.72rem 1.05rem;
    white-space: nowrap;
  }
}

.page-header { padding-top: 2.5rem; }
.prose { max-width: 46rem; }
.prose p { margin: 0 0 1rem; }
.price { font-weight: 700; color: var(--olive); }

.site-footer {
  padding: 3rem 0 5rem;
  color: var(--muted);
}

.icancook-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.icancook-footer .site-footer__main,
.icancook-footer .site-footer__bottom {
  padding-inline: var(--icancook-chrome-pad-inline, 1.25rem);
  box-sizing: border-box;
}

/* Floating CTA card — sits between main content and footer columns. */
.icancook-footer-cta {
  position: relative;
  z-index: 6;
  width: auto;
  max-width: none;
  margin: -3.75rem var(--icancook-chrome-pad-inline, 1.25rem) -2.25rem;
  box-sizing: border-box;
}

.icancook-footer-cta__shell {
  padding: 0;
}

.icancook-footer-cta .site-footer__cta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.75rem;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 1.65rem 1.85rem;
  border: 6px solid var(--paper, #fffcf7);
  border-radius: 16px;
  box-shadow:
    0 0 0 1px rgba(26, 31, 28, 0.06),
    0 18px 50px rgba(26, 31, 28, 0.2);
  transition: box-shadow 0.22s ease;
}

.icancook-footer-cta .site-footer__cta-copy,
.icancook-footer-cta .site-footer__cta-action {
  position: relative;
  z-index: 1;
}

.icancook-footer-cta .site-footer__cta-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.icancook-footer-cta .site-footer__cta-action {
  flex: 0 0 auto;
  margin: 0 0 0 auto;
}

.icancook-footer-cta .site-footer__cta-note {
  margin: 0.7rem 0 0;
  font-size: 0.95rem;
  line-height: 1.45;
}

.icancook-footer-cta .site-footer__cta-note a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

@media (max-width: 720px) {
  .icancook-footer-cta .site-footer__cta {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .icancook-footer-cta .site-footer__cta-action {
    margin-left: 0;
  }
}

.icancook-footer-cta .site-footer__cta:has(.btn:hover),
.icancook-footer-cta .site-footer__cta:has(.btn:focus-visible) {
  box-shadow:
    0 0 0 1px rgba(26, 31, 28, 0.06),
    0 22px 56px rgba(26, 31, 28, 0.24);
}

.icancook-footer-cta .site-footer__cta .btn {
  border-radius: 10px;
  padding: 0.85rem 1.35rem;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(26, 31, 28, 0.12);
  border: 0;
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.icancook-footer-cta .site-footer__cta .btn:is(:hover, :focus-visible) {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(26, 31, 28, 0.2);
}

body.icancook-has-footer-cta .site-main {
  padding-bottom: 2.5rem;
}

.icancook-footer-cta + .icancook-footer .site-footer__main {
  padding-top: 4.25rem;
}

.icancook-footer .site-footer__main {
  padding-block: 2.5rem;
}

.icancook-footer .site-footer__grid {
  grid-template-columns: repeat(var(--footer-cols, 3), minmax(0, 1fr));
  align-items: start;
  gap: 2rem;
}

/* Four footer columns: brand ~35%, link columns share remaining 65% equally. */
@media (min-width: 1101px) {
  .icancook-footer .site-footer__grid:has(.site-footer__col--4) {
    grid-template-columns:
      minmax(0, 35fr)
      minmax(0, 21.666667fr)
      minmax(0, 21.666667fr)
      minmax(0, 21.666667fr);
  }
}

/* Tall col 1 must not stretch shorter columns or vertically center their widgets. */
.icancook-footer .site-footer__col {
  align-self: start;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.icancook-footer .site-footer__widget {
  width: 100%;
  margin: 0 0 1.15rem;
}

.icancook-footer .site-footer__widget:last-child {
  margin-bottom: 0;
}

.icancook-footer .site-footer__label,
.icancook-footer .site-footer__widget .wp-block-heading,
.icancook-footer .site-footer__widget h1,
.icancook-footer .site-footer__widget h2,
.icancook-footer .site-footer__widget h3,
.icancook-footer .site-footer__widget h4,
.icancook-footer .site-footer__widget .wp-block-navigation__label {
  margin: 0 0 0.75rem;
  padding: 0;
  font-weight: 700;
  line-height: 1.25;
}

.icancook-footer .site-footer__widget.widget_block > :first-child,
.icancook-footer .site-footer__widget.widget_block .wp-block-group.alignfull,
.icancook-footer .site-footer__widget.widget_block .is-layout-flex {
  margin-top: 0;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  min-height: 0;
  height: auto;
}

.icancook-footer .site-footer__widget.widget_block .wp-block-group.is-vertical.is-content-justification-center,
.icancook-footer .site-footer__widget.widget_block .is-content-justification-center {
  justify-content: flex-start;
}

.icancook-footer .site-footer__widget.widget_block .is-vertical.is-content-justification-center {
  align-items: flex-start;
}

.icancook-footer .site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.85rem;
}

.icancook-footer .site-footer__bottom.has-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
}

.icancook-footer .site-footer__copyright {
  margin: 0;
  text-wrap: pretty;
}

.icancook-footer .site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1.1rem;
  margin: 0;
  font-size: 0.9rem;
}

.icancook-footer .site-footer__legal a {
  color: inherit;
  text-decoration: none;
}

.icancook-footer .site-footer__legal a:hover,
.icancook-footer .site-footer__legal a:focus-visible {
  text-decoration: underline;
}

.icancook-footer .site-footer__legal a + a {
  padding-left: 1.1rem;
  border-left: 1px solid currentColor;
}

.icancook-footer .site-footer__social {
  margin-top: 0;
  justify-content: flex-end;
}

.icancook-footer .site-footer__bottom.has-center .site-footer__social {
  justify-self: end;
}

@media (max-width: 1100px) {
  .icancook-footer .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .icancook-footer .site-footer__bottom.has-center {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 0.65rem 1rem;
  }

  .icancook-footer .site-footer__copyright {
    max-width: 36rem;
  }

  .icancook-footer .site-footer__social,
  .icancook-footer .site-footer__bottom.has-center .site-footer__social {
    justify-content: center;
    justify-self: center;
  }
}

.kneads-footer-brand {
  display: grid;
  gap: 1.35rem;
}

.kneads-footer-brand__logo {
  margin: 0;
}

.kneads-footer-brand__logo a {
  display: inline-block;
  text-decoration: none;
}

.kneads-footer-brand__logo img {
  display: block;
  width: auto;
  max-width: min(12.5rem, 100%);
  height: auto;
  max-height: 3.5rem;
  object-fit: contain;
}

.kneads-footer-brand__intro {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  opacity: 0.92;
}

.kneads-footer-hours-block {
  margin-block: 1.5rem;
}

.kneads-footer-hours-block:first-child {
  margin-top: 0;
}

.kneads-footer-hours-block:last-child {
  margin-bottom: 0;
}

.kneads-footer-brand__hours-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.35rem;
}

.kneads-footer-brand__hours-title::before {
  content: "";
  flex-shrink: 0;
  width: 3px;
  height: 1.05em;
  border-radius: 2px;
  background: var(--gold, #c7a76a);
}

.kneads-footer-brand__hours {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kneads-footer-brand__hours-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  column-gap: 1rem;
  row-gap: 0.15rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255, 252, 247, 0.12);
  font-size: 0.9rem;
}

.kneads-footer-brand__hours-row:last-child {
  border-bottom: 0;
}

.kneads-footer-brand__hours-day {
  flex: 1 1 5.5rem;
  min-width: 0;
  opacity: 0.92;
}

.kneads-footer-brand__hours-time {
  flex: 0 0 auto;
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}

.kneads-footer-brand__hours-row.is-closed .kneads-footer-brand__hours-time {
  color: var(--gold, #c7a76a);
  font-weight: 600;
}

.kneads-business-info {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kneads-business-info__row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.35rem 0;
  border: 0;
  font-size: 0.95rem;
  line-height: 1.4;
}

.kneads-business-info--dividers .kneads-business-info__row {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(44, 56, 34, 0.12);
}

.kneads-business-info--dividers .kneads-business-info__row:last-child {
  border-bottom: 0;
}

.icancook-footer .kneads-business-info--dividers .kneads-business-info__row {
  border-bottom-color: rgba(255, 252, 247, 0.12);
}

.kneads-business-info--no-icons .kneads-business-info__row {
  gap: 0;
}

.kneads-business-info__icon {
  flex-shrink: 0;
  color: var(--gold, #c7a76a);
  margin-top: 0.1rem;
}

.kneads-business-info__text {
  min-width: 0;
}

.kneads-business-info__text a {
  color: inherit;
  text-decoration: none;
}

.kneads-business-info__text a:hover,
.kneads-business-info__text a:focus {
  color: inherit;
  text-decoration: underline;
}

.icancook-footer .kneads-business-info-block .kneads-business-info {
  width: 100%;
}

.icancook-footer .kneads-business-info-block .kneads-business-info__row {
  justify-content: flex-end;
  text-align: right;
}

.icancook-footer .kneads-business-info-block .kneads-business-info__text {
  text-align: right;
}

.icancook-footer .kneads-business-info-block .kneads-business-info__text a {
  display: inline-block;
}

.site-footer__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 2rem;
  padding: 1.5rem 1.25rem;
  background: var(--paper-2);
  border-radius: var(--radius);
}
.site-footer__cta h2 {
  margin: 0 0 0.35rem;
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.25;
}
.site-footer__cta p { margin: 0; }
.site-footer__cta-action { margin: 0; }
.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.5rem;
}
.site-footer__name,
.site-footer__label { color: var(--ink); font-weight: 700; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links a { text-decoration: none; }

.kneads-footer-services__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
}

.kneads-footer-drop {
  margin: 0;
}

.kneads-footer-drop > summary {
  list-style: none;
}

.kneads-footer-drop > summary::-webkit-details-marker {
  display: none;
}

.kneads-footer-drop > summary::marker {
  content: "";
}

@media (min-width: 768px) {
  .kneads-footer-drop > summary {
    pointer-events: none;
  }
}

@media (max-width: 767px) {
  .icancook-footer .site-footer__grid {
    gap: 0;
  }

  .icancook-footer .site-footer__col--1 {
    margin-bottom: 1.35rem;
  }

  .icancook-footer .site-footer__col--2 .site-footer__widget,
  .icancook-footer .site-footer__col--3 .site-footer__widget,
  .icancook-footer .site-footer__col--4 .site-footer__widget {
    margin-bottom: 0;
  }

  .icancook-footer .kneads-footer-drop {
    border-bottom: 1px solid rgba(255, 252, 247, 0.16);
  }

  .icancook-footer .kneads-footer-drop > summary {
    width: 100%;
    margin: 0;
    padding: 0.95rem 0;
    cursor: pointer;
  }

  .icancook-footer .kneads-footer-drop > summary::after {
    content: "";
    flex-shrink: 0;
    width: 0.45rem;
    height: 0.45rem;
    margin-left: auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-0.12rem);
  }

  .icancook-footer .kneads-footer-drop[open] > summary::after {
    transform: rotate(-135deg) translateY(-0.12rem);
  }

  .icancook-footer .kneads-footer-drop > .kneads-footer-services__list {
    padding-bottom: 0.45rem;
  }
}

.kneads-footer-services__title::before {
  content: "";
  flex-shrink: 0;
  width: 3px;
  height: 1.05em;
  border-radius: 2px;
  background: var(--gold, #c7a76a);
}

.kneads-footer-services__list {
  display: grid;
  gap: 0;
}

/* Fade-out horizontal rules between footer link rows (Massage / Skin Care columns). */
.icancook-footer .kneads-footer-services__list > li,
.icancook-footer .site-footer__widget .wp-block-navigation__container > .wp-block-navigation-item {
  padding: 0.48rem 0 0.62rem;
}

.icancook-footer .kneads-footer-services__list > li::after,
.icancook-footer .site-footer__widget .wp-block-navigation__container > .wp-block-navigation-item::after {
  content: "";
  display: block;
  height: 1px;
  margin-top: 0.62rem;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 252, 247, 0.08) 12%,
    rgba(255, 252, 247, 0.22) 50%,
    rgba(255, 252, 247, 0.08) 88%,
    transparent 100%
  );
  pointer-events: none;
}

.icancook-footer .footer-links a,
.icancook-footer .kneads-footer-services__list a {
  color: inherit;
  opacity: 0.92;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.icancook-footer .footer-links a:hover,
.icancook-footer .footer-links a:focus-visible,
.icancook-footer .kneads-footer-services__list a:hover,
.icancook-footer .kneads-footer-services__list a:focus-visible {
  color: var(--footer-bottom-bg, var(--gold, #c7a76a));
  opacity: 1;
}

.kneads-footer-services__empty {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.85;
}
.site-footer__note { margin-top: 1.5rem; font-size: 0.9rem; }
.site-footer__social { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.75rem; }
.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid rgba(44, 56, 34, 0.18);
}

@media (max-width: 1199px) {
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    order: 2;
    margin-left: auto;
    position: relative;
    z-index: 2;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0.2rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    color: var(--deep);
    cursor: pointer;
  }

  .header-actions {
    display: none !important;
  }

  .site-logo {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 3.25rem);
  }

  .site-nav {
    display: none;
    order: 3;
    position: absolute;
    inset: 100% 0 auto;
    margin-left: 0;
    background: var(--paper);
    padding: 1rem;
    border-bottom: 1px solid rgba(44, 56, 34, 0.08);
    z-index: 30;
  }

  .site-nav.is-open {
    display: block;
  }

  .site-nav .menu {
    flex-direction: column;
    height: auto;
    align-items: stretch;
  }

  .site-nav .menu > li {
    display: block;
  }

  .site-nav .menu > .menu-item-has-children > .sub-menu {
    display: block;
    position: static;
    min-width: 0;
    margin: 0.15rem 0 0.35rem 0.65rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .site-nav .sub-menu a {
    padding: 0.35rem 0.4rem;
    font-weight: 500;
    white-space: normal;
  }
}

@media (max-width: 860px) {
  body {
    padding-bottom: 0;
  }

  .site-header {
    position: relative;
    top: auto !important;
    z-index: 10;
    background: transparent;
    backdrop-filter: none;
  }
  .site-header::before {
    background: var(--paper);
    backdrop-filter: none;
  }

  .site-header__inner {
    padding-block: 0.25rem 0.35rem;
    gap: 0.5rem;
    min-width: 0;
  }

  .site-header {
    overflow: visible;
  }

  .site-logo {
    flex: 1 1 0;
    min-width: 0;
    max-width: calc(100% - 3.25rem);
  }

  .site-logo .site-logo__mobile {
    width: auto !important;
    max-width: min(var(--icancook-logo-mobile-max, 180px), 100%) !important;
    max-height: calc(var(--icancook-header-height, 60px) - 12px);
  }

  body.icancook-logo-unified .site-logo .site-logo__desktop {
    width: auto !important;
    max-width: min(var(--icancook-logo-mobile-max, 180px), 100%) !important;
    max-height: calc(var(--icancook-header-height, 60px) - 12px);
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: 0.35rem;
    position: relative;
    z-index: 2;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0.2rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    color: var(--deep);
    cursor: pointer;
  }

  .nav-toggle iconify-icon,
  .nav-toggle .kneads-icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }

  .nav-toggle iconify-icon svg {
    stroke-width: 2.75px;
  }

  .site-header__inner:not(.site-header__inner--has-actions) .nav-toggle {
    margin-left: auto;
  }

  .icancook-layout-boxed .site-header {
    top: auto !important;
  }

  .site-logo { order: 1; }
  .header-actions {
    display: none !important;
  }
  .nav-toggle {
    order: 2;
    margin-left: auto;
  }
  .site-nav { order: 3; }

  .site-header__inner--has-actions .site-logo {
    max-width: calc(100% - 3.25rem);
  }
  .site-nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    background: var(--paper);
    padding: 1rem;
    border-bottom: 1px solid rgba(44, 56, 34, 0.08);
  }
  .site-nav.is-open { display: block; }
  .site-nav .menu {
    flex-direction: column;
    height: auto;
    align-items: stretch;
  }
  .site-nav .menu > li {
    display: block;
  }
  .site-nav .menu > .menu-item-has-children > .sub-menu {
    display: block;
    position: static;
    min-width: 0;
    margin: 0.15rem 0 0.35rem 0.65rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .site-nav .sub-menu a {
    padding: 0.35rem 0.4rem;
    font-weight: 500;
    white-space: normal;
  }
  .site-nav .sub-menu a:hover,
  .site-nav .sub-menu a:focus-visible {
    background: transparent;
  }
  .site-logo__desktop { display: none; }
  .site-logo__mobile { display: block; }
  .icancook-layout-boxed {
    --site-main-pad-inline: var(--icancook-boxed-gutter-mobile, 1rem);
    --icancook-chrome-pad-inline: var(--site-main-pad-inline, var(--icancook-boxed-gutter-mobile, 1rem));
  }

  .icancook-layout-boxed .site-header__inner,
  .icancook-layout-boxed .site-main {
    padding-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 1rem));
  }

  .icancook-layout-boxed .site-main .kneads-about-eli {
    padding-inline: var(--service-page-sections-pad-inline-mobile, var(--service-page-sections-pad-inline, 1rem));
  }

  .icancook-layout-boxed .icancook-footer .site-footer__main,
  .icancook-layout-boxed .icancook-footer .site-footer__bottom {
    padding-inline: var(--service-page-sections-pad-inline-mobile, var(--service-page-sections-pad-inline, 1rem));
  }

  .icancook-layout-boxed .icancook-footer-cta {
    margin-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 1rem));
  }

  .icancook-layout-boxed.single-tm_service {
    --site-main-pad-inline: 2rem;
  }
  .icancook-layout-boxed.single-tm_service .site-main {
    padding-inline: 2rem;
  }

  .service-page--meta .service-page__sections {
    padding-inline: var(
      --service-page-sections-pad-inline-mobile,
      var(--service-page-sections-pad-inline, var(--service-sections-outer-pad, 1rem))
    );
  }

  .icancook-footer .site-footer__grid {
    grid-template-columns: 1fr;
  }
  .icancook-layout-boxed .icancook-topbar__inner {
    padding-inline: 0;
  }
  .icancook-layout-boxed .icancook-topbar__left {
    padding-inline: var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 1rem))
      var(--icancook-chrome-pad-between, 0.75rem);
  }
  .icancook-layout-boxed .icancook-topbar__right {
    padding-inline: var(--icancook-chrome-pad-between, 0.75rem)
      var(--icancook-chrome-pad-inline, var(--site-main-pad-inline, 1rem));
  }
  .icancook-layout-boxed {
    --boxed-gutter: var(--icancook-boxed-gutter-mobile, 1rem);
  }
}

@media (min-width: 861px) {
  body { padding-bottom: 0; }
  .icancook-layout-boxed { padding-bottom: var(--boxed-gutter); }
}

:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

/* Global back-to-top */
.kneads-back-to-top {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--olive, #3d4a2c);
  color: #fff;
  box-shadow: 0 4px 18px rgba(44, 56, 34, 0.35);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.5rem);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background 0.15s ease;
}

.kneads-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.kneads-back-to-top:hover {
  background: var(--olive-dark, #2c3822);
}

.kneads-back-to-top:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.kneads-back-to-top__icon {
  display: flex;
  line-height: 0;
}

@media (max-width: 860px) {
  body:has(.kneads-mobile-actions:not(.is-hidden)) .kneads-back-to-top {
    bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
}

.kneads-mobile-actions {
  display: none;
}

@media (max-width: 767px) {
  body,
  .icancook-layout-boxed {
    padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
  }

  .kneads-mobile-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 0.28s ease, opacity 0.28s ease;
  }

  .kneads-mobile-actions:has(> :only-child) {
    grid-template-columns: 1fr;
  }

  .kneads-mobile-actions.is-hidden {
    transform: translate3d(0, 110%, 0);
    opacity: 0;
    pointer-events: none;
  }

  .kneads-mobile-actions__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: calc(48px + env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    border: 0;
    text-decoration: none;
    font-family: var(--sans, "DM Sans", sans-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
  }

  a.kneads-mobile-actions__btn--text,
  a.kneads-mobile-actions__btn--text:hover,
  a.kneads-mobile-actions__btn--text:focus {
    background: #c6a56a;
    color: #142016;
  }

  a.kneads-mobile-actions__btn--book,
  a.kneads-mobile-actions__btn--book:hover,
  a.kneads-mobile-actions__btn--book:focus {
    background: #1b3024;
    color: #fffdf6;
  }

  .kneads-mobile-actions__btn:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: -5px;
  }

  .kneads-mobile-actions__icon {
    display: flex;
    flex: 0 0 auto;
    line-height: 0;
  }

  .kneads-mobile-actions__label {
    min-width: 0;
  }

  .kneads-back-to-top {
    bottom: calc(48px + 0.85rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .kneads-mobile-actions {
    transition: none;
  }
}

/* —— Page Setup (general landing pages) —— */
.page-content--page-setup {
  padding: 0;
  --kneads-page-sheet-pad: var(--site-main-pad-inline, 2rem);
}

.kneads-page-setup__sections {
  margin-inline: calc(-1 * var(--kneads-page-sheet-pad, 2rem));
  width: calc(100% + (2 * var(--kneads-page-sheet-pad, 2rem)));
  max-width: none;
  padding-inline: 0;
  /* Stop nested bands from bleeding again once this stack is already flush. */
  --site-main-pad-inline: 0;
  box-sizing: border-box;
}

.kneads-page-setup__sections :is(
  .kneads-page-hero__inner,
  .kneads-page-services,
  .kneads-page-expect__inner,
  .kneads-page-faq__inner
) {
  padding-inline: var(--service-page-sections-pad-inline, 2rem);
  box-sizing: border-box;
}

@media (max-width: 860px) {
  .kneads-page-setup__sections :is(
    .kneads-page-hero__inner,
    .kneads-page-services,
    .kneads-page-expect__inner,
    .kneads-page-faq__inner
  ) {
    padding-inline: var(--service-page-sections-pad-inline-mobile, var(--service-page-sections-pad-inline, 1rem));
  }
}

.kneads-page-hero {
  position: relative;
  isolation: isolate;
  color: #fffcf7;
  padding: clamp(4rem, 9vw, 6rem) 0 clamp(3.25rem, 6vw, 4.75rem);
  margin: 0;
  overflow: hidden;
}

.kneads-page-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.kneads-page-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  --kneads-page-hero-o: var(--kneads-page-hero-overlay, 0.72);
  --kneads-page-hero-edge: var(--kneads-page-hero-o);
  --kneads-page-hero-mid: calc(var(--kneads-page-hero-o) * 0.22);
  --kneads-page-hero-center: calc(var(--kneads-page-hero-o) * 0.12);
  --kneads-page-hero-side: calc(var(--kneads-page-hero-o) * 0.65);
  --kneads-page-hero-bottom-start: calc(var(--kneads-page-hero-o) * 0.38);
  --kneads-page-hero-bottom-end: calc(var(--kneads-page-hero-o) * 0.68);
  background:
    linear-gradient(
      90deg,
      rgba(26, 46, 38, var(--kneads-page-hero-edge)) 0%,
      rgba(26, 46, 38, var(--kneads-page-hero-side)) 14%,
      rgba(26, 46, 38, var(--kneads-page-hero-mid)) 34%,
      rgba(26, 46, 38, var(--kneads-page-hero-center)) 50%,
      rgba(26, 46, 38, var(--kneads-page-hero-mid)) 66%,
      rgba(26, 46, 38, var(--kneads-page-hero-side)) 86%,
      rgba(26, 46, 38, var(--kneads-page-hero-edge)) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(20, 24, 22, var(--kneads-page-hero-bottom-start)) 0%,
      rgba(20, 24, 22, var(--kneads-page-hero-bottom-end)) 100%
    );
}

.kneads-page-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.85fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: end;
  max-width: var(--content-wide, 72rem);
  margin: 0 auto;
  padding-inline: var(--site-main-pad-inline, 2rem);
  box-sizing: border-box;
}

.kneads-page-hero .hero-text--intro,
.kneads-page-hero .lede {
  color: rgb(255 252 247 / 88%);
  max-width: 38rem;
}

.kneads-page-hero .hero-text--eyebrow,
.kneads-page-hero__eyebrow {
  color: var(--gold, #c4a36a);
  letter-spacing: 0.06em;
}

.kneads-page-hero__title {
  max-width: 18ch;
  color: #fffcf7;
}

.kneads-page-hero__aside {
  text-align: right;
  color: #fffcf7;
  padding-bottom: 0.35rem;
}

.kneads-page-hero__aside-lines {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0 0 1rem;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  line-height: 1.12;
  font-weight: 500;}

.kneads-page-hero__aside-sep {
  margin: 0 0 0.85rem;
  text-align: right;
  color: var(--gold, #c4a36a);
}

.kneads-page-hero__aside-tagline {
  margin: 0;
  text-align: right;
  font-family: var(--serif);
  font-style: normal;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  color: rgb(255 252 247 / 88%);
  font-weight: 500;}

.kneads-page-services {
  background: #fffcf7;
  padding-top: clamp(2.5rem, 5vw, 3.75rem);
  padding-bottom: clamp(2.75rem, 5vw, 4rem);
}

.kneads-page-services__head {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 2rem;
}

.kneads-page-services__title {
  margin-bottom: 0.65rem;
  color: var(--deep, #2c3822);
}

.kneads-page-services__intro {
  margin: 0;
  color: var(--muted, #5f6560);
  line-height: 1.55;
}

.kneads-page-services__divider {
  display: flex;
  justify-content: center;
  margin-top: 1.15rem;
  color: var(--gold, #c4a36a);
}

.kneads-page-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.35rem;
  max-width: var(--content-wide, 72rem);
  margin: 0 auto;
}

.kneads-page-service-row {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgb(44 56 34 / 8%);
  box-shadow: 0 8px 24px rgb(20 24 22 / 6%);
  min-height: 100%;
}

.kneads-page-service-row__media {
  display: block;
  min-height: 160px;
  overflow: hidden;
  background: var(--paper-2, #efe6d8);
}

.kneads-page-service-row__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.kneads-page-service-row__media:hover img,
.kneads-page-service-row__media:focus-visible img {
  transform: scale(1.05);
  filter: brightness(1.04);
}

.kneads-page-service-row:has(.kneads-page-service-row__media:hover),
.kneads-page-service-row:has(.kneads-page-service-row__media:focus-visible) {
  box-shadow: 0 12px 28px rgb(20 24 22 / 10%);
}

.kneads-page-service-row__body {
  padding: 1.15rem 1.2rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 168px;
}

.kneads-page-service-row__title {
  margin: 0;
  font-size: 1.2rem;
}

.kneads-page-service-row__title a {
  color: inherit;
  text-decoration: none;
}

.kneads-page-service-row__text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--muted, #5f6560);
  flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.kneads-page-service-row__action {
  margin: 0.35rem 0 0;
}

.kneads-page-service-row__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.kneads-page-guidance.kneads-cta {
  margin: 0;
}

.kneads-page-guidance .kneads-cta__heading,
.kneads-page-guidance .kneads-cta__text {
  color: #fffcf7;
}

.kneads-page-guidance .kneads-cta__btn--secondary {
  background: transparent;
  border: 1px solid rgb(255 252 247 / 72%);
  color: #fffcf7;
}

.kneads-page-expect {
  position: relative;
  background: #fcf9f5;
  padding: clamp(2.75rem, 5vw, 4rem) 0;
  overflow: hidden;
}

.kneads-page-expect__floral {
  position: absolute;
  top: 50%;
  width: min(42vw, 420px);
  aspect-ratio: 1;
  opacity: 0.12;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  transform: translateY(-50%);
}

.kneads-page-expect__floral--left {
  left: -8%;
}

.kneads-page-expect__floral--right {
  right: -8%;
  transform: translateY(-50%) scaleX(-1);
}

.kneads-page-expect__inner {
  position: relative;
  z-index: 1;
  max-width: var(--content-wide, 72rem);
  margin: 0 auto;
}

.kneads-page-expect__head {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 2.25rem;
}

.kneads-page-expect__title {
  color: var(--deep, #2c3822);
}

.kneads-page-expect__intro {
  margin: 0;
  color: var(--muted, #5f6560);
  line-height: 1.55;
}

.kneads-page-expect__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.5rem 1.25rem;
}

.kneads-page-expect__steps--1 {
  grid-template-columns: minmax(0, 1fr);
  max-width: 22rem;
  margin-inline: auto;
}

.kneads-page-expect__steps--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kneads-page-expect__steps--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kneads-page-expect__step {
  text-align: center;
  padding: 0 0.5rem;
}

.kneads-page-expect__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6.5rem;
  height: 6.5rem;
  margin: 0 auto 1rem;
  border-radius: 999px;
  border: 1px solid var(--gold, #b99772);
  color: var(--gold, #b99772);
}

.kneads-page-expect__icon-svg {
  width: 3.25rem;
  height: 3.25rem;
}

.kneads-page-expect__step-title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: var(--deep, #2c3822);
}

.kneads-page-expect__step-text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted, #5f6560);
}

.kneads-page-faq {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fcf9f5 0%, #f3efe6 48%, #fcf9f5 100%);
  padding: clamp(2.75rem, 5vw, 4rem) 0 clamp(3rem, 5vw, 4.25rem);
  margin: 0;
}

.kneads-page-faq__decor {
  pointer-events: none;
  position: absolute;
  width: min(240px, 32vw);
  height: min(320px, 42vw);
  opacity: 0.22;
  background-image: var(--kneads-page-faq-floral);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}

.kneads-page-faq__decor--left {
  top: 12%;
  left: -2%;
  background-position: left center;
}

.kneads-page-faq__decor--right {
  top: 8%;
  right: -2%;
  background-position: right center;
  transform: scaleX(-1);
}

.kneads-page-faq__inner {
  position: relative;
  z-index: 1;
  max-width: var(--content-wide, 72rem);
  margin: 0 auto;
}

.kneads-page-faq__head {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 1.75rem;
}

.kneads-page-faq__title {
  color: var(--deep, #2c3822);
}

.kneads-page-faq__intro {
  color: var(--muted, #5f6560);
}

.kneads-page-faq__main {
  max-width: 46rem;
  margin: 0 auto;
}

.kneads-page-faq .kneads-faq-accordion__item {
  background: rgb(255 252 247 / 92%);
  border: 1px solid rgb(196 163 106 / 28%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.kneads-page-faq .kneads-faq-accordion__item:hover {
  border-color: rgb(196 163 106 / 45%);
  box-shadow: 0 6px 20px rgb(26 31 28 / 8%);
}

.kneads-page-faq .kneads-faq-accordion__item[open] {
  border-color: var(--deep, #2c3822);
  border-left-width: 4px;
  background: #fffcf7;
}

.kneads-page-faq .kneads-faq-accordion__summary:hover {
  color: var(--deep, #2c3822);
}

.kneads-page-faq__view-all {
  text-align: center;
  margin-top: 1.35rem;
}

@media (max-width: 960px) {
  .kneads-page-hero__inner {
    grid-template-columns: 1fr;
  }

  .kneads-page-hero__aside {
    text-align: left;
  }

  .kneads-page-hero__aside-tagline {
    justify-content: flex-start;
  }

  .kneads-page-services__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kneads-page-service-row {
    grid-template-columns: 1fr;
  }

  .kneads-page-expect__steps {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kneads-page-service-row__media img {
    transition: none;
  }

  .kneads-page-service-row__media:hover img,
  .kneads-page-service-row__media:focus-visible img {
    transform: none;
    filter: none;
  }
}

.kneads-gift-page .page-header h1 {
  max-width: none;
}

.kneads-gift-page__how,
.kneads-gift-page__square,
.kneads-gift-page__faq {
  padding-bottom: 2.75rem;
}

.kneads-gift-page__head {
  margin-bottom: 1.25rem;
}

.kneads-gift-page__head h2 {
  max-width: none;
  margin: 0;
  color: var(--deep, #2c3822);
}

.kneads-gift-page__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kneads-gift-page__step {
  margin: 0;
  padding: 1.15rem 1.15rem 1.25rem;
  border-radius: 16px;
  background: var(--paper-2, #f7f2e8);
}

.kneads-gift-page__step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  background: rgba(196, 163, 106, 0.22);
  color: #6d5428;
}

.kneads-gift-page__step h3 {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  color: var(--deep, #2c3822);
}

.kneads-gift-page__step p {
  margin: 0;
  color: var(--muted, #5f6560);
  font-size: 0.95rem;
  line-height: 1.5;
}

.kneads-gift-page__square-card {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border-radius: 18px;
  background: #24312b;
  color: #fffcf7;
}

.kneads-gift-page__square-card h2 {
  max-width: none;
  margin: 0 0 1rem;
  color: #fffcf7;
}

.kneads-gift-page__square-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kneads-gift-page__square-list li {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.kneads-gift-page__square-list strong {
  color: #c6a56a;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kneads-gift-page__square-list span {
  line-height: 1.45;
}

.kneads-gift-page__book {
  margin: 1.25rem 0 0;
}

.kneads-gift-page__book-link {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.15rem;
  border-radius: 6px;
  background: #c6a56a;
  color: #24312b;
  font-weight: 650;
  text-decoration: none;
}

.kneads-gift-page__book-link:hover,
.kneads-gift-page__book-link:focus-visible {
  background: #d7bc86;
  color: #24312b;
}

.kneads-gift-page__faq .kneads-faq-accordion {
  max-width: 46rem;
}

@media (max-width: 860px) {
  .kneads-gift-page__steps,
  .kneads-gift-page__square-list {
    grid-template-columns: 1fr;
  }
}

/* —— Booking: slot timeline (admin debug echo on /booking/) —— */
.kneads-booking__slot-timeline {
  margin: 0.35rem 0 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid rgb(44 56 34 / 14%);
  background: rgb(255 255 255 / 45%);
  border-radius: 0 0 12px 12px;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--kneads-cal-olive-deep, #2c3822);
}

.kneads-booking__slot-timeline-title {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(44 56 34 / 72%);
}

.kneads-booking__slot-timeline-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kneads-booking__slot-timeline-item {
  margin: 0;
  padding: 0.2rem 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.78rem;
}

.kneads-booking__slot-timeline-item--booked {
  color: #b42318;
  font-weight: 600;
}

.kneads-booking__slot-timeline-item--backcheck {
  color: rgb(120 72 24 / 88%);
  font-style: italic;
}

.kneads-booking__slot-timeline-item--explain {
  color: rgb(44 56 34 / 58%);
  font-style: italic;
  font-size: 0.74rem;
}

.kneads-booking__slot-timeline-empty {
  margin: 0;
  font-size: 0.78rem;
  color: rgb(44 56 34 / 62%);
  font-style: italic;
}

body.kneads-booking-slot-timeline-on .kneads-booking__slot-timeline {
  border-top-color: rgb(196 163 106 / 35%);
}

/* Kneads month pickers: empty grid slots, never partial adjacent-month dates. */
.kneads-booking__month-day.is-grid-blank,
.kneads-dash-appt-book-cal__cell.is-grid-blank,
.kneads-dash-appt-cal__month-cell.is-grid-blank,
.kneads-month-grid__blank {
  visibility: hidden;
  pointer-events: none;
  border: none;
  background: transparent;
}
