/* ========================================================================== 
   Hot Tub Shine guided intake
   Camera-first, mobile-first service request experience.
   ========================================================================== */

.intake-section {
  position: relative;
  overflow: clip;
}

.intake-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 76% 14%, rgba(53, 199, 240, 0.18), transparent 31rem),
    radial-gradient(circle at 18% 72%, rgba(246, 184, 102, 0.12), transparent 28rem);
}

/* The motion dock remains part of the contact page, but politely clears the
   workspace while the customer is actively filling out the request. */
html.intake-is-active .orbit-widget {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s ease, visibility 0s linear .24s;
}

html.intake-is-active .action-bar {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(110%);
  transition: opacity .2s ease, transform .25s ease, visibility 0s linear .25s;
}

.intake-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px, 0.38fr) minmax(0, 1fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  align-items: start;
}

.intake-guide {
  position: sticky;
  top: calc(var(--header-h) + 1.5rem);
  color: var(--ink-on-dark);
  padding: clamp(1rem, 2vw, 1.5rem) 0;
}

.intake-guide .lead,
.intake-guide p,
.intake-guide li { color: rgba(232, 242, 251, 0.78); }

.intake-guide h2 { color: #fff; }

.intake-guide__promise {
  display: grid;
  gap: 0.85rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}

.intake-guide__promise li {
  position: relative;
  padding: 0.8rem 0 0.8rem 2.7rem;
  border-top: 1px solid rgba(201, 214, 227, 0.16);
}

.intake-guide__promise li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background:
    url('/assets/img/brand/drop-32.png?v=20260721-max') center / 1.2rem auto no-repeat,
    rgba(53, 199, 240, 0.09);
  border: 1px solid rgba(127, 224, 247, 0.28);
  box-shadow: 0 0 22px rgba(53, 199, 240, 0.16);
}

.intake-guide__response {
  display: grid;
  gap: 0.2rem;
  padding: 1rem 1.1rem;
  border-radius: var(--r-md);
  border: 1px solid rgba(246, 184, 102, 0.26);
  background: linear-gradient(135deg, rgba(246, 184, 102, 0.11), rgba(12, 140, 233, 0.08));
  color: var(--ink-on-dark);
}

.intake-guide__response strong { color: var(--gold-300); }
.intake-guide__response span { color: rgba(232, 242, 251, 0.73); font-size: 0.88rem; }

.intake-shell {
  --ink-900: #071b33;
  --ink-700: #23445f;
  --ink-500: #526b81;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127, 224, 247, 0.38);
  border-radius: clamp(20px, 3vw, 32px);
  background: #f5fbff;
  box-shadow:
    0 34px 90px rgba(2, 8, 18, 0.58),
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 54px rgba(53, 199, 240, 0.11);
  color: var(--ink-900);
  isolation: isolate;
  overflow-anchor: none;
  scroll-margin-top: var(--header-h);
}

.intake-shell::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 11rem;
  opacity: 0;
  background:
    linear-gradient(180deg, rgba(7, 25, 48, 0.98), rgba(7, 25, 48, 0.94)),
    url('/assets/img/ambient/caustics-1920.jpg') center / cover;
}

.intake-progress {
  position: relative;
  min-height: 9.5rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  overflow: hidden;
  border-bottom: 1px solid rgba(127, 224, 247, 0.28);
  background:
    radial-gradient(circle at 82% -20%, rgba(53, 199, 240, 0.34), transparent 19rem),
    linear-gradient(128deg, rgba(4, 16, 32, 0.99), rgba(6, 39, 69, 0.98)),
    url('/assets/img/ambient/caustics-1920.jpg') center / cover;
  color: #fff;
}

.intake-progress::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(108deg, transparent 16%, rgba(127, 224, 247, 0.07) 48%, transparent 78%);
  mix-blend-mode: screen;
}

.intake-progress > * { position: relative; z-index: 1; }

.intake-progress__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.intake-progress__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--font-display);
  font-weight: 750;
  letter-spacing: 0.01em;
}

.intake-progress__brand img { width: 1.7rem; height: 1.7rem; object-fit: contain; }

.intake-progress__count {
  color: rgba(232, 242, 251, 0.68);
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.intake-progress__track {
  position: relative;
  height: 4px;
  overflow: visible;
  border-radius: var(--r-pill);
  background: rgba(201, 214, 227, 0.18);
}

.intake-progress__fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--water-500), var(--aqua-300), var(--gold-300));
  box-shadow: 0 0 16px rgba(53, 199, 240, 0.45);
  transition: width 480ms var(--ease-soft);
}

.intake-progress__drop {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 8px rgba(127, 224, 247, 0.8));
  transition: left 480ms var(--ease-soft);
}

.intake-progress__labels {
  display: flex;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0;
  margin: 0.8rem 0 0;
  list-style: none;
}

.intake-progress__labels li {
  min-width: 0;
  color: rgba(232, 242, 251, 0.44);
  font-size: 0.66rem;
  font-weight: 650;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
  transition: color 240ms ease;
}

.intake-progress__labels li.is-current,
.intake-progress__labels li.is-complete { color: var(--aqua-300); }

.intake-form { margin: 0; }

