:root {
  --cream: #fbf6f0;
  --cream-deep: #f2e6dc;
  --paper: rgba(255, 252, 248, 0.86);
  --powder: #e8bdb3;
  --rose: #c98776;
  --rose-deep: #9a5f54;
  --sand: #d8c2aa;
  --gold: #b79358;
  --olive: #858764;
  --sage: #8ea184;
  --sage-soft: #d5e3cc;
  --brown: #3c231b;
  --brown-soft: #6b4d42;
  --muted: #856b60;
  --white: #ffffff;
  --shadow: 0 24px 80px rgba(86, 49, 37, 0.13);
  --shadow-soft: 0 14px 45px rgba(86, 49, 37, 0.09);
  --radius-xl: 38px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --btn-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --btn-fill: linear-gradient(180deg, #9a675c 0%, #875449 100%);
  --btn-fill-hover: linear-gradient(180deg, #a06e62 0%, #906056 100%);
  --btn-ink: #fffaf7;
  --btn-disc: #f6ece6;
  --btn-disc-ink: #8d564c;
  --btn-shadow:
    inset 0 1px 0 rgba(255, 248, 244, 0.34),
    0 8px 16px rgba(112, 64, 54, 0.14);
  --btn-shadow-hover:
    inset 0 1px 0 rgba(255, 248, 244, 0.4),
    0 14px 24px rgba(112, 64, 54, 0.18);
  --btn-shadow-press:
    inset 0 1px 2px rgba(90, 48, 40, 0.16),
    0 3px 8px rgba(112, 64, 54, 0.12);
  --max: 1180px;
  /* Typography: Rubik (UI + body + display) */
  --font-body: "Rubik", sans-serif;
  --font-display: "Rubik", sans-serif;
}

.font-display {
  font-family: var(--font-display);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 8% 0%, rgba(232, 189, 179, 0.36), transparent 28rem),
    radial-gradient(circle at 96% 18%, rgba(197, 214, 184, 0.32), transparent 26rem),
    radial-gradient(circle at 72% 86%, rgba(232, 189, 179, 0.16), transparent 32rem),
    linear-gradient(180deg, #fbf6f0 0%, #fffaf6 46%, #f4ebe3 100%);
  color: var(--brown);
  font-family: var(--font-body);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.65;
  overflow-x: clip;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image: url("pic/flora/paper.svg");
  background-size: 180px 180px;
  opacity: 0.55;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

::selection {
  background: rgba(201, 135, 118, 0.24);
}

.skip-link {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 100;
  transform: translateY(-180%);
  border-radius: 999px;
  padding: 0.65rem 1rem;
  background: var(--brown);
  color: var(--white);
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

:focus-visible {
  outline: 2px solid var(--rose-deep);
  outline-offset: 3px;
}

.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;
}

.site-header {
  position: fixed;
  top: 16px;
  right: 0;
  left: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: min(94%, 1180px);
  margin-inline: auto;
  pointer-events: none;
  transition:
    width 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    top 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header.is-scrolled {
  top: 12px;
  width: min(89%, 1080px);
}

.nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: rgba(60, 35, 27, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header.is-open .nav-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.site-header__bar {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(0.6rem, 1.8vw, 1.1rem);
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: visible;
  pointer-events: none;
}

.site-header__chip {
  --chip-height: 68px;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--chip-height);
  border: 1px solid rgba(154, 95, 84, 0.13);
  border-radius: 30px;
  background: rgba(251, 246, 240, 0.82);
  box-shadow:
    0 16px 48px rgba(86, 49, 37, 0.08),
    0 2px 8px rgba(86, 49, 37, 0.04);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  pointer-events: auto;
  transition:
    min-height 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    backdrop-filter 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header__chip--brand {
  justify-self: start;
  width: max-content;
  max-width: 100%;
  padding-inline: 0.1rem 0.2rem;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: visible;
}

.site-header__nav-cluster {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  pointer-events: none;
}

.site-header__nav-cluster > * {
  pointer-events: auto;
}

.site-header__chip--nav {
  padding-inline: clamp(0.65rem, 1.6vw, 1.15rem);
}

.header-social--nav {
  flex-shrink: 0;
  gap: 0.32rem;
}

.site-header__chip--actions {
  justify-self: end;
  gap: 0.35rem;
  padding: 0.35rem;
  padding-inline-start: 0.45rem;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: visible;
}

.site-header.is-scrolled .site-header__chip {
  --chip-height: 62px;
  background: rgba(251, 246, 240, 0.9);
  border-color: rgba(154, 95, 84, 0.15);
  box-shadow:
    0 20px 56px rgba(86, 49, 37, 0.1),
    0 4px 12px rgba(86, 49, 37, 0.05);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.site-header.is-scrolled .site-header__chip--actions,
.site-header.is-scrolled .site-header__chip--brand {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-header__shine {
  position: absolute;
  top: 0;
  right: 8%;
  left: 8%;
  z-index: 4;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.78), transparent);
  opacity: 0.55;
  pointer-events: none;
}

.site-header__organic--bloom {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  z-index: 0;
  width: 8.5rem;
  height: 5rem;
  border-radius: 58% 42% 62% 38%;
  background: radial-gradient(circle at 40% 40%, rgba(232, 189, 179, 0.38), rgba(232, 189, 179, 0.08) 68%, transparent 78%);
  filter: blur(10px);
  opacity: 0.55;
  transform: translateY(-50%);
  pointer-events: none;
}

.js-ready .site-header__chip {
  opacity: 0;
  animation: nav-enter 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.js-ready .site-header__chip--brand {
  animation-delay: 0.05s;
}

.js-ready .site-header__chip--nav {
  animation-delay: 0.12s;
}

.js-ready .header-social--nav {
  opacity: 0;
  animation: nav-enter 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.18s;
}

.js-ready .site-header__chip--actions {
  animation-delay: 0.19s;
}

.brand-mark {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.06rem 0.04rem;
  color: var(--brown);
  white-space: nowrap;
}

.brand-mark__logo {
  display: block;
  width: auto;
  height: 3.5rem;
  max-width: 46vw;
  object-fit: contain;
  transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header__chip--brand .brand-mark__logo {
  height: clamp(4.69rem, 1.4vw + 4.07rem, 5.35rem);
  max-width: min(48vw, 5.55rem);
}

.brand-mark:hover .brand-mark__logo,
.brand-mark:focus-visible .brand-mark__logo {
  transform: translateY(-1.5px);
}

.brand-mark__heart {
  --heart-tilt: 14deg;
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 1.08rem;
  height: 1.08rem;
  color: var(--brand-stroke);
  transform: rotate(var(--heart-tilt));
  transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.brand-mark__heart svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.brand-mark:hover .brand-mark__heart,
.brand-mark:focus-visible .brand-mark__heart {
  transform: rotate(var(--heart-tilt)) translateY(-1.5px);
}

.brand-mark__wordmark {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: baseline;
  gap: 0.34em;
}

.brand-mark__word {
  display: inline-block;
  color: var(--brown);
  font-family: var(--font-display);
  font-size: clamp(1.02rem, 1.35vw, 1.14rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
}

.brand-mark__word--grow,
.brand-mark__word--by {
  font-size: inherit;
  font-weight: inherit;
}

.js-ready .brand-mark__logo {
  opacity: 0;
  transform: translateY(4px);
  animation: brand-word-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.18s forwards;
}

@keyframes brand-word-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes brand-heart-in {
  to {
    opacity: 1;
    transform: rotate(var(--heart-tilt)) translateY(0);
  }
}

.main-nav {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: clamp(0.35rem, 1.2vw, 0.75rem);
  color: var(--brown-soft);
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 500;
}

.main-nav__indicator {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 0;
  height: 2.05rem;
  border-radius: 999px;
  background: rgba(232, 189, 179, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
  opacity: 0;
  transform: translate3d(0, -50%, 0);
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.3s ease;
  pointer-events: none;
}

.main-nav a {
  position: relative;
  z-index: 1;
  padding: 0.5rem 0.72rem;
  color: var(--brown-soft);
  white-space: nowrap;
  transition:
    color 0.26s ease,
    transform 0.26s ease;
}

.main-nav a:hover,
.main-nav a:focus-visible {
  color: var(--rose-deep);
  transform: translateY(-1px);
}

.main-nav a.is-active {
  color: var(--brown);
  font-weight: 600;
}

.js-ready .main-nav a {
  opacity: 0;
  animation: nav-link-enter 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.js-ready .main-nav a:nth-child(2) { animation-delay: 0.22s; }
.js-ready .main-nav a:nth-child(3) { animation-delay: 0.27s; }
.js-ready .main-nav a:nth-child(4) { animation-delay: 0.32s; }
.js-ready .main-nav a:nth-child(5) { animation-delay: 0.37s; }
.js-ready .main-nav a:nth-child(6) { animation-delay: 0.42s; }
.js-ready .main-nav a:nth-child(7) { animation-delay: 0.47s; }
.js-ready .main-nav a:nth-child(8) { animation-delay: 0.52s; }
.js-ready .main-nav a:nth-child(9) { animation-delay: 0.57s; }

.header-cta,
.btn,
.floating-whatsapp,
.mobile-nav__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-align: center;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition:
    transform 0.32s var(--btn-ease),
    box-shadow 0.32s var(--btn-ease),
    background 0.32s var(--btn-ease),
    border-color 0.32s var(--btn-ease),
    color 0.32s var(--btn-ease);
}

.header-cta {
  gap: 0.55rem;
  min-height: 46px;
  padding-block: 0.2rem;
  padding-inline: 0.95rem 0.28rem;
  background: rgba(255, 252, 248, 0.86);
  color: var(--brown);
  font-size: 0.9rem;
  white-space: nowrap;
  border-color: rgba(154, 95, 84, 0.32);
  box-shadow:
    0 1px 1px rgba(86, 49, 37, 0.04),
    0 6px 14px rgba(86, 49, 37, 0.06);
}

.header-cta__label {
  position: relative;
}

.header-social {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.header-social__link {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgba(154, 95, 84, 0.32);
  border-radius: 50%;
  background: rgba(255, 252, 248, 0.86);
  color: var(--brown);
  box-shadow:
    0 1px 1px rgba(86, 49, 37, 0.04),
    0 6px 14px rgba(86, 49, 37, 0.06);
  transition:
    color 0.32s var(--btn-ease),
    background 0.32s var(--btn-ease),
    border-color 0.32s var(--btn-ease),
    box-shadow 0.32s var(--btn-ease),
    transform 0.32s var(--btn-ease);
}

.header-social__link svg {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
}

.brand-mark:focus-visible,
.main-nav a:focus-visible,
.header-cta:focus-visible,
.header-social__link:focus-visible,
.nav-toggle:focus-visible,
.mobile-nav__close:focus-visible,
.mobile-nav__links a:focus-visible,
.mobile-nav__cta:focus-visible,
.btn:focus-visible,
.floating-whatsapp:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
}

.nav-toggle {
  display: none;
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid rgba(154, 95, 84, 0.12);
  border-radius: 50%;
  background: rgba(251, 246, 240, 0.82);
  box-shadow:
    0 12px 32px rgba(86, 49, 37, 0.08),
    0 2px 6px rgba(86, 49, 37, 0.04);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  color: var(--brown);
  cursor: pointer;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  background: rgba(232, 189, 179, 0.35);
  border-color: rgba(154, 95, 84, 0.18);
}

.nav-toggle__icon {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.nav-toggle__icon--close {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon--open {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon--close {
  opacity: 1;
}

.mobile-nav[hidden],
.nav-backdrop[hidden] {
  display: none !important;
}

body.is-nav-open {
  overflow: hidden;
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 55;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  isolation: isolate;
  overflow: hidden;
  padding: max(1.1rem, env(safe-area-inset-top, 0px)) clamp(1.35rem, 5vw, 2rem) clamp(1.75rem, 6vw, 2.5rem);
  border: 0;
  border-radius: 0;
  background: rgba(251, 246, 240, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-nav__bloom--accent {
  position: absolute;
  top: -6rem;
  right: -4rem;
  z-index: 0;
  width: 16rem;
  height: 14rem;
  border-radius: 58% 42% 55% 45%;
  background: rgba(232, 189, 179, 0.35);
  filter: blur(2px);
  pointer-events: none;
}

.mobile-nav__bloom--field {
  position: absolute;
  bottom: -8rem;
  left: -6rem;
  z-index: 0;
  width: min(92vw, 28rem);
  height: min(92vw, 28rem);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 189, 179, 0.22), transparent 68%);
  filter: blur(8px);
  opacity: 0.7;
  pointer-events: none;
}

.mobile-nav__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 2.75rem;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-nav__close {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(154, 95, 84, 0.12);
  border-radius: 50%;
  background: rgba(251, 246, 240, 0.82);
  box-shadow:
    0 12px 32px rgba(86, 49, 37, 0.08),
    0 2px 6px rgba(86, 49, 37, 0.04);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  color: var(--brown);
  cursor: pointer;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.mobile-nav__close:hover,
.mobile-nav__close:focus-visible {
  background: rgba(232, 189, 179, 0.35);
  border-color: rgba(154, 95, 84, 0.18);
}

.mobile-nav__close:active {
  transform: scale(0.96);
}

.mobile-nav__brand {
  display: grid;
  justify-items: start;
  gap: 0.28rem;
}

.mobile-nav__brand-sub {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
}

.mobile-nav__links {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 1;
  align-content: center;
  gap: 0.15rem;
}

.mobile-nav__links a {
  padding: 0.55rem 0.2rem;
  color: var(--brown);
  font-size: clamp(2rem, 9vw, 3rem);
  font-weight: 500;
  line-height: 1.15;
  opacity: 0;
  transform: translateY(20px);
  transition:
    color 0.25s ease,
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-nav__links a:hover,
.mobile-nav__links a:focus-visible {
  color: var(--rose-deep);
}

.site-header.is-open .mobile-nav__head {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.05s;
}

.site-header.is-open .mobile-nav__links a {
  opacity: 1;
  transform: translateY(0);
}

.site-header.is-open .mobile-nav__links a:nth-child(1) { transition-delay: 0.1s; }
.site-header.is-open .mobile-nav__links a:nth-child(2) { transition-delay: 0.17s; }
.site-header.is-open .mobile-nav__links a:nth-child(3) { transition-delay: 0.24s; }
.site-header.is-open .mobile-nav__links a:nth-child(4) { transition-delay: 0.31s; }
.site-header.is-open .mobile-nav__links a:nth-child(5) { transition-delay: 0.38s; }
.site-header.is-open .mobile-nav__links a:nth-child(6) { transition-delay: 0.45s; }
.site-header.is-open .mobile-nav__links a:nth-child(7) { transition-delay: 0.52s; }
.site-header.is-open .mobile-nav__links a:nth-child(8) { transition-delay: 0.59s; }
.site-header.is-open .mobile-nav__links a:nth-child(9) { transition-delay: 0.66s; }

.mobile-nav__cta {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 52px;
  margin-top: 0;
  padding-block: 0.4rem;
  padding-inline: 2.85rem;
  background: var(--btn-fill);
  color: var(--btn-ink);
  font-size: 0.95rem;
  border-color: rgba(255, 246, 241, 0.42);
  box-shadow: var(--btn-shadow);
  opacity: 0;
  transform: translateY(16px);
  transition:
    background 0.32s var(--btn-ease),
    border-color 0.32s var(--btn-ease),
    box-shadow 0.32s var(--btn-ease),
    color 0.32s var(--btn-ease),
    opacity 0.45s var(--btn-ease),
    transform 0.45s var(--btn-ease);
}

.site-header.is-open .mobile-nav__cta {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.45s;
}

@keyframes nav-enter {
  from {
    opacity: 0;
    transform: translateY(-16px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes nav-link-enter {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section {
  position: relative;
  width: min(calc(100% - 40px), var(--max));
  margin: 0 auto;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  scroll-margin-top: 6.5rem;
}

.kicker,
.eyebrow {
  margin: 0 0 0.9rem;
  color: var(--rose-deep);
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0.08em;
}

.section-copy h2,
.contact-copy h2 {
  margin: 0;
  color: var(--brown);
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.06;
}

.btn {
  position: relative;
  max-width: 100%;
  min-height: 3.125rem;
  padding-block: 0.35rem;
  padding-inline: 2.85rem;
  font-size: 0.98rem;
}

.btn > span:not(.btn-mark):not(.btn-wa-icon),
.mobile-nav__cta > span:not(.btn-wa-icon) {
  min-width: 0;
}

.btn-primary {
  background: var(--btn-fill);
  color: var(--btn-ink);
  border-color: rgba(255, 246, 241, 0.42);
  box-shadow: var(--btn-shadow);
}

.btn-secondary {
  border-color: rgba(154, 95, 84, 0.34);
  background: rgba(255, 252, 248, 0.62);
  color: var(--brown);
  box-shadow:
    0 1px 1px rgba(86, 49, 37, 0.03),
    0 6px 14px rgba(86, 49, 37, 0.05);
}

.section-copy {
  max-width: 48rem;
}

.section-copy.centered {
  margin: 0 auto;
  text-align: center;
}

.section-copy h2,
.contact-copy h2 {
  font-size: clamp(2.15rem, 5vw, 4.2rem);
}

.section-copy p,
.contact-copy p {
  margin: 1.05rem 0 0;
  color: var(--brown-soft);
  font-size: clamp(1.06rem, 1.7vw, 1.22rem);
}

.btn-mark,
.btn-wa-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 50%;
  transition:
    transform 0.32s var(--btn-ease),
    background 0.32s var(--btn-ease),
    box-shadow 0.32s var(--btn-ease);
}

.btn .btn-mark,
.btn .btn-wa-icon,
.mobile-nav__cta .btn-wa-icon {
  position: absolute;
  top: 50%;
  inset-inline-end: 0.4rem;
  transform: translateY(-50%);
}

.btn-primary .btn-mark,
.btn-primary .btn-wa-icon,
.mobile-nav__cta .btn-wa-icon {
  background: var(--btn-disc);
  color: var(--btn-disc-ink);
  box-shadow: inset 0 0 0 1px rgba(255, 252, 248, 0.7);
}

.btn-secondary .btn-mark,
.btn-secondary .btn-wa-icon,
.header-cta .btn-wa-icon {
  background: var(--btn-disc);
  color: var(--btn-disc-ink);
  box-shadow: inset 0 0 0 1px rgba(154, 95, 84, 0.18);
}

.header-cta .btn-wa-icon {
  width: 1.75rem;
  height: 1.75rem;
}

.btn-mark svg,
.btn-wa-icon svg {
  display: block;
  transition: transform 0.32s var(--btn-ease);
}

.btn-mark svg {
  width: 0.95rem;
  height: 0.95rem;
}

.btn-wa-icon svg {
  width: 0.95rem;
  height: 0.95rem;
}

.header-cta .btn-wa-icon svg {
  width: 0.82rem;
  height: 0.82rem;
}

.credential-card,
.words-card,
.contact-card {
  border: 1px solid rgba(154, 95, 84, 0.12);
  background: var(--paper);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(14px);
}

.credential-card h3 {
  margin: 0;
  color: var(--brown);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.2;
}

.credential-card p,
.words-card p {
  margin: 0.45rem 0 0;
  color: var(--brown-soft);
}

@media (hover: hover) and (pointer: fine) {
  .words-card {
    transition:
      transform 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease),
      border-color 0.36s var(--btn-ease),
      background-color 0.36s var(--btn-ease);
  }

  .words-card:hover {
    border-color: rgba(154, 95, 84, 0.5);
    background-color: #fffdfb;
    box-shadow: 0 18px 40px rgba(86, 49, 37, 0.1);
  }

  .credential-card {
    transition:
      transform 0.36s var(--btn-ease),
      border-color 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease);
  }

  .credential-card__document {
    transition:
      border-color 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease);
  }

  .credential-card:hover {
    border-color: rgba(154, 95, 84, 0.3);
    box-shadow: 0 16px 36px rgba(86, 49, 37, 0.07);
  }

  .credential-card:hover .credential-card__document {
    border-color: rgba(154, 95, 84, 0.22);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.9),
      0 12px 26px rgba(86, 49, 37, 0.08);
  }

  html:not(.js-ready) .credential-card:hover,
  html:not(.js-ready) .words-card:hover,
  .js-ready .credential-card.reveal.is-visible:hover,
  .js-ready .words-card.reveal.is-visible:hover {
    transform: translateY(-4px);
  }

  .js-ready .words-card.reveal.is-visible {
    transition:
      opacity 0.85s ease,
      transform 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease),
      border-color 0.36s var(--btn-ease),
      background-color 0.36s var(--btn-ease);
  }

  .js-ready .credential-card.reveal.is-visible {
    transition:
      opacity 0.85s ease,
      transform 0.36s var(--btn-ease),
      border-color 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease);
  }
}

.credentials {
  isolation: isolate;
}

.credentials__wash,
.words__wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.credentials__bloom {
  position: absolute;
  top: 1.5rem;
  right: -5rem;
  width: 16rem;
  height: 12rem;
  border-radius: 48% 52% 42% 58%;
  background: rgba(216, 194, 170, 0.28);
  filter: blur(8px);
}

.credentials > .section-copy,
.credentials > .credentials-grid,
.words > .section-copy,
.words > .words-grid {
  position: relative;
  z-index: 1;
}

.credentials > .section-copy {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

.credentials > .section-copy .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.credentials > .section-copy .eyebrow::before,
.credentials > .section-copy .eyebrow::after {
  content: "";
  width: 2.2rem;
  height: 1px;
  border-radius: 999px;
  background: rgba(201, 135, 118, 0.62);
}

.credentials-grid,
.words-grid {
  display: grid;
  align-items: stretch;
  gap: clamp(0.95rem, 1.5vw, 1.2rem);
  margin-top: clamp(2.55rem, 4.2vw, 3.25rem);
}

.credentials-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.15rem, 2.2vw, 1.65rem);
  max-width: 52rem;
  margin-inline: auto;
}

.words-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.words-grid:has(> :only-child) {
  grid-template-columns: minmax(0, 36rem);
}

.credentials:not(:has(.credential-card)) .credentials-grid {
  display: none;
}

.credentials:not(:has(.credential-card)) {
  padding-block: clamp(2.2rem, 4.2vw, 3.6rem);
}

.credential-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(0.7rem, 1.1vw, 0.9rem);
  border: 1px solid rgba(154, 95, 84, 0.14);
  border-radius: var(--radius-md);
  background: rgba(255, 252, 248, 0.72);
  box-shadow: 0 10px 28px rgba(86, 49, 37, 0.045);
  backdrop-filter: none;
}

.credential-card__open {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: clamp(18rem, 31vw, 25rem);
  overflow: hidden;
  margin: 0;
  padding: clamp(0.8rem, 1.8vw, 1.25rem);
  border: 0;
  border-radius: calc(var(--radius-md) - 6px);
  background:
    linear-gradient(180deg, rgba(251, 246, 240, 0.66), rgba(242, 230, 220, 0.52));
  cursor: zoom-in;
}

.credential-card__open:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
}

.credential-card__document {
  display: grid;
  place-items: center;
  width: fit-content;
  max-width: 100%;
  max-height: 100%;
  padding: clamp(0.25rem, 0.55vw, 0.42rem);
  border: 1px solid rgba(154, 95, 84, 0.16);
  border-radius: 10px;
  background: #fffdfb;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9),
    0 8px 20px rgba(86, 49, 37, 0.055);
}

.credential-card__open img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: clamp(16rem, 27vw, 22.5rem);
  object-fit: contain;
  border-radius: 6px;
}

.credential-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: clamp(1rem, 1.55vw, 1.25rem) 0.2rem 0.15rem;
  text-align: right;
}

.credential-card h3 {
  color: var(--brown);
  font-size: clamp(1.18rem, 1.45vw, 1.38rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.credential-card p.credential-card__issuer {
  margin: 0.44rem 0 0;
  color: var(--muted);
  font-size: 0.94rem;
  font-weight: 500;
}

.credential-card__body > p:not(.credential-card__issuer) {
  margin-top: 0.55rem;
  line-height: 1.7;
}

.words {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  padding-bottom: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6.5rem;
  background:
    radial-gradient(circle at 12% 0%, rgba(232, 189, 179, 0.16), transparent 16rem),
    linear-gradient(180deg, rgba(255, 250, 246, 0.72), rgba(244, 234, 226, 0.5));
}

.words__head.section {
  padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.words__bloom {
  position: absolute;
  bottom: -1rem;
  left: -4.5rem;
  width: 15rem;
  height: 11rem;
  border-radius: 55% 45% 48% 52%;
  background: rgba(232, 189, 179, 0.2);
  filter: blur(8px);
}

.words__card {
  background: #fffaf6;
}

.words__card img {
  object-fit: contain;
  background: #fffaf6;
}

.words-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  padding: clamp(1.45rem, 2.2vw, 1.9rem) clamp(1.4rem, 2vw, 1.85rem) 1.55rem;
  border: 1px solid rgba(201, 135, 118, 0.34);
  border-radius: var(--radius-lg);
  background: #fff9f4;
  box-shadow: 0 12px 32px rgba(86, 49, 37, 0.06);
  backdrop-filter: none;
}

.words-card__mark {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 0.8;
}

.words-card blockquote {
  margin: 0;
}

.words-card blockquote p {
  margin: 0.2rem 0 0;
  color: var(--brown-soft);
  font-size: clamp(1.02rem, 1.4vw, 1.12rem);
  line-height: 1.75;
}

.words-card__who {
  margin-top: auto;
  padding-top: 1rem;
}

.words-card p.words-card__name {
  margin: 0;
  color: var(--rose-deep);
  font-family: var(--font-body);
  font-size: clamp(1.22rem, 1.7vw, 1.48rem);
  line-height: 1.3;
}

.words-card p.words-card__context {
  margin: 0.18rem 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.moment-lightbox__nav[hidden] {
  display: none;
}

.moments {
  overflow: hidden;
  width: 100%;
  padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.moments__head.section {
  padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.moments__viewport {
  overflow: hidden;
  direction: ltr;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.moments__track {
  display: flex;
  width: max-content;
  animation: moments-drift 52s linear infinite;
  will-change: transform;
}

.words .moments__track {
  animation-name: words-drift;
}

.moments__set {
  display: flex;
  gap: 1.15rem;
  margin: 0;
  padding: 0.35rem 1.15rem 0.35rem 0;
  list-style: none;
}

.moments__card {
  display: flex;
  flex: 0 0 auto;
  width: clamp(18rem, 26vw, 23rem);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--cream-deep);
  box-shadow: var(--shadow-soft);
}

.moments__open {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: zoom-in;
}

.moments__open:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
}

.moments__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.moments__card.words__card img {
  object-fit: contain;
  background: #fffaf6;
}

@keyframes moments-drift {
  from {
    transform: translate3d(-50%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes words-drift {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.moments.is-paused .moments__track,
.words.is-paused .moments__track,
.moments__viewport:has(.moments__open:active) .moments__track {
  animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
  .moments__viewport:hover .moments__track {
    animation-play-state: paused;
  }

  .moments__open img {
    transition: transform 0.6s ease;
  }

  .moments__card:hover img {
    transform: scale(1.035);
  }
}

@media (max-width: 680px) {
  .words,
  .moments {
    padding-bottom: 3.2rem;
  }

  .words__head.section,
  .moments__head.section {
    padding-bottom: 1.25rem;
  }

  .moments__set {
    gap: 0.7rem;
    padding-right: 0.7rem;
  }

  .moments__card {
    width: 78vw;
    border-radius: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-a11y-motion="on"]) .moments__track {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }

  html:not([data-a11y-motion="on"]) .moments__open img {
    transition: none;
  }
}

.moment-lightbox {
  width: max-content;
  max-width: calc(100vw - 1.5rem);
  max-height: calc(100dvh - 1.5rem);
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  color: var(--brown);
}

.moment-lightbox::backdrop {
  background: rgba(60, 35, 27, 0.62);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.moment-lightbox[open] {
  animation: moment-lightbox-in 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes moment-lightbox-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.moment-lightbox__stage {
  position: relative;
}

.moment-lightbox__image {
  display: block;
  max-width: min(88vw, 54rem);
  max-height: min(78dvh, 44rem);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius-lg);
  background: var(--cream);
  box-shadow: 0 24px 60px rgba(60, 35, 27, 0.28);
}

.moment-lightbox__close,
.moment-lightbox__nav {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--cream);
  color: var(--brown);
  box-shadow: var(--shadow-soft);
  cursor: pointer;
}

.moment-lightbox__close {
  top: 0.7rem;
  inset-inline-end: 0.7rem;
}

.moment-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
}

.moment-lightbox__nav--prev {
  inset-inline-start: 0.7rem;
}

.moment-lightbox__nav--next {
  inset-inline-end: 0.7rem;
}

.moment-lightbox__close:hover,
.moment-lightbox__nav:hover {
  background: #fff;
  color: var(--rose-deep);
}

.moment-lightbox__close:focus-visible,
.moment-lightbox__nav:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
}

@media (max-width: 680px) {
  .moment-lightbox__image {
    max-width: calc(100vw - 1.5rem);
    max-height: 74dvh;
    border-radius: 22px;
  }

  .moment-lightbox__close,
  .moment-lightbox__nav {
    width: 2.35rem;
    height: 2.35rem;
  }
}

.contact-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding-block: 0.2rem 0.4rem;
}

.contact-copy .eyebrow {
  margin: 0 0 0.85rem;
  color: var(--rose-deep);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.contact-copy h2 {
  max-width: 14em;
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 3.5vw, 3.55rem);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.contact-title__line {
  display: block;
}

.contact-title__chunk {
  display: inline;
}

.contact-title__break,
.contact-title__comma,
.contact-title__accent--inline {
  display: none;
}

.contact-title__line + .contact-title__line {
  margin-top: 0.06em;
}

.contact-title__accent {
  color: #a66e5f;
}

.contact-copy .contact-lead {
  max-width: 28rem;
  margin: 1.05rem 0 0;
  color: var(--brown-soft);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.75;
}

.contact-whatsapp {
  align-self: flex-start;
  width: auto;
  min-height: 2.85rem;
  margin-top: 1.45rem;
  padding-inline: 2.55rem;
  background: transparent;
  font-size: 0.92rem;
}

.contact-copy::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: -1.4rem;
  inset-inline-end: -0.4rem;
  width: 8.5rem;
  height: 6rem;
  border-radius: 46% 54% 42% 58%;
  background: rgba(216, 194, 170, 0.38);
  filter: blur(12px);
  pointer-events: none;
}

.contact-intro,
.contact-whatsapp {
  position: relative;
  z-index: 1;
}

.js-ready .contact .reveal:not(.is-visible) {
  transform: translateY(12px);
}

@media (hover: hover) and (pointer: fine) {
  .js-ready .contact-whatsapp.reveal.is-visible:hover {
    transform: translateY(-2px);
  }
}

.js-ready .contact-whatsapp.reveal.is-visible:active {
  transform: translateY(1px);
}

.contact {
  padding-top: clamp(3.4rem, 6vw, 5.2rem);
  padding-bottom: clamp(3.2rem, 6.5vw, 5.4rem);
  padding-inline: clamp(1.1rem, 2.4vw, 2.2rem);
  border-radius: clamp(32px, 4vw, 48px);
  background:
    radial-gradient(circle at 8% 88%, rgba(142, 161, 132, 0.16), transparent 14rem),
    radial-gradient(circle at 16% 78%, rgba(232, 189, 179, 0.3), transparent 16rem),
    radial-gradient(circle at 88% 18%, rgba(216, 194, 170, 0.2), transparent 13rem),
    linear-gradient(180deg, rgba(255, 250, 246, 0.72), rgba(246, 232, 224, 0.78));
}

.contact-card {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(1.75rem, 3.6vw, 3.25rem);
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.contact-actions {
  display: grid;
  gap: 0.75rem;
}

.contact-form {
  position: relative;
  display: grid;
  gap: 0.85rem;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: clamp(1.45rem, 2.3vw, 2rem);
  border: 1px solid rgba(154, 95, 84, 0.13);
  border-radius: 32px;
  background: #fffaf6;
  box-shadow: 0 18px 44px rgba(86, 49, 37, 0.07);
}

.contact-form__head {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.25rem;
}

.contact-form__title {
  margin: 0;
  color: var(--brown);
  font-family: var(--font-display);
  font-size: clamp(1.32rem, 1.7vw, 1.55rem);
  font-weight: 600;
  line-height: 1.35;
}

.contact-form__note {
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.6;
}

.form-field {
  display: grid;
  gap: 0.42rem;
}

.form-field label {
  color: var(--brown-soft);
  font-weight: 600;
  font-size: 0.86rem;
  line-height: 1.3;
}

.form-optional {
  font-weight: 500;
  color: var(--muted);
  font-size: 0.9em;
}

.form-required {
  color: var(--rose-deep);
  font-weight: 600;
}

.form-control {
  position: relative;
}

.form-control__icon {
  position: absolute;
  z-index: 1;
  top: 50%;
  inset-inline-start: 0.55rem;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(232, 189, 179, 0.16);
  color: rgba(154, 95, 84, 0.72);
  pointer-events: none;
  transform: translateY(-50%);
  transition:
    color 0.28s var(--btn-ease),
    background 0.28s var(--btn-ease);
}

.form-control__icon svg {
  width: 14px;
  height: 14px;
}

.form-control--message .form-control__icon {
  top: 0.62rem;
  transform: none;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  padding-inline-start: 3.15rem;
  border: 1px solid rgba(154, 95, 84, 0.16);
  border-radius: 16px;
  background: #fffdfb;
  color: var(--brown);
  font: inherit;
  font-size: 1rem;
  line-height: 1.45;
  transition:
    border-color 0.28s var(--btn-ease),
    background 0.28s var(--btn-ease),
    box-shadow 0.28s var(--btn-ease);
}

.form-control--phone input {
  padding-inline-start: 1rem;
  padding-inline-end: 3.15rem;
  text-align: right;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #877168;
}

@media (hover: hover) and (pointer: fine) {
  .contact-form input:hover,
  .contact-form textarea:hover {
    border-color: rgba(154, 95, 84, 0.28);
  }
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
  outline: 2px solid var(--rose-deep);
  outline-offset: 2px;
  border-color: var(--rose-deep);
  background: #fffdfb;
  box-shadow: none;
}

.form-control:focus-within .form-control__icon {
  color: var(--rose-deep);
  background: rgba(201, 135, 118, 0.28);
}

.contact-form textarea {
  resize: vertical;
  min-height: 6.4rem;
  padding-top: 0.85rem;
}

.form-field.is-invalid input,
.form-field.is-invalid textarea {
  border-color: #9a5f54;
  background: #fff6f3;
}

.form-error {
  margin: 0;
  color: #6e3b34;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.45;
}

.form-error::before {
  content: "שגיאה: ";
}

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

.contact-form-submit {
  align-self: stretch;
  width: 100%;
  min-height: 3.35rem;
  margin-top: 0.35rem;
  font-size: 1.02rem;
  cursor: pointer;
}

.contact-form-submit:disabled,
.contact-form-submit:disabled:hover,
.contact-form-submit:disabled:active {
  opacity: 0.62;
  cursor: wait;
  transform: none;
  background: var(--btn-fill);
  box-shadow: var(--btn-shadow);
}

.contact-form-status {
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: 16px;
  font-weight: 700;
  text-align: center;
}

.contact-form-status.is-success {
  color: var(--brown);
  background: rgba(121, 184, 115, 0.18);
  border: 1px solid rgba(121, 184, 115, 0.35);
}

.contact-form-status.is-error {
  color: var(--brown);
  background: rgba(232, 189, 179, 0.35);
  border: 1px solid rgba(154, 95, 84, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-a11y-motion="on"]) .js-ready .contact .reveal,
  html:not([data-a11y-motion="on"]) .contact .reveal {
    opacity: 1;
    transform: none;
    transition-delay: 0s !important;
  }
}

html[data-a11y-motion="off"] .contact .reveal,
html[data-a11y-motion="off"] .js-ready .contact .reveal {
  opacity: 1;
  transform: none;
  transition-delay: 0s !important;
}

.contact-row {
  display: grid;
  grid-template-columns: 5.7rem 1fr;
  gap: 0.8rem;
  align-items: center;
  min-height: 68px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(154, 95, 84, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.55);
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.contact-row:hover,
.contact-row:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(154, 95, 84, 0.22);
  background: rgba(255, 255, 255, 0.8);
}

.contact-row span {
  color: var(--rose-deep);
  font-weight: 600;
}

.contact-row strong {
  color: var(--brown);
  font-size: clamp(1rem, 2vw, 1.28rem);
}

.primary-row {
  background: var(--brown);
}

.primary-row span,
.primary-row strong {
  color: var(--white);
}

.primary-row span::before {
  content: "";
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  margin-left: 0.45rem;
  border-radius: 50%;
  background: #79b873;
}

.location-row {
  cursor: default;
}

.site-footer {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.65rem;
  width: min(calc(100% - 40px), var(--max));
  margin: 0 auto;
  padding: 2.75rem 0 5.6rem;
  color: var(--muted);
  text-align: center;
  border-top: 1px solid rgba(154, 95, 84, 0.13);
}

.site-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: min(28rem, 100%);
  height: 9rem;
  transform: translateX(-50%);
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(232, 189, 179, 0.28), transparent 72%);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  width: 100%;
  text-align: start;
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.75rem;
  color: inherit;
  text-decoration: none;
}

.site-footer__logo {
  display: block;
  width: 3.35rem;
  height: auto;
  flex-shrink: 0;
}

.site-footer__brand-text {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.site-footer__brand-name {
  color: var(--brown);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.2;
}

.site-footer__brand-tag {
  color: var(--rose-deep);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.site-footer__intro {
  max-width: 22rem;
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.65;
}

.site-footer__heading {
  margin: 0 0 0.65rem;
  color: var(--brown-soft);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding-inline: 0.1rem;
  color: var(--brown);
  font-size: 0.96rem;
  font-weight: 500;
  text-underline-offset: 0.22em;
  transition: color 0.28s var(--btn-ease);
}

.site-footer__links--contact {
  gap: 0.15rem;
  margin-bottom: 0.85rem;
}

.site-footer__mail {
  overflow-wrap: anywhere;
}

.site-footer__phone {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.55rem;
  color: var(--brown);
  font-weight: 500;
  text-underline-offset: 0.22em;
}

.site-footer__phone-label {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 500;
}

.site-footer__phone-num {
  font-size: 0.98rem;
  letter-spacing: 0.02em;
}

.site-footer__place {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  color: var(--muted);
  font-size: 0.94rem;
}

.site-footer__social {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.site-footer__social a {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(154, 95, 84, 0.16);
  border-radius: 50%;
  background: rgba(255, 252, 248, 0.72);
  color: var(--brown-soft);
  transition:
    color 0.28s var(--btn-ease),
    background 0.28s var(--btn-ease),
    border-color 0.28s var(--btn-ease);
}

.site-footer__social svg {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
}

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.55rem;
  width: 100%;
  padding-top: 0.35rem;
}

.site-footer__legal-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin: 0;
  padding-inline: 0.45rem;
  border: 0;
  background: none;
  color: var(--muted);
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 500;
  text-underline-offset: 0.22em;
  cursor: pointer;
  transition: color 0.28s var(--btn-ease);
}

.site-footer__legal-sep {
  color: rgba(154, 95, 84, 0.35);
  font-size: 0.85rem;
  user-select: none;
}

.site-footer__copy {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.site-footer__copy small {
  font-size: inherit;
}

.site-footer__credit {
  width: min(100%, 20rem);
  margin: 0 auto;
  padding-top: 1.05rem;
  border-top: 1px solid rgba(154, 95, 84, 0.12);
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.6;
}

.site-footer__credit a {
  display: inline-block;
  margin: -0.35rem -0.2rem;
  padding: 0.35rem 0.2rem;
  color: var(--rose-deep);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  transition:
    color 0.28s var(--btn-ease),
    text-decoration-color 0.28s var(--btn-ease);
}

.site-footer a:focus-visible,
.site-footer__legal-link:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
  border-radius: 999px;
}

@media (min-width: 981px) {
  .site-footer {
    gap: 0.95rem;
    padding: 2rem 0 2.75rem;
  }

  .site-footer::before {
    height: 5.5rem;
  }

  .site-footer__grid {
    gap: 1.15rem 2rem;
  }

  .site-footer__brand-link {
    margin-bottom: 0.45rem;
  }

  .site-footer__heading {
    margin-bottom: 0.4rem;
  }

  .site-footer__links {
    gap: 0.1rem;
  }

  .site-footer__links a {
    min-height: auto;
    padding-block: 0.1rem;
  }

  .site-footer__links--contact {
    gap: 0;
    margin-bottom: 0.5rem;
  }

  .site-footer__place {
    min-height: auto;
    padding-block: 0.1rem;
  }

  .site-footer__social {
    gap: 0.55rem;
  }

  .site-footer__legal {
    padding-top: 0;
    gap: 0.2rem 0.45rem;
  }

  .site-footer__legal-link {
    min-height: auto;
    padding-block: 0.15rem;
  }

  .site-footer__credit {
    padding-top: 0.65rem;
  }
}

@media (max-width: 980px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .site-footer {
    gap: 0.6rem;
    padding: 1.35rem 0 4.85rem;
  }

  .site-footer::before {
    height: 4.5rem;
  }

  .site-footer__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 0.65rem 0.95rem;
    align-items: start;
    text-align: start;
  }

  .site-footer__brand {
    grid-column: 1 / -1;
  }

  .site-footer__brand-link {
    justify-content: flex-start;
    margin-bottom: 0.35rem;
    gap: 0.65rem;
  }

  .site-footer__logo {
    width: 2.85rem;
  }

  .site-footer__intro {
    margin-inline: 0;
    max-width: none;
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .site-footer__heading {
    margin-bottom: 0.22rem;
  }

  .site-footer__nav .site-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }

  .site-footer__nav .site-footer__links a {
    min-height: 1.42rem;
    padding-block: 0.04rem;
    font-size: 0.88rem;
  }

  .site-footer__reach {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
  }

  .site-footer__reach .site-footer__links--contact {
    gap: 0.05rem;
    margin-bottom: 0;
  }

  .site-footer__reach .site-footer__links--contact a,
  .site-footer__reach .site-footer__place {
    min-height: auto;
    padding-block: 0.06rem;
    font-size: 0.84rem;
    line-height: 1.3;
  }

  .site-footer__reach .site-footer__mail {
    font-size: 0.8rem;
    letter-spacing: 0.01em;
  }

  .site-footer__reach .site-footer__phone {
    display: inline-grid;
    grid-template-columns: max-content;
    gap: 0.05rem;
    width: max-content;
    max-width: 100%;
    margin-inline-start: 0;
    font-size: 0.84rem;
  }

  .site-footer__reach .site-footer__phone-label {
    justify-self: stretch;
    text-align: end;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--brown-soft);
  }

  .site-footer__reach .site-footer__phone-num {
    justify-self: start;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.03em;
  }

  .site-footer__reach .site-footer__place {
    padding-block: 0.1rem 0;
    font-size: 0.82rem;
  }

  .site-footer__social {
    gap: 0.45rem;
    margin-top: 0;
    justify-content: flex-start;
  }

  .site-footer__social a {
    width: 2.2rem;
    height: 2.2rem;
  }

  .site-footer__legal {
    padding-top: 0;
    gap: 0.1rem 0.35rem;
  }

  .site-footer__legal-link {
    min-height: 1.85rem;
    padding-block: 0.08rem;
    font-size: 0.86rem;
  }

  .site-footer__copy {
    font-size: 0.82rem;
    line-height: 1.4;
  }

  .site-footer__credit {
    padding-top: 0.5rem;
    font-size: 0.86rem;
    line-height: 1.45;
  }
}

.privacy-dialog {
  width: min(34rem, calc(100vw - 1.5rem));
  max-height: min(78dvh, 40rem);
  margin: auto;
  padding: 1.35rem 1.25rem 1.15rem;
  border: 1px solid rgba(201, 135, 118, 0.38);
  border-radius: var(--radius-lg);
  background: #fff9f4;
  color: var(--brown);
  box-shadow: 0 24px 60px rgba(60, 35, 27, 0.22);
  overflow: hidden;
}

.privacy-dialog[open] {
  display: flex;
  flex-direction: column;
  animation: privacy-dialog-in 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.privacy-dialog::backdrop {
  background: rgba(60, 35, 27, 0.46);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

@keyframes privacy-dialog-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.privacy-dialog__close {
  position: absolute;
  top: 0.85rem;
  inset-inline-end: 0.85rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid rgba(154, 95, 84, 0.16);
  border-radius: 999px;
  background: #fffdfb;
  color: var(--brown);
  cursor: pointer;
}

.privacy-dialog__close:hover,
.privacy-dialog__close:focus-visible {
  color: var(--rose-deep);
  border-color: rgba(154, 95, 84, 0.36);
  background: #fff;
}

.privacy-dialog__close:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
}

.privacy-dialog__title {
  margin: 0;
  padding-inline-end: 2.6rem;
  color: var(--brown);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.4vw, 1.8rem);
  font-weight: 600;
  line-height: 1.25;
}

.privacy-dialog__updated {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.privacy-dialog__body {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 1rem;
  padding-inline-end: 0.15rem;
  overflow: auto;
  overscroll-behavior: contain;
  text-align: start;
}

.privacy-dialog__body h3 {
  margin: 1.15rem 0 0;
  color: var(--rose-deep);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
}

.privacy-dialog__body p {
  margin: 0.4rem 0 0;
  color: var(--brown-soft);
  font-size: 0.96rem;
  line-height: 1.75;
}

.privacy-dialog__body a {
  color: var(--rose-deep);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.privacy-dialog__body a:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 3px;
  border-radius: 6px;
}

@media (max-width: 680px) {
  .privacy-dialog {
    width: min(34rem, calc(100vw - 1rem));
    max-height: min(82dvh, 40rem);
    padding: 1.15rem 1rem 1rem;
    border-radius: 22px;
  }

  .privacy-dialog__close {
    width: 2.35rem;
    height: 2.35rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .site-footer__links a:hover,
  .site-footer__phone:hover {
    color: var(--rose-deep);
    text-decoration: underline;
    text-decoration-color: rgba(201, 135, 118, 0.65);
  }

  .site-footer__brand-link:hover .site-footer__brand-name {
    color: var(--rose-deep);
  }

  .site-footer__social a:hover {
    color: var(--rose-deep);
    border-color: rgba(154, 95, 84, 0.32);
    background: var(--white);
  }

  .site-footer__legal-link:hover {
    color: var(--brown-soft);
    text-decoration: underline;
    text-decoration-color: rgba(154, 95, 84, 0.35);
  }

  .site-footer__credit a:hover {
    color: var(--brown);
    text-decoration-color: var(--rose);
  }
}

.floating-whatsapp {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 45;
  width: 3.35rem;
  height: 3.35rem;
  min-height: 0;
  padding: 0;
  background: var(--btn-fill);
  color: var(--btn-ink);
  border-color: rgba(255, 246, 241, 0.42);
  border-radius: 50%;
  box-shadow: var(--btn-shadow);
}

.floating-whatsapp__icon {
  display: block;
  width: 1.45rem;
  height: 1.45rem;
}

@media (hover: hover) and (pointer: fine) {
  .btn:hover,
  .header-cta:hover,
  .floating-whatsapp:hover {
    transform: translateY(-2.5px);
  }

  .btn-primary:hover,
  .floating-whatsapp:hover {
    background: var(--btn-fill-hover);
    box-shadow: var(--btn-shadow-hover);
  }

  .header-social__link:hover {
    color: var(--rose-deep);
    background: rgba(232, 189, 179, 0.34);
    border-color: rgba(154, 95, 84, 0.46);
    box-shadow:
      0 1px 1px rgba(86, 49, 37, 0.04),
      0 12px 22px rgba(112, 64, 54, 0.1);
    transform: translateY(-2px);
  }

  .btn-secondary:hover,
  .header-cta:hover {
    background: rgba(232, 189, 179, 0.34);
    border-color: rgba(154, 95, 84, 0.46);
    box-shadow:
      0 1px 1px rgba(86, 49, 37, 0.04),
      0 12px 22px rgba(112, 64, 54, 0.1);
  }

  .btn-primary:hover .btn-mark,
  .btn-primary:hover .btn-wa-icon {
    background: #fffaf7;
  }

  .btn-secondary:hover .btn-mark,
  .btn-secondary:hover .btn-wa-icon,
  .header-cta:hover .btn-wa-icon {
    background: #fffaf7;
    box-shadow: inset 0 0 0 1px rgba(154, 95, 84, 0.28);
  }

  .btn:hover .btn-mark,
  .btn:hover .btn-wa-icon {
    transform: translateY(-50%) translateX(-3px);
  }

  .header-cta:hover .btn-wa-icon {
    transform: translateX(-3px);
  }

  .btn:hover .btn-mark svg,
  .btn:hover .btn-wa-icon svg,
  .header-cta:hover .btn-wa-icon svg {
    transform: translateX(-2px);
  }

  .site-header.is-open .mobile-nav__cta:hover {
    transform: translateY(-2.5px);
    background: var(--btn-fill-hover);
    box-shadow: var(--btn-shadow-hover);
    transition-delay: 0s;
  }

  .site-header.is-open .mobile-nav__cta:hover .btn-wa-icon {
    background: #fffaf7;
    transform: translateY(-50%) translateX(-3px);
  }

  .site-header.is-open .mobile-nav__cta:hover .btn-wa-icon svg {
    transform: translateX(-2px);
  }
}

.btn:active,
.header-cta:active,
.floating-whatsapp:active,
.contact-form-submit:active:not(:disabled) {
  transform: translateY(1px);
  transition-duration: 0.14s;
  transition-timing-function: cubic-bezier(0.3, 0, 0.4, 1);
}

.btn-primary:active,
.floating-whatsapp:active,
.contact-form-submit:active:not(:disabled) {
  box-shadow: var(--btn-shadow-press);
}

.btn-secondary:active,
.header-cta:active {
  background: rgba(232, 189, 179, 0.42);
  box-shadow: var(--btn-shadow-press);
}

.btn:active .btn-mark,
.btn:active .btn-wa-icon {
  transform: translateY(-50%) translateX(-1px);
  transition-duration: 0.14s;
}

.header-cta:active .btn-wa-icon {
  transform: translateX(-1px);
}

.btn:active .btn-mark svg,
.btn:active .btn-wa-icon svg,
.header-cta:active .btn-wa-icon svg {
  transform: none;
}

.site-header.is-open .mobile-nav__cta:active {
  transform: translateY(1px);
  box-shadow: var(--btn-shadow-press);
  transition-delay: 0s;
  transition-duration: 0.14s;
}

.site-header.is-open .mobile-nav__cta:active .btn-wa-icon {
  transform: translateY(-50%) translateX(-1px);
}

.reveal {
  opacity: 1;
  transform: none;
}

.js-ready .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.2, 0.75, 0.2, 1);
}

.js-ready .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-a11y-motion="on"]) *,
  html:not([data-a11y-motion="on"]) *::before,
  html:not([data-a11y-motion="on"]) *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  html:not([data-a11y-motion="on"]) .reveal {
    opacity: 1;
    transform: none;
  }

  html:not([data-a11y-motion="on"]) .js-ready .site-header__chip,
  html:not([data-a11y-motion="on"]) .js-ready .main-nav a,
  html:not([data-a11y-motion="on"]) .js-ready .brand-mark__wordmark,
  html:not([data-a11y-motion="on"]) .js-ready .brand-mark__heart,
  html:not([data-a11y-motion="on"]) .js-ready .brand-mark__logo {
    opacity: 1;
    transform: none;
    animation: none;
  }

  html:not([data-a11y-motion="on"]) .js-ready .brand-mark__heart {
    transform: rotate(var(--heart-tilt));
  }

  }

@media (max-width: 980px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .site-header {
    top: 12px;
    width: calc(100% - 24px);
    max-width: none;
  }

  .site-header.is-scrolled {
    width: calc(100% - 24px);
  }

  .site-header__bar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
  }

  .site-header__chip {
    --chip-height: 58px;
  }

  .site-header.is-scrolled .site-header__chip {
    --chip-height: 56px;
  }

  .site-header__nav-cluster,
  .site-header__chip--nav {
    display: none;
  }

  .site-header__chip--brand {
    justify-self: start;
    padding-inline: 0.15rem 0.35rem;
  }

  .site-header__chip--actions {
    justify-self: end;
    padding: 0;
    gap: 0.4rem;
  }

  .header-social__link {
    width: 2.5rem;
    height: 2.5rem;
  }

  .main-nav,
  .header-cta {
    display: none;
  }

  .nav-toggle {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
  }

  .mobile-nav {
    display: flex;
  }

  .site-header.is-open .mobile-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav-backdrop {
    display: none !important;
  }

  .contact-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.35rem;
  }

  .contact-copy {
    display: contents;
  }

  .contact-intro {
    order: 1;
  }

  .contact-form {
    order: 3;
  }

  .contact-whatsapp {
    order: 4;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0.1rem;
  }

  .contact-copy::after {
    content: none;
  }

  .credentials-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .credentials__bloom,
  .words__bloom {
    width: 12rem;
    height: 9rem;
  }

  .btn,
  .mobile-nav__cta {
    min-height: 48px;
    padding-block: 0.42rem;
    padding-inline: 2.55rem;
    font-size: 0.94rem;
  }

  .btn-mark,
  .btn .btn-wa-icon,
  .mobile-nav__cta .btn-wa-icon {
    width: 1.8rem;
    height: 1.8rem;
  }

  .btn .btn-mark,
  .btn .btn-wa-icon,
  .mobile-nav__cta .btn-wa-icon {
    inset-inline-end: 0.32rem;
  }

  .btn-mark svg {
    width: 0.8rem;
    height: 0.8rem;
  }

  .btn-wa-icon svg,
  .mobile-nav__cta .btn-wa-icon svg {
    width: 0.82rem;
    height: 0.82rem;
  }

  .section-copy h2,
  .contact-copy h2 {
    font-size: clamp(1.7rem, 5.4vw, 2.45rem);
    line-height: 1.18;
  }

  .section-copy p,
  .contact-copy p {
    font-size: clamp(0.98rem, 2.2vw, 1.08rem);
  }

  .credential-card h3 {
    font-size: clamp(1.12rem, 2.6vw, 1.32rem);
  }

  .contact-copy h2 {
    max-width: 13em;
    font-size: clamp(2.2rem, 5.2vw, 2.9rem);
    line-height: 1.18;
  }

  .contact-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .contact-copy,
  .contact-form {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .contact {
    padding-inline: 0.7rem;
    border-radius: 28px;
  }

  .contact-form {
    padding: 1.3rem 1.15rem 1.15rem;
    border-radius: 26px;
  }

  .mobile-nav {
    padding-top: max(1rem, env(safe-area-inset-top, 0px));
  }

  .mobile-nav__links a {
    font-size: clamp(1.55rem, 6.8vw, 2.15rem);
    padding-block: 0.42rem;
  }

  .js-ready .reveal {
    transform: translateY(16px);
  }

  .js-ready .brand-mark__wordmark,
  .js-ready .brand-mark__logo {
    transform: translateY(3px);
  }

  .site-header.is-open .mobile-nav__head {
    transform: translateY(0);
  }

  .mobile-nav__head {
    transform: translateY(10px);
  }

  .mobile-nav__links a {
    transform: translateY(12px);
  }

  .site-header.is-open .mobile-nav__links a {
    transform: translateY(0);
  }
}

@media (max-width: 680px) {
  body {
    background:
      radial-gradient(circle at 24% 4%, rgba(232, 189, 179, 0.32), transparent 17rem),
      linear-gradient(180deg, var(--cream), #fffaf6 58%, #f8eee8);
  }

  .site-header {
    top: 12px;
    width: calc(100% - 24px);
  }

  .site-header__chip--brand {
    border-radius: 0;
  }

  .brand-mark {
    min-height: 36px;
    padding-block: 0.08rem;
    padding-inline: 0.04rem;
    max-width: 100%;
    overflow: visible;
  }

  .brand-mark__logo {
    height: 3.35rem;
    max-width: 48vw;
  }

  .site-header__chip--brand .brand-mark__logo {
    height: clamp(4.49rem, 11vw, 4.95rem);
    max-width: min(50vw, 5.2rem);
  }

  .nav-toggle {
    width: 2.75rem;
    height: 2.75rem;
  }

  .mobile-nav {
    padding-inline: 1.15rem;
  }

  .mobile-nav__links a {
    font-size: clamp(1.38rem, 6.5vw, 1.75rem);
    padding-block: 0.32rem;
  }

  .section,
  .site-footer {
    width: min(calc(100% - 24px), var(--max));
  }

  .section {
    padding: 3rem 0;
  }

  .credentials-grid,
  .words-grid,
  .words-grid:has(> :only-child) {
    grid-template-columns: 1fr;
  }

  .credentials-grid,
  .words-grid {
    gap: 0.9rem;
    margin-top: 1.7rem;
  }

  .credentials__bloom {
    top: 0.4rem;
    right: -3.2rem;
    width: 10rem;
    height: 7.5rem;
  }

  .words__bloom {
    left: -2.8rem;
    width: 10rem;
    height: 7.5rem;
  }

  .credential-card,
  .words-card {
    min-height: auto;
  }

  .words-card {
    padding: 1.2rem 1.15rem 1.3rem;
  }

  .contact-card {
    padding: 1.15rem;
    border-radius: 28px;
  }

  .contact-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .contact-row {
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }

  .contact-whatsapp {
    width: 100%;
    box-sizing: border-box;
  }

  .floating-whatsapp {
    right: 12px;
    bottom: 12px;
    left: auto;
    width: 3.2rem;
    height: 3.2rem;
  }

  .section-copy h2 {
    font-size: clamp(1.55rem, 7vw, 1.95rem);
  }

  .contact-copy h2 {
    max-width: none;
    font-size: clamp(2.05rem, 8.8vw, 2.55rem);
    line-height: 1.2;
  }

  .contact-title__chunk {
    display: block;
  }

  .contact-title__comma,
  .contact-title__accent--inline {
    display: inline;
  }

  .contact-title__break--after-kol {
    display: block;
  }

  .contact-title__line--accent.contact-title__accent--solo {
    display: none;
  }

  .contact {
    padding-top: 2.15rem;
    padding-bottom: 1.7rem;
    padding-inline: 0.2rem;
    border-radius: 26px;
  }

  .contact-form {
    padding: 1.2rem 1rem 1.05rem;
    border-radius: 24px;
  }

  .contact-form input,
  .contact-form textarea {
    min-height: 3.35rem;
    font-size: 1rem;
  }

  .contact-form textarea {
    min-height: 6.6rem;
  }

  .credential-card h3 {
    font-size: 1.12rem;
  }
}

@media (max-width: 767px) {
  body::before {
    background-size: 36px 36px;
  }

  .section {
    scroll-margin-top: 5.4rem;
  }

  .floating-whatsapp {
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
  }

  }

@media (hover: none) {
  .brand-mark:active .brand-mark__logo {
    transform: translateY(-1px);
  }

  }

@media (max-width: 430px) {
  .site-header {
    top: 10px;
    width: calc(100% - 20px);
  }

  .site-header.is-scrolled {
    width: calc(100% - 20px);
  }
}

@media (max-width: 375px) {
  .brand-mark__word {
    font-size: 0.86rem;
  }

  }

@media (max-width: 320px) {
  .site-header {
    top: 8px;
    width: calc(100% - 16px);
  }

  .site-header.is-scrolled {
    width: calc(100% - 16px);
  }

  .brand-mark__word {
    font-size: 0.8rem;
  }

  .btn,
  .mobile-nav__cta {
    min-height: 46px;
    font-size: 0.88rem;
    padding-inline: 2.35rem;
  }

  .btn-mark,
  .btn .btn-wa-icon,
  .mobile-nav__cta .btn-wa-icon {
    width: 1.6rem;
    height: 1.6rem;
  }

  .section,
  .site-footer {
    width: min(calc(100% - 18px), var(--max));
  }

  .contact-card {
    padding: 0.95rem;
    border-radius: 24px;
  }

  .contact-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .contact-form {
    padding: 1.05rem 0.9rem 0.95rem;
  }
}

/* —— Home sections: hero through women's circles —— */
.band__wrap {
  width: min(calc(100% - 40px), var(--max));
  margin-inline: auto;
}

.band,
.loss {
  position: relative;
  padding-block: clamp(4.5rem, 8vw, 6.5rem);
  border-bottom: 1px solid rgba(154, 95, 84, 0.06);
  scroll-margin-top: 6rem;
}

.band--soft {
  background:
    radial-gradient(circle at 0% 100%, rgba(142, 161, 132, 0.14), transparent 18rem),
    radial-gradient(circle at 100% 0%, rgba(232, 189, 179, 0.2), transparent 16rem),
    linear-gradient(180deg, rgba(242, 232, 222, 0.72), rgba(247, 241, 232, 0.46));
}

.band--blush {
  background:
    radial-gradient(circle at 100% 0%, rgba(232, 189, 179, 0.34), transparent 24rem),
    radial-gradient(circle at 0% 100%, rgba(142, 161, 132, 0.12), transparent 18rem),
    linear-gradient(180deg, rgba(248, 234, 228, 0.82), rgba(251, 243, 238, 0.58));
}

.band__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 1rem;
  color: var(--rose-deep);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.band__eyebrow::before {
  content: "";
  flex: none;
  width: 2.15rem;
  height: 1px;
  background: rgba(201, 135, 118, 0.85);
}

.band__title {
  max-width: 22em;
  margin: 0;
  color: var(--brown);
  font-family: var(--font-body);
  font-size: clamp(2rem, 3.9vw, 3.05rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.band__title-line {
  display: block;
}

.band__lead {
  max-width: 49rem;
  margin: 1.35rem 0 0;
  color: var(--brown-soft);
  font-size: clamp(1.06rem, 1.45vw, 1.2rem);
  line-height: 1.8;
}

.band__quote {
  margin: 2.1rem 0 0;
  padding-inline-start: 1.5rem;
  border-inline-start: 3px solid var(--rose);
  color: var(--brown);
  font-size: clamp(1.3rem, 2.1vw, 1.68rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.band__quote p {
  margin: 0;
}

.band__quote strong {
  display: block;
  color: var(--rose-deep);
  font-weight: 700;
}

.band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: clamp(2rem, 3.5vw, 2.6rem);
}

/* Hero */
.hero-split {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(8rem, 14vh, 9.75rem) 0 clamp(4.5rem, 8vw, 6.5rem);
  border-bottom: 1px solid rgba(154, 95, 84, 0.06);
  background:
    linear-gradient(180deg, rgba(251, 246, 240, 0.2), rgba(243, 232, 224, 0.28));
}

.hero-split::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 24% 42%, rgba(232, 189, 179, 0.42), transparent 30rem),
    radial-gradient(circle at 92% 10%, rgba(216, 194, 170, 0.26), transparent 24rem);
  pointer-events: none;
}

.hero-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2.5rem, 6vw, 4.5rem);
  align-items: center;
}

@media (min-width: 981px) {
  .hero-split {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: clamp(7.25rem, 11vh, 8.75rem);
    padding-bottom: clamp(2.25rem, 4.5vh, 3.5rem);
  }

  .hero-split .band__wrap {
    width: min(calc(100% - 48px), 1320px);
  }

  .hero-split__grid {
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.62fr);
    gap: clamp(1.15rem, 2vw, 1.85rem);
  }
}

.hero-split__eyebrow::before {
  content: none;
}

.approach .band__eyebrow::before,
.method .band__eyebrow::before,
.story .band__eyebrow::before,
.circles .band__eyebrow::before {
  content: none;
}

.hero-split__title {
  margin: 0;
  color: var(--brown);
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth" 100;
  font-size: clamp(2.75rem, 5.6vw, 4.6rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.03em;
}

@media (min-width: 981px) {
  .hero-split__title {
    width: fit-content;
    max-width: 100%;
  }
}

.hero-split__line {
  display: block;
}

@media (min-width: 981px) {
  .hero-split__line {
    white-space: nowrap;
  }

  .hero-split__line:first-child {
    text-align: center;
  }
}

.hero-split__line--grow {
  color: #915e52;
}

.hero-split__line--center {
  margin-top: 0.35em;
  text-align: center;
}

.hero-split__lead {
  margin: 1.5rem 0 0;
  color: var(--brown);
  font-size: clamp(1.15rem, 1.6vw, 1.32rem);
  font-weight: 500;
  line-height: 1.6;
}

.hero-split__intro {
  max-width: 34rem;
  margin: 1.1rem 0 0;
  color: var(--brown-soft);
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  line-height: 1.8;
}

@media (min-width: 981px) {
  .hero-split__intro {
    margin-top: 1.65rem;
  }
}

.hero-split__intro strong {
  display: block;
  color: var(--brown);
  font-weight: 600;
}

.hero-split__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2rem;
}

.hero-split__actions > .btn-primary,
.contact-form-submit {
  background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
  border-color: transparent;
  box-shadow:
    0 20px 30px -6px rgba(154, 95, 84, 0.62),
    0 0 26px rgba(154, 95, 84, 0.42),
    0 0 46px rgba(135, 84, 73, 0.28);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    background 0.3s ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  .hero-split__actions > .btn-primary:hover,
  .contact-form-submit:hover:not(:disabled) {
    background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
    transform: translateY(3px);
    box-shadow: none;
  }
}

.hero-split__actions > .btn-primary:active,
.contact-form-submit:active:not(:disabled) {
  opacity: 0.5;
  transform: translateY(3px);
  box-shadow: none;
}

.contact-whatsapp {
  background: transparent;
  border-color: rgba(154, 95, 84, 0.34);
  color: var(--brown);
  box-shadow:
    0 20px 30px -6px rgba(154, 95, 84, 0.62),
    0 0 26px rgba(154, 95, 84, 0.42),
    0 0 46px rgba(135, 84, 73, 0.28);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    background 0.3s ease-in-out,
    border-color 0.3s ease-in-out,
    color 0.3s ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  .contact-whatsapp:hover,
  .js-ready .contact-whatsapp.reveal.is-visible:hover {
    background: transparent;
    border-color: rgba(154, 95, 84, 0.34);
    color: var(--brown);
    transform: translateY(3px);
    box-shadow: none;
  }
}

.contact-whatsapp:active,
.js-ready .contact-whatsapp.reveal.is-visible:active {
  opacity: 0.5;
  background: transparent;
  border-color: rgba(154, 95, 84, 0.34);
  color: var(--brown);
  transform: translateY(3px);
  box-shadow: none;
}

.hero-split__actions > .btn-secondary {
  background: rgba(255, 252, 248, 0.62);
  border-color: rgba(154, 95, 84, 0.34);
  color: var(--brown);
  box-shadow:
    0 20px 30px -6px rgba(154, 95, 84, 0.62),
    0 0 26px rgba(154, 95, 84, 0.42),
    0 0 46px rgba(135, 84, 73, 0.28);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    background 0.3s ease-in-out,
    border-color 0.3s ease-in-out,
    color 0.3s ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  .hero-split__actions > .btn-secondary:hover {
    background: rgba(255, 252, 248, 0.62);
    border-color: rgba(154, 95, 84, 0.34);
    color: var(--brown);
    transform: translateY(3px);
    box-shadow: none;
  }
}

.hero-split__actions > .btn-secondary:active {
  opacity: 0.5;
  background: rgba(255, 252, 248, 0.62);
  border-color: rgba(154, 95, 84, 0.34);
  color: var(--brown);
  transform: translateY(3px);
  box-shadow: none;
}

.hero-split__note {
  margin: 1.3rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.hero-split__media {
  position: relative;
  justify-self: center;
  width: min(100%, 27rem);
  margin: 0;
}

@media (min-width: 981px) {
  .hero-split__media {
    justify-self: end;
    width: min(25.5rem, 32vw);
    margin-left: -2.75rem;
  }
}

.hero-split__media::before {
  content: "";
  position: absolute;
  inset: -0.9rem;
  border: 1px solid rgba(201, 135, 118, 0.38);
  border-radius: 50% 50% 34px 34px / 40% 40% 34px 34px;
  pointer-events: none;
}

.hero-split__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 50% 50% 26px 26px / 40% 40% 26px 26px;
  background: var(--cream-deep);
  box-shadow: var(--shadow);
}

.hero-split__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 38% 16%;
  transform: scale(1.1);
}

.js-ready .hero-split__copy > *,
.js-ready .hero-split__media {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  animation: hero-split-in 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.js-ready .hero-split__copy > :nth-child(1) { animation-delay: 0.1s; }
.js-ready .hero-split__copy > :nth-child(2) { animation-delay: 0.2s; }
.js-ready .hero-split__copy > :nth-child(3) { animation-delay: 0.36s; }
.js-ready .hero-split__copy > :nth-child(4) { animation-delay: 0.46s; }
.js-ready .hero-split__copy > :nth-child(5) { animation-delay: 0.56s; }
.js-ready .hero-split__copy > :nth-child(6) { animation-delay: 0.64s; }
.js-ready .hero-split__media { animation-delay: 0.3s; }

@keyframes hero-split-in {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Opening */
.opening__inner {
  max-width: 54rem;
  text-align: center;
}

.opening .band__eyebrow {
  justify-content: center;
}

.opening .band__eyebrow::after {
  content: "";
  flex: none;
  width: 2.15rem;
  height: 1px;
  background: rgba(201, 135, 118, 0.85);
}

.opening .band__title {
  margin-inline: auto;
}

.opening .band__lead {
  margin-inline: auto;
}

.opening .opening__quote {
  max-width: 40rem;
  margin: 2.5rem auto 0;
  padding: 0;
  border: 0;
}

.opening__quote::before {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  margin: 0 auto 1.4rem;
  background: var(--rose);
}

/* Personal accompaniment */
.approach__cards,
.method__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(2.4rem, 4vw, 3rem) 0 0;
  padding: 0;
  list-style: none;
}

.approach__cards {
  gap: clamp(1rem, 1.6vw, 1.25rem);
}

.approach-card {
  display: flex;
  flex-direction: column;
  padding: clamp(1.6rem, 2.4vw, 2rem);
  border: 1px solid rgba(154, 95, 84, 0.14);
  border-radius: 22px;
  background: rgba(255, 252, 248, 0.88);
  box-shadow: 0 10px 30px rgba(86, 49, 37, 0.05);
}

.approach-card__num {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: 1.3rem;
  border-radius: 50%;
  background: rgba(232, 189, 179, 0.36);
  color: var(--rose-deep);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.approach-card h3,
.method-step h3 {
  margin: 0;
  color: var(--brown);
  font-family: var(--font-body);
  font-size: clamp(1.18rem, 1.5vw, 1.35rem);
  font-weight: 700;
  line-height: 1.35;
}

.approach-card p,
.method-step p:not(.method-step__label) {
  margin: 0.65rem 0 0;
  color: var(--brown-soft);
  line-height: 1.75;
}

/* The way / tools */
.method__grid {
  gap: clamp(0.95rem, 1.4vw, 1.15rem);
}

.method-step {
  min-height: 13.75rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(201, 135, 118, 0.3);
  border-radius: var(--radius-md);
  background: #fff9f4;
  box-shadow: 0 8px 24px rgba(86, 49, 37, 0.04);
}

.method-step__label {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0 0 0.85rem;
  color: var(--rose-deep);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.method-step__mark {
  color: rgba(201, 135, 118, 0.8);
  font-weight: 400;
}

.method__note {
  max-width: 49rem;
  margin: 2rem 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.7;
}

@media (hover: hover) and (pointer: fine) {
  .approach-card,
  .method-step {
    transition:
      opacity 0.85s ease,
      transform 0.85s cubic-bezier(0.2, 0.75, 0.2, 1),
      border-color 0.36s var(--btn-ease),
      box-shadow 0.36s var(--btn-ease);
  }

  .approach-card:hover,
  .method-step:hover {
    border-color: rgba(154, 95, 84, 0.42);
    box-shadow: 0 18px 40px rgba(86, 49, 37, 0.09);
  }
}

/* Personal accompaniment CTA — this button only */
.approach .band__actions {
  margin-top: clamp(3rem, 4.8vw, 3.75rem);
}

@keyframes approach-cta-glow {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

.approach .band__actions .btn-primary {
  z-index: 1;
  min-height: 3.55rem;
  padding-block: 0.5rem;
  padding-inline: 3.15rem 3.7rem;
  background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
  color: var(--white);
  border-color: transparent;
  font-size: 1.02rem;
  font-weight: 650;
  box-shadow:
    0 16px 28px -8px rgba(135, 84, 73, 0.4);
  transition:
    transform 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out,
    opacity 0.3s ease-in-out,
    background 0.3s ease-in-out;
}

.approach .band__actions .btn-primary::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -6px;
  border-radius: inherit;
  background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
  filter: blur(15px);
  opacity: 0.25;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  html:not([data-a11y-motion="off"]) .approach .band__actions .btn-primary::before {
    animation: approach-cta-glow 2.8s ease-in-out infinite;
  }
}

.approach .band__actions .btn-primary .btn-mark {
  width: 2.4rem;
  height: 2.4rem;
  inset-inline-end: 0.42rem;
  background: var(--white);
  color: color-mix(in srgb, var(--rose-deep) 72%, var(--brown) 28%);
  box-shadow:
    0 0 0 1.5px rgba(255, 250, 247, 0.5),
    0 1px 3px rgba(60, 35, 27, 0.14);
  transition:
    transform 0.26s var(--btn-ease),
    background-color 0.26s var(--btn-ease),
    box-shadow 0.26s var(--btn-ease);
}

.approach .band__actions .btn-primary .btn-mark svg {
  width: 1.05rem;
  height: 1.05rem;
  transition: transform 0.26s var(--btn-ease);
}

@media (hover: hover) and (pointer: fine) {
  .approach .band__actions .btn-primary:hover {
    background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
    transform: translateY(3px);
    box-shadow: none;
  }

  .approach .band__actions .btn-primary:hover .btn-mark {
    background: var(--white);
    transform: translateY(-50%) translateX(-3px);
  }

  .approach .band__actions .btn-primary:hover .btn-mark svg {
    transform: translateX(-2px);
  }
}

.approach .band__actions .btn-primary:active {
  opacity: 0.5;
  background: linear-gradient(135deg, #9a675c 0%, #875449 100%);
  transform: translateY(3px);
  box-shadow: none;
}

/* About */
.story {
  --story-accent: #875449;
}

.story__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "head media"
    "body media";
  column-gap: clamp(2.5rem, 5.5vw, 4rem);
  align-items: start;
}

.story__head {
  grid-area: head;
}

.story__title {
  font-size: clamp(2rem, 3.6vw, 2.85rem);
  line-height: 1.16;
}

.story__title-line {
  display: block;
}

.story__title-line--now {
  margin-top: 0.35em;
}

.story__title-line--accent {
  color: var(--story-accent);
}

.story__title-line--marked {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 0.85em;
}

.story__scribble {
  position: absolute;
  inset-inline-start: 0;
  bottom: 0.02em;
  width: calc(100% + 1.25em);
  max-width: none;
  height: auto;
  aspect-ratio: 930 / 119;
  pointer-events: none;
  user-select: none;
}

.js-ready .story__scribble {
  clip-path: inset(0 0 0 100%);
}

.js-ready .story__head.is-visible .story__scribble,
.js-ready .clinic__copy.is-visible .story__scribble {
  animation: story-scribble 900ms cubic-bezier(0.22, 0.7, 0.24, 1) 260ms forwards;
}

@keyframes story-scribble {
  from {
    clip-path: inset(0 0 0 100%);
  }

  to {
    clip-path: inset(0 0 0 0);
  }
}

.story__body {
  grid-area: body;
  max-width: 38rem;
  margin-top: 1.8rem;
}

.story__body > p {
  margin: 0 0 1.1rem;
  color: var(--brown-soft);
  font-size: clamp(1.04rem, 1.2vw, 1.12rem);
  line-height: 1.8;
}

.story__body > p strong {
  color: var(--brown);
  font-weight: 600;
}

.story__quote {
  margin: 2rem 0;
  font-size: clamp(1.3rem, 2vw, 1.62rem);
  line-height: 1.45;
}

.story__quote .story__quote-line {
  display: block;
}

.story__quote strong {
  margin-top: 0.15em;
  color: var(--story-accent);
}

.story__body > .story__close {
  margin-bottom: 0;
}

.story__close-break {
  display: none;
}

.story__close-break--after-them {
  display: none;
}

@media (min-width: 981px) {
  .story__close-break--after-them {
    display: block;
  }
}

@media (max-width: 980px) {
  .story__mobile-keep {
    white-space: nowrap;
  }
}

.story__media {
  grid-area: media;
  position: static;
  margin: 0;
}

.story__frame {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  background: var(--cream-deep);
  box-shadow: var(--shadow-soft);
}

.story__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 50%;
}

.story__caption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.7rem;
  margin-top: 0.9rem;
}

.story__caption strong {
  color: var(--brown);
  font-size: 0.98rem;
  font-weight: 600;
}

.story__caption span {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 500;
}

.story__caption .story__caption-rule {
  width: 1.35rem;
  height: 1px;
  background: #c9b2a6;
}

/* Bereaved mothers */
.loss {
  border-bottom: 0;
  background:
    radial-gradient(circle at 80% 16%, rgba(201, 135, 118, 0.24), transparent 26rem),
    radial-gradient(circle at 8% 92%, rgba(183, 147, 88, 0.12), transparent 22rem),
    linear-gradient(160deg, #4a2c23 0%, var(--brown) 72%);
  color: var(--cream);
}

.loss__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 6vw, 4.5rem);
  align-items: center;
}

.loss__media {
  justify-self: center;
  width: min(100%, 25rem);
  margin: 0;
}

.loss__frame {
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow:
    0 0 0 1px rgba(232, 189, 179, 0.38),
    0 0 0 14px rgba(232, 189, 179, 0.06),
    0 24px 60px rgba(20, 10, 6, 0.28);
}

.loss__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.24);
}

