/* Ceramic palette: warm neutrals and varied accents; brand colours retain action/state meaning. */
:root {
  --bg: #eeeae4;
  --muted: #495365;
  --surface-sand: #e9ddca; --edge-sand: #b7a58d; --line-sand: #c4b49e;
  --surface-lavender: #dbd2ed; --edge-lavender: #a398ba; --line-lavender: #b2a6c7;
  --surface-peach: #edcdb9; --edge-peach: #bb947b; --line-peach: #cca88f;
  --surface-teal: #c3deda; --edge-teal: #83aaa5; --line-teal: #9bbfb9;
  --surface-honey: #e8d7a7; --edge-honey: #b7a26f; --line-honey: #c6b47e;
  --surface-slate: #d0d6df; --edge-slate: #969faf; --line-slate: #aab2c0;
  --surface-blue: #cbdafe; --surface-green: #c6e7d7; --surface-red: #f6ccd4;
  --surface-face: var(--surface-sand); --surface-edge: var(--edge-sand); --surface-line: var(--line-sand);
  --surface-glint: #fff7e955; --surface-shade: #4e403426;
  --clay: 0 7px 0 var(--surface-edge), 0 22px 28px -22px #292a3c70,
    inset 0 2px 3px var(--surface-glint), inset 0 -5px 7px var(--surface-shade);
  --clay-lift: var(--clay);
  --ceramic-weave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='104' viewBox='0 0 104 104'%3E%3Cg fill='none' stroke='%233e3549' stroke-opacity='.06' stroke-width='1.5'%3E%3Cpath d='M-26 26a26 26 0 0 1 52 0v52a26 26 0 0 0 52 0V26a26 26 0 0 1 52 0M-26 14a38 38 0 0 1 76 0v64a14 14 0 0 0 28 0V14a38 38 0 0 1 76 0'/%3E%3C/g%3E%3C/svg%3E");
}
body { background: var(--bg); }
.header { background: #e9e4dcf5; border-color: #c4b9a9; box-shadow: 0 4px 0 #b3a797, 0 18px 30px -24px #292a3c80, inset 0 2px 2px #fff7e955; }
.mobile-nav { background: #e9e4dcf5; border-color: #c4b9a9; }
.mobile-nav a { color: var(--muted); }
/* Resolve the shadow on each card so its extrusion follows its local material. */
:is(.clay, .metric, .quick, .booking-row, .provider, .table-wrap, .select-card, .profile-cover, .plan, .health article, .story-card, .journey-step, dialog, .info-card, .premium-hero) {
  --clay: 0 7px 0 var(--surface-edge), 0 22px 28px -22px #292a3c70,
    inset 0 2px 3px var(--surface-glint), inset 0 -5px 7px var(--surface-shade);
  --clay-lift: var(--clay);
}
/* Ordinary panels are sand. Decorative collections use six ceramic materials. */
:is(.clay, .metric, .quick, .booking-row, .provider, .table-wrap, .select-card, .profile-cover, .plan, .health article, .story-card, .journey-step, dialog) {
  background-color: var(--surface-face); background-image: none;
  border-color: var(--surface-line); box-shadow: var(--clay);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 1) {
  --surface-face: var(--surface-lavender); --surface-edge: var(--edge-lavender); --surface-line: var(--line-lavender);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 2) {
  --surface-face: var(--surface-peach); --surface-edge: var(--edge-peach); --surface-line: var(--line-peach);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 3) {
  --surface-face: var(--surface-teal); --surface-edge: var(--edge-teal); --surface-line: var(--line-teal);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 4) {
  --surface-face: var(--surface-honey); --surface-edge: var(--edge-honey); --surface-line: var(--line-honey);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 5) {
  --surface-face: var(--surface-slate); --surface-edge: var(--edge-slate); --surface-line: var(--line-slate);
}
:is(.metric, .quick, .provider, .plan, .story-card, .journey-step, .health article):nth-child(6n + 6) {
  --surface-face: var(--surface-sand); --surface-edge: var(--edge-sand); --surface-line: var(--line-sand);
}
.grid2 > .clay:nth-child(even), .stack > .clay:nth-child(even) { --surface-face: var(--surface-slate); --surface-edge: var(--edge-slate); --surface-line: var(--line-slate); }
.quick:nth-child(n) { background-color: var(--surface-face); border-color: var(--surface-line); background-image: var(--ceramic-weave) !important; }
:is(.metric, .plan, .story-card, .profile-cover, .health article) { background-image: var(--ceramic-weave); background-size: 112px; }
.metric:after { background: var(--surface-edge); opacity: .35; box-shadow: inset 2px 2px 5px var(--surface-shade); }
.metric .top, .metric .hint, .quick-text small, .quick-arrow, .booking-row .meta, .provider-body p { color: var(--muted); }
.provider { border-bottom: 1px solid var(--surface-line); }
.provider-foot, .booking-row .actions, .summary-row { border-color: #74727d55; }
.provider-body .pill { background: #e2e9f7; color: #244775; }
.metric-symbol { background: #b6cdf9; border-color: #8aa8df; box-shadow: 0 3px 0 #7f9fd9, inset 0 2px 2px #d9e6ff80; }
.metric-symbol.check { background: #a7d8bf; border-color: #78b295; box-shadow: 0 3px 0 #6da58a, inset 0 2px 2px #d6efdf80; }
.metric-symbol.heart { background: #eeb1bf; border-color: #ce8293; box-shadow: 0 3px 0 #bd7183, inset 0 2px 2px #ffdde480; }
.table-wrap { --surface-face: var(--surface-slate); --surface-edge: var(--edge-slate); --surface-line: var(--line-slate); }
th { background: #b7bfcc; color: #344052; }
th, td { border-bottom-color: #aab2c0; }
tbody tr:nth-child(even) { background: #c5ccd7; }
.select-card.active { background: #b5cbfc; }
.notification.unread, .chat-contact.active { background: #b5cbfc; }
.chat-feed { background: #e1dcd3; }
.bubble:not(.me) { background: #d2d4de; border-color: #a0a5b6; }
.empty { background: #ded8ce; border-color: #b6ab9b; }
.info-card { --surface-face: var(--surface-honey); --surface-edge: var(--edge-honey); --surface-line: var(--line-honey); background: var(--surface-face); background-image: var(--ceramic-weave); border-color: var(--surface-line); box-shadow: var(--clay); }
.info-card p { color: #534d3e; }
.premium-hero { --surface-edge: var(--edge-sand); background: var(--surface-sand); background-image: var(--ceramic-weave); border-color: var(--line-sand); box-shadow: var(--clay); }
.premium-hero:before { opacity: .2; }
.premium-hero:after { background-image: var(--ceramic-weave); }
.premium-hero p, .hero-tags { color: var(--muted); }
.visual-chip { background: var(--surface-teal); border-color: var(--line-teal); box-shadow: 0 5px 0 var(--edge-teal), 0 18px 24px -20px #292a3c88, inset 0 2px 2px #e5f3eb55; }
.visual-chip.red { background: var(--surface-peach); border-color: var(--line-peach); box-shadow: 0 5px 0 var(--edge-peach), 0 18px 24px -20px #292a3c88, inset 0 2px 2px #ffe9d655; }
.visual-chip small, .hero-visual .visual-chip small { color: var(--muted); }
.admin-intro { background: #29303d; background-image: var(--brand-weave); border-color: #566072; box-shadow: 0 7px 0 #171c26, 0 22px 28px -22px #292a3c88, inset 0 2px 3px #c5cfdf33; }
.admin-intro p { color: #e0e5ef; }
.brand-strip { background: #d3d7df; border-color: #aab2c0; color: #495365; }
.category-chip:nth-child(n) { background: var(--surface-face); background-image: var(--ceramic-weave); border: 1px solid var(--surface-line); color: #394252; box-shadow: 0 4px 0 var(--surface-edge), inset 0 2px 2px #fff7e955; }
.category-chip:nth-child(4n + 1) { --surface-face: var(--surface-lavender); --surface-edge: var(--edge-lavender); --surface-line: var(--line-lavender); }
.category-chip:nth-child(4n + 2) { --surface-face: var(--surface-peach); --surface-edge: var(--edge-peach); --surface-line: var(--line-peach); }
.category-chip:nth-child(4n + 3) { --surface-face: var(--surface-teal); --surface-edge: var(--edge-teal); --surface-line: var(--line-teal); }
.btn:not(.primary):not(.success):not(.accent):not(.danger) { background: #ded8ce; border-color: #b8ab97; box-shadow: 0 4px 0 #a99a83, inset 0 2px 2px #fff7e955; }
.btn.danger { color: #8b1c2c; background: #f2c8ce; border-color: #ce91a0; box-shadow: 0 4px 0 #c1808f, inset 0 2px 2px #ffe4e955; }
.btn.light { color: #253959; }
.btn.primary { background-color: var(--brand-blue); }
.btn.success { background-color: var(--brand-green); }
.btn.accent { background-color: var(--brand-red); }
.btn:disabled { box-shadow: 0 2px 0 #a7a099; }
.sidebar .mini-install { background-color: #294c51 !important; border-color: #52777a; }
.mini-install .btn { background: #d0e1dd; color: #214c48; box-shadow: 0 4px 0 #8aaca7; }
/* Visitor colour rhythm: warm hero, varied service/ad materials, charcoal journey, lavender vendor section. */
.tone-blue { --tone-light: var(--surface-lavender); --tone-line: var(--line-lavender); --tone-deep: var(--edge-lavender); }
.tone-green { --tone-light: var(--surface-teal); --tone-line: var(--line-teal); --tone-deep: var(--edge-teal); }
.tone-red { --tone-light: var(--surface-peach); --tone-line: var(--line-peach); --tone-deep: var(--edge-peach); }
.visitor-hero { background-color: #e7dbc7; border-color: var(--line-sand); box-shadow: 0 9px 0 var(--edge-sand), 0 32px 40px -32px #493c4588, inset 0 3px 4px #fff1da55, inset 0 -6px 9px #78634b25; }
.visitor-hero:before { background-image: var(--ceramic-weave); filter: none; opacity: 1; }
.visitor-hero-copy > p, .hero-assurance span, .popular-searches { color: var(--muted); }
.visitor-search { background: #f0e5d5; border-color: #c4b49e; box-shadow: 0 5px 0 #b7a58d, inset 0 2px 4px #78634b20; }
.floating-activity { background: var(--surface-teal); border-color: var(--line-teal); box-shadow: 0 6px 0 var(--edge-teal), 0 20px 28px -20px #292a3c80, inset 0 2px 3px #e5f3eb55; }
.floating-request { background: var(--surface-lavender); border-color: var(--line-lavender); box-shadow: 0 6px 0 var(--edge-lavender), 0 20px 28px -20px #292a3c80, inset 0 2px 3px #f0e7fb55; }
.floating-activity small { color: #365852; }
.sculpture-plinth { background: #b5a38c; opacity: .6; box-shadow: 0 11px 17px #6d594130, inset 0 3px 4px #e9ddca80; }
.visitor-action, .service-tile, .spotlight-card { background-color: var(--tone-light); border-color: var(--tone-line); background-image: var(--ceramic-weave); box-shadow: 0 7px 0 var(--tone-deep), 0 24px 30px -24px #292a3c88, inset 0 2px 3px #fff7e955, inset 0 -5px 7px #493d4f20; }
:is(.service-tile, .spotlight-card):nth-child(6n + 1) { --tone-light: var(--surface-lavender); --tone-line: var(--line-lavender); --tone-deep: var(--edge-lavender); --tone: #79629e; --tone-dark: #594572; }
:is(.service-tile, .spotlight-card):nth-child(6n + 2) { --tone-light: var(--surface-peach); --tone-line: var(--line-peach); --tone-deep: var(--edge-peach); --tone: #a8603f; --tone-dark: #824527; }
:is(.service-tile, .spotlight-card):nth-child(6n + 3) { --tone-light: var(--surface-teal); --tone-line: var(--line-teal); --tone-deep: var(--edge-teal); --tone: #357c76; --tone-dark: #265955; }
:is(.service-tile, .spotlight-card):nth-child(6n + 4) { --tone-light: var(--surface-honey); --tone-line: var(--line-honey); --tone-deep: var(--edge-honey); --tone: #936b24; --tone-dark: #6e4b12; }
:is(.service-tile, .spotlight-card):nth-child(6n + 5) { --tone-light: var(--surface-slate); --tone-line: var(--line-slate); --tone-deep: var(--edge-slate); --tone: #60718c; --tone-dark: #43526c; }
:is(.service-tile, .spotlight-card):nth-child(6n + 6) { --tone-light: var(--surface-sand); --tone-line: var(--line-sand); --tone-deep: var(--edge-sand); --tone: #8c7555; --tone-dark: #655035; }
.service-tile:before { background-image: var(--ceramic-weave); }
.visitor-action > div > span, .service-tile p, .spotlight-copy > p, .spotlight-business > div > span, .promotion-number { color: var(--muted); }
.tile-index { color: var(--tone-dark); opacity: .6; }
.spotlight-copy { background-color: var(--tone-light); background-image: var(--ceramic-weave); border-radius: 0 0 19px 19px; }
.spotlight-copy .eyebrow { color: var(--tone-dark); }
.spotlight-business { border-color: var(--tone-line); }
.spotlight-label { background: #e9e4dcf5; border-color: #c4b49e; box-shadow: 0 3px 0 #b7a58d; }
.visitor-journey { background: #29303d; color: #f4f1ed; border-color: #566072; box-shadow: 0 8px 0 #171c26, 0 25px 35px -28px #292a3c88, inset 0 2px 3px #c5cfdf33; }
.visitor-journey:before { filter: none; opacity: 1; }
.journey-intro .eyebrow, .journey-intro > p { color: #e0e5ef; }
.journey-step { color: var(--ink); background-image: var(--ceramic-weave); }
.journey-step p { color: var(--muted); }
.journey-number { color: #495365; }
.journey-clay-mark { border: 1px solid #ac9a72; }
.story-card blockquote, .story-card a { color: #394252; }
.story-avatar { background: #c1b4d8; box-shadow: 0 4px 0 #9785b3, inset 0 2px 2px #f0e7fb55; }
.visitor-vendor { background: var(--surface-lavender); border-color: var(--line-lavender); box-shadow: 0 8px 0 var(--edge-lavender), 0 24px 30px -24px #48315b80, inset 0 2px 3px #f0e7fb55, inset 0 -5px 7px #59457226; }
.visitor-vendor:before { background-image: var(--ceramic-weave); filter: none; opacity: 1; }
.visitor-vendor p { color: #514360; }
.visitor-install { background-color: #294c51; border-color: #52777a; box-shadow: 0 8px 0 #173338, 0 24px 30px -24px #17333880, inset 0 2px 3px #a0c5be33; }
.clay-phone { background: #cbd2de; border-color: #aab2c0; border-bottom-color: #8792a7; border-right-color: #969faf; box-shadow: 14px 17px 22px #132f335e, inset 0 2px 3px #e2e7f055; }
.phone-mini-card { background: #b9c2d2; border-color: #96a1b6; box-shadow: 0 3px 0 #8792a7; }
.phone-mini-card i { background: #55657f; }
.visitor-home > .faq { background-image: var(--ceramic-weave); }
.vendor-map-card { --surface-face: var(--surface-teal); --surface-edge: var(--edge-teal); --surface-line: var(--line-teal); background-color: var(--surface-face); background-image: var(--ceramic-weave); }
.map-place-input input { background: #e0e9e2; border-color: #83aaa5; }
.map-place-option { background: #dbd2ed; color: #403253; border-color: #a398ba; box-shadow: 0 3px 0 #a398ba; }
.vendor-map .leaflet-popup-content-wrapper, .vendor-map .leaflet-popup-tip, .vendor-map .leaflet-control-zoom a { background: #e9ddca; }
.vendor-map { border-color: #83aaa5; }
@media print {
  :is(.clay, .metric, .quick, .booking-row, .provider, .table-wrap, .plan, .story-card) { box-shadow: none; background: #fff; border-color: #a0aec0; }
}

.breadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#425572;margin:0 0 22px}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;font-weight:700}.category-intro{margin:0 0 26px}.category-intro h3{font-size:17px}.policy-copy{white-space:pre-wrap}.initial-public{display:grid;gap:28px}.initial-public h1{font-size:clamp(30px,4vw,52px)}.initial-public .category-chip{margin:4px}.visitor-home>.faq{background-image:var(--ceramic-weave)}.faq summary:focus-visible{outline:3px solid #174be7;outline-offset:4px}.faq summary{min-height:44px;display:list-item;align-content:center}

/* The supplied full logo is kept intact; object-fit avoids clipping the mark or wordmark. */
.brand img{width:60px;height:60px;object-fit:contain;border-radius:0;flex-shrink:0}.brand-signature{object-fit:contain;border-radius:0;flex-shrink:0}.footer-logo{object-fit:contain;border-radius:0}.phone-screen>img{object-fit:contain;border-radius:0}.boot>img,.install-logo{object-fit:contain;border-radius:0}
@media(max-width:850px){.header .brand img{width:48px;height:48px}}

.authenticator-field{margin:16px 0;color:#344c70;font-size:13px}.authenticator-field summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.authenticator-field[open] summary{margin-bottom:12px}