.intake-body {
  min-height: 34rem;
  padding: clamp(1.25rem, 4vw, 2.75rem);
  background:
    radial-gradient(circle at 104% 5%, rgba(53, 199, 240, 0.13), transparent 23rem),
    linear-gradient(180deg, #ffffff 0%, #f4faff 100%);
}

.intake-step[hidden],
.intake-branch[hidden],
.intake-extra-photo[hidden],
.intake-success[hidden],
.intake-client-hub[hidden],
[data-new-customer-only][hidden],
[data-standard-service][hidden],
[data-strong-service][hidden] { display: none !important; }

.intake-step.is-entering {
  animation: intake-rise 420ms var(--ease-soft) both;
}

@keyframes intake-rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.intake-step__kicker {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.55rem;
  color: #0877bd;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.intake-step__kicker::before {
  content: "";
  width: 1.7rem;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #0c8ce9, #53d7ee);
  box-shadow: 0 0 12px rgba(12, 140, 233, 0.3);
}

.intake-step h3 {
  max-width: 19ch;
  margin-bottom: 0.6rem;
  font-size: clamp(1.8rem, 3.3vw, 2.55rem);
  color: var(--ink-900);
  font-weight: 780;
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.intake-step__intro {
  max-width: 62ch;
  margin: 0 0 1.8rem;
  color: var(--ink-500);
  font-size: 1rem;
  font-weight: 520;
  line-height: 1.6;
}

.intake-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.intake-choice {
  position: relative;
  min-width: 0;
}

.intake-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.intake-choice__surface {
  position: relative;
  display: grid;
  min-height: 100%;
  gap: 0.42rem;
  padding: 1.1rem 1.12rem 1.05rem;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid #c9dce9;
  border-radius: 17px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.98), rgba(235,246,253,0.92));
  box-shadow: 0 10px 25px rgba(8, 25, 46, 0.08), inset 0 1px 0 #fff;
  transition: transform 220ms var(--ease-soft), border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.intake-choice__surface::before {
  content: "";
  position: absolute;
  inset: auto -2.5rem -3.7rem auto;
  width: 7rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,199,240,0.17), transparent 68%);
  transition: transform 360ms var(--ease-soft);
}

.intake-choice__surface:hover {
  transform: translateY(-2px);
  border-color: rgba(12, 140, 233, 0.48);
  box-shadow: 0 15px 34px rgba(8, 25, 46, 0.1), 0 0 22px rgba(53, 199, 240, 0.08);
}

.intake-choice__surface:hover::before { transform: scale(1.28); }

.intake-choice input:focus-visible + .intake-choice__surface { box-shadow: var(--focus-ring); }

.intake-choice input:checked + .intake-choice__surface {
  border-color: var(--water-500);
  background:
    linear-gradient(145deg, rgba(255,255,255,1), rgba(220,244,255,0.98));
  box-shadow: 0 0 0 2px rgba(12, 140, 233, 0.13), 0 16px 34px rgba(10, 117, 201, 0.15);
}

.intake-choice input:checked + .intake-choice__surface::after {
  content: "✓";
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: 50%;
  background: var(--water-600);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
}

.intake-choice__title {
  padding-right: 1.7rem;
  font-family: var(--font-display);
  color: var(--ink-900);
  font-size: 1.08rem;
  font-weight: 780;
  line-height: 1.18;
}

.intake-choice__copy {
  color: var(--ink-500);
  font-size: 0.9rem;
  font-weight: 510;
  line-height: 1.5;
}

.intake-choice__price {
  align-self: end;
  margin-top: 0.25rem;
  color: var(--water-600);
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 760;
}

.intake-more {
  margin-top: 1rem;
  border: 1px solid #d8e5ee;
  border-radius: var(--r-md);
  background: rgba(255,255,255,0.72);
}

.intake-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1.05rem;
  cursor: pointer;
  color: var(--ink-700);
  font-family: var(--font-display);
  font-weight: 700;
  list-style: none;
}

.intake-more summary::-webkit-details-marker { display: none; }
.intake-more summary::after { content: "+"; color: var(--water-600); font-size: 1.4rem; line-height: 1; }
.intake-more[open] summary::after { content: "–"; }
.intake-more .intake-choice-grid { padding: 0 1rem 1rem; }

.intake-branch {
  margin-top: 1rem;
  padding: 1.05rem;
  border: 1px solid rgba(12, 140, 233, 0.2);
  border-radius: var(--r-md);
  background: linear-gradient(135deg, rgba(225, 245, 255, 0.76), rgba(255, 248, 237, 0.72));
}

.intake-branch h4 {
  margin: 0 0 0.75rem;
  color: var(--ink-900);
  font-family: var(--font-display);
  font-size: 1rem;
}

.intake-package {
  position: relative;
  margin-top: 1.1rem;
  overflow: hidden;
  border: 1px solid rgba(238, 159, 63, 0.34);
  border-radius: 18px;
  background: linear-gradient(125deg, #071b33, #0c3157 70%, #184c73);
  color: #fff;
  box-shadow: 0 16px 38px rgba(7, 27, 51, 0.2);
}

.intake-package::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(108deg, transparent 32%, rgba(255,255,255,0.12) 47%, transparent 61%);
  transform: translateX(-130%);
  animation: intake-shimmer 5.2s ease-in-out infinite;
}

@keyframes intake-shimmer {
  0%, 62% { transform: translateX(-130%); }
  86%, 100% { transform: translateX(130%); }
}

.intake-package__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem 0.7rem;
}

.intake-package__head strong { font-family: var(--font-display); font-size: 1.05rem; }
.intake-package__price { color: var(--gold-300); font-family: var(--font-display); font-weight: 800; }

.intake-package__contents {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  padding: 0 1.1rem 0.9rem;
}

.intake-package__contents span {
  padding: 0.27rem 0.55rem;
  border: 1px solid rgba(201, 214, 227, 0.19);
  border-radius: var(--r-pill);
  color: rgba(232, 242, 251, 0.8);
  background: rgba(255,255,255,0.055);
  font-size: 0.7rem;
}

.intake-package .intake-checkline {
  margin: 0;
  padding: 0.9rem 1.1rem 1rem;
  border-top: 1px solid rgba(201, 214, 227, 0.14);
  color: #fff;
}

.intake-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.intake-field {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
}

.intake-field--full { grid-column: 1 / -1; }

.intake-field > label,
.intake-field > legend {
  color: var(--ink-700);
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 760;
  line-height: 1.35;
}