.loss .band__eyebrow {
  color: var(--powder);
}

.loss .band__eyebrow::before {
  content: none;
}

.loss .band__title {
  color: #fffaf6;
}

.loss__copy > p {
  max-width: 36rem;
  margin: 1.1rem 0 0;
  color: rgba(251, 246, 240, 0.84);
  font-size: clamp(1.04rem, 1.3vw, 1.14rem);
  line-height: 1.8;
}

.loss__quote {
  border-color: var(--powder);
  color: #fffaf6;
}

.loss__quote strong {
  color: var(--powder);
}

@keyframes loss-cta-glow {
  0%,
  100% {
    box-shadow:
      0 16px 28px -8px rgba(238, 103, 97, 0.45),
      0 0 18px rgba(234, 84, 85, 0.28);
  }

  50% {
    box-shadow:
      0 20px 36px -6px rgba(238, 103, 97, 0.58),
      0 0 32px rgba(254, 182, 146, 0.42),
      0 0 48px rgba(234, 84, 85, 0.32);
  }
}

.loss .loss__cta {
  width: max-content;
  max-width: 100%;
  min-height: 3.25rem;
  margin-top: 2.2rem;
  padding: 0.7rem 1.85rem;
  border: none;
  border-radius: 50px;
  background: linear-gradient(135deg, #feb692 0%, #ea5455 100%);
  box-shadow:
    0 16px 28px -8px rgba(238, 103, 97, 0.45),
    0 0 18px rgba(234, 84, 85, 0.28);
  color: #fff;
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.12vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.25;
  white-space: nowrap;
  transition:
    transform 0.32s var(--btn-ease),
    box-shadow 0.32s var(--btn-ease),
    opacity 0.2s ease;
}

@media (prefers-reduced-motion: no-preference) {
  html:not([data-a11y-motion="off"]) .loss .loss__cta {
    animation: loss-cta-glow 2.8s ease-in-out infinite;
  }
}

.loss .loss__cta:active {
  opacity: 0.85;
}

.loss .btn:focus-visible {
  outline-color: var(--powder);
}

@media (min-width: 981px) {
  .main-nav {
    gap: 0.15rem;
    font-size: 0.92rem;
  }

  .main-nav a {
    padding-inline: 0.62rem;
  }

  .site-header__chip--nav {
    padding-inline: 0.7rem;
  }

  .site-header__chip--actions .header-social,
  .header-cta {
    display: none;
  }

  .site-header__bar {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.85rem;
  }

  .site-header__chip--actions {
    width: 0;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    visibility: hidden;
    border: 0;
    pointer-events: none;
  }
}

.site-header .site-header__chip--brand {
  transition:
    min-height 0.62s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.4s ease,
    box-shadow 0.4s ease,
    border-color 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
  .loss .loss__cta:hover {
    background: linear-gradient(135deg, #ffc4a8 0%, #ef5f60 100%);
    box-shadow:
      0 22px 40px -6px rgba(238, 103, 97, 0.62),
      0 0 36px rgba(254, 182, 146, 0.5),
      0 0 56px rgba(234, 84, 85, 0.38);
    transform: translateY(-2px);
  }
}

/* Women's circles */
@media (min-width: 981px) {
  .circles .band__title {
    max-width: none;
    font-size: clamp(2rem, 2.55vw, 2.85rem);
  }
}

.circles__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.6vw, 1.25rem);
  margin-top: clamp(2.4rem, 4vw, 3rem);
}

