/* squareposh Dog grooming template (templates/grooming). Everything is prefixed gr-.
   Looks: html[data-look] suds (default) · biscuit · blueberry. Sizes: html[data-size] s · m · l · xl
   picks which price shows. Mode: html[data-mode] both · mobile · salon.
   Type: Fredoka (headings, names) and Figtree (everything else, never below 13px). */

/* ---------- Looks ---------- */
:root,
html[data-look="suds"] {
  --bg: #fff8f0;
  --tint: #e8f5f3;
  --surface: #ffffff;
  --ink: #17293a;
  --ink-2: #3f5164;
  --ink-3: #56687b;
  --line: #eadfd2;
  --line-2: #cdbfae;
  --brand: #19707f;
  --brand-2: #125a67;
  --brand-ink: #ffffff;
  --brand-soft: #d4eeeb;
  --em: #ffd66b;
  --pop: #ff8a65;
  --sun: #f2a93b;
  --dark: #17293a;
  --dark-2: #22394f;
  --dark-ink: #fff8f0;
  --dark-ink-2: #d2dbe4;
  --bad: #b42318;
  --van: #7fd1cb;
  --van-glass: #dff3fa;
  --van-stripe: #ff8a65;
  --van-ink: #17293a;
  --bubble-fill: rgba(212, 238, 235, .55);
  --bubble-line: #8fd0cb;
  --ph-a: #d4eeeb;
  --ph-b: #ffe3d2;
  --ph-c: #fff1c9;
  --shadow: 0 22px 48px -26px rgba(23, 41, 58, .38);
  --shadow-sm: 0 10px 24px -16px rgba(23, 41, 58, .35);
}
html[data-look="biscuit"] {
  --bg: #faf3e8;
  --tint: #f3e6d3;
  --surface: #fffdf9;
  --ink: #2d2118;
  --ink-2: #533f30;
  --ink-3: #6a5442;
  --line: #e8d8c2;
  --line-2: #cdb697;
  --brand: #8a4215;
  --brand-2: #6e330f;
  --brand-ink: #ffffff;
  --brand-soft: #f2dcc4;
  --em: #f4c982;
  --pop: #e39a3b;
  --sun: #d98a1c;
  --dark: #2d2118;
  --dark-2: #3d2d21;
  --dark-ink: #faf3e8;
  --dark-ink-2: #e2d3bf;
  --van: #e8c59a;
  --van-glass: #fdf2e4;
  --van-stripe: #8a4215;
  --van-ink: #2d2118;
  --bubble-fill: rgba(242, 220, 196, .55);
  --bubble-line: #ddb98f;
  --ph-a: #f2dcc4;
  --ph-b: #e9eed8;
  --ph-c: #fbe6bd;
  --shadow: 0 22px 48px -26px rgba(45, 33, 24, .4);
  --shadow-sm: 0 10px 24px -16px rgba(45, 33, 24, .38);
}
html[data-look="blueberry"] {
  --bg: #141d33;
  --tint: #1a2542;
  --surface: #1e2a4a;
  --ink: #f6f1e8;
  --ink-2: #cdd4e3;
  --ink-3: #b3bdd2;
  --line: #2d3a5f;
  --line-2: #465683;
  --brand: #8fd6d2;
  --brand-2: #b4e6e3;
  --brand-ink: #0f1830;
  --brand-soft: #243a5e;
  --em: #3a5288;
  --pop: #ffb38a;
  --sun: #ffc56b;
  --dark: #0c1326;
  --dark-2: #172240;
  --dark-ink: #f6f1e8;
  --dark-ink-2: #c7cfe0;
  --bad: #ffb4a8;
  --van: #8fd6d2;
  --van-glass: #d8ecff;
  --van-stripe: #ffb38a;
  --van-ink: #0f1830;
  --bubble-fill: rgba(143, 214, 210, .12);
  --bubble-line: #5f9fa6;
  --ph-a: #22365a;
  --ph-b: #2d3159;
  --ph-c: #1f3b52;
  --shadow: 0 24px 50px -24px rgba(0, 0, 0, .6);
  --shadow-sm: 0 10px 24px -14px rgba(0, 0, 0, .55);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--demo-h, 0px) + var(--hdr-h, 76px) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.gr { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.6 "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.gr) img { max-width: 100%; }
:where(.gr) a { color: inherit; }
.gr :focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; border-radius: 6px; }
:where(.gr) :is(h1, h2, h3) { margin: 0; font-family: "Fredoka", "Figtree", system-ui, sans-serif; font-weight: 600; letter-spacing: -.01em; line-height: 1.08; }
:where(.gr) p { margin: 0 0 1em; }
:where(.gr p:last-child) { margin-bottom: 0; }
:where(.gr) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
/* hidden always wins over a class that sets display (the menu, form groups, gallery items). */
:where(.gr) [hidden] { display: none !important; }
.gr-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.gr-skip { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 12px 18px; border-radius: 999px; background: var(--ink); color: var(--bg); font-weight: 700; text-decoration: none; }
.gr-skip:focus { top: 12px; }
main:focus { outline: none; }
.gr-locked, .gr-locked body { overflow: hidden; }
.gr-wrap { width: min(1200px, 100% - 48px); margin-inline: auto; }
@media (max-width: 600px) { .gr-wrap { width: calc(100% - 32px); } }

/* Headings: the colored accent is a highlighter swipe, never italic */
.gr h1 em, .gr h2 em, .gr h3 em { font-style: normal; color: inherit; background: linear-gradient(180deg, transparent 58%, var(--em) 58%, var(--em) 90%, transparent 90%); padding: 0 .06em; border-radius: 4px; }
.gr-h1 { font-size: clamp(2.35rem, 3.6vw + 1.1rem, 4.2rem); }
.gr-h2 { font-size: clamp(1.95rem, 2.3vw + 1.1rem, 3.1rem); }
.gr-h3 { font-size: 1.32rem; line-height: 1.2; }
.gr-lead { font-size: clamp(1.06rem, .35vw + 1rem, 1.24rem); line-height: 1.6; color: var(--ink-2); max-width: 60ch; }
.gr-body { color: var(--ink-2); }
.gr-small { font-size: 15px; color: var(--ink-3); }
.gr-label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 7px 15px 7px 11px; border-radius: 999px; background: var(--brand-soft); color: var(--ink); font: 700 14px/1.2 "Figtree", sans-serif; letter-spacing: .01em; }
.gr-label .gr-icon { width: 18px; height: 18px; color: var(--brand); }
html[data-look="blueberry"] .gr-label { color: var(--ink); }
.gr-icon { flex: none; width: 22px; height: 22px; }
.gr-arrow { flex: none; transition: transform .25s ease; }
.gr-req { color: var(--bad); }