.intake-field input,
.intake-field select,
.intake-field textarea,
.intake-field gmp-place-autocomplete {
  width: 100%;
  min-height: 3.45rem;
  padding: 0.86rem 0.95rem;
  border: 2px solid #9fb9cc;
  border-radius: 12px;
  background: #fff;
  color: var(--ink-900);
  font: inherit;
  font-weight: 520;
  box-shadow: inset 0 1px 2px rgba(8,25,46,0.035), 0 4px 12px rgba(8,25,46,0.045);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.intake-field textarea { min-height: 7.4rem; resize: vertical; }

.intake-field input:focus,
.intake-field select:focus,
.intake-field textarea:focus,
.intake-field gmp-place-autocomplete:focus-within {
  outline: none;
  border-color: var(--water-500);
  background: #fcfeff;
  box-shadow: 0 0 0 4px rgba(12, 140, 233, 0.18), 0 8px 20px rgba(12, 87, 139, 0.1);
}

.intake-field input[aria-invalid="true"],
.intake-field select[aria-invalid="true"],
.intake-field textarea[aria-invalid="true"] {
  border-color: #c94c40;
  box-shadow: 0 0 0 4px rgba(201, 76, 64, .12);
}

.intake-field.has-error > label,
.intake-choice-grid.has-error .intake-choice__title,
label.has-error { color: #9d261f; }

.intake-field.has-error .intake-inline-options,
.intake-choice-grid.has-error,
.intake-pill.has-error span,
.intake-checkline.has-error,
.intake-photo.has-error {
  outline: 3px solid rgba(189, 58, 48, .2);
  outline-offset: 3px;
  border-color: #bd3a30;
  border-radius: 14px;
}

.intake-field input::placeholder,
.intake-field textarea::placeholder { color: #71879a; opacity: 1; }

.intake-field input[readonly] { background: #eef4f8; color: var(--ink-500); }
.intake-field__hint { margin: 0; color: var(--ink-500); font-size: 0.8rem; font-weight: 510; line-height: 1.5; }
.intake-field__error { min-height: 1em; margin: 0; color: #a82d24; font-size: 0.75rem; font-weight: 600; }

.intake-inline-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.intake-pill { position: relative; }
.intake-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.intake-pill span {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.55rem 0.82rem;
  cursor: pointer;
  border: 1px solid #ccdae6;
  border-radius: var(--r-pill);
  background: #fff;
  color: var(--ink-700);
  font-size: 0.8rem;
  font-weight: 630;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.intake-pill span:hover { transform: translateY(-1px); border-color: rgba(12,140,233,0.48); }
.intake-pill input:checked + span { border-color: var(--water-500); background: #dff4ff; color: #075c9d; }
.intake-pill input:focus-visible + span { box-shadow: var(--focus-ring); }

.intake-checkline {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 0.75rem 0;
  color: var(--ink-700);
  cursor: pointer;
  font-size: 0.87rem;
  line-height: 1.5;
}

.intake-checkline input {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  accent-color: var(--water-600);
}

.intake-note {
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border-left: 3px solid var(--aqua-400);
  border-radius: 0 12px 12px 0;
  background: #eaf8fe;
  color: var(--ink-700);
  font-size: 0.84rem;
}

.intake-note--gold { border-left-color: var(--gold-500); background: #fff6e9; }
.intake-note strong { color: var(--ink-900); }

.intake-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.intake-photo {
  position: relative;
  display: grid;
  min-height: 12.5rem;
  place-items: center;
  overflow: hidden;
  border: 1.5px dashed #acc5d8;
  border-radius: 17px;
  background: linear-gradient(145deg, #fff, #eaf6fc);
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.intake-photo:hover,
.intake-photo:focus-within {
  transform: translateY(-2px);
  border-color: var(--water-500);
  box-shadow: 0 14px 30px rgba(8,25,46,0.1);
}

.intake-photo.has-file { border-style: solid; border-color: rgba(12,140,233,0.55); }
.intake-photo input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 3; }

.intake-photo__prompt {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  padding: 1.1rem;
  text-align: center;
}

.intake-photo__camera {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--water-500), var(--aqua-400));
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  box-shadow: var(--glow-aqua);
}

.intake-photo__title { font-family: var(--font-display); color: var(--ink-900); font-size: 0.95rem; font-weight: 740; }
.intake-photo__copy { max-width: 28ch; color: var(--ink-500); font-size: 0.75rem; line-height: 1.4; }
.intake-photo__status { min-height: 1rem; color: var(--water-600); font-size: 0.71rem; font-weight: 700; }

.intake-photo__preview {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 240ms ease;
}

.intake-photo.has-file .intake-photo__preview { opacity: 1; }
.intake-photo.has-file .intake-photo__prompt {
  align-self: end;
  width: 100%;
  padding: 2.7rem 0.8rem 0.75rem;
  background: linear-gradient(transparent, rgba(4,11,22,0.88));
}
.intake-photo.has-file .intake-photo__camera,
.intake-photo.has-file .intake-photo__copy { display: none; }
.intake-photo.has-file .intake-photo__title { color: #fff; }
.intake-photo.has-file .intake-photo__status { color: var(--aqua-300); }

.intake-photo-total {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.8rem 0 0;
  color: var(--ink-500);
  font-size: 0.75rem;
}

.intake-add-photo {
  margin-top: 0.9rem;
  padding: 0.65rem 0.9rem;
  cursor: pointer;
  border: 1px solid #b9cfdf;
  border-radius: var(--r-pill);
  background: #fff;
  color: var(--water-600);
  font: 700 0.8rem var(--font-display);
}

.intake-review {
  display: grid;
  gap: 0.7rem;
  margin: 1rem 0 1.25rem;
}

.intake-review__item {
  display: grid;
  grid-template-columns: minmax(7rem, 0.35fr) 1fr;
  gap: 0.8rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid #dce7ef;
}

.intake-review__item dt { color: var(--ink-500); font-size: 0.78rem; font-weight: 700; }
.intake-review__item dd { margin: 0; color: var(--ink-900); font-size: 0.86rem; }

.intake-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 1rem clamp(1.25rem, 4vw, 2.75rem) 1.25rem;
  border-top: 1px solid #dbe6ee;
  background: rgba(248, 252, 255, 0.94);
  backdrop-filter: blur(12px);
}

.intake-nav__back,
.intake-nav__next,
.intake-submit {
  min-height: 3rem;
  padding: 0.75rem 1.15rem;
  cursor: pointer;
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 760;
}

.intake-nav__back {
  border: 1px solid #cbd9e4;
  background: #fff;
  color: var(--ink-700);
}

.intake-nav__next,
.intake-submit {
  margin-left: auto;
  border: 0;
  background: linear-gradient(120deg, var(--water-600), var(--aqua-400));
  color: #fff;
  box-shadow: 0 10px 24px rgba(12, 140, 233, 0.28);
  transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.intake-nav__next:hover,
.intake-submit:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(12,140,233,0.35); }
.intake-nav__next:disabled,
.intake-submit:disabled { cursor: not-allowed; opacity: 0.55; transform: none; }

.intake-global-error {
  margin: 0;
  color: #a82d24;
  font-size: 0.78rem;
  font-weight: 650;
}

.intake-client-hub {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(12,140,233,0.25);
  border-radius: var(--r-md);
  background: #eaf7fe;
}

.intake-client-hub p { margin: 0; color: var(--ink-700); font-size: 0.86rem; }

.intake-success {
  min-height: 37rem;
  padding: clamp(2rem, 6vw, 4rem);
  text-align: center;
}

.intake-success__mark {
  position: relative;
  display: grid;
  width: 5.5rem;
  height: 5.5rem;
  place-items: center;
  margin: 0 auto 1.3rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,199,240,0.2), rgba(12,140,233,0.08));
  border: 1px solid rgba(12,140,233,0.22);
}

.intake-success__mark img { width: 3.5rem; filter: drop-shadow(0 0 12px rgba(53,199,240,0.38)); }
.intake-success h3 { max-width: none; margin-bottom: 0.6rem; }
.intake-success p { max-width: 54ch; margin-inline: auto; color: var(--ink-500); }
.intake-success .button-row { justify-content: center; margin-top: 1.4rem; }

.intake-submitting {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(244,250,254,0.88);
  backdrop-filter: blur(10px);
}

.intake-submitting[hidden] { display: none; }
.intake-submitting__inner { display: grid; justify-items: center; gap: 0.7rem; color: var(--ink-700); font-weight: 700; }
.intake-submitting__drop { width: 3rem; animation: intake-bob 900ms ease-in-out infinite alternate; }

@keyframes intake-bob {
  from { transform: translateY(-5px) scale(0.96); filter: drop-shadow(0 5px 9px rgba(12,140,233,0.18)); }
  to { transform: translateY(5px) scale(1.03); filter: drop-shadow(0 13px 18px rgba(12,140,233,0.35)); }
}

/* Stable form viewport: the progress and actions stay put while the active
   question surface changes. Step content scrolls inside the frame only when
   a short screen genuinely cannot hold it. */
.intake-form-chrome {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow-anchor: none;
}

.intake-form {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
}

.intake-body {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  overflow-anchor: none;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 117, 201, 0.45) transparent;
}

.intake-body::-webkit-scrollbar { width: 6px; }
.intake-body::-webkit-scrollbar-thumb { background: rgba(10, 117, 201, 0.45); border-radius: 3px; }
.intake-body::-webkit-scrollbar-track { background: transparent; }

.intake-optional-details { margin-top: .55rem; }
.intake-optional-details__body { padding: .75rem .85rem .9rem; }
.intake-optional-details__body h4 { margin: 0 0 .35rem; }

@media (min-width: 981px) {
  .intake-section { padding-block: clamp(1.5rem, 3vh, 2.5rem) !important; }
  .intake-layout {
    min-height: calc(100svh - var(--header-h) - 3rem);
    grid-template-columns: minmax(245px, .36fr) minmax(640px, 1fr);
    align-items: center;
  }
  .intake-guide { top: calc(var(--header-h) + 1rem); padding-block: .5rem; }
  .intake-guide .lead { font-size: .98rem; line-height: 1.55; }
  .intake-guide__promise { gap: .45rem; margin: 1rem 0; }
  .intake-guide__promise li { padding-block: .62rem; font-size: .86rem; line-height: 1.42; }
  .intake-guide__response { padding: .8rem .9rem; }

  .intake-shell {
    width: 100%;
    height: min(820px, calc(100svh - var(--header-h) - 2.5rem));
    min-height: 636px;
  }
  .intake-progress { min-height: 6.3rem; padding: .9rem 1.7rem .78rem; }
  .intake-progress__top { margin-bottom: .85rem; }
  .intake-progress__labels { margin-top: .65rem; }
  .intake-body { padding: .55rem 1.7rem .62rem; }
  .intake-step h3 { font-size: clamp(1.75rem, 2.35vw, 2.2rem); }
  .intake-step__intro { margin-bottom: 1rem; font-size: .9rem; line-height: 1.48; }
  .intake-choice-grid { gap: .62rem; }
  .intake-choice__surface { gap: .28rem; padding: .76rem .85rem .72rem; border-width: 1.5px; border-radius: 14px; }
  .intake-choice__title { font-size: .96rem; }
  .intake-choice__copy { font-size: .79rem; line-height: 1.36; }
  .intake-choice__price { margin-top: .12rem; font-size: .75rem; }
  .intake-more { margin-top: .7rem; }
  .intake-more summary { padding: .68rem .85rem; }
  .intake-more .intake-choice-grid { padding: 0 .75rem .75rem; }
  .intake-branch { margin-top: .7rem; padding: .78rem; }
  .intake-package { margin-top: .75rem; }
  .intake-package__contents { padding: .65rem .85rem; }
  .intake-package .intake-checkline { padding: .68rem .85rem .75rem; }
  .intake-field-grid { gap: .72rem .85rem; }
  .intake-field { gap: .25rem; }
  .intake-field input,
  .intake-field select,
  .intake-field textarea,
  .intake-field gmp-place-autocomplete { min-height: 3rem; padding: .68rem .78rem; }
  .intake-field textarea { min-height: 5.2rem; }
  .intake-field__hint { font-size: .73rem; line-height: 1.38; }
  .intake-note { margin: .68rem 0; padding: .68rem .8rem; }
  .intake-checkline { margin: .48rem 0; font-size: .81rem; line-height: 1.4; }
  .intake-photo-grid { gap: .65rem; }
  .intake-photo { min-height: 9.25rem; }
  .intake-photo__prompt { gap: .22rem; padding: .72rem; }
  .intake-photo__camera { width: 2.2rem; height: 2.2rem; font-size: 1rem; }
  .intake-photo__copy { font-size: .69rem; }
  .intake-photo-total { margin-top: .55rem; }
  .intake-add-photo { margin-top: .6rem; }
  .intake-review { gap: .35rem; margin: .65rem 0 .8rem; }
  .intake-review__item { padding: .48rem 0; }
  .intake-nav { min-height: 4.1rem; padding: .52rem 1.7rem .58rem; }

  .intake-step[data-step="service"] .intake-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-step[data-step="service"] .intake-choice__copy { display: none; }
  .intake-step[data-step="service"] .intake-choice__surface { min-height: 3rem; padding: .42rem .6rem; gap: .12rem; }
  .intake-step[data-step="service"] .intake-choice__title { font-size: .84rem; line-height: 1.12; }
  .intake-step[data-step="service"] .intake-choice__price { margin-top: 0; font-size: .66rem; }
  .intake-step[data-step="service"] .intake-package__head { padding: .52rem .72rem .3rem; }
  .intake-step[data-step="service"] .intake-package__contents { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: .3rem .72rem .42rem; }
  .intake-step[data-step="service"] .intake-package__contents span { padding: .35rem .45rem; font-size: .66rem; }
  .intake-step[data-step="service"] .intake-package .intake-checkline { padding: .42rem .72rem .5rem; }
  .intake-step[data-step="service"] .intake-more,
  .intake-step[data-step="service"] .intake-package { margin-top: .48rem; }

  .intake-step[data-step="spa"] .intake-field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-step[data-step="spa"] .intake-field--full { grid-column: 1 / -1; }
  .intake-step[data-step="spa"] .intake-field textarea { min-height: 3.65rem; }
  .intake-step[data-step="spa"] h3 { margin-bottom: .4rem; font-size: 1.75rem; line-height: 1.08; }
  .intake-step[data-step="spa"] .intake-step__intro { margin-bottom: .5rem; }
  .intake-step[data-step="spa"] [data-branch="strong"] { margin-top: .1rem; padding: .45rem; }

  .intake-step[data-step="photos"] h3 { margin-bottom: .35rem; font-size: 1.65rem; line-height: 1.05; }
  .intake-step[data-step="photos"] .intake-step__kicker { margin-bottom: .25rem; }
  .intake-step[data-step="photos"] .intake-step__intro { margin-bottom: .4rem; font-size: .8rem; line-height: 1.3; }
  .intake-step[data-step="photos"] .intake-note { margin: .3rem 0; padding: .38rem .55rem; font-size: .67rem; line-height: 1.28; }
  .intake-step[data-step="photos"] .intake-photo { min-height: 5.7rem; }
  .intake-step[data-step="photos"] .intake-photo__prompt { gap: .12rem; padding: .32rem .48rem; }
  .intake-step[data-step="photos"] .intake-photo__camera { width: 1.5rem; height: 1.5rem; font-size: .7rem; }
  .intake-step[data-step="photos"] .intake-photo__title { font-size: .78rem; line-height: 1.12; }
  .intake-step[data-step="photos"] .intake-photo__copy { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .58rem; line-height: 1.2; }
  .intake-step[data-step="photos"] .intake-photo__status { min-height: .58rem; font-size: .6rem; }
  .intake-step[data-step="photos"] .intake-checkline { margin-block: .38rem; padding-block: .45rem; }
  .intake-step[data-step="photos"] .intake-optional-details summary { padding-block: .42rem; }
  .intake-step[data-step="photos"] .intake-add-photo { display: inline-flex; width: 44%; margin-top: .35rem; vertical-align: middle; }
  .intake-step[data-step="photos"] .intake-photo-total { display: inline-flex; width: 54%; margin-top: .35rem; vertical-align: middle; }

  .intake-step[data-step="access"] .intake-note { margin: .5rem 0; padding: .55rem .7rem; }
  .intake-step[data-step="timing"] .intake-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-step[data-step="timing"] .intake-choice__surface { min-height: 4.1rem; }
  .intake-step[data-step="timing"] .intake-choice__copy { display: none; }
  .intake-step[data-step="contact"] .intake-field-grid,
  .intake-step[data-step="address"] .intake-field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-step[data-step="contact"] .intake-field--full,
  .intake-step[data-step="address"] .intake-field--full { grid-column: 1 / -1; }
  .intake-step[data-step="review"] .intake-review { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-step[data-step="review"] .intake-review__item { grid-template-columns: 1fr; gap: .08rem; padding: .38rem .5rem; border: 1px solid rgba(148, 174, 195, .2); border-radius: 10px; }
  .intake-step[data-step="review"] .intake-review__item dt { font-size: .68rem; line-height: 1.15; }
  .intake-step[data-step="review"] .intake-review__item dd { font-size: .74rem; line-height: 1.2; }
  .intake-step[data-step="review"] .intake-note { margin-top: .55rem; padding: .55rem .7rem; }
}

@media (max-width: 980px) {
  .intake-layout { grid-template-columns: 1fr; }
  .intake-guide { position: static; padding: 0; }
  .intake-guide__promise { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-guide__promise li { padding: 2.7rem 0.65rem 0.6rem 0; }
  .intake-guide__promise li::before { top: 0.4rem; }
  .intake-guide__response { max-width: 30rem; }
  .intake-shell {
    height: min(780px, calc(100svh - var(--header-h) - 2rem));
    min-height: 610px;
  }
}

@media (max-width: 700px) {
  .intake-section { padding-top: 2.4rem !important; }
  .intake-guide h2 { font-size: 1.75rem; }
  .intake-guide__promise { display: none; }
  .intake-shell {
    height: calc(100svh - var(--header-h) - 3.4rem);
    min-height: 540px;
    border-radius: 20px;
  }
  .intake-progress { min-height: 6.15rem; padding: .72rem .9rem .65rem; }
  .intake-progress__top { margin-bottom: .7rem; }
  .intake-progress__labels { margin-top: .55rem; }
  .intake-progress__labels li { font-size: 0; }
  .intake-progress__labels li::before { content: "•"; font-size: 0.8rem; }
  .intake-body { min-height: 0; padding: .72rem .72rem .85rem; }
  .intake-step__kicker { margin-bottom: .25rem; font-size: .68rem; }
  .intake-step h3 { margin-bottom: .35rem; font-size: 1.25rem; line-height: 1.08; }
  .intake-step__intro { margin-bottom: .62rem; font-size: .76rem; line-height: 1.35; }
  .intake-choice-grid,
  .intake-photo-grid,
  .intake-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intake-field--full { grid-column: 1 / -1; }
  .intake-choice-grid { gap: .42rem; }
  .intake-choice__surface { min-height: 3.7rem; padding: .55rem .58rem; border-radius: 12px; }
  .intake-choice__title { font-size: .82rem; line-height: 1.16; }
  .intake-choice__copy { font-size: .68rem; line-height: 1.28; }
  .intake-choice__price { font-size: .67rem; }
  .intake-step[data-step="service"] .intake-choice__copy,
  .intake-step[data-step="timing"] .intake-choice__copy { display: none; }
  .intake-step[data-step="service"] > div > .intake-choice-grid { gap: .3rem; }
  .intake-step[data-step="service"] .intake-choice__surface { min-height: 2.75rem; padding: .34rem .46rem; gap: .08rem; }
  .intake-step[data-step="service"] .intake-choice__title { font-size: .76rem; }
  .intake-step[data-step="service"] .intake-choice__price { font-size: .6rem; }
  .intake-step[data-step="service"] .intake-package { margin-top: .35rem; }
  .intake-step[data-step="service"] .intake-package__contents { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; padding: .25rem; }
  .intake-step[data-step="service"] .intake-package__contents span { padding: .18rem .08rem; font-size: .52rem; line-height: 1.05; }
  .intake-package__head { padding: .62rem .72rem; }
  .intake-package .intake-checkline { padding: .52rem .65rem .6rem; }
  .intake-field { gap: .2rem; }
  .intake-field > label { font-size: .72rem; }
  .intake-field input,
  .intake-field select,
  .intake-field textarea,
  .intake-field gmp-place-autocomplete { min-height: 2.65rem; padding: .52rem .58rem; font-size: .8rem; }
  .intake-field textarea { min-height: 3.75rem; }
  .intake-photo { min-height: 6.2rem; }
  .intake-step[data-step="photos"] .intake-photo { min-height: 5.55rem; }
  .intake-photo__prompt { padding: .55rem; }
  .intake-photo__camera { width: 1.6rem; height: 1.6rem; font-size: .72rem; }
  .intake-photo__title { font-size: .78rem; }
  .intake-photo__copy { font-size: .62rem; line-height: 1.25; }
  .intake-step[data-step="photos"] .intake-photo__copy { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .intake-step[data-step="photos"] .intake-photo__status { min-height: .55rem; }
  .intake-inline-options { gap: .35rem; }
  .intake-pill span { min-height: 2.35rem; padding: .48rem .6rem; font-size: .72rem; }
  .intake-checkline { margin: .35rem 0; padding: .52rem .58rem; font-size: .72rem; line-height: 1.3; }
  .intake-note { margin: .45rem 0; padding: .5rem .62rem; font-size: .7rem; line-height: 1.34; }
  .intake-more { margin-top: .45rem; }
  .intake-more summary { padding: .55rem .65rem; font-size: .72rem; }
  .intake-photo-total { gap: .25rem; font-size: .66rem; }
  .intake-add-photo { min-height: 2.35rem; padding: .42rem .65rem; font-size: .72rem; }
  .intake-review { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intake-review__item { grid-template-columns: 1fr; gap: 0.1rem; padding: .35rem .4rem; }
  .intake-review__item dt { font-size: .62rem; line-height: 1.12; }
  .intake-review__item dd { font-size: .68rem; line-height: 1.18; }
  .intake-nav {
    position: relative;
    z-index: 12;
    bottom: auto;
    min-height: 4rem;
    padding: .5rem .72rem calc(.5rem + env(safe-area-inset-bottom));
  }
  .intake-nav__back,
  .intake-nav__next,
  .intake-submit { min-height: 3.15rem; }
  .intake-nav__next,
  .intake-submit { flex: 1; }
  .intake-global-error { position: absolute; left: 1rem; bottom: 100%; padding: 0.5rem 0.7rem; border-radius: 8px; background: #fff2ef; }
}

@media (prefers-reduced-motion: reduce) {
  .intake-step.is-entering,
  .intake-package::before,
  .intake-submitting__drop { animation: none !important; }
  .intake-progress__fill,
  .intake-progress__drop,
  .intake-choice__surface { transition-duration: 0.01ms !important; }
}

/* Contact-page media budget: use the compact authored ambient plates on
   phones and do not fetch the three closing-section plates until those
   sections approach the viewport. */
.contact-deferred-bg { background-image: none !important; }
.contact-proof.is-loaded {
  background: linear-gradient(180deg, rgba(5,13,26,0.48), rgba(8,22,42,0.64)), url('/assets/img/ambient/goldlake-2200.jpg') center 75% / cover no-repeat !important;
}
.contact-routes.is-loaded {
  background: linear-gradient(180deg, rgba(6,17,33,0.55), rgba(10,28,51,0.64)), url('/assets/img/ambient/warmsound-2200.jpg') center 45% / cover no-repeat !important;
}
.contact-finale.is-loaded {
  background: linear-gradient(180deg, rgba(5,13,26,0.48), rgba(10,28,51,0.56)), url('/assets/img/ambient/goldridge-2200.jpg') center 70% / cover no-repeat !important;
}

@media (max-width: 900px) {
  .page-hero--contact {
    background: linear-gradient(180deg, rgba(5,13,26,0.26) 0%, rgba(7,19,37,0.20) 55%, #0a1c33 100%), url('/assets/img/ambient/luxdusk-900.jpg') center 35% / cover no-repeat !important;
  }
  .intake-section {
    background: linear-gradient(180deg, rgba(7,19,37,0.58), rgba(10,28,51,0.72)), url('/assets/img/ambient/rainier-900.jpg') center 30% / cover no-repeat !important;
  }
  .contact-proof.is-loaded {
    background-image: linear-gradient(180deg, rgba(5,13,26,0.48), rgba(8,22,42,0.64)), url('/assets/img/ambient/goldlake-900.jpg') !important;
  }
  .contact-routes.is-loaded {
    background-image: linear-gradient(180deg, rgba(6,17,33,0.55), rgba(10,28,51,0.64)), url('/assets/img/ambient/warmsound-900.jpg') !important;
  }
  .contact-finale.is-loaded {
    background-image: linear-gradient(180deg, rgba(5,13,26,0.48), rgba(10,28,51,0.56)), url('/assets/img/ambient/goldridge-900.jpg') !important;
  }
}
.contact-routes .lead a {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}

/* ---------- Product picker: package, individual bottles, or both ---------- */
.intake-products-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .55rem .72rem .68rem;
  border-top: 1px solid rgba(12,140,233,.13);
}
.intake-products-open {
  min-height: 2.35rem;
  padding: .5rem .75rem;
  border: 1px solid rgba(12,140,233,.26);
  border-radius: 999px;
  color: #076cad;
  background: linear-gradient(180deg, #f8fdff, #e7f7ff);
  box-shadow: 0 7px 18px rgba(12,140,233,.10);
  font: 750 .74rem/1.1 var(--font-display);
  cursor: pointer;
}
.intake-products-open:hover { border-color: rgba(12,140,233,.52); transform: translateY(-1px); }
.intake-products-summary { color: #557086; font-size: .68rem; font-weight: 650; text-align: right; }
.intake-products-dialog {
  width: min(92vw, 720px);
  max-height: min(90svh, 650px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 24px;
  color: var(--ink-900);
  background: transparent;
  box-shadow: 0 30px 90px rgba(3,15,29,.42);
}
.intake-products-dialog::backdrop {
  background: rgba(3,12,24,.70);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  backdrop-filter: blur(12px) saturate(1.1);
}
.intake-products-dialog__surface {
  position: relative;
  padding: clamp(1.1rem, 3vw, 1.7rem);
  overflow: hidden;
  border: 1px solid rgba(127,224,247,.52);
  border-radius: inherit;
  background: radial-gradient(circle at 92% 4%, rgba(83,215,238,.24), transparent 34%), radial-gradient(circle at 5% 100%, rgba(255,196,107,.18), transparent 31%), linear-gradient(155deg, #ffffff, #edf9ff 58%, #fff9ec);
}
.intake-products-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.intake-products-dialog__head h4 { margin: 0; color: #0b2944; font-size: clamp(1.25rem, 3vw, 1.75rem); }
.intake-products-close {
  display: grid;
  flex: 0 0 auto;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid rgba(12,140,233,.20);
  border-radius: 50%;
  color: #155075;
  background: rgba(255,255,255,.78);
  font-size: 1.45rem;
  cursor: pointer;
}
.intake-products-dialog__intro { margin: .55rem 0 1rem; color: #526b80; font-size: .84rem; line-height: 1.5; }
.intake-products-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.intake-products-grid label { position: relative; cursor: pointer; }
.intake-products-grid input { position: absolute; opacity: 0; pointer-events: none; }
.intake-products-grid span {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .58rem .72rem .58rem 2.35rem;
  border: 1px solid rgba(112,147,174,.22);
  border-radius: 12px;
  color: #27485f;
  background: rgba(255,255,255,.74);
  font-size: .82rem;
  font-weight: 700;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.intake-products-grid span::before {
  content: "";
  position: absolute;
  left: .76rem;
  width: 1rem;
  height: 1rem;
  border: 1.5px solid rgba(12,140,233,.42);
  border-radius: 5px;
  background: #fff;
}
.intake-products-grid input:checked + span { border-color: rgba(12,140,233,.62); color: #075b93; background: linear-gradient(135deg, #e7f8ff, #fff8e9); transform: translateY(-1px); }
.intake-products-grid input:checked + span::before { content: "✓"; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #0c8ce9, #39cde4); box-shadow: 0 0 12px rgba(53,199,240,.30); }
.intake-products-done {
  width: 100%;
  min-height: 3rem;
  margin-top: 1rem;
  border: 0;
  border-radius: 14px;
  color: #04111f;
  background: linear-gradient(100deg, #2ec7f1, #7fe0f7 55%, #ffcf82);
  box-shadow: 0 12px 28px rgba(12,140,233,.20);
  font: 800 .88rem/1 var(--font-display);
  cursor: pointer;
}

/* ---------- Cleaner confirmation receipt ---------- */
.intake-success {
  height: 100%;
  min-height: 100%;
  padding: clamp(1.3rem, 4vw, 2.5rem);
  overflow: hidden;
  color: #0b2944;
  text-align: left;
  background: radial-gradient(circle at 92% 0%, rgba(83,215,238,.20), transparent 31%), radial-gradient(circle at 0% 100%, rgba(255,196,107,.16), transparent 31%), linear-gradient(155deg, #ffffff, #f1faff 68%, #fffaf0);
}
.intake-success__hero { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; }
.intake-success__hero .intake-success__mark { margin: 0; }
.intake-success__hero .intake-step__kicker { margin-bottom: .35rem; }
.intake-success h3 { margin: 0; color: #0a2944; font-size: clamp(1.55rem, 3vw, 2.35rem); line-height: 1.08; }
.intake-success .intake-success__lead { max-width: 58ch; margin: .55rem 0 0; color: #536d82; line-height: 1.55; }
.intake-success__receipt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1.15rem; }
.intake-success__receipt > div { display: grid; gap: .18rem; padding: .85rem .95rem; border: 1px solid rgba(12,140,233,.17); border-radius: 15px; background: rgba(255,255,255,.74); box-shadow: 0 10px 28px rgba(10,50,82,.07); }
.intake-success__receipt span { color: #0b78b8; font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.intake-success__receipt strong { color: #173e59; font-size: .9rem; }
.intake-success__receipt small { color: #687f91; font-size: .72rem; line-height: 1.35; }
.intake-success__next { margin-top: .9rem; padding: .85rem 1rem; border-left: 3px solid #35c7f0; border-radius: 0 14px 14px 0; background: rgba(225,247,255,.72); }
.intake-success__next > strong { color: #15455f; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.intake-success__next ul { display: grid; gap: .34rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.intake-success__next li { position: relative; padding-left: 1.25rem; color: #526b80; font-size: .8rem; line-height: 1.4; }
.intake-success__next li::before { content: ""; position: absolute; left: 0; top: .42rem; width: .48rem; height: .48rem; border-radius: 50%; background: linear-gradient(135deg, #35c7f0, #ffbf67); box-shadow: 0 0 8px rgba(53,199,240,.34); }
.intake-success .button-row { justify-content: flex-start; gap: .55rem; margin-top: 1rem; }
.intake-success .button-row .btn { padding-inline: .85rem; font-size: .76rem; }
.intake-success .button-row .btn--primary {
  color: #06243b;
  background: linear-gradient(135deg, #35c7f0, #1599df);
  box-shadow: 0 9px 24px rgba(12, 140, 233, .22);
}
.intake-success .button-row .btn--secondary,
.intake-success .button-row .btn--outline,
.intake-success .button-row .btn--ghost {
  color: #16445f;
  border-color: rgba(12, 140, 233, .25);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 7px 20px rgba(10, 50, 82, .08);
}
.intake-success .button-row .btn--secondary:hover,
.intake-success .button-row .btn--secondary:focus-visible,
.intake-success .button-row .btn--outline:hover,
.intake-success .button-row .btn--outline:focus-visible,
.intake-success .button-row .btn--ghost:hover,
.intake-success .button-row .btn--ghost:focus-visible {
  color: #082f4b;
  border-color: rgba(12, 140, 233, .5);
  background: #fff;
}

@media (max-width: 700px) {
  .intake-products-entry { align-items: stretch; flex-direction: column; gap: .35rem; }
  .intake-products-summary { text-align: left; }
  .intake-step[data-step="service"] .intake-package__contents { display: none; }
  .intake-step[data-step="service"] .intake-package__head { padding: .5rem .62rem .4rem; }
  .intake-step[data-step="service"] .intake-package .intake-checkline { padding: .42rem .58rem .48rem; }
  .intake-step[data-step="service"] .intake-products-entry {
    align-items: center;
    flex-direction: row;
    gap: .35rem;
    padding: .42rem .58rem .5rem;
  }
  .intake-step[data-step="service"] .intake-products-open {
    min-height: 2.25rem;
    padding: .4rem .55rem;
    font-size: .66rem;
  }
  .intake-step[data-step="service"] .intake-products-summary {
    flex: 1;
    font-size: .58rem;
    line-height: 1.18;
    text-align: right;
  }
  .intake-products-dialog { width: min(94vw, 620px); max-height: calc(100svh - 1rem); }
  .intake-products-dialog__surface { padding: .9rem; }
  .intake-products-dialog__intro { margin-bottom: .7rem; font-size: .75rem; }
  .intake-products-grid { gap: .35rem; }
  .intake-products-grid span { min-height: 2.35rem; padding: .45rem .45rem .45rem 2rem; font-size: .7rem; }
  .intake-products-grid span::before { left: .58rem; }
  .intake-products-done { min-height: 2.7rem; margin-top: .7rem; }
  .intake-success { padding: 1rem; }
  .intake-success__hero { grid-template-columns: 1fr; gap: .7rem; }
  .intake-success__hero .intake-success__mark { width: 4.1rem; height: 4.1rem; }
  .intake-success__hero .intake-success__mark img { width: 2.65rem; }
  .intake-success h3 { font-size: 1.45rem; }
  .intake-success .intake-success__lead { font-size: .8rem; }
  .intake-success__receipt { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-top: .65rem; }
  .intake-success__receipt > div { padding: .52rem .58rem; }
  .intake-success__receipt strong { font-size: .73rem; line-height: 1.2; }
  .intake-success__receipt small { font-size: .6rem; line-height: 1.25; }
  .intake-success__next { margin-top: .6rem; padding: .65rem .75rem; }
  .intake-success__next li { font-size: .72rem; }
  .intake-success .button-row { display: grid; grid-template-columns: 1fr 1fr; }
  .intake-success .button-row .btn:first-child { grid-column: 1 / -1; }
}


/* Desktop booking form: wider stage (2026-07-23 fix) */
@media (min-width: 981px) {
  .intake-section .container { width: min(1560px, 94vw); }
  .intake-layout { grid-template-columns: minmax(250px, 0.26fr) minmax(700px, 1fr); }
}


/* Launch polish (2026-07-24): readable prices + address autocomplete dropdown */
.intake-choice__price { color: #0a63a8; font-weight: 800; }
.intake-step[data-step="service"] .intake-choice__price { font-size: .78rem; }
.pac-container { background: #ffffff; border-radius: 12px; border: 1px solid rgba(10, 99, 168, 0.25); box-shadow: 0 14px 36px rgba(7, 18, 34, 0.28); font-family: inherit; z-index: 10000; padding: .25rem 0; }
.pac-item { color: #23445f; padding: .45rem .85rem; cursor: pointer; border-top: 1px solid rgba(10, 99, 168, 0.08); font-size: .88rem; }
.pac-item:first-child { border-top: 0; }
.pac-item:hover, .pac-item-selected, .pac-item-selected:hover { background: #eaf6fd; }
.pac-item-query { color: #071b33; font-weight: 700; font-size: .92rem; }
.pac-matched { font-weight: 800; }
.pac-icon { filter: none; }

/* Returning-customer welcome chip (client-lookup) */
.intake-note--returning {
  border-color: rgba(10, 99, 168, 0.35);
  background: rgba(10, 99, 168, 0.08);
  color: #0a63a8;
  animation: intakeReturningIn 0.45s ease;
}
@keyframes intakeReturningIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