.circles__photo {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: var(--radius-lg);
  background: var(--cream-deep);
  box-shadow: var(--shadow-soft);
}

.circles__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
}

.circles__quote {
  margin-top: 2.6rem;
}

.clinic__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(2rem, 4.5vw, 3.5rem);
  align-items: center;
}

.clinic__copy .band__title {
  max-width: 12em;
}

.clinic__copy > p {
  max-width: 32rem;
  margin: 1.05rem 0 0;
  color: var(--brown-soft);
  font-size: clamp(1.04rem, 1.3vw, 1.14rem);
  line-height: 1.8;
}

.clinic__close {
  margin-top: 1.35rem;
}

.clinic__close-line {
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 1.25em;
  color: var(--brown);
  font-size: clamp(1.7rem, 2.6vw, 2.15rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.clinic__close-line .story__scribble {
  bottom: 0;
}

.clinic__media {
  margin: 0;
}

.clinic__open {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-lg);
  background: transparent;
  cursor: zoom-in;
}

.clinic__open:focus-visible {
  outline: 2px solid var(--rose);
  outline-offset: 4px;
}

.clinic__frame {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--cream-deep);
  box-shadow: var(--shadow-soft);
}

.clinic__frame img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 980px) {
  .hero-split {
    padding-top: 7.5rem;
  }

  .hero-split__grid,
  .loss__grid,
  .clinic__grid {
    grid-template-columns: 1fr;
  }

  .hero-split__media {
    width: min(100%, 22rem);
  }

  .story__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-template-areas:
      "head"
      "media"
      "body";
  }

  .story__media {
    position: static;
    width: min(100%, 34rem);
    margin-top: 2rem;
  }

  .story__body {
    margin-top: 2rem;
  }

  .loss__media {
    justify-self: start;
    width: min(100%, 18rem);
  }

  .method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .approach__cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .band,
  .loss {
    padding-block: 4.25rem;
    scroll-margin-top: 5rem;
  }

  .hero-split {
    padding: 6.75rem 0 3.75rem;
  }

  .hero-split__copy {
    text-align: center;
  }

  .hero-split__eyebrow {
    justify-content: center;
  }

  .hero-split__title {
    font-size: min(2.7rem, 9.4vw);
    line-height: 1.2;
  }

  .hero-split__line {
    white-space: nowrap;
  }

  .hero-split__lead {
    margin-top: 1.1rem;
  }

  .hero-split__intro {
    margin-inline: auto;
  }

  .hero-split__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-split__actions .btn {
    width: 100%;
  }

  .hero-split__media {
    width: min(68%, 15rem);
    margin-top: 0.35rem;
  }

  .band__title {
    font-size: clamp(1.75rem, 7.4vw, 2.25rem);
  }

  .band__quote {
    padding-inline-start: 1.1rem;
    font-size: clamp(1.18rem, 5vw, 1.4rem);
  }

  .opening__inner {
    text-align: start;
  }

  .opening .band__eyebrow {
    justify-content: flex-start;
  }

  .opening .band__eyebrow::after {
    display: none;
  }

  .opening .opening__quote {
    margin-inline: 0;
  }

  .opening__quote::before {
    margin-inline: 0;
  }

  .method-step {
    min-height: 0;
  }

  .story__title {
    font-size: clamp(1.8rem, 7.6vw, 2.25rem);
  }

  .story__media {
    width: 100%;
  }

  .story__frame {
    aspect-ratio: 4 / 3;
  }

  .story__frame img {
    object-position: 50% 40%;
  }

  .loss__media {
    width: min(100%, 15rem);
  }

  .band__actions .btn {
    width: 100%;
  }

  .loss .loss__cta {
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .method__grid,
  .circles__gallery {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-a11y-motion="on"]) .js-ready .hero-split__copy > *,
  html:not([data-a11y-motion="on"]) .js-ready .hero-split__media {
    opacity: 1;
    transform: none;
    animation: none;
  }

  html:not([data-a11y-motion="on"]) .js-ready .story__scribble {
    clip-path: none;
    stroke-dashoffset: 0;
    opacity: 1;
    transform: none;
    animation: none;
  }

  html:not([data-a11y-motion="on"]) .loss .loss__cta,
  html:not([data-a11y-motion="on"]) .approach .band__actions .btn-primary::before {
    animation: none;
  }
}