/* ---------- Buttons and links ---------- */
.gr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 24px; border: 2px solid var(--brand); border-radius: 999px; background: var(--brand); color: var(--brand-ink); font: 700 16px/1.2 "Figtree", sans-serif; text-decoration: none; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.gr a.gr-btn { color: var(--brand-ink); }
.gr-btn:hover { background: var(--brand-2); border-color: var(--brand-2); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.gr-btn:hover .gr-arrow { transform: translateX(3px); }
.gr-btn .gr-icon { width: 20px; height: 20px; }
.gr-btn--lg { min-height: 58px; padding: 14px 30px; font-size: 17px; }
.gr-btn--sm { min-height: 42px; padding: 8px 18px; font-size: 15px; }
.gr-btn--block { width: 100%; }
.gr-btn--line, .gr a.gr-btn--line { background: transparent; color: var(--ink); border-color: var(--line-2); }
.gr-btn--line:hover { background: var(--surface); border-color: var(--ink); }
.gr-btn--light, .gr a.gr-btn--light { background: var(--bg); color: var(--ink); border-color: var(--bg); }
.gr-btn--light:hover { background: var(--surface); border-color: var(--surface); }
html[data-look="blueberry"] .gr-btn--light, html[data-look="blueberry"] .gr a.gr-btn--light { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); }
.gr-btn--ghost-light, .gr a.gr-btn--ghost-light { background: transparent; color: var(--dark-ink); border-color: rgba(255, 255, 255, .45); }
.gr-btn--ghost-light:hover { background: rgba(255, 255, 255, .1); border-color: var(--dark-ink); }
.gr-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.gr-link:hover { color: var(--brand); }
.gr-link:hover .gr-arrow { transform: translateX(3px); }
.gr-link--sm { font-size: 15px; }
.gr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.gr-actions--center { justify-content: center; }

/* ---------- Demo bar ---------- */
.gr-demo { position: relative; z-index: 60; display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 8px 18px; background: #ffffff; color: #17293a; border-bottom: 1px solid #e7e2da; font: 500 14px/1.3 "Figtree", sans-serif; }
.gr-demo a { color: #17293a; text-decoration: none; }
.gr-demo__brand { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; min-width: 0; }
.gr-demo__mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #ffffff; border: 1px solid #e7e2da; flex: none; }
.gr-demo__mark img, .gr-demo__mark svg { width: 22px; height: 22px; }
.gr-demo__brand strong { display: block; font-weight: 700; }
.gr-demo__sub { display: block; color: #56687b; font-size: 13px; }
.gr-demo__switch { display: flex; gap: 2px; padding: 3px; border-radius: 999px; background: #f2eee8; }
.gr-demo__switch a { padding: 6px 12px; border-radius: 999px; font-weight: 600; white-space: nowrap; }
.gr-demo__switch a:hover { background: #ffffff; }
.gr-demo__switch a[aria-current="true"] { background: #17293a; color: #ffffff; }
.gr-demo__all { font-weight: 600; text-decoration: underline !important; text-underline-offset: 4px; white-space: nowrap; }
.gr-demo__cta { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; background: #17293a; color: #ffffff !important; font-weight: 700; white-space: nowrap; }
.gr-demo__cta .gr-icon { width: 18px; height: 18px; }
@media (max-width: 1180px) { .gr-demo__all { display: none; } }
@media (max-width: 980px) {
  /* On phones and tablets the demo bar scrolls away; only the groomer’s header stays. */
  .gr-demo { flex-wrap: wrap; row-gap: 8px; }
  .gr-demo__sub { display: none; }
  .gr-demo__switch { order: 3; overflow-x: auto; max-width: 100%; }
}
@media (max-width: 560px) {
  .gr-demo { padding: 8px 12px; gap: 8px; }
  .gr-demo__brand strong { font-size: 13.5px; }
  .gr-demo__cta { padding: 8px 12px; font-size: 13.5px; }
  .gr-demo__switch a { padding: 6px 10px; font-size: 13px; }
}

/* ---------- Header ---------- */
.gr-header { position: sticky; top: var(--demo-h, 0px); z-index: 50; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: saturate(1.3) blur(10px); -webkit-backdrop-filter: saturate(1.3) blur(10px); transition: box-shadow .25s ease; }
.gr-header.is-stuck { box-shadow: 0 1px 0 var(--line), 0 12px 30px -24px rgba(0, 0, 0, .4); }
.gr-header__in { display: flex; align-items: center; gap: 28px; width: min(1280px, 100% - 40px); min-height: 78px; margin-inline: auto; }
.gr-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); min-width: 0; }
.gr-logo__mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--brand); color: var(--brand-ink); flex: none; }
.gr-logo__mark .gr-icon { width: 24px; height: 24px; }
.gr-logo__words { display: flex; flex-direction: column; min-width: 0; }
.gr-logo__name { font: 600 23px/1.05 "Fredoka", sans-serif; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gr-logo__sub { font-size: 13.5px; font-weight: 600; color: var(--ink-3); }
.gr-nav { margin-left: auto; }
.gr-nav ul { display: flex; gap: 4px; }
.gr-nav__link { display: inline-flex; padding: 10px 14px; border-radius: 999px; font-weight: 600; font-size: 16px; text-decoration: none; }
.gr-nav__link:hover { background: var(--brand-soft); }
.gr-nav__link[aria-current] { background: var(--brand-soft); color: var(--ink); }
.gr-header__actions { display: flex; align-items: center; gap: 14px; }
.gr-header__tel { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gr-header__tel .gr-icon { width: 20px; height: 20px; color: var(--brand); }
.gr-menu-btn { display: none; align-items: center; gap: 10px; min-height: 46px; padding: 8px 16px; border: 2px solid var(--line-2); border-radius: 999px; background: transparent; color: var(--ink); font: 700 15px "Figtree", sans-serif; cursor: pointer; }
.gr-menu-btn__lines { position: relative; width: 18px; height: 2px; background: currentColor; border-radius: 2px; }
.gr-menu-btn__lines::before, .gr-menu-btn__lines::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; border-radius: 2px; }
.gr-menu-btn__lines::before { top: -6px; }
.gr-menu-btn__lines::after { top: 6px; }
@media (max-width: 1260px) { .gr-header__tel { display: none; } }
@media (max-width: 1100px) {
  .gr-nav { display: none; }
  .gr-header__actions { margin-left: auto; }
  .gr-menu-btn { display: inline-flex; }
}
@media (max-width: 600px) {
  .gr-header__in { width: calc(100% - 32px); gap: 12px; min-height: 70px; }
  .gr-logo__mark { width: 38px; height: 38px; }
  .gr-logo__name { font-size: 20px; }
  .gr-header__book { display: none; }
}

/* Full-screen menu (phones and tablets) */
.gr-menu { position: fixed; inset: 0; z-index: 80; display: flex; flex-direction: column; overflow-y: auto; padding: 18px 20px 28px; background: var(--bg); opacity: 0; transform: translateY(-8px); transition: opacity .3s ease, transform .3s ease; }
.gr-menu.is-open { opacity: 1; transform: none; }
.gr-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gr-menu__close { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--line-2); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; }
.gr-menu__list { margin: 28px 0; }
.gr-menu__list > li { border-bottom: 1px solid var(--line); }
.gr-menu__list > li > a { display: block; padding: 14px 4px; font: 600 26px/1.2 "Fredoka", sans-serif; text-decoration: none; }
.gr-menu__list a[aria-current] { color: var(--brand); }
.gr-menu__sub { display: grid; gap: 2px; padding: 0 0 14px 4px; }
.gr-menu__sub a { display: block; padding: 6px 0; color: var(--ink-2); font-weight: 600; text-decoration: none; }
.gr-menu__foot { margin-top: auto; display: grid; gap: 16px; }
.gr-menu__meta { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.gr-menu__meta a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .gr-menu { transition: none; } }

/* ---------- Bubbles and stickers ---------- */
.gr-bubbles { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.gr-bubbles i { position: absolute; display: block; border-radius: 50%; background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .95) 0 12%, rgba(255, 255, 255, .25) 26%, var(--bubble-fill) 60%); border: 2px solid var(--bubble-line); animation: gr-float 9s ease-in-out infinite alternate; }
.gr-bubbles i:nth-child(1) { width: 120px; height: 120px; top: 8%; left: -40px; }
.gr-bubbles i:nth-child(2) { width: 46px; height: 46px; top: 30%; left: 1.5%; animation-duration: 7s; }
@media (max-width: 1300px) { .gr-bubbles i:nth-child(2) { display: none; } }
.gr-bubbles i:nth-child(3) { width: 78px; height: 78px; top: 62%; right: 4%; animation-duration: 11s; }
.gr-bubbles i:nth-child(4) { width: 28px; height: 28px; top: 14%; right: 12%; animation-duration: 6s; }
.gr-bubbles i:nth-child(5) { width: 160px; height: 160px; bottom: -70px; right: -50px; animation-duration: 13s; }
html[data-look="blueberry"] .gr-bubbles i { background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .5) 0 10%, rgba(255, 255, 255, .06) 26%, var(--bubble-fill) 60%); }
@keyframes gr-float { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(6px, -18px, 0); } }
@media (prefers-reduced-motion: reduce) { .gr-bubbles i { animation: none; } }
.gr-sticker { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px 10px 12px; border-radius: 999px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); font: 700 15px/1.2 "Figtree", sans-serif; white-space: nowrap; }
.gr-sticker .gr-icon { width: 20px; height: 20px; color: var(--brand); }
.gr-sticker--0 { top: 6%; right: -3%; transform: rotate(3deg); }
.gr-sticker--1 { top: 46%; left: -9%; transform: rotate(-4deg); }
.gr-sticker--2 { bottom: 4%; right: 6%; transform: rotate(-2deg); }