/* —— Accessibility preferences —— */
html[data-a11y-text="-1"] {
  font-size: 93.75%;
}

html[data-a11y-text="1"] {
  font-size: 112.5%;
}

html[data-a11y-text="2"] {
  font-size: 125%;
}

html[data-a11y-contrast="on"] {
  --brown: #241410;
  --brown-soft: #3d261e;
  --muted: #4e382f;
  --rose: #8a4d42;
  --rose-deep: #6e3b34;
  --cream: #fffdfb;
}

html[data-a11y-contrast="on"] body {
  background: #fffdfb;
  color: var(--brown);
}

html[data-a11y-contrast="on"] .contact-title__accent {
  color: #6e3b34;
}

html[data-a11y-contrast="on"] .hero-split__line--grow {
  color: #6e3b34;
}

html[data-a11y-contrast="on"] .story {
  --story-accent: #6e3b34;
}

html[data-a11y-contrast="on"] .loss__copy > p {
  color: #fffaf6;
}

html[data-a11y-contrast="on"] .contact-form input::placeholder,
html[data-a11y-contrast="on"] .contact-form textarea::placeholder {
  color: #5c463e;
}

html[data-a11y-links="on"] .site-footer__social a,
html[data-a11y-links="on"] .header-social__link {
  text-decoration: none;
  outline: 2px solid var(--rose-deep);
  outline-offset: 3px;
}

html[data-a11y-font="on"] {
  --font-display: var(--font-body);
}

html[data-a11y-font="on"] body {
  line-height: 1.75;
  letter-spacing: 0.01em;
}

html[data-a11y-font="on"] .words-card__name,
html[data-a11y-font="on"] .eyebrow,
html[data-a11y-font="on"] .kicker {
  font-family: var(--font-body);
  letter-spacing: 0.01em;
}

html[data-a11y-motion="off"] *,
html[data-a11y-motion="off"] *::before,
html[data-a11y-motion="off"] *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

html[data-a11y-motion="off"] .reveal,
html[data-a11y-motion="off"] .js-ready .reveal {
  opacity: 1;
  transform: none;
}

html[data-a11y-motion="off"] .moments__track {
  animation: none !important;
  transform: none !important;
}

html[data-a11y-motion="off"] .js-ready .hero-split__copy > *,
html[data-a11y-motion="off"] .js-ready .hero-split__media {
  opacity: 1;
  transform: none;
  animation: none;
}

html[data-a11y-motion="off"] .js-ready .story__scribble {
  clip-path: none;
  stroke-dashoffset: 0;
  opacity: 1;
  transform: none;
  animation: none;
}

.a11y {
  position: fixed;
  z-index: 48;
  left: 18px;
  bottom: 18px;
}