/* ---------- Photo frames ---------- */
.gr-frame { position: relative; margin: 0; overflow: hidden; background: var(--tint); }
.gr-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gr-frame--ph { display: grid; place-items: center; }
.gr-ph--0 { background: radial-gradient(circle at 20% 20%, var(--ph-c) 0 18%, transparent 19%), linear-gradient(135deg, var(--ph-a), var(--ph-b)); }
.gr-ph--1 { background: radial-gradient(circle at 80% 25%, var(--ph-b) 0 16%, transparent 17%), linear-gradient(160deg, var(--ph-c), var(--ph-a)); }
.gr-ph--2 { background: radial-gradient(circle at 70% 80%, var(--ph-a) 0 20%, transparent 21%), linear-gradient(120deg, var(--ph-b), var(--ph-c)); }
.gr-ph--3 { background: radial-gradient(circle at 25% 75%, var(--ph-b) 0 16%, transparent 17%), linear-gradient(200deg, var(--ph-a), var(--ph-c)); }
.gr-frame__dog { position: relative; z-index: 1; width: 26%; max-width: 110px; height: auto; color: var(--ink); opacity: .28; stroke-width: 1.3; }
.gr-frame__bubbles i { border-width: 1.5px; opacity: .8; }

/* ---------- Sections ---------- */
.gr-section { position: relative; padding: clamp(64px, 7vw, 116px) 0; overflow-x: clip; }
.gr-section--tint { background: var(--tint); }
.gr-section--flush { padding-top: 0; }
.gr-head { position: relative; margin-bottom: clamp(32px, 4vw, 52px); }
.gr-head .gr-lead { margin-top: 16px; }
.gr-head--center { text-align: center; }
.gr-head--center .gr-lead { margin-inline: auto; }
.gr-head--split { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 40px; }
.gr-head--split > div:first-child { max-width: 640px; }

.gr-h1 + .gr-lead, .gr-h2 + .gr-lead, .gr-h2 + .gr-body { margin-top: 16px; }

/* Reveals (only with JavaScript, never with reduced motion) */
html.js .gr-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
html.js .gr-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.js .gr-reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- Hero ---------- */
.gr-hero { position: relative; padding: clamp(36px, 5vw, 80px) 0 clamp(64px, 7vw, 110px); overflow: hidden; }
.gr-hero__bubbles i:nth-child(1) { top: 62%; left: -50px; }
.gr-hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(40px, 5vw, 80px); }
.gr-hero__title { font-size: clamp(2.7rem, 4.6vw + 1rem, 5.2rem); line-height: 1.02; margin-bottom: 22px; }
.gr-hero__text { font-size: clamp(1.1rem, .45vw + 1rem, 1.3rem); }
.gr-hero__rating { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; color: var(--ink-2); font-size: 15.5px; }
.gr-stars { display: inline-flex; gap: 2px; color: var(--sun); }
.gr-hero .gr-zip { margin-top: 28px; }
.gr-hero__art { position: relative; aspect-ratio: 1 / 1.04; }
.gr-hero__img { position: absolute; inset: 0; border-radius: 46% 54% 50% 50% / 52% 44% 56% 48%; box-shadow: var(--shadow); }
.gr-hero__detail { position: absolute; z-index: 2; left: -5%; bottom: -3%; width: 33%; aspect-ratio: 1; border-radius: 50%; border: 8px solid var(--bg); box-shadow: var(--shadow-sm); }
@media (max-width: 960px) {
  .gr-hero__bubbles i:nth-child(2), .gr-hero__bubbles i:nth-child(4) { display: none; }
  .gr-hero__in { grid-template-columns: minmax(0, 1fr); }
  .gr-hero__art { width: min(520px, 92%); margin: 12px auto 0; }
  .gr-sticker--1 { left: -4%; }
  .gr-sticker--0 { right: 0; }
}
@media (max-width: 600px) {
  /* Phones: keep the bubbles at the edges, clear of the words. */
  .gr-bubbles i:nth-child(3), .gr-bubbles i:nth-child(4) { display: none; }
  .gr-bubbles i:nth-child(1) { width: 84px; height: 84px; left: -46px; }
  .gr-bubbles i:nth-child(5) { width: 110px; height: 110px; bottom: -64px; right: -48px; }
}
@media (max-width: 480px) {
  .gr-sticker { font-size: 13.5px; padding: 8px 12px 8px 10px; }
  .gr-sticker .gr-icon { width: 17px; height: 17px; }
  .gr-sticker--1 { top: 40%; left: -2%; }
}

/* ZIP checker */
.gr-zip { max-width: 480px; padding: 18px 20px; border-radius: 24px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.gr-zip__label { display: block; margin-bottom: 10px; font-weight: 700; font-size: 16px; }
.gr-zip__row { display: flex; gap: 10px; }
.gr-zip__input { flex: 1; min-width: 0; width: 100%; min-height: 50px; padding: 10px 18px; border: 2px solid var(--line-2); border-radius: 999px; background: var(--bg); color: var(--ink); font: 600 17px "Figtree", sans-serif; letter-spacing: .06em; }
.gr-zip__input:focus { border-color: var(--brand); outline: 3px solid color-mix(in srgb, var(--brand) 30%, transparent); outline-offset: 0; }
.gr-zip__result { margin: 12px 0 0; font-weight: 600; }
.gr-zip__result:empty { display: none; }
.gr-zip__result.is-yes { color: var(--ink); }
.gr-zip__result.is-yes::before { content: "✓ "; color: var(--brand); font-weight: 800; }
.gr-zip__result a { color: var(--ink); font-weight: 700; text-decoration-color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ---------- Trust strip ---------- */
.gr-trust { position: relative; z-index: 2; margin-top: -24px; }
.gr-trust__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 22px; border-radius: 32px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.gr-trust__item { display: flex; gap: 14px; align-items: flex-start; padding: 6px; font-size: 15px; color: var(--ink-2); line-height: 1.45; }
.gr-trust__item strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 16px; }
.gr-trust__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); flex: none; }
@media (max-width: 960px) { .gr-trust__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gr-trust__list { grid-template-columns: minmax(0, 1fr); padding: 16px; } }

/* ---------- Two ways ---------- */
.gr-ways__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gr-way { display: flex; flex-direction: column; padding: 18px 18px 30px; border-radius: 36px; background: var(--surface); border: 1px solid var(--line); }
.gr-way__art { display: grid; place-items: center; aspect-ratio: 16 / 10; margin-bottom: 26px; border-radius: 26px; background: var(--tint); overflow: hidden; }
.gr-way__art .gr-van { width: 86%; }
.gr-way__img { width: 100%; height: 100%; }
.gr-way > .gr-h3, .gr-way > p, .gr-way > .gr-ticks, .gr-way > .gr-link { margin-inline: 14px; }
.gr-way > .gr-h3 { font-size: 1.7rem; margin-bottom: 10px; }
.gr-way > p { color: var(--ink-2); }
.gr-way > .gr-link { margin-top: auto; align-self: flex-start; }
.gr-ticks { display: grid; gap: 10px; margin: 18px 0 24px; }
.gr-ticks li { display: flex; gap: 10px; align-items: flex-start; }
.gr-ticks .gr-icon { width: 22px; height: 22px; padding: 3px; margin-top: 1px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); stroke-width: 2.6; }
.gr-ticks--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 14px 0 0; font-size: 15.5px; color: var(--ink-2); }
.gr-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gr-split__art { display: grid; place-items: center; padding: clamp(16px, 3vw, 40px); border-radius: 40px; background: var(--tint); }
.gr-split--salon .gr-split__art { padding: 0; overflow: hidden; aspect-ratio: 5 / 4; }
.gr-split__img { width: 100%; height: 100%; }
@media (max-width: 860px) {
  .gr-ways__grid, .gr-split { grid-template-columns: minmax(0, 1fr); }
}