.a11y__toggle,
.a11y__close,
.a11y__step,
.a11y__option,
.a11y__reset {
  font: inherit;
  color: var(--brown);
  cursor: pointer;
}

.a11y__toggle {
  display: grid;
  width: 3.35rem;
  height: 3.35rem;
  place-items: center;
  border: 1px solid rgba(154, 95, 84, 0.28);
  border-radius: 50%;
  background: #fff9f4;
  color: var(--rose-deep);
  box-shadow: 0 12px 28px rgba(86, 49, 37, 0.12);
}

.a11y__toggle svg {
  width: 1.45rem;
  height: 1.45rem;
}

.a11y__toggle[aria-expanded="true"] {
  background: var(--rose-deep);
  color: #fffaf7;
  border-color: var(--rose-deep);
}

.a11y__panel[hidden] {
  display: none;
}

.a11y__panel {
  position: absolute;
  left: 0;
  bottom: calc(100% + 0.7rem);
  display: grid;
  gap: 0.7rem;
  width: min(18.5rem, calc(100vw - 7.2rem));
  max-height: min(70dvh, 32rem);
  overflow: auto;
  padding: 0.95rem;
  border: 1px solid rgba(201, 135, 118, 0.38);
  border-radius: var(--radius-lg);
  background: #fff9f4;
  box-shadow: var(--shadow-soft);
}