/* The van */
.gr-van { display: block; width: 100%; height: auto; overflow: visible; }
.gr-van--big { max-width: 620px; margin-inline: auto; }
.gr-van__shadow { fill: rgba(0, 0, 0, .12); }
.gr-van__body { fill: var(--van); }
.gr-van__glass { fill: var(--van-glass); }
.gr-van__stripe { fill: var(--van-stripe); }
.gr-van__line { stroke: rgba(0, 0, 0, .14); stroke-width: 3; fill: none; }
.gr-van__name { font-family: "Fredoka", "Figtree", sans-serif; font-weight: 600; fill: var(--van-ink); }
.gr-van__sub { font: 700 15px "Figtree", sans-serif; letter-spacing: .2em; fill: var(--van-ink); opacity: .72; }
.gr-van__wheel circle:first-child { fill: #1f2a36; }
.gr-van__hub { fill: #cfd8e3; }
.gr-van__light { fill: #ffe7a3; }
.gr-van__bubbles circle { fill: rgba(255, 255, 255, .7); stroke: var(--bubble-line); stroke-width: 3; animation: gr-rise 5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.gr-van__bubbles circle:nth-child(2n) { animation-duration: 6.5s; }
.gr-van__bubbles circle:nth-child(3n) { animation-duration: 4.2s; }
.gr-van__head { fill: #e7b27f; }
.gr-van__ear { fill: #a8703f; }
.gr-van__eye { fill: #1f2a36; }
.gr-van__nose { fill: #1f2a36; }
.gr-van__tongue { fill: #ff7f8e; }
@keyframes gr-rise { from { transform: translateY(0); } to { transform: translateY(-12px); } }
@media (prefers-reduced-motion: reduce) { .gr-van__bubbles circle { animation: none; } }

/* ---------- Size picker and prices ---------- */
.gr-sizes { min-width: 0; margin: 0; padding: 0; border: 0; }
.gr-sizes__legend { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 0; font-weight: 700; font-size: 16px; }
.gr-sizes__legend .gr-icon { width: 20px; height: 20px; color: var(--brand); }
.gr-sizes__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gr-size { position: relative; display: block; cursor: pointer; }
.gr-size input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.gr-size__box { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 2px; min-width: 88px; min-height: 104px; padding: 10px 8px 12px; border: 2px solid var(--line-2); border-radius: 22px; background: var(--surface); text-align: center; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.gr-size:hover .gr-size__box { border-color: var(--ink-3); }
.gr-size input:checked + .gr-size__box { border-color: var(--brand); background: var(--brand); color: var(--brand-ink); transform: translateY(-2px); }
.gr-size input:focus-visible + .gr-size__box { outline: 3px solid var(--brand); outline-offset: 3px; }
.gr-size__dog .gr-icon { display: block; stroke-width: 1.7; }
.gr-size--s .gr-size__dog .gr-icon { width: 20px; height: 20px; }
.gr-size--m .gr-size__dog .gr-icon { width: 27px; height: 27px; }
.gr-size--l .gr-size__dog .gr-icon { width: 34px; height: 34px; }
.gr-size--xl .gr-size__dog .gr-icon { width: 42px; height: 42px; }
.gr-size__name { font-weight: 700; font-size: 15.5px; }
.gr-size__range { font-size: 13px; color: var(--ink-3); line-height: 1.25; }
.gr-size input:checked + .gr-size__box .gr-size__range { color: inherit; }
.gr-sizes__eg { margin: 10px 0 0; font-size: 14.5px; color: var(--ink-3); }
.gr-list__bar .gr-sizes__eg { text-align: center; }
.gr-sizes__eg span, .gr-price__v[data-size-v] { display: none; }
html[data-size="s"] [data-size-v="s"], html[data-size="m"] [data-size-v="m"], html[data-size="l"] [data-size-v="l"], html[data-size="xl"] [data-size-v="xl"] { display: inline; }
html[data-size="s"] [data-size-row="s"], html[data-size="m"] [data-size-row="m"], html[data-size="l"] [data-size-row="l"], html[data-size="xl"] [data-size-row="xl"] { background: var(--brand-soft); font-weight: 700; }
.gr-price { font: 600 1.55rem/1.1 "Fredoka", sans-serif; color: var(--ink); }
.gr-price__from { font: 600 14px "Figtree", sans-serif; color: var(--ink-3); }
@media (max-width: 480px) {
  .gr-sizes__row { gap: 6px; }
  .gr-size__box { min-width: 0; min-height: 96px; padding: 8px 4px 10px; border-radius: 18px; }
  .gr-size__name { font-size: 14px; }
  .gr-size__range { font-size: 13px; }
}

/* ---------- Service cards ---------- */
.gr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 24px; }
.gr-cards--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.gr-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 30px; background: var(--surface); border: 1px solid var(--line); transition: transform .3s ease, box-shadow .3s ease; }
.gr-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.gr-card__media { position: relative; display: block; aspect-ratio: 16 / 11; }
.gr-card__img { position: absolute; inset: 0; }
.gr-card__icon { position: absolute; left: 18px; bottom: -22px; z-index: 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--brand); color: var(--brand-ink); border: 4px solid var(--surface); }
.gr-card__body { display: flex; flex-direction: column; flex: 1; padding: 34px 24px 24px; }
.gr-card__title { font-size: 1.5rem; margin-bottom: 6px; }
.gr-card__title a { text-decoration: none; }
.gr-card__title a:hover { text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 5px; }
.gr-card__short { color: var(--ink-2); font-size: 16px; }
.gr-card__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px dashed var(--line-2); }
.gr-card__time { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--ink-3); }
.gr-card__time .gr-icon { width: 18px; height: 18px; }

/* Add-ons */
.gr-addons { margin-top: 40px; padding: 28px; border-radius: 30px; background: var(--surface); border: 1px solid var(--line); }
.gr-addons .gr-h3 { margin-bottom: 16px; }
.gr-addons__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 32px; }
.gr-addons__list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--line-2); }
.gr-addons__list strong { font-weight: 700; }
@media (max-width: 860px) { .gr-addons__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gr-addons__list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Steps ---------- */
.gr-steps__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; counter-reset: step; }
.gr-step { position: relative; padding: 28px 24px; border-radius: 28px; background: var(--surface); border: 1px solid var(--line); }
.gr-step__n { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; border-radius: 50%; background: var(--brand-soft); color: var(--ink); font: 600 1.5rem "Fredoka", sans-serif; }
.gr-step .gr-h3 { margin-bottom: 8px; }
.gr-step p { color: var(--ink-2); font-size: 16px; }
.gr-step:not(:last-child)::after { content: ""; position: absolute; top: 55px; right: -18px; width: 16px; height: 2px; background: var(--line-2); }
@media (max-width: 960px) { .gr-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gr-step::after { display: none; } }
@media (max-width: 560px) { .gr-steps__list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Before & after ---------- */
.gr-baband__words .gr-lead { margin: 16px 0 26px; }
.gr-baband__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gr-ba { margin: 0; }
.gr-ba__stage { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 36px; box-shadow: var(--shadow); user-select: none; -webkit-user-select: none; touch-action: pan-y; }
.gr-ba__stage:has(.gr-ba__range:focus-visible) { outline: 3px solid var(--brand); outline-offset: 4px; }
.gr-ba__img { position: absolute; inset: 0; }
.gr-ba__clip { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0); }
.gr-ba__clip .gr-ba__img { position: absolute; inset: 0; }
.gr-ba__tag { position: absolute; top: 16px; z-index: 3; padding: 6px 14px; border-radius: 999px; background: rgba(23, 41, 58, .82); color: #ffffff; font-weight: 700; font-size: 14px; pointer-events: none; }
.gr-ba__tag--before { left: 16px; }
.gr-ba__tag--after { right: 16px; }
.gr-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); z-index: 3; width: 4px; margin-left: -2px; background: #ffffff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); pointer-events: none; }
.gr-ba__handle span { position: absolute; top: 50%; left: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: #ffffff; box-shadow: var(--shadow-sm); }
.gr-ba__handle span::before, .gr-ba__handle span::after { content: ""; position: absolute; top: 50%; width: 10px; height: 10px; margin-top: -5px; border: solid #17293a; border-width: 0 0 3px 3px; }
.gr-ba__handle span::before { left: 12px; transform: rotate(45deg); }
.gr-ba__handle span::after { right: 12px; transform: rotate(-135deg); }
.gr-ba__range { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.gr-ba__cap { margin-top: 14px; color: var(--ink-3); font-size: 15px; text-align: center; }
.gr-bas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
@media (max-width: 860px) { .gr-baband__in, .gr-bas { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Meet the groomer ---------- */
.gr-intro__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 6vw, 88px); align-items: center; }
.gr-intro__art { position: relative; }
.gr-intro__img { aspect-ratio: 4 / 5; border-radius: 200px 200px 36px 36px; box-shadow: var(--shadow); }
.gr-intro__bubbles { inset: -30px; overflow: visible; }
.gr-intro__quote { position: relative; margin: 24px 0; padding: 22px 26px; border-radius: 26px; background: var(--brand-soft); }
.gr-intro__quote p { font: 500 1.3rem/1.35 "Fredoka", sans-serif; color: var(--ink); }
.gr-intro__quote footer { margin-top: 10px; font-weight: 700; font-size: 15px; color: var(--ink-2); }
.gr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.gr-chips li { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-weight: 600; font-size: 15px; }
.gr-chips .gr-icon { width: 18px; height: 18px; color: var(--brand); }
.gr-chips--soft li { background: var(--bg); }
.gr-chips--big li { padding: 12px 18px; font-size: 16px; }
@media (max-width: 860px) { .gr-intro__in { grid-template-columns: minmax(0, 1fr); } .gr-intro__art { width: min(420px, 88%); margin-inline: auto; } }

/* ---------- Reviews ---------- */
.gr-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; font-size: 15.5px; color: var(--ink-2); }
.gr-rating strong { font: 600 2.6rem/1 "Fredoka", sans-serif; color: var(--ink); }
.gr-reviews__grid { columns: 3 300px; column-gap: 22px; }
.gr-review { display: inline-block; width: 100%; margin: 0 0 22px; padding: 26px; border-radius: 28px; background: var(--surface); border: 1px solid var(--line); break-inside: avoid; }
.gr-review--1 { background: var(--brand-soft); border-color: transparent; }
.gr-review__quote { margin: 12px 0 18px; }
.gr-review__quote p { font-size: 17px; line-height: 1.55; }
.gr-review__who { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 15px; }
.gr-review__who strong { display: block; font-size: 16px; }
.gr-review__who span span { color: var(--ink-3); }
.gr-review__paw { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--brand); color: var(--brand-ink); flex: none; }
.gr-review__paw .gr-icon { width: 20px; height: 20px; }

/* ---------- Panels, hours, find us ---------- */
.gr-panel { position: relative; padding: clamp(22px, 3vw, 32px); border-radius: 30px; background: var(--surface); border: 1px solid var(--line); }
.gr-panel .gr-h3 { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.gr-panel .gr-h3 .gr-icon { color: var(--brand); }
.gr-panel > * + .gr-h3 { margin-top: 24px; }
.gr-panel--brand { background: var(--dark); color: var(--dark-ink); border-color: transparent; }
.gr-panel--brand p { color: var(--dark-ink-2); }
.gr-panel--brand .gr-h3 { color: var(--dark-ink); }
.gr-panel__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: var(--dark-ink); }
.gr-panel__note { display: flex; gap: 10px; margin-top: 16px; font-size: 15px; }
.gr-panel__note .gr-icon { width: 20px; height: 20px; }
.gr-find__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gr-find__grid--salon { grid-template-columns: minmax(0, 640px); justify-content: center; }
.gr-addr { margin: 0 0 16px; font-style: normal; font-weight: 600; line-height: 1.5; }
.gr-addr--big { font-size: 1.15rem; }
.gr-hours { display: grid; gap: 6px; margin: 0 0 16px; }
.gr-hours div { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 6px; border-bottom: 1px dotted var(--line-2); }
.gr-hours dt { font-weight: 600; }
.gr-hours dd { margin: 0; color: var(--ink-2); text-align: right; }
@media (max-width: 860px) { .gr-find__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- The 6-Week Club ---------- */
.gr-club__card { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 4vw, 64px); align-items: center; overflow: hidden; padding: clamp(32px, 5vw, 64px); border-radius: 44px; background: var(--dark); color: var(--dark-ink); }
.gr-club__card > :not(.gr-bubbles) { position: relative; z-index: 1; }
.gr-club__card .gr-label { background: rgba(255, 255, 255, .12); color: var(--dark-ink); }
.gr-club__card .gr-label .gr-icon { color: var(--dark-ink); }
.gr-club__card .gr-body { color: var(--dark-ink-2); margin: 16px 0 26px; }
.gr-club__card h2 em { background: none; color: #ffd66b; }
.gr-club__perks { display: grid; gap: 12px; }
.gr-club__perks li { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 20px; background: rgba(255, 255, 255, .08); font-weight: 600; }
.gr-club__perks .gr-icon { color: var(--pop); }
.gr-club__bubbles i { border-color: rgba(255, 255, 255, .25); background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .35) 0 10%, rgba(255, 255, 255, .04) 30%, transparent 62%); }
@media (max-width: 860px) { .gr-club__card { grid-template-columns: minmax(0, 1fr); border-radius: 32px; } }

/* ---------- Fresh cuts and the gallery ---------- */
.gr-fresh__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gr-fresh__img { aspect-ratio: 1 / 1; border-radius: 28px; }
.gr-fresh__cap, .gr-gallery__cap { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; margin: 10px 4px 0; font-size: 15px; color: var(--ink-3); }
.gr-fresh__cap strong, .gr-gallery__cap strong { font: 600 1.1rem "Fredoka", sans-serif; color: var(--ink); }
@media (max-width: 760px) { .gr-fresh__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .gr-fresh__img { border-radius: 22px; } }
.gr-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.gr-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 2px solid var(--line-2); font-weight: 700; font-size: 15px; text-decoration: none; }
.gr-filters a:hover { border-color: var(--ink-3); }
.gr-filters a[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--bg); }
/* A masonry of photos: tall ones (items 2 and 4 of every 5) sit between square ones. */
.gr-gallery { columns: 3 260px; column-gap: 22px; }
.gr-gallery__item { display: inline-block; width: 100%; margin: 0 0 22px; break-inside: avoid; }
.gr-gallery__item[hidden] { display: none; }
.gr-gallery__img { aspect-ratio: 1 / 1; border-radius: 28px; }
.gr-gallery__item--1 .gr-gallery__img, .gr-gallery__item--3 .gr-gallery__img { aspect-ratio: 4 / 5; }
@media (max-width: 860px) { .gr-gallery { columns: 2; column-gap: 14px; } .gr-gallery__item { margin-bottom: 14px; } }

/* ---------- Questions ---------- */
.gr-faq__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.gr-faq__head .gr-body { margin-top: 16px; }
.gr-faq__head a { font-weight: 700; color: var(--ink); text-decoration-color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gr-faq__list { display: grid; gap: 12px; }
.gr-qa { border-radius: 24px; background: var(--surface); border: 1px solid var(--line); }
.gr-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; cursor: pointer; list-style: none; font: 600 1.15rem/1.3 "Fredoka", sans-serif; }
.gr-qa summary::-webkit-details-marker { display: none; }
.gr-qa__icon { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--brand-soft); }
.gr-qa__icon::before, .gr-qa__icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2.5px; margin: -1.25px 0 0 -7px; border-radius: 2px; background: var(--ink); transition: transform .25s ease; }
.gr-qa__icon::after { transform: rotate(90deg); }
.gr-qa[open] .gr-qa__icon::after { transform: rotate(0); }
.gr-qa__a { padding: 0 24px 22px; color: var(--ink-2); }
@media (max-width: 860px) { .gr-faq__in { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Closing invitation ---------- */
.gr-cta { padding: 0 0 clamp(56px, 6vw, 96px); }
.gr-cta__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 4vw, 64px); align-items: center; overflow: hidden; padding: clamp(32px, 5vw, 64px); border-radius: 44px; background: var(--dark); color: var(--dark-ink); }
.gr-cta .gr-lead { color: var(--dark-ink-2); margin-top: 14px; }
.gr-cta h2 em { background: none; color: #ffd66b; }
.gr-cta__art { position: relative; justify-self: center; width: min(320px, 100%); }
.gr-cta__img { aspect-ratio: 1; border-radius: 50%; border: 8px solid rgba(255, 255, 255, .12); }
.gr-cta__bubbles { inset: -40px; overflow: visible; }
.gr-cta__bubbles i { border-color: rgba(255, 255, 255, .3); background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .4) 0 10%, rgba(255, 255, 255, .05) 30%, transparent 62%); }
@media (max-width: 760px) { .gr-cta__in { grid-template-columns: minmax(0, 1fr); border-radius: 32px; } .gr-cta__art { width: min(220px, 70%); } }