.a11y__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.a11y__title {
  margin: 0;
  color: var(--brown);
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.3;
}

.a11y__close {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(154, 95, 84, 0.22);
  border-radius: 50%;
  background: rgba(232, 189, 179, 0.22);
  color: var(--rose-deep);
}

.a11y__close svg {
  width: 1rem;
  height: 1rem;
}

.a11y__scale {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "value value"
    "inc dec";
  gap: 0.45rem;
  align-items: stretch;
}

.a11y__step[data-a11y-action="text-inc"] {
  grid-area: inc;
}

.a11y__step[data-a11y-action="text-dec"] {
  grid-area: dec;
}

.a11y__scale-value {
  grid-area: value;
}

.a11y__step,
.a11y__option,
.a11y__reset {
  min-height: 2.75rem;
  border: 1px solid rgba(154, 95, 84, 0.2);
  border-radius: 16px;
  background: #fffdfb;
}

.a11y__step {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.4rem 0.55rem;
  font-size: 0.92rem;
  font-weight: 600;
}

.a11y__step svg,
.a11y__option svg {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  color: var(--rose-deep);
}

.a11y__scale-value {
  display: grid;
  place-items: center;
  min-width: 4.4rem;
  margin: 0;
  color: var(--brown-soft);
  font-size: 0.86rem;
  font-weight: 700;
}