/* ---------- Footer ---------- */
.gr-footer { padding: clamp(48px, 5vw, 72px) 0 28px; border-top: 1px solid var(--line); font-size: 15.5px; }
.gr-footer__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 36px; }
.gr-footer__text { margin: 16px 0; color: var(--ink-2); max-width: 36ch; }
.gr-footer__rating { display: flex; align-items: center; gap: 8px; color: var(--ink-2); font-weight: 600; }
.gr-footer__h { margin-bottom: 14px; font-size: 1.1rem; }
.gr-footer__addr { font-style: normal; margin-bottom: 12px; line-height: 1.5; color: var(--ink-2); }
.gr-footer__small { color: var(--ink-2); }
.gr-hours--footer { font-size: 14.5px; }
.gr-footer__list { display: grid; gap: 8px; }
.gr-footer__list a, .gr-footer__link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--ink-2); font-weight: 600; }
.gr-footer__list a:hover, .gr-footer__link:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 4px; }
.gr-footer__list--icons .gr-icon, .gr-footer__link .gr-icon { width: 19px; height: 19px; color: var(--brand); }
.gr-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: 14.5px; }
.gr-footer__bottom a { color: var(--ink-2); font-weight: 600; }
@media (max-width: 960px) { .gr-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gr-footer__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Inner pages ---------- */
.gr-pagehead { position: relative; overflow: hidden; padding: clamp(48px, 6vw, 96px) 0 clamp(40px, 5vw, 72px); text-align: center; }
.gr-pagehead__in { position: relative; z-index: 1; }
.gr-pagehead .gr-h1 { max-width: 16ch; margin-inline: auto; }
.gr-pagehead .gr-lead { margin: 18px auto 0; }
.gr-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; font-size: 15px; color: var(--ink-3); }
.gr-crumbs li + li::before { content: "/"; margin-right: 6px; }
.gr-crumbs a { font-weight: 700; color: var(--ink-2); }
.gr-note { display: flex; gap: 12px; align-items: flex-start; margin: 28px 0 0; padding: 16px 20px; border-radius: 22px; background: var(--brand-soft); color: var(--ink); font-size: 15.5px; }
.gr-note .gr-icon { color: var(--brand); margin-top: 1px; }
.gr-hidden-note { display: flex; justify-content: center; gap: 10px; margin: 0; padding: 12px 20px; background: #fdf3e2; color: #6f3f05; font-weight: 600; font-size: 15px; text-align: center; }

/* Services list */
.gr-list__bar { position: sticky; top: calc(var(--demo-h, 0px) + var(--hdr-h, 78px)); z-index: 5; display: flex; justify-content: center; margin-bottom: 28px; padding: 14px 0; background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.gr-rows { display: grid; gap: 20px; }
.gr-row { display: grid; grid-template-columns: 240px minmax(0, 1fr) 220px; gap: 28px; align-items: center; padding: 18px; border-radius: 34px; background: var(--surface); border: 1px solid var(--line); }
.gr-row__media { display: block; }
.gr-row__img { aspect-ratio: 1 / 1; border-radius: 24px; }
.gr-row__title { font-size: 1.7rem; margin-bottom: 8px; }
.gr-row__title a { text-decoration: none; }
.gr-row__title a:hover { text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 5px; }
.gr-row__text { color: var(--ink-2); }
.gr-row__side { display: grid; gap: 10px; justify-items: start; padding-left: 24px; border-left: 1px dashed var(--line-2); }
.gr-row__price { margin: 0; }
.gr-row__price .gr-price { font-size: 2rem; }
.gr-row__time { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--ink-3); font-weight: 600; font-size: 15px; }
.gr-row__time .gr-icon { width: 18px; height: 18px; }
@media (max-width: 1000px) { .gr-row { grid-template-columns: 180px minmax(0, 1fr); } .gr-row__side { grid-column: 1 / -1; grid-template-columns: repeat(2, auto); align-items: center; justify-content: start; gap: 12px 20px; padding: 16px 0 0; border-left: 0; border-top: 1px dashed var(--line-2); } }
@media (max-width: 640px) { .gr-row { grid-template-columns: minmax(0, 1fr); padding: 14px; border-radius: 28px; } .gr-row__img { aspect-ratio: 16 / 10; } .gr-ticks--cols { grid-template-columns: minmax(0, 1fr); } .gr-list__bar { position: static; } }
.gr-extras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gr-extra { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 20px 22px; border-radius: 24px; background: var(--surface); border: 1px solid var(--line); }
.gr-extra__name { font: 600 1.15rem "Fredoka", sans-serif; }
.gr-extra__text { grid-column: 1; color: var(--ink-2); font-size: 15px; }
.gr-extra__price { grid-row: 1 / span 2; grid-column: 2; align-self: center; font: 600 1.35rem "Fredoka", sans-serif; }
@media (max-width: 860px) { .gr-extras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gr-extras { grid-template-columns: minmax(0, 1fr); } }

/* One service */
.gr-svchero { position: relative; overflow: hidden; padding: clamp(32px, 4vw, 64px) 0 clamp(48px, 6vw, 88px); }
.gr-svchero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gr-svchero .gr-lead { margin: 18px 0 26px; }
.gr-svchero__img { aspect-ratio: 1 / 1; border-radius: 48% 52% 44% 56% / 50% 46% 54% 50%; box-shadow: var(--shadow); }
.gr-pricebox { display: grid; gap: 18px; max-width: 520px; padding: 22px; border-radius: 30px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.gr-pricebox__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.gr-pricebox__price { margin: 0; }
.gr-pricebox__price .gr-price { font-size: 2.3rem; }
.gr-pricebox__time { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 700; color: var(--ink-2); }
.gr-svcabout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.gr-svcabout .gr-h2 { margin-bottom: 20px; }
.gr-svcabout__side { display: grid; gap: 20px; }
.gr-goodfor { display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; padding: 18px 20px; border-radius: 22px; background: var(--brand-soft); }
.gr-goodfor .gr-icon { color: var(--brand); width: 26px; height: 26px; }
.gr-ptable { width: 100%; border-collapse: collapse; font-size: 16px; }
.gr-ptable caption { margin-bottom: 12px; font: 600 1.32rem "Fredoka", sans-serif; text-align: left; }
.gr-ptable th, .gr-ptable td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.gr-ptable thead th { font-size: 14px; color: var(--ink-3); font-weight: 700; }
.gr-ptable tbody th { font-weight: 600; }
.gr-ptable .gr-num { text-align: right; font-weight: 700; }
.gr-ptable + .gr-small { margin-top: 14px; }
@media (max-width: 860px) { .gr-svchero__in, .gr-svcabout { grid-template-columns: minmax(0, 1fr); } .gr-svchero__art { width: min(460px, 90%); margin-inline: auto; order: -1; } }

/* Mobile page */
.gr-vanhero, .gr-split-hero { position: relative; overflow: hidden; padding: clamp(40px, 5vw, 80px) 0 clamp(56px, 6vw, 96px); }
.gr-vanhero__in, .gr-split-hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gr-vanhero .gr-lead, .gr-split-hero .gr-lead { margin-top: 18px; }
.gr-vanhero__name { margin: 12px 0 0; text-align: center; font-weight: 600; color: var(--ink-2); }
.gr-vanhero__name strong { font-family: "Fredoka", sans-serif; font-size: 1.2rem; color: var(--ink); }
.gr-split-hero__img { aspect-ratio: 5 / 4; border-radius: 40px; box-shadow: var(--shadow); }
.gr-feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gr-feats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gr-feat { padding: 26px 24px; border-radius: 28px; background: var(--surface); border: 1px solid var(--line); }
.gr-feat__icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 16px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); }
.gr-feat .gr-h3 { margin-bottom: 8px; }
.gr-feat p { color: var(--ink-2); font-size: 16px; }
.gr-pair { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 20px; margin-top: 36px; }
.gr-pair__a { aspect-ratio: 16 / 10; border-radius: 32px; }
.gr-pair__b { border-radius: 32px; min-height: 100%; }
.gr-area { scroll-margin-top: calc(var(--demo-h, 0px) + var(--hdr-h, 78px)); }
.gr-area:focus { outline: none; }
.gr-area__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.gr-area .gr-zip { margin: 26px 0 22px; }
.gr-zips { margin-top: 18px; }
.gr-zips summary { cursor: pointer; font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gr-zips p { margin-top: 10px; color: var(--ink-2); font-size: 15px; line-height: 1.7; }
.gr-visit__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.gr-visit:focus { outline: none; }
.gr-visit__card .gr-h2 { margin-bottom: 18px; }
.gr-visit__card .gr-btn { margin-bottom: 26px; }
.gr-visit__img { border-radius: 32px; min-height: 360px; }
@media (max-width: 1000px) { .gr-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .gr-vanhero__in, .gr-split-hero__in, .gr-area__in, .gr-visit__in, .gr-pair { grid-template-columns: minmax(0, 1fr); } .gr-feats--3 { grid-template-columns: minmax(0, 1fr); } .gr-pair__b { aspect-ratio: 4 / 5; min-height: 0; } }
@media (max-width: 560px) { .gr-feats { grid-template-columns: minmax(0, 1fr); } }

/* About */
.gr-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.gr-story__words .gr-body { font-size: 18px; }
.gr-story__art { position: relative; }
.gr-story__img { aspect-ratio: 5 / 4; border-radius: 36px; box-shadow: var(--shadow); }
.gr-story__bubbles { inset: -30px; overflow: visible; }
.gr-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.gr-member { padding: 30px 26px; border-radius: 32px; background: var(--surface); border: 1px solid var(--line); text-align: center; }
.gr-member__img { width: 164px; height: 164px; margin: 0 auto 18px; border-radius: 50%; border: 6px solid var(--brand-soft); }
.gr-member__role { margin: 6px 0 12px; font-weight: 700; color: var(--brand); }
html[data-look="blueberry"] .gr-member__role { color: var(--brand); }
.gr-member p:not(.gr-member__role) { color: var(--ink-2); font-size: 16px; }
.gr-member__fun { display: inline-flex; gap: 8px; align-items: flex-start; margin-top: 8px; padding: 10px 14px; border-radius: 18px; background: var(--bg); font-size: 15px; text-align: left; }
.gr-member__fun .gr-icon { width: 18px; height: 18px; color: var(--brand); margin-top: 2px; }
.gr-creds__in { text-align: center; }
.gr-creds__in .gr-h2 { margin-bottom: 24px; }
.gr-creds .gr-chips { justify-content: center; margin: 0; }
@media (max-width: 960px) { .gr-team { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin-inline: auto; } .gr-story { grid-template-columns: minmax(0, 1fr); } }

/* Policies */
.gr-policies { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.gr-policies__nav { position: sticky; top: calc(var(--demo-h, 0px) + var(--hdr-h, 78px) + 20px); padding: 20px; border-radius: 26px; background: var(--surface); border: 1px solid var(--line); }
.gr-policies__nav ul { display: grid; gap: 2px; }
.gr-policies__nav a { display: block; padding: 8px 12px; border-radius: 14px; font-weight: 600; font-size: 15.5px; text-decoration: none; }
.gr-policies__nav a:hover { background: var(--brand-soft); }
.gr-policies__list { display: grid; gap: 18px; }
.gr-policy { padding: 28px 30px; border-radius: 28px; background: var(--surface); border: 1px solid var(--line); scroll-margin-top: calc(var(--demo-h, 0px) + var(--hdr-h, 78px) + 20px); }
.gr-policy:focus { outline: none; }
.gr-policy .gr-h3 { margin-bottom: 12px; }
.gr-policy p { color: var(--ink-2); }
@media (max-width: 860px) { .gr-policies { grid-template-columns: minmax(0, 1fr); } .gr-policies__nav { position: static; } .gr-policies__nav ul { display: flex; flex-wrap: wrap; gap: 6px; } .gr-policies__nav a { border: 1px solid var(--line); } }

/* Book */
.gr-book { position: relative; overflow: hidden; padding: clamp(40px, 5vw, 80px) 0 clamp(64px, 7vw, 110px); }
.gr-book > .gr-wrap { position: relative; z-index: 1; }
.gr-book__head { max-width: 720px; margin-bottom: 36px; }
.gr-book__head .gr-lead { margin-top: 16px; }
/* In the page: online booking, the request, where to find us. Wide screens put the request on the right. */
.gr-book__grid { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 20px 28px; align-items: start; }
.gr-book__online, .gr-book__where { grid-column: 1; }
.gr-form { grid-column: 2; grid-row: 1 / span 2; }
.gr-book__where { display: grid; gap: 20px; }
.gr-book__where .gr-zip { padding: 0; border: 0; box-shadow: none; background: transparent; }
.gr-book__contact { display: grid; gap: 10px; margin: 0; }
.gr-book__contact a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; }
.gr-book__contact .gr-icon { color: var(--brand); }
@media (max-width: 960px) { .gr-book__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; } .gr-book__online, .gr-book__where, .gr-form { grid-column: 1; grid-row: auto; } }

/* The request form */
.gr-form { padding: clamp(24px, 3.5vw, 40px); }
.gr-form__intro { margin-bottom: 26px; }
.gr-form__intro p { color: var(--ink-2); }
.gr-form__key { font-size: 14.5px; color: var(--ink-3); }
.gr-form__key span { color: var(--bad); }
.gr-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.gr-fieldset { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: 26px; min-width: 0; }
.gr-fieldset > legend { padding: 0 8px; font: 600 1.15rem "Fredoka", sans-serif; }
.gr-field { grid-column: 1 / -1; display: grid; gap: 7px; min-width: 0; }
.gr-field--half { grid-column: span 1; }
.gr-field-group { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr); gap: 18px; }
.gr-field-group[hidden] { display: none; }
.gr-field-group > .gr-field { grid-column: auto; }
.gr-field > label, .gr-choices > legend { font-weight: 700; font-size: 15.5px; }
.gr-field input, .gr-field select, .gr-field textarea { width: 100%; min-height: 52px; padding: 12px 16px; border: 2px solid var(--line-2); border-radius: 16px; background: var(--bg); color: var(--ink); font: 500 16px/1.4 "Figtree", sans-serif; }
.gr-field textarea { min-height: 96px; resize: vertical; }
.gr-field select { appearance: none; -webkit-appearance: none; padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.gr-field input:focus, .gr-field select:focus, .gr-field textarea:focus { border-color: var(--brand); outline: 3px solid color-mix(in srgb, var(--brand) 28%, transparent); outline-offset: 0; }
.gr-field ::placeholder { color: var(--ink-3); opacity: 1; }
.gr-field.is-invalid input, .gr-field.is-invalid select, .gr-field.is-invalid textarea { border-color: var(--bad); }
.gr-field__error { margin: 0; color: var(--bad); font-weight: 600; font-size: 15px; }
.gr-field__hint { margin: 0; color: var(--ink-2); font-size: 15px; }
.gr-choices { margin: 0; padding: 0; border: 0; min-width: 0; }
.gr-choices > legend { margin-bottom: 10px; padding: 0; }
.gr-choices__row { display: flex; flex-wrap: wrap; gap: 8px; }
.gr-choice { position: relative; display: inline-flex; }
.gr-choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.gr-choice > span { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 16px; border: 2px solid var(--line-2); border-radius: 999px; background: var(--bg); font-weight: 600; font-size: 15.5px; line-height: 1.3; transition: border-color .2s ease, background .2s ease; }
.gr-choice > span .gr-icon { width: 20px; height: 20px; color: var(--brand); }
.gr-choice > span small { color: var(--ink-3); font-size: 14px; font-weight: 600; }
.gr-choice input:checked + span { border-color: var(--brand); background: var(--brand-soft); }
.gr-choice input:focus-visible + span { outline: 3px solid var(--brand); outline-offset: 3px; }
.gr-choice:hover > span { border-color: var(--ink-3); }
.gr-check { grid-column: 1 / -1; display: flex; gap: 12px; align-items: flex-start; font-weight: 600; font-size: 15.5px; cursor: pointer; }
.gr-check input { width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--brand); }
.gr-check small { display: block; color: var(--ink-3); font-weight: 500; font-size: 14.5px; }
.gr-form button[type="submit"] { grid-column: 1 / -1; margin-top: 4px; }
.gr-form__fine { grid-column: 1 / -1; margin: 0; font-size: 14.5px; color: var(--ink-3); text-align: center; }
.gr-form__done { display: none; padding: 20px 0; text-align: center; }
.gr-form__done:focus { outline: none; }
.gr-form__done-icon { display: inline-grid; place-items: center; width: 72px; height: 72px; margin-bottom: 18px; border-radius: 50%; background: var(--brand); color: var(--brand-ink); }
.gr-form__done-icon .gr-icon { width: 36px; height: 36px; }
.gr-form__done .gr-h2 { margin-bottom: 14px; }
.gr-form__done p { max-width: 46ch; margin-inline: auto; color: var(--ink-2); }
.gr-form.is-sent .gr-form__intro, .gr-form.is-sent .gr-form__fields { display: none; }
.gr-form.is-sent .gr-form__done { display: block; }
@media (max-width: 640px) {
  .gr-form__fields, .gr-fieldset { grid-template-columns: minmax(0, 1fr); }
  .gr-field--half { grid-column: 1 / -1; }
  .gr-field-group { grid-template-columns: minmax(0, 1fr); }
  .gr-fieldset { padding: 16px; }
}

/* Demo notes (buttons that explain what they do on a real site) */
.gr-demo-wrap { position: relative; display: inline-grid; gap: 10px; justify-items: center; max-width: 100%; }
.gr-demo-wrap:has(.gr-btn--block) { display: grid; width: 100%; justify-items: stretch; }
.gr-demo-note { display: none; max-width: 40ch; padding: 12px 16px; border-radius: 18px; background: var(--brand-soft); color: var(--ink); font-size: 15px; text-align: left; }
.gr-demo-note.is-open { display: block; }
.gr-panel--brand .gr-demo-note { background: rgba(255, 255, 255, .12); color: var(--dark-ink); }

/* 404 */
.gr-lost { overflow: hidden; text-align: center; }
.gr-lost__in { position: relative; z-index: 1; max-width: 640px; }
.gr-lost__icon { display: inline-grid; place-items: center; width: 96px; height: 96px; margin-bottom: 22px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); }
.gr-lost__icon .gr-icon { width: 48px; height: 48px; }
.gr-lost .gr-lead { margin: 18px auto 0; }

/* Mode: salon-only groomers have no ZIP checker, mobile-only groomers no salon card */
html[data-mode="salon"] .gr-hero .gr-zip { display: none; }