.a11y__options {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.a11y__option {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.55rem 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: right;
}

.a11y__option[aria-pressed="true"],
.a11y__step[aria-pressed="true"] {
  border-color: rgba(154, 95, 84, 0.55);
  background: rgba(232, 189, 179, 0.34);
}

.a11y__step:disabled {
  opacity: 0.45;
  cursor: default;
}

.a11y__reset {
  width: 100%;
  padding: 0.55rem 0.75rem;
  color: var(--rose-deep);
  font-size: 0.92rem;
  font-weight: 700;
  background: transparent;
}

@media (max-width: 680px) {
  .a11y {
    left: 12px;
    bottom: 12px;
  }

  .a11y__toggle {
    width: 3.15rem;
    height: 3.15rem;
  }
}

/* Warm palette — the same depth on every screen size. */
  :root {
    --cream: #efd3c2;
    --cream-deep: #e0b7a2;
    --paper: rgba(248, 228, 214, 0.96);
    --powder: #d07a68;
    --rose: #c24b3a;
    --rose-deep: #7d322a;
    --sand: #c48956;
    --gold: #b0782c;
    --olive: #62784c;
    --sage: #5d8452;
    --sage-soft: #bdd6ae;
    --brown: #2c1914;
    --brown-soft: #57382f;
    --muted: #68473d;
    --btn-fill: linear-gradient(180deg, #9a5348 0%, #7c4038 100%);
    --btn-fill-hover: linear-gradient(180deg, #a85c50 0%, #8a4a40 100%);
    --btn-disc: #f8e7dc;
    --btn-disc-ink: #8a3f36;
  }

  body {
    background:
      radial-gradient(circle at 10% 6%, rgba(194, 75, 58, 0.58), transparent 12rem),
      radial-gradient(circle at 94% 18%, rgba(176, 120, 44, 0.42), transparent 10rem),
      radial-gradient(circle at 50% 56%, rgba(93, 132, 82, 0.3), transparent 12rem),
      radial-gradient(circle at 8% 92%, rgba(194, 75, 58, 0.34), transparent 11rem),
      linear-gradient(180deg, #f4d4c2 0%, #e8c0aa 46%, #f0ccb6 100%);
  }

  body::before {
    opacity: 0.7;
    background-image:
      linear-gradient(rgba(138, 63, 54, 0.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(138, 63, 54, 0.055) 1px, transparent 1px);
  }

  .contact-title__accent {
    color: #c44736;
  }

  .hero-split__line--grow {
    color: #8b4940;
  }

  .story {
    --story-accent: #8a3f36;
  }

  .credentials__bloom {
    right: -1.6rem;
    width: 13rem;
    height: 10rem;
    background: rgba(196, 154, 114, 0.55);
  }

  .words__bloom {
    left: -1.4rem;
    width: 13rem;
    height: 10rem;
    background: rgba(193, 95, 78, 0.42);
  }

  .credential-card {
    background: rgba(247, 232, 220, 0.96);
    border-color: rgba(138, 63, 54, 0.32);
  }

  .words-card,
  .words-card:hover {
    background: #f8eadf;
    border-color: rgba(138, 63, 54, 0.4);
  }

  .words__card,
  .words__card img,
  .moments__card.words__card img {
    background: #f4e0d2;
  }

  .contact {
    background:
      radial-gradient(circle at 16% 78%, rgba(194, 75, 58, 0.48), transparent 13rem),
      radial-gradient(circle at 88% 16%, rgba(176, 120, 44, 0.36), transparent 11rem),
      linear-gradient(180deg, #f4d2c0 0%, #e7b8a4 100%);
  }

  .contact-form {
    background: #f8ebdf;
    border-color: rgba(138, 63, 54, 0.34);
  }

  .contact-form input,
  .contact-form textarea {
    background: #fff6ef;
    border-color: rgba(138, 63, 54, 0.36);
  }

  .site-header__chip:not(.site-header__chip--brand):not(.site-header__chip--actions),
  .site-header.is-scrolled .site-header__chip:not(.site-header__chip--brand):not(.site-header__chip--actions) {
    background: rgba(246, 228, 216, 0.96);
    border-color: rgba(138, 63, 54, 0.32);
  }

  .mobile-nav {
    background: rgba(246, 230, 218, 0.98);
  }

  .mobile-nav__bloom--accent {
    background: rgba(193, 95, 78, 0.55);
  }

  .mobile-nav__bloom--field {
    background: radial-gradient(circle, rgba(193, 95, 78, 0.4), transparent 68%);
  }

  .site-footer {
    border-top-color: rgba(138, 63, 54, 0.32);
  }

  .site-footer::before {
    background: radial-gradient(ellipse at center, rgba(193, 95, 78, 0.5), transparent 72%);
  }

/* Botanical field — shared edge illustrations for every section */
:root {
  --flora-rose: url("pic/flora/branch-rose.svg");
  --flora-sage: url("pic/flora/branch-sage.svg");
  --flora-bloom: url("pic/flora/bloom.svg");
  --flora-bloom-alt: url("pic/flora/bloom-alt.svg");
  --flora-sprig: url("pic/flora/sprig.svg");
  --flora-vine: url("pic/flora/vine.svg");
  --flora-vine-right: url("pic/flora/vine-right.svg");
  --flora-night: url("pic/flora/night-branch.svg");
  --flora-night-bloom: url("pic/flora/night-bloom.svg");
  /* Visible only in the page gutter, with a short fade into the content. */
  --flora-edge: clamp(44px, calc((100vw - 1180px) / 2 + 18px), 280px);
  --flora-mask-y: linear-gradient(
    #000 0,
    #000 10px,
    transparent 92px,
    transparent calc(100% - 92px),
    #000 calc(100% - 10px),
    #000 100%
  );
}

.band,
.loss,
.contact,
.credentials {
  isolation: isolate;
}

.opening {
  background: linear-gradient(180deg, rgba(251, 246, 240, 0.15), rgba(242, 230, 220, 0.42));
}

.method {
  background:
    radial-gradient(circle at 100% 80%, rgba(232, 189, 179, 0.16), transparent 18rem),
    linear-gradient(180deg, rgba(247, 240, 232, 0.55), rgba(248, 234, 228, 0.62));
}

.clinic {
  background:
    radial-gradient(circle at 0% 20%, rgba(142, 161, 132, 0.12), transparent 16rem),
    linear-gradient(180deg, rgba(251, 246, 240, 0.35), rgba(243, 230, 222, 0.45));
}

.circles.band--soft {
  background:
    radial-gradient(circle at 0% 0%, rgba(232, 214, 204, 0.45), transparent 20rem),
    linear-gradient(180deg, rgba(236, 222, 214, 0.78), rgba(247, 241, 232, 0.5) 22%, rgba(246, 239, 232, 0.4));
}

main > section::after,
.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-repeat: no-repeat;
  background-image: var(--flora-a, none), var(--flora-b, none), var(--flora-c, none);
  background-position:
    var(--flora-a-pos, right -18px top 8%),
    var(--flora-b-pos, left -16px bottom 4%),
    var(--flora-c-pos, left -12px center);
  background-size:
    var(--flora-a-size, clamp(88px, 14vw, 220px) auto),
    var(--flora-b-size, clamp(80px, 12vw, 200px) auto),
    var(--flora-c-size, 0 0);
  opacity: var(--flora-opacity, 0.92);
  --flora-mask-x: linear-gradient(
    to left,
    #000 0,
    #000 8px,
    transparent var(--flora-edge),
    transparent calc(100% - var(--flora-edge)),
    #000 calc(100% - 8px),
    #000 100%
  );
  -webkit-mask-image: var(--flora-mask-x), var(--flora-mask-y);
  mask-image: var(--flora-mask-x), var(--flora-mask-y);
  -webkit-mask-size: 100% 100%, 100% 100%;
  mask-size: 100% 100%, 100% 100%;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

.hero-split {
  --flora-a: var(--flora-rose);
  --flora-a-pos: right -28px top 16%;
  --flora-a-size: clamp(120px, 20vw, 340px) auto;
  --flora-b: var(--flora-bloom);
  --flora-b-pos: left -36px bottom 2%;
  --flora-b-size: clamp(110px, 16vw, 280px) auto;
  --flora-c: var(--flora-sprig);
  --flora-c-pos: left 1% top 11%;
  --flora-c-size: clamp(72px, 8vw, 140px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.opening {
  --flora-a: var(--flora-sprig);
  --flora-a-pos: right -8px top 12%;
  --flora-a-size: clamp(78px, 11vw, 168px) auto;
  --flora-b: var(--flora-sage);
  --flora-b-pos: left -22px bottom -6%;
  --flora-b-size: clamp(120px, 16vw, 250px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.approach {
  --flora-a: var(--flora-vine-right);
  --flora-a-pos: right -6px top 8%;
  --flora-a-size: clamp(64px, 8vw, 132px) auto;
  --flora-b: var(--flora-bloom-alt);
  --flora-b-pos: left -20px bottom -4%;
  --flora-b-size: clamp(110px, 15vw, 240px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.method {
  --flora-a: var(--flora-vine);
  --flora-a-pos: left -8px top 4%;
  --flora-a-size: clamp(62px, 7.5vw, 128px) auto;
  --flora-b: var(--flora-rose);
  --flora-b-pos: right -26px bottom -2%;
  --flora-b-size: clamp(130px, 16vw, 280px) auto;
  --flora-c: var(--flora-sprig);
  --flora-c-pos: right -4px top 5%;
  --flora-c-size: clamp(70px, 8vw, 140px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.story {
  --flora-a: var(--flora-sage);
  --flora-a-pos: right -24px top 2%;
  --flora-a-size: clamp(130px, 17vw, 280px) auto;
  --flora-b: var(--flora-bloom);
  --flora-b-pos: left -22px bottom 0;
  --flora-b-size: clamp(110px, 14vw, 230px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.loss {
  --flora-a: var(--flora-night);
  --flora-a-pos: left -18px top -2%;
  --flora-a-size: clamp(140px, 18vw, 320px) auto;
  --flora-b: var(--flora-night-bloom);
  --flora-b-pos: right -10px bottom -4%;
  --flora-b-size: clamp(120px, 15vw, 250px) auto;
  --flora-opacity: 0.95;
  --flora-mask-y: linear-gradient(#000, #000);
}

.circles {
  --flora-a: var(--flora-bloom-alt);
  --flora-a-pos: right -16px top -4%;
  --flora-a-size: clamp(100px, 13vw, 210px) auto;
  --flora-b: var(--flora-vine);
  --flora-b-pos: left -6px bottom -2%;
  --flora-b-size: clamp(70px, 8vw, 140px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.words {
  --flora-a: var(--flora-sprig);
  --flora-a-pos: right 2.5% top 0.4rem;
  --flora-a-size: clamp(76px, 10vw, 150px) auto;
  --flora-b: var(--flora-sage);
  --flora-b-pos: left -12px bottom -8px;
  --flora-b-size: clamp(100px, 12vw, 200px) auto;
  --flora-c: var(--flora-bloom-alt);
  --flora-c-pos: left 1.5% top 0.2rem;
  --flora-c-size: clamp(72px, 8vw, 130px) auto;
  --flora-mask-y: linear-gradient(
    #000 0,
    #000 4px,
    transparent 108px,
    transparent calc(100% - 96px),
    #000 calc(100% - 8px),
    #000 100%
  );
}

.clinic {
  --flora-a: var(--flora-rose);
  --flora-a-pos: left -24px top 6%;
  --flora-a-size: clamp(120px, 16vw, 270px) auto;
  --flora-b: var(--flora-sprig);
  --flora-b-pos: right -6px bottom 8%;
  --flora-b-size: clamp(78px, 10vw, 160px) auto;
  --flora-mask-y: linear-gradient(#000, #000);
}

.credentials {
  --flora-a: var(--flora-sprig);
  --flora-a-pos: right -4px top -2px;
  --flora-a-size: clamp(72px, 9vw, 136px) auto;
  --flora-b: var(--flora-bloom);
  --flora-b-pos: left -12px bottom -6px;
  --flora-b-size: clamp(88px, 11vw, 168px) auto;
  --flora-edge: 120px;
}

.contact {
  --flora-a: var(--flora-sprig);
  --flora-a-pos: right 2px top 4px;
  --flora-a-size: 86px auto;
  --flora-b: var(--flora-bloom-alt);
  --flora-b-pos: left -8px bottom -6px;
  --flora-b-size: 108px auto;
  --flora-opacity: 0.72;
  --flora-edge: 96px;
}

.site-footer {
  --flora-a: var(--flora-sprig);
  --flora-a-pos: right -2px bottom 1.2rem;
  --flora-a-size: clamp(68px, 8vw, 120px) auto;
  --flora-b: var(--flora-bloom-alt);
  --flora-b-pos: left -6px top 0.2rem;
  --flora-b-size: clamp(78px, 9vw, 140px) auto;
  --flora-opacity: 0.8;
  --flora-edge: 110px;
}

@media (max-width: 1399px) {
  .hero-split,
  .opening,
  .approach,
  .method,
  .story,
  .loss,
  .circles,
  .words,
  .clinic {
    --flora-edge: 128px;
    --flora-mask-y: linear-gradient(
      #000 0,
      #000 16px,
      transparent 148px,
      transparent calc(100% - 148px),
      #000 calc(100% - 16px),
      #000 100%
    );
  }

  .hero-split {
    --flora-a: var(--flora-bloom-alt);
    --flora-a-pos: right -18px bottom -8px;
    --flora-a-size: 150px auto;
    --flora-b: var(--flora-bloom);
    --flora-b-pos: left -24px bottom -14px;
    --flora-b-size: 176px auto;
    --flora-c: var(--flora-sprig);
    --flora-c-pos: left -6px top 4.5rem;
    --flora-c-size: 112px auto;
  }

  .opening {
    --flora-a: var(--flora-sprig);
    --flora-a-pos: right -8px top -2px;
    --flora-a-size: 124px auto;
    --flora-b: var(--flora-sage);
    --flora-b-pos: left -26px bottom -20px;
    --flora-b-size: 190px auto;
  }

  .approach {
    --flora-a: var(--flora-bloom);
    --flora-a-pos: right -16px top -12px;
    --flora-a-size: 150px auto;
    --flora-b: var(--flora-sprig);
    --flora-b-pos: left -10px bottom -6px;
    --flora-b-size: 118px auto;
  }

  .method {
    --flora-a: var(--flora-sprig);
    --flora-a-pos: left -6px top -4px;
    --flora-a-size: 120px auto;
    --flora-b: var(--flora-bloom-alt);
    --flora-b-pos: right -14px bottom -10px;
    --flora-b-size: 156px auto;
    --flora-c: var(--flora-bloom);
    --flora-c-pos: left -18px bottom -12px;
    --flora-c-size: 146px auto;
  }

  .story {
    --flora-a: var(--flora-bloom-alt);
    --flora-a-pos: right -14px top -8px;
    --flora-a-size: 146px auto;
    --flora-b: var(--flora-sage);
    --flora-b-pos: left -22px bottom -16px;
    --flora-b-size: 180px auto;
  }

  .circles {
    --flora-a: var(--flora-bloom);
    --flora-a-pos: right -12px top -8px;
    --flora-a-size: 142px auto;
    --flora-b: var(--flora-sprig);
    --flora-b-pos: left -8px bottom -4px;
    --flora-b-size: 116px auto;
  }

  .words {
    --flora-a: var(--flora-sprig);
    --flora-a-pos: right 1% top 0;
    --flora-a-size: 108px auto;
    --flora-b: var(--flora-bloom-alt);
    --flora-b-pos: left -10px bottom -8px;
    --flora-b-size: 132px auto;
    --flora-c: none;
  }

  .clinic {
    --flora-a: var(--flora-bloom);
    --flora-a-pos: left -16px top -6px;
    --flora-a-size: 142px auto;
    --flora-b: var(--flora-sprig);
    --flora-b-pos: right -8px bottom 4px;
    --flora-b-size: 112px auto;
  }

  .loss {
    --flora-a: var(--flora-night);
    --flora-a-pos: left -10px top -6px;
    --flora-a-size: 168px auto;
    --flora-b: var(--flora-night-bloom);
    --flora-b-pos: right -12px bottom -8px;
    --flora-b-size: 150px auto;
  }
}

.hero-split {
    border-bottom-color: rgba(138, 63, 54, 0.2);
    background: linear-gradient(180deg, #f6d5c4 0%, #e8bba6 100%);
  }

  .hero-split::before {
    background:
      radial-gradient(circle at 18% 34%, rgba(194, 75, 58, 0.62), transparent 12rem),
      radial-gradient(circle at 88% 8%, rgba(176, 120, 44, 0.46), transparent 10rem);
  }

  .band,
  .loss {
    border-bottom-color: rgba(138, 63, 54, 0.18);
  }

  .band__eyebrow::before,
  .opening .band__eyebrow::after {
    background: #c44736;
  }

  .band--soft {
    background:
      radial-gradient(circle at 0% 100%, rgba(93, 132, 82, 0.42), transparent 13rem),
      radial-gradient(circle at 100% 0%, rgba(194, 75, 58, 0.4), transparent 13rem),
      linear-gradient(180deg, #ecc6b2 0%, #f4d4c2 100%);
  }

  .band--blush {
    background:
      radial-gradient(circle at 100% 0%, rgba(194, 75, 58, 0.5), transparent 14rem),
      radial-gradient(circle at 0% 100%, rgba(93, 132, 82, 0.26), transparent 12rem),
      linear-gradient(180deg, #efc0ac 0%, #f6d6c4 100%);
  }

  .opening {
    background: linear-gradient(180deg, #f6d4c2 0%, #e8b8a4 100%);
  }

  .method {
    background:
      radial-gradient(circle at 100% 78%, rgba(194, 75, 58, 0.42), transparent 13rem),
      linear-gradient(180deg, #f3cdb8 0%, #e7b6a2 100%);
  }

  .clinic {
    background:
      radial-gradient(circle at 0% 18%, rgba(93, 132, 82, 0.4), transparent 12rem),
      linear-gradient(180deg, #f4d6c4 0%, #e4c4ae 100%);
  }

  .circles.band--soft {
    background:
      radial-gradient(circle at 0% 0%, rgba(194, 75, 58, 0.4), transparent 13rem),
      linear-gradient(180deg, #e8b8a4 0%, #f3d0bc 100%);
  }

  .words {
    background:
      radial-gradient(circle at 10% 0%, rgba(194, 75, 58, 0.42), transparent 12rem),
      linear-gradient(180deg, #f6d5c4 0%, #e9beaa 100%);
  }

  .approach-card,
  .method-step {
    background: #fff5ec;
    border-color: rgba(138, 63, 54, 0.36);
  }

  .approach-card__num {
    background: rgba(193, 95, 78, 0.32);
  }

  .hero-split__actions > .btn-secondary {
    background: #fff4eb;
    border-color: rgba(138, 63, 54, 0.48);
  }

.hero-split__actions > .btn-primary,
.contact-form-submit {
  background: linear-gradient(135deg, #9a5348 0%, #7c4038 100%);
}

/* Desktop keeps the warm palette, a step lighter than the phone. */
@media (min-width: 768px) {
  :root {
    --cream: #f6e3d6;
    --cream-deep: #edd0be;
    --paper: rgba(252, 244, 237, 0.9);
    --powder: #e4b3a6;
    --rose: #c46d5e;
    --rose-deep: #8d5248;
    --sand: #d7b394;
    --gold: #b89058;
    --olive: #74845c;
    --sage: #7b9670;
    --sage-soft: #d5e4cc;
    --brown: #3a261f;
    --brown-soft: #6a4a40;
    --muted: #7a5c52;
    --btn-fill: linear-gradient(180deg, #a86f62 0%, #946256 100%);
    --btn-fill-hover: linear-gradient(180deg, #b47a6c 0%, #a06e62 100%);
    --btn-disc: #fbf1e9;
    --btn-disc-ink: #8f5a4e;
  }

  body {
    background:
      radial-gradient(circle at 8% 0%, rgba(196, 109, 94, 0.22), transparent 28rem),
      radial-gradient(circle at 96% 16%, rgba(184, 144, 88, 0.16), transparent 26rem),
      radial-gradient(circle at 70% 88%, rgba(123, 150, 112, 0.12), transparent 30rem),
      linear-gradient(180deg, #f8e6da 0%, #f3d9c8 48%, #f6e2d4 100%);
  }

  body::before {
    opacity: 0.42;
    background-image: url("pic/flora/paper.svg");
    background-size: 180px 180px;
  }

  .contact-title__accent {
    color: #b15a4c;
  }

  .hero-split__line--grow {
    color: #9e685c;
  }

  .band__eyebrow::before,
  .opening .band__eyebrow::after {
    background: #b15a4c;
  }

  .story {
    --story-accent: #9a5c50;
  }

  .credentials__bloom {
    background: rgba(196, 154, 114, 0.28);
  }

  .words__bloom {
    background: rgba(193, 95, 78, 0.18);
  }

  .credential-card {
    background: rgba(252, 244, 237, 0.88);
    border-color: rgba(138, 63, 54, 0.16);
  }

  .words-card,
  .words-card:hover {
    background: #fbf3eb;
    border-color: rgba(138, 63, 54, 0.2);
  }

  .words__card,
  .words__card img,
  .moments__card.words__card img {
    background: #f8efe6;
  }

  .contact {
    background:
      radial-gradient(circle at 16% 78%, rgba(196, 109, 94, 0.18), transparent 18rem),
      radial-gradient(circle at 88% 16%, rgba(184, 144, 88, 0.14), transparent 16rem),
      linear-gradient(180deg, #f7e4d6 0%, #f0d3c2 100%);
  }

  .contact-form {
    background: #fbf4ed;
    border-color: rgba(138, 63, 54, 0.16);
  }

  .contact-form input,
  .contact-form textarea {
    background: #fffaf6;
    border-color: rgba(138, 63, 54, 0.18);
  }

  .site-header__chip:not(.site-header__chip--brand):not(.site-header__chip--actions),
  .site-header.is-scrolled .site-header__chip:not(.site-header__chip--brand):not(.site-header__chip--actions) {
    background: rgba(251, 243, 236, 0.92);
    border-color: rgba(138, 63, 54, 0.16);
  }

  .site-footer {
    border-top-color: rgba(138, 63, 54, 0.16);
  }

  .site-footer::before {
    background: radial-gradient(ellipse at center, rgba(196, 120, 104, 0.22), transparent 72%);
  }

  .hero-split {
    border-bottom-color: rgba(138, 63, 54, 0.1);
    background: linear-gradient(180deg, #f8e4d6 0%, #f1d4c3 100%);
  }

  .hero-split::before {
    background:
      radial-gradient(circle at 22% 40%, rgba(196, 109, 94, 0.2), transparent 28rem),
      radial-gradient(circle at 88% 8%, rgba(184, 144, 88, 0.14), transparent 24rem);
  }

  .band,
  .loss {
    border-bottom-color: rgba(138, 63, 54, 0.1);
  }

  .band--soft {
    background:
      radial-gradient(circle at 0% 100%, rgba(123, 150, 112, 0.16), transparent 22rem),
      radial-gradient(circle at 100% 0%, rgba(196, 109, 94, 0.14), transparent 22rem),
      linear-gradient(180deg, #f6e0d2 0%, #f8e6da 100%);
  }

  .band--blush {
    background:
      radial-gradient(circle at 100% 0%, rgba(196, 109, 94, 0.18), transparent 24rem),
      radial-gradient(circle at 0% 100%, rgba(123, 150, 112, 0.1), transparent 20rem),
      linear-gradient(180deg, #f4d8c8 0%, #f8e4d6 100%);
  }

  .opening {
    background: linear-gradient(180deg, #f7e2d4 0%, #f2d5c4 100%);
  }

  .method {
    background:
      radial-gradient(circle at 100% 78%, rgba(196, 109, 94, 0.14), transparent 22rem),
      linear-gradient(180deg, #f6dfd0 0%, #f1d4c3 100%);
  }

  .clinic {
    background:
      radial-gradient(circle at 0% 18%, rgba(123, 150, 112, 0.14), transparent 22rem),
      linear-gradient(180deg, #f7e3d4 0%, #f0d6c6 100%);
  }

  .circles.band--soft {
    background:
      radial-gradient(circle at 0% 0%, rgba(196, 109, 94, 0.14), transparent 22rem),
      linear-gradient(180deg, #f3d6c6 0%, #f8e3d4 100%);
  }

  .words {
    background:
      radial-gradient(circle at 10% 0%, rgba(196, 109, 94, 0.14), transparent 22rem),
      linear-gradient(180deg, #f8e4d6 0%, #f2d8c8 100%);
  }

  .approach-card,
  .method-step {
    background: #fbf6f1;
    border-color: rgba(138, 63, 54, 0.16);
  }

  .approach-card__num {
    background: rgba(193, 95, 78, 0.16);
  }

  .hero-split__actions > .btn-secondary {
    background: #fffaf6;
    border-color: rgba(138, 63, 54, 0.22);
  }

  .hero-split__actions > .btn-primary,
  .contact-form-submit {
    background: linear-gradient(135deg, #a86f62 0%, #946256 100%);
  }
}

@media (max-width: 767px) {
  main > section,
  .site-footer {
    --flora-opacity: 1;
    --flora-edge: 72px;
    --flora-c: none;
    --flora-mask-y: linear-gradient(
      #000 0,
      #000 8px,
      transparent 84px,
      transparent calc(100% - 84px),
      #000 calc(100% - 8px),
      #000 100%
    );
  }

  .hero-split {
    --flora-a-size: 92px auto;
    --flora-a-pos: right -14px bottom 0.2rem;
    --flora-b-size: 96px auto;
    --flora-b-pos: left -16px top 4.6rem;
  }

  .opening,
  .approach,
  .method,
  .story,
  .circles,
  .clinic,
  .words {
    --flora-a-size: 86px auto;
    --flora-b-size: 92px auto;
  }

  .loss {
    --flora-a-size: 96px auto;
    --flora-b-size: 88px auto;
  }

  .contact {
    --flora-a-size: 58px auto;
    --flora-b-size: 64px auto;
    --flora-edge: 58px;
  }

  .credentials,
  .site-footer {
    --flora-edge: 64px;
  }
}

html[data-a11y-contrast="on"] main > section::after,
html[data-a11y-contrast="on"] .site-footer::after,
html[data-a11y-contrast="on"] body::before {
  content: none;
  background: none;
}
