@font-face {
  font-family: 'Hello Deoria Sans';
  src: url('/fonts/noto-devanagari.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
@font-face {
  font-family: 'Hello Deoria Sans';
  src: url('/fonts/noto-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hello Deoria Sans';
  src: url('/fonts/noto-latin-ext.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  color-scheme: light;
  font-family: 'Hello Deoria Sans', 'Nirmala UI', system-ui, sans-serif;
  --hd-body-size: 1rem;
  --hd-small-size: .875rem;
  --hd-detail-size: .9375rem;
  --hd-card-title-size: 1.0625rem;
  --hd-listing-title-size: 1.125rem;
  --hd-section-title-size: 1.375rem;
  --hd-page-title-size: 2.125rem;
  --hd-primary: #165d4a;
  --hd-primary-strong: #0e4638;
  --hd-action: #c62828;
  --hd-action-strong: #991b1b;
  --hd-accent: #f2a33a;
  --hd-surface: #ffffff;
  --hd-background: #f5f7f4;
  --hd-text: #17211d;
  --hd-muted: #607069;
  --hd-line: #dbe4df;
  --hd-radius: 18px;
  --hd-shadow: 0 12px 30px rgb(18 54 42 / 8%);
}

* { box-sizing: border-box; }

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--hd-background);
  color: var(--hd-text);
  line-height: 1.55;
}

a { color: inherit; }

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

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

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--hd-accent) 75%, white);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--hd-text);
  color: white;
}

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

.site-header {
  position: sticky;
  z-index: 30;
  top: 0;
  border-bottom: 1px solid var(--hd-line);
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(16px);
}

.header-inner, .page-shell {
  width: min(1120px, calc(100% - 28px));
  margin-inline: auto;
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 70px;
}

.brand {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 13px;
  background: var(--hd-primary);
  color: white;
  font-weight: 800;
}

.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { margin-top: 3px; color: var(--hd-muted); font-size: .7rem; }

.header-actions { display: flex; gap: 8px; }

.button, .icon-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--hd-line);
  border-radius: 13px;
  background: var(--hd-surface);
  color: var(--hd-text);
  cursor: pointer;
  font-weight: 700;
  text-decoration: none;
}

.button { padding: 10px 16px; }
.icon-button { width: 44px; padding: 0; }
.button-primary { border-color: var(--hd-action); background: var(--hd-action); color: white; }
.button-primary:hover { border-color: var(--hd-action-strong); background: var(--hd-action-strong); }
.button-quiet:hover, .icon-button:hover { border-color: var(--hd-primary); color: var(--hd-primary); }

.desktop-label { display: none; }

.page-shell { padding-block: 28px 56px; }

.hero {
  overflow: hidden;
  padding: clamp(28px, 7vw, 70px);
  border-radius: 28px;
  background: linear-gradient(135deg, var(--hd-primary-strong), var(--hd-primary));
  color: white;
  box-shadow: var(--hd-shadow);
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--hd-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { max-width: 820px; margin: 0; font-size: clamp(2rem, 7vw, 4.6rem); line-height: 1.08; }
h2 { margin: 0; font-size: clamp(1.35rem, 4vw, 2rem); line-height: 1.2; }
h3 { margin: 0; font-size: 1.08rem; line-height: 1.3; }

.hero-copy { max-width: 720px; margin: 16px 0 0; color: rgb(255 255 255 / 82%); font-size: 1.02rem; }
.english-line { display: block; margin-top: 3px; font-size: .84em; opacity: .72; }

.search-box {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin-top: 26px;
  padding: 10px;
  border-radius: 18px;
  background: white;
  box-shadow: 0 16px 40px rgb(0 0 0 / 14%);
}

.search-box input {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 0;
  border-radius: 12px;
  background: #f3f6f4;
  color: var(--hd-text);
}

.hero.home-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  align-items: center;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgb(242 163 58 / 35%) 0 12%, transparent 34%),
    linear-gradient(135deg, #073e32 0%, #0f5d4b 58%, #174f43 100%);
  color: white;
  box-shadow: 0 18px 44px rgb(9 54 42 / 18%);
}

.hero.home-hero::after {
  position: absolute;
  z-index: -1;
  top: -78px;
  right: -54px;
  width: 190px;
  height: 190px;
  border: 34px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
}

.home-hero-copy,
.home-hero-search { position: relative; z-index: 1; }
.hero.home-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 10px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / 16%);
  background: rgb(255 255 255 / 12%);
  color: #ffd48b;
  letter-spacing: .06em;
}
.hero.home-hero h1 { max-width: 520px; color: white; font-size: clamp(2.1rem, 5vw, 4rem); letter-spacing: -.02em; text-shadow: 0 2px 0 rgb(0 0 0 / 10%); }
.hero.home-hero .hero-copy { max-width: 520px; margin-top: 10px; color: rgb(255 255 255 / 78%); font-size: .94rem; }
.home-hero-search {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--hd-line);
  border-radius: 19px;
  background: var(--hd-surface);
  box-shadow: 0 8px 24px rgb(18 54 42 / 8%);
}
.home-hero-search-label { margin: 0 0 7px; color: var(--hd-primary-strong); font-size: .78rem; font-weight: 800; }
.home-hero-search .search-box { max-width: none; margin-top: 0; padding: 6px; border: 1px solid rgb(14 70 56 / 18%); border-radius: 14px; background: #edf6f1; box-shadow: none; }
.home-hero-search .search-box input { background: white; }

.service-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.service-card {
  --service-accent: var(--hd-primary);
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  min-width: 0;
  min-height: 142px;
  align-content: start;
  gap: 11px;
  padding: 15px 38px 14px 14px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--service-accent) 20%, var(--hd-line));
  border-radius: 16px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--service-accent) 7%, white), white 62%);
  color: var(--hd-text);
  box-shadow: 0 5px 16px color-mix(in srgb, var(--service-accent) 8%, transparent);
  text-decoration: none;
}
.service-card::before { position: absolute; inset: 0 0 auto; height: 3px; background: var(--service-accent); content: ''; }
.service-card-icon {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--service-accent) 13%, white);
  color: var(--service-accent);
  font-size: 1rem;
  font-weight: 800;
}
.service-card-copy { display: grid; min-width: 0; gap: 4px; }
.service-card-copy strong { font-size: .96rem; font-weight: 750; line-height: 1.35; }
.service-card-copy small { display: -webkit-box; overflow: hidden; color: #52655d; font-size: .8rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.service-card-arrow { position: absolute; right: 11px; bottom: 11px; display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--service-accent); color: white; font-size: 1rem; line-height: 1; }
.service-card:hover,
.service-card:focus-visible { border-color: color-mix(in srgb, var(--service-accent) 48%, var(--hd-line)); box-shadow: 0 9px 22px color-mix(in srgb, var(--service-accent) 12%, transparent); transform: translateY(-1px); }

.section { margin-top: 36px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.section-heading p { margin: 5px 0 0; color: var(--hd-muted); }

.card-grid { display: grid; grid-template-columns: 1fr; gap: 13px; }

.result-card, .content-card {
  border: 1px solid var(--hd-line);
  border-radius: var(--hd-radius);
  background: var(--hd-surface);
  box-shadow: 0 6px 20px rgb(18 54 42 / 4%);
}

.public-content-card { padding: 20px; }
.public-form-card { max-width:760px; margin-inline:auto; padding:clamp(20px,5vw,34px); }
.public-content-card h3 { margin: 4px 0 8px; }
.public-content-card p { color: var(--hd-muted); }

.service-banner {
  padding: clamp(24px, 5vw, 46px);
  border: 1px solid color-mix(in srgb, var(--hd-primary) 24%, white);
  border-radius: 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--hd-primary) 11%, white), white 70%);
}

.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; color: var(--hd-muted); font-size: .84rem; }
.breadcrumbs a { color: var(--hd-primary); }
.service-banner h1 { color: var(--hd-text); font-size: clamp(1.8rem, 6vw, 3.6rem); }
.service-banner .search-box { box-shadow: 0 12px 30px rgb(18 54 42 / 10%); }

.scope-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.scope-chip { padding: 7px 11px; border-radius: 999px; background: color-mix(in srgb, var(--hd-primary) 10%, white); color: var(--hd-primary-strong); font-size: .82rem; font-weight: 750; }

.results-list { display: grid; gap: 13px; }
.result-card { padding: 18px; }
.result-card a { text-decoration: none; }
.result-card p { margin: 8px 0 0; color: var(--hd-muted); }
.result-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; font-size: .82rem; }
.meta-chip { padding: 6px 9px; border-radius: 999px; background: #f0f4f2; color: #46564f; }

.empty-state { padding: 30px 20px; border: 1px dashed #b7c8c0; border-radius: var(--hd-radius); background: rgb(255 255 255 / 65%); text-align: center; }
.empty-state p { max-width: 560px; margin: 8px auto 0; color: var(--hd-muted); }

.profile-shell { display: grid; gap: 16px; }
.profile-hero, .profile-section { padding: clamp(20px, 5vw, 34px); }
.profile-hero { background: var(--hd-surface); }
.profile-hero h1 { color: var(--hd-text); font-size: clamp(1.8rem, 6vw, 3.2rem); }
.profile-summary { max-width: 760px; margin: 13px 0 0; color: var(--hd-muted); }
.verification-badge { display: inline-flex; align-items: center; gap: 7px; margin-top: 15px; padding: 7px 10px; border-radius: 999px; background: #e8f7ef; color: #14653c; font-size: .82rem; font-weight: 800; }
.profile-grid { display: grid; gap: 16px; }
.profile-section { background: var(--hd-surface); }
.field-list { display: grid; gap: 0; margin: 15px 0 0; }
.field-row { display: grid; gap: 4px; padding: 13px 0; border-top: 1px solid var(--hd-line); }
.field-row dt { color: var(--hd-muted); font-size: .8rem; }
.field-row dd { margin: 0; font-weight: 650; }
.contact-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 15px; }
.profile-section summary { cursor: pointer; color: var(--hd-primary); font-weight: 750; }
.report-form { display: grid; gap: 9px; margin-top: 15px; }
.report-form label { color: var(--hd-muted); font-size: .82rem; font-weight: 700; }
.report-form input, .report-form select, .report-form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--hd-line); border-radius: 11px; background: white; color: var(--hd-text); font: inherit; }
.media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 15px; }
.media-grid img { width: 100%; aspect-ratio: 4 / 3; border-radius: 13px; object-fit: cover; }
.media-item { margin: 0; }
.media-item figcaption { margin-top: 5px; color: var(--hd-muted); font-size: .76rem; }

.pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; }

.site-footer {
  position: relative;
  overflow: hidden;
  margin-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--hd-primary) 14%, var(--hd-line));
  background:
    radial-gradient(circle at 8% 0, color-mix(in srgb, var(--hd-primary) 8%, transparent), transparent 28%),
    linear-gradient(180deg, white, color-mix(in srgb, var(--hd-primary) 4%, white));
}
.footer-inner { width: min(1120px, calc(100% - 28px)); margin-inline: auto; padding: 38px 0 20px; color: var(--hd-muted); font-size: .84rem; }
.footer-main { display: grid; gap: 28px; }
.footer-brand { display: flex; align-items: flex-start; gap: 13px; }
.footer-mark { display: grid; flex: 0 0 auto; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: var(--hd-primary); color: white; font-size: .82rem; font-weight: 900; box-shadow: 0 8px 20px rgb(22 93 74 / 20%); }
.footer-brand-copy { display: grid; justify-items: start; }
.footer-brand-copy > strong { color: var(--hd-text); font-size: 1.06rem; }
.footer-brand-copy p { max-width: 440px; margin: 5px 0 12px; line-height: 1.55; }
.footer-place { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--hd-primary) 14%, var(--hd-line)); border-radius: 999px; background: rgb(255 255 255 / 68%); color: var(--hd-primary); font-size: .7rem; font-weight: 780; }
.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.footer-link-group { display: grid; align-content: start; gap: 7px; }
.footer-link-group > strong { margin-bottom: 3px; color: var(--hd-text); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-link-group a { width: fit-content; color: var(--hd-muted); text-decoration: none; }
.footer-link-group a:hover { color: var(--hd-primary); text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 16px; border-top: 1px solid color-mix(in srgb, var(--hd-primary) 10%, var(--hd-line)); color: color-mix(in srgb, var(--hd-muted) 86%, white); font-size: .72rem; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 12px; }
.footer-legal a { color: inherit; text-decoration: none; }
.footer-legal a:hover { color: var(--hd-primary); }
.mobile-bottom-nav { display: none; }
.form-error { padding:12px 14px; border:1px solid #e1a5a0; border-radius:11px; background:#fff3f2; color:#8c241b; }
.legal-page { max-width:820px; margin-inline:auto; }
.legal-page h2 { margin-top:12px; font-size:1.1rem; color:var(--hd-muted); }
.legal-page p { max-width:700px; }
.content-body { max-width:760px; margin:22px 0; line-height:1.75; white-space:normal; }

dialog.location-dialog {
  width: min(560px, calc(100% - 24px));
  max-height: min(720px, calc(100vh - 30px));
  padding: 0;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 28px 80px rgb(0 0 0 / 26%);
}

dialog::backdrop { background: rgb(10 27 21 / 58%); backdrop-filter: blur(3px); }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; border-bottom: 1px solid var(--hd-line); }
.dialog-body { padding: 18px; }
.dialog-body > p { margin: 0 0 15px; color: var(--hd-muted); }
.location-search { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid var(--hd-line); border-radius: 12px; }
.pin-list { display: grid; gap: 8px; max-height: 280px; margin-top: 12px; overflow: auto; }
.pin-choice { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 13px; border: 1px solid var(--hd-line); border-radius: 12px; text-decoration: none; }
.pin-choice:hover { border-color: var(--hd-primary); }
.location-status { min-height: 24px; margin: 10px 0 0; color: var(--hd-muted); font-size: .84rem; }

@media (min-width: 640px) {
  .search-box { grid-template-columns: minmax(0, 1fr) auto; }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desktop-label { display: inline; }
  .profile-grid { grid-template-columns: 1.2fr .8fr; align-items: start; }
  .field-row { grid-template-columns: minmax(140px, .55fr) 1fr; gap: 20px; }
}

@media (min-width: 768px) {
  .footer-main { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: start; gap: clamp(42px, 7vw, 86px); }
}

@media (min-width: 960px) {
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero { min-height: 430px; display: flex; flex-direction: column; justify-content: center; }
}

@media (max-width: 767px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .header-inner { min-height: 60px; }
  .brand-mark { width: 36px; height: 36px; border-radius: 11px; }
  .brand-copy small, .header-add-listing, .header-account { display: none; }
  .header-actions { gap: 5px; }
  .header-actions .button { min-width: 42px; padding: 8px 10px; }
  .page-shell { width: min(100% - 20px, 1120px); padding-block: 14px 28px; }
  .hero { padding: 24px 18px; border-radius: 20px; }
  .hero h1 { font-size: clamp(1.8rem, 9vw, 2.65rem); }
  .hero-copy { margin-top: 10px; font-size: .9rem; }
  .search-box { margin-top: 18px; }
  .section { margin-top: 24px; }
  .section-heading { margin-bottom: 12px; }
  .section-heading p { font-size: .84rem; }
  .site-footer { margin-bottom: 0; }
  .mobile-bottom-nav { position: fixed; z-index: 45; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: calc(66px + env(safe-area-inset-bottom)); padding: 4px 4px env(safe-area-inset-bottom); border-top: 1px solid var(--hd-line); background: rgb(255 255 255 / 96%); box-shadow: 0 -10px 30px rgb(18 54 42 / 10%); backdrop-filter: blur(16px); }
  .mobile-nav-item { display: flex; min-width: 0; min-height: 58px; align-items: center; justify-content: center; flex-direction: column; gap: 3px; padding: 4px 2px; border: 0; background: transparent; color: var(--hd-muted); font: inherit; font-size: .64rem; font-weight: 760; text-decoration: none; cursor: pointer; }
  .mobile-nav-item svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-nav-item.is-active { color: var(--hd-primary); }
  .mobile-nav-location { color: var(--hd-primary); }
  .mobile-location-icon { display: grid; width: 42px; height: 42px; margin-top: -23px; place-items: center; border: 4px solid var(--hd-background); border-radius: 50%; background: var(--hd-primary); color: white; box-shadow: 0 6px 15px rgb(14 70 56 / 28%); }
  .mobile-location-icon svg { width: 23px; height: 23px; }
  .mobile-nav-more { position: relative; min-width: 0; }
  .mobile-nav-more > summary { width: 100%; list-style: none; }
  .mobile-nav-more > summary::-webkit-details-marker { display: none; }
  .mobile-more-menu { position: absolute; right: 4px; bottom: calc(100% + 10px); display: grid; width: min(250px, calc(100vw - 20px)); overflow: hidden; border: 1px solid var(--hd-line); border-radius: 14px; background: white; box-shadow: 0 16px 40px rgb(18 54 42 / 18%); }
  .mobile-more-menu a { display: flex; align-items: center; min-height: 48px; padding: 10px 15px; border-bottom: 1px solid #e8eeea; color: var(--hd-text); font-size: .9375rem; font-weight: 650; text-decoration: none; }
  .mobile-more-menu a:last-child { border-bottom: 0; }
  .mobile-more-menu a:active { background: #eef5f1; }
  dialog.location-dialog { margin-bottom: calc(70px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Public service-first mobile presentation. */
.language-short { display: none; }
.compact-heading p { max-width: 680px; }

.service-theme { --service-accent: #1f6b5a; }

@media (max-width: 767px) {
  .header-inner { min-height: 54px; }
  .brand { gap: 8px; min-height: 40px; }
  .brand-mark { width: 34px; height: 34px; border-radius: 10px; font-size: .84rem; }
  .brand-copy strong { font-size: .92rem; }
  .header-account { display: none !important; }
  .language-switch { min-width: 42px !important; min-height: 38px !important; padding: 6px 9px !important; border-radius: 11px; }
  .language-long { display: none; }
  .language-short { display: inline; font-size: .82rem; font-weight: 850; }

  .page-shell { width: min(100% - 18px, 1120px); padding-block: 10px 24px; }
  .hero { padding: 20px 16px; border-radius: 18px; }
  .hero h1 { max-width: 340px; font-size: clamp(1.72rem, 8.2vw, 2.2rem); line-height: 1.08; }
  .hero-copy { max-width: 360px; margin-top: 8px; font-size: .84rem; line-height: 1.45; }
  .hero .eyebrow { margin-bottom: 6px; }
  .search-box { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; margin-top: 14px; padding: 7px; border-radius: 15px; }
  .search-box input { min-height: 44px; padding: 8px 10px; }
  .search-box .button { min-height: 44px; padding-inline: 14px; }

  .hero.home-hero { grid-template-columns: 1fr; gap: 9px; min-height: 0; padding: 13px; border-radius: 16px; }
  .hero.home-hero::after { top: -82px; right: -80px; width: 160px; height: 160px; border-width: 28px; }
  .hero.home-hero .eyebrow { margin-bottom: 5px; padding: 3px 7px; font-size: .62rem; }
  .hero.home-hero h1 { max-width: none; font-size: clamp(1.55rem, 7.5vw, 1.9rem); line-height: 1.06; }
  .hero.home-hero .hero-copy { max-width: none; margin-top: 4px; font-size: .76rem; line-height: 1.35; }
  .home-hero-search { margin-top: 10px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .home-hero-search-label { display: none; }
  .home-hero-search .search-box { gap: 5px; margin-top: 0; padding: 5px; border-radius: 12px; box-shadow: 0 6px 18px rgb(18 54 42 / 8%); }
  .home-hero-search .search-box input { min-height: 40px; padding: 7px 9px; font-size: .78rem; }
  .home-hero-search .search-box .button { min-height: 40px; padding-inline: 12px; font-size: .78rem; }

  .service-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .service-card { min-height: 132px; gap: 9px; padding: 12px 30px 11px 11px; border-radius: 14px; }
  .service-card-icon { width: 36px; height: 36px; border-radius: 11px; font-size: .94rem; }
  .service-card-copy strong { font-size: .94rem; line-height: 1.32; }
  .service-card-copy small { font-size: .79rem; line-height: 1.38; }
  .service-card-arrow { right: 8px; bottom: 8px; width: 24px; height: 24px; }

  .section { margin-top: 22px; }
  .section-heading { margin-bottom: 10px; }
  .section-heading h2 { font-size: 1.35rem; }
  .section-heading p { margin-top: 3px; font-size: .8rem; }

  .service-banner { padding: 18px 15px; border-radius: 18px; }
  .service-banner h1 { font-size: clamp(1.55rem, 7vw, 2.1rem); }
  .service-banner > p:not(.eyebrow) { margin: 8px 0 0; color: var(--hd-muted); font-size: .84rem; }
  .breadcrumbs { margin-bottom: 8px; font-size: .72rem; }

  .footer-inner { width: min(100% - 28px, 1120px); padding: 28px 0 18px; }
  .footer-main { gap: 24px; }
  .footer-mark { width: 40px; height: 40px; border-radius: 12px; }
  .footer-brand-copy > strong { font-size: 1rem; }
  .footer-brand-copy p { margin: 4px 0 10px; font-size: .78rem; }
  .footer-nav { gap: 16px; }
  .footer-link-group { gap: 6px; }
  .footer-link-group a { font-size: .78rem; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 22px; padding-top: 13px; }
}

@media (max-width: 767px) {
  .brand-copy small { display: none; }
  .brand-copy strong { white-space: nowrap; line-height: 1.05; }
}

/* Service-first public discovery and listing presentation. */
.compact-service-banner { padding-block: clamp(20px, 4vw, 34px); }

.nearby-banner .nearby-refresh { margin-top: 14px; }
.distance-chip { color: var(--hd-primary-strong); font-weight: 800; }

.compact-heading { margin-bottom: .7rem; }
.compact-heading h2 { margin: 0; font-size: 1.05rem; }
.narrow-section { max-width: 680px; margin-inline: auto; }
.compact-account-banner { padding-block: 1.25rem; }
.form-help { margin-top: .8rem; color: #5c6963; font-size: .92rem; }
.location-capture-card { border: 1px dashed #b8c9c0; border-radius: 14px; padding: .9rem; background: #f8fbf9; }
.location-capture-card p { margin: .45rem 0 .75rem; }
.location-capture-status { font-size: .88rem; color: #53615a; }
.status-note { background: #eef8f3; border: 1px solid #cfe5d9; border-radius: 14px; padding: .8rem 1rem; }
.verification-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin: .8rem 0 1rem; }

@media (max-width: 720px) {
}

@media (max-width: 360px) {
}

.profile-contact-card, .profile-location-card { border-color: #b9d9c8; background: linear-gradient(145deg, #f5fcf8, var(--hd-surface)); box-shadow: 0 10px 24px rgb(17 84 56 / 9%); }
.profile-contact-card h2, .profile-location-card h2 { color: var(--hd-primary-strong); }
.profile-contact-card .button-primary, .profile-location-card .button-primary { min-height: 46px; padding-inline: 1rem; font-size: .94rem; }
.profile-contact-card .contact-list, .profile-location-card .contact-list { gap: 10px; }
.profile-links-card { background: #fbfcfb; }

.hero-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.hero-title-row h1 { margin-right: auto; }
@media (max-width: 520px) { .hero-title-row { align-items: center; } }

.location-detail-sheet .plain-list { margin-bottom: .25rem; }

/* Public discovery components. Shared typography is defined below. */
.discovery-heading { padding: 24px; border-radius: 20px; border-top: 3px solid var(--service-accent, var(--hd-primary)); background: linear-gradient(120deg, #edf5f0, #fff 80%); box-shadow: none; }
.discovery-heading h1 { max-width: none; font-size: clamp(1.6rem, 3vw, 2.15rem); line-height: 1.3; letter-spacing: 0; }
.discovery-heading .breadcrumbs, .listing-detail .breadcrumbs { font-size: .85rem; line-height: 1.6; }
.discovery-intro { margin: 7px 0 0; font-size: 1rem; color: #506159; line-height: 1.6; }
.discovery-search-label { display: block; margin-top: 16px; font-size: .875rem; font-weight: 700; color: #40584c; }
.discovery-heading .search-box { max-width: 760px; margin-top: 7px; padding: 5px; border: 1px solid #ccdcd2; border-radius: 13px; box-shadow: none; background: white; }
.discovery-heading .search-box input { min-width: 0; font-size: 1rem; }
.discovery-heading .search-box .button { min-height: 44px; }
.discovery-search .search-box { margin-top: 16px; }
.discovery-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 9px 15px; border: 1px solid #d3dfd7; border-radius: 11px; background: white; color: #253e32; font-size: 1rem; font-weight: 650; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.filter-chip:hover { border-color: var(--service-accent, var(--hd-primary)); background: #f0f6f2; }
.filter-chip.is-selected { border-color: var(--service-accent, var(--hd-primary)); background: var(--service-accent, var(--hd-primary)); color: white; box-shadow: 0 2px 4px rgb(18 54 42 / 10%); }
.filter-chip.is-selected::before { content: '✓'; margin-right: 6px; font-size: .85em; }
.more-filters { margin-top: 4px; }
.more-filters summary { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; font-size: .94rem; font-weight: 700; color: var(--hd-primary-strong); list-style: none; }
.more-filters summary::-webkit-details-marker { display: none; }
.more-filters summary::after { content: '+'; font-size: 1.2rem; }
.more-filters[open] summary::after { content: '−'; }
.more-filters .less-label, .more-filters[open] .more-label { display: none; }
.more-filters[open] .less-label { display: inline; }
.discovery-search-results { margin-top: 22px; scroll-margin-top: 86px; }
.discovery-results-heading { align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 13px; }
.discovery-results-heading h2, .discovery-search-results .section-heading h2 { font-size: 1.25rem; line-height: 1.4; }
.result-count { color: #607069; font-size: .9em; font-weight: 500; }
.reset-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--hd-primary-strong); font-size: .9rem; font-weight: 700; text-underline-offset: 4px; }
.empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 14px; }
.empty-actions .button { min-height: 44px; font-size: .94rem; }
.results-list > .empty-state { grid-column: 1 / -1; }
.discovery-search-results .empty-state { background: white; border-style: solid; border-color: #dbe4df; }
.discovery-search-results .empty-state h3 { font-size: 1.15rem; }
.discovery-search-results .empty-state p { font-size: 1rem; }
.pager { align-items: center; gap: 10px; }
.pager-position { font-size: .9rem; color: var(--hd-muted); }
.result-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid #d8e3dc; border-left: 3px solid var(--service-accent, var(--hd-primary)); border-radius: 16px; background: white; box-shadow: 0 3px 12px rgb(18 54 42 / 4%); transition: border-color .15s, box-shadow .15s; }
.result-card:hover, .result-card:focus-within { border-color: var(--service-accent, var(--hd-primary)); box-shadow: 0 6px 18px rgb(18 54 42 / 8%); }
.result-main-link { display: block; flex: 1; padding: 18px 18px 14px; text-decoration: none; }
.result-title-row { display: flex; align-items: flex-start; gap: 9px; }
.result-card h3 { flex: 1; min-width: 0; color: #1d3529; font-size: 1.2rem; line-height: 1.4; font-weight: 800; overflow-wrap: anywhere; }
.result-card .result-location { margin-top: 5px; color: #52665a; font-size: .94rem; line-height: 1.55; }
.result-distance { white-space: nowrap; }
.listing-points { display: flex; flex-wrap: wrap; gap: 5px 15px; margin: 12px 0 0; padding: 0; list-style: none; color: #334f40; font-size: .96rem; line-height: 1.55; }
.listing-points li::before { content: '•'; display: inline-block; margin-right: 7px; color: var(--service-accent, var(--hd-primary)); }
.result-card .result-summary { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 9px; color: #59695f; font-size: .94rem; line-height: 1.6; }
.result-actions { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border-top: 1px solid #e9efeb; background: #fafcfb; }
.result-actions .button { min-height: 44px; padding: 8px 14px; font-size: .94rem; }
.result-details { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; min-height: 44px; margin-left: auto; color: var(--hd-primary-strong); font-weight: 750; font-size: .94rem; }
.result-read-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; color: var(--hd-primary-strong); font-weight: 750; }
.listing-detail .profile-hero { border-top: 3px solid var(--service-accent, var(--hd-primary)); padding: 26px; }
.listing-detail .profile-hero h1 { max-width: none; margin-top: 9px; font-size: clamp(1.65rem, 3.3vw, 2.4rem); line-height: 1.35; overflow-wrap: anywhere; }
.listing-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.listing-service-label { color: var(--service-accent, var(--hd-primary)); font-size: .95rem; font-weight: 700; }
.profile-address { margin: 8px 0 0; color: #4e6556; font-size: 1rem; }
.profile-primary-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.profile-primary-actions .button { min-height: 46px; font-size: 1rem; }
.profile-secondary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 17px; }
.profile-secondary .verification-badge { margin-top: 0; }
.listing-detail .profile-summary { font-size: 1rem; line-height: 1.7; }
.listing-detail .profile-section { padding: 22px; box-shadow: 0 3px 12px rgb(18 54 42 / 4%); }
.listing-detail .profile-section h2 { font-size: 1.2rem; line-height: 1.5; }
.listing-detail .profile-section p { margin: 10px 0; font-size: 1rem; line-height: 1.65; }
.listing-detail .profile-location-card { background: white; }
.listing-detail .profile-grid-compact { grid-template-columns: 1fr; }
.profile-grid-compact > aside { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.listing-detail .profile-section small, .listing-detail .field-row dt { color: #526659; font-size: .9rem; }
.listing-detail .location-unavailable { color: #607069; font-size: .9rem; }
.back-to-results { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; color: var(--hd-primary-strong); text-underline-offset: 4px; }
@media (min-width: 900px) { .results-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .discovery-heading { padding: 17px 15px; }
  .discovery-heading h1 { font-size: 1.65rem; }
  .discovery-heading .breadcrumbs, .listing-detail .breadcrumbs { font-size: .82rem; }
  .discovery-heading .discovery-intro { font-size: .94rem; line-height: 1.6; color: #506159; }
  .discovery-heading .search-box input { font-size: 1rem; }
  .filter-chip { padding: 8px 12px; font-size: .96rem; }
  .discovery-results-heading h2 { font-size: 1.2rem; }
  .result-main-link { padding: 15px 15px 12px; }
  .result-card h3 { font-size: 1.16rem; }
  .result-actions { padding: 8px 15px; }
  .listing-detail .profile-hero { padding: 19px 16px; }
  .listing-detail .profile-hero h1 { font-size: 1.7rem; }
  .listing-detail .profile-section { padding: 18px 16px; }
  .profile-grid-compact > aside { grid-template-columns: 1fr; }
  .profile-primary-actions .button { flex: 1 1 auto; }
}

/* One public text scale, based on the homepage's colours and panel layout. */
body { font-size: var(--hd-body-size); line-height: 1.65; }
h1, h2, h3 { font-weight: 700; letter-spacing: 0; }
h1 { font-size: var(--hd-page-title-size); line-height: 1.4; }
h2, .compact-heading h2, .section-heading h2,
.discovery-results-heading h2, .discovery-search-results .section-heading h2,
.listing-detail .profile-section h2 { font-size: var(--hd-section-title-size); line-height: 1.5; }
h3 { font-size: var(--hd-listing-title-size); line-height: 1.5; }
.section { margin-top: 28px; }
.section-heading { align-items: center; gap: 12px; margin-bottom: 14px; }
.section-heading p, .discovery-intro, .form-help, .public-content-card p,
.listing-detail .profile-summary, .listing-detail .profile-section p { font-size: var(--hd-body-size); line-height: 1.65; }
.button, .result-actions .button, .profile-primary-actions .button,
.result-details, .filter-chip, .report-form input, .report-form select, .report-form textarea {
  font-size: var(--hd-body-size); line-height: 1.5; min-height: 48px;
}
.report-form label, .breadcrumbs, .discovery-heading .breadcrumbs,
.listing-detail .breadcrumbs, .form-help small, .field-row dt,
.listing-detail .field-row dt { font-size: var(--hd-small-size); line-height: 1.65; }
.eyebrow, .home-hero-search-label { font-size: var(--hd-small-size); line-height: 1.5; letter-spacing: .015em; }
.hero.home-hero h1 { font-size: clamp(2rem, 4.2vw, 3.25rem); line-height: 1.3; letter-spacing: 0; }
.hero.home-hero .hero-copy { font-size: var(--hd-body-size); line-height: 1.6; color: #edf6f1; }
.hero.home-hero .eyebrow { font-size: var(--hd-small-size); }
.home-hero-search .search-box input, .home-hero-search .search-box .button,
.discovery-heading .search-box input { font-size: var(--hd-body-size); min-height: 48px; }

.discovery-heading, .nearby-banner {
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--service-accent, var(--hd-primary)) 55%, #123d31);
  border-radius: 22px;
  background: linear-gradient(115deg, color-mix(in srgb, var(--service-accent, var(--hd-primary)) 85%, #073e32), color-mix(in srgb, var(--service-accent, var(--hd-primary)) 82%, #667844));
  color: white;
  box-shadow: 0 10px 28px rgb(18 54 42 / 10%);
}
.discovery-heading h1, .nearby-banner h1, .listing-detail .profile-hero h1 {
  max-width: 100%; font-size: var(--hd-page-title-size); line-height: 1.4; letter-spacing: 0; text-shadow: none;
}
.discovery-heading h1, .nearby-banner h1 { color: white; }
.discovery-heading .discovery-intro, .nearby-banner > p:not(.eyebrow) {
  margin: 10px 0 0; max-width: 760px; color: #edf6f1; font-size: var(--hd-body-size); line-height: 1.65;
}
.discovery-heading .breadcrumbs, .discovery-heading .breadcrumbs a { color: #f7e6c8; }
.discovery-search-label { color: #edf6f1; font-size: var(--hd-small-size); }

/* Listing identity reads like a small local signboard. */
.result-card { min-width: 0; border: 1px solid color-mix(in srgb, var(--service-accent, var(--hd-primary)) 22%, #dbe4df); border-radius: 16px; background: white; box-shadow: 0 4px 14px rgb(18 54 42 / 5%); }
.listing-result .result-main-link { display: flex; flex-direction: column; padding: 0; }
.result-banner, .listing-name-banner {
  padding: 18px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--service-accent, var(--hd-primary)) 88%, #15291f), var(--service-accent, var(--hd-primary)));
  color: white;
}
.result-banner { min-height: 116px; }
.result-title-row { flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.listing-result h3 { flex-basis: 180px; color: white; font-size: var(--hd-listing-title-size); line-height: 1.5; font-weight: 700; }
.information-result h3 { color: #1d3529; font-size: var(--hd-listing-title-size); line-height: 1.5; font-weight: 700; }
.information-result .result-main-link { padding: 18px; }
.result-card:has(> .eyebrow) { padding: 18px; }
.result-card .result-location { color: #fff; font-size: var(--hd-detail-size); line-height: 1.65; margin-top: 8px; }
.result-body { flex: 1; padding: 16px 18px; background: color-mix(in srgb, var(--service-accent, var(--hd-primary)) 3%, white); }
.listing-points { margin: 0; gap: 5px 14px; font-size: var(--hd-detail-size); line-height: 1.65; }
.result-card .result-summary { margin-top: 10px; font-size: var(--hd-detail-size); line-height: 1.65; color: #4d6056; }
.result-actions { flex-wrap: wrap; gap: 8px; padding: 9px 14px; background: white; }
.result-actions .button { padding: 8px 12px; }
.result-details { min-width: 0; justify-content: flex-start; font-size: var(--hd-detail-size); }
.listing-name-banner { margin-top: 14px; border-radius: 15px; padding: 24px; }
.listing-name-banner .listing-service-label, .listing-name-banner .profile-address,
.listing-detail .listing-name-banner h1 { color: white; }
.listing-name-banner .profile-address { font-size: var(--hd-body-size); line-height: 1.65; }
.listing-name-banner .listing-service-label { font-size: var(--hd-detail-size); }
.listing-detail .profile-hero { padding: 22px; }

.listing-preview { min-width: 0; margin-top: 28px; }
.rail-heading { flex-wrap: wrap; }
.rail-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-left: auto; }
.rail-controls { display: flex; gap: 6px; }
.rail-controls[hidden] { display: none; }
.rail-controls .icon-button { width: 44px; min-height: 44px; color: var(--hd-primary-strong); }
.rail-controls button:disabled { opacity: .4; cursor: default; }
.results-list.listing-rail {
  display: grid; grid-template-columns: none; grid-auto-flow: column;
  grid-auto-columns: calc((100% - 28px) / 3); gap: 14px;
  align-items: stretch; overflow-x: auto; padding: 3px 3px 12px;
  scroll-padding-inline: 3px; scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain; scrollbar-width: thin;
  scrollbar-color: #a9beb3 transparent;
}
.listing-rail > .result-card { scroll-snap-align: start; }
.listing-rail:has(> .result-card:only-child) { grid-auto-columns: min(100%, 25rem); }

.footer-inner, .footer-brand-copy p, .footer-link-group a,
.footer-link-group > strong, .footer-place, .footer-bottom { font-size: var(--hd-small-size); line-height: 1.7; }
.footer-brand-copy > strong { font-size: var(--hd-listing-title-size); }
.footer-link-group a, .footer-legal a { display: inline-flex; align-items: center; min-height: 40px; }
.brand-copy strong { font-size: 1rem; line-height: 1.4; }
.brand-copy small { font-size: .8125rem; line-height: 1.5; }
.public-form-card { min-width: 0; }
.public-form-card h2 { font-size: var(--hd-section-title-size); }
.mobile-nav-item { font-size: .8125rem; line-height: 1.4; }

@media (min-width: 768px) and (max-width: 1023px) {
  .results-list.listing-rail { grid-auto-columns: calc((100% - 14px) / 2); }
}
@media (max-width: 767px) {
  :root { --hd-section-title-size: 1.25rem; --hd-page-title-size: 1.625rem; }
  .page-shell { padding-top: 16px; }
  .section { margin-top: 24px; }
  .hero.home-hero { padding: 18px 16px; gap: 14px; }
  .hero.home-hero h1 { font-size: 2rem; line-height: 1.35; }
  .hero.home-hero .hero-copy { margin-top: 6px; }
  .hero.home-hero .eyebrow { font-size: var(--hd-small-size); }
  .home-hero-search .search-box { padding: 5px; }
  .home-hero-search .search-box input { padding: 10px; }
  .home-hero-search .search-box .button { padding-inline: 12px; }
  .discovery-heading, .nearby-banner { padding: 18px 16px; border-radius: 18px; }
  .discovery-heading h1, .nearby-banner h1 { font-size: var(--hd-page-title-size); line-height: 1.4; }
  .results-list.listing-rail { grid-auto-columns: min(88%, 22rem); }
  .listing-rail:has(> .result-card:only-child) { grid-auto-columns: 100%; }
  .rail-heading { gap: 4px 10px; }
  .rail-heading :is(h2, h3) { flex: 1 1 150px; }
  .rail-heading-actions { gap: 8px; }
  .result-card h3 { font-size: var(--hd-listing-title-size); }
  .result-banner { padding: 16px; }
  .result-body { padding: 14px 16px; }
  .listing-detail .profile-hero { padding: 16px; }
  .listing-name-banner { padding: 18px 16px; }
  .listing-detail .profile-hero h1 { font-size: var(--hd-page-title-size); }
  .footer-brand-copy p, .footer-link-group a { font-size: var(--hd-small-size); }
}
/* Compact catalogue tiles: readable identity, small visual, no tall text banner. */
.results-list.listing-products:not(.listing-rail) { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:stretch; }
.listing-products .listing-result { border-radius:12px; border-left-width:1px; box-shadow:0 2px 8px rgb(18 54 42 / 4%); }
.listing-products .result-banner { min-height:0; padding:10px 12px 6px; background:white; color:var(--hd-text); }
/* Location is a persistent public context, not a hidden utility. */
.brand-copy { min-width:0; }
.header-location {
  min-width:0;
  max-width:220px;
  gap:7px;
  padding:6px 10px;
  border-color:#cad8d1;
}
.header-location-pin { color:var(--hd-action); font-size:1rem; }
.header-location-copy { display:grid; min-width:0; text-align:left; line-height:1.1; }
.header-location-copy small { color:var(--hd-muted); font-size:.6875rem; font-weight:650; }
.header-location-copy strong { overflow:hidden; color:var(--hd-primary-strong); font-size:.875rem; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.header-location-caret { color:var(--hd-muted); }
.location-search-form { display:grid; gap:8px; }
.location-search-form label { color:var(--hd-text); font-size:.875rem; font-weight:760; }
.location-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.location-search-row input { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--hd-line); border-radius:12px; color:var(--hd-text); background:white; font-size:1rem; }
.location-search-row input:focus { border-color:var(--hd-action); outline:3px solid rgb(198 40 40 / 14%); outline-offset:1px; }
.location-clear-form { margin-top:10px; }
.location-current-button { width:100%; }
.location-divider { display:flex; align-items:center; gap:10px; margin:18px 0; color:var(--hd-muted); font-size:.8125rem; }
.location-divider::before,.location-divider::after { height:1px; flex:1; background:var(--hd-line); content:''; }
.location-context-chip,.active-location-note { border:0; color:var(--hd-primary-strong); background:#edf5f1; font:inherit; cursor:pointer; }
.location-context-chip { min-height:34px; }
.active-location-note { display:inline-flex; align-items:center; gap:6px; margin:0 0 14px; padding:7px 10px; border-radius:999px; font-size:.8125rem; font-weight:720; }
@media(max-width:767px) {
  .header-actions { flex:0 0 auto; }
  .header-location { display:inline-flex !important; max-width:116px; min-height:38px !important; padding:5px 7px !important; gap:5px; border-radius:11px; }
  .header-location-copy small,.header-location-caret { display:none; }
  .header-location-copy strong { max-width:78px; font-size:.75rem; }
  .header-location-pin { font-size:.85rem; }
  .location-search-row { grid-template-columns:1fr; }
  .location-search-row .button { width:100%; }
}
@media(max-width:359px) {
  .brand-copy { display:none; }
}
.listing-products .result-title-row { display:block; }
.listing-products .listing-result h3 { margin:0; min-height:48px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:1rem; line-height:1.5; color:color-mix(in srgb,var(--service-accent,var(--hd-primary)) 65%,#15251c); }
.listing-products .result-card .result-location { margin:4px 0 0; font-size:.875rem; line-height:1.45; color:#465d50; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.listing-products .result-body { padding:0 12px 8px; background:white; }
.listing-products .listing-points { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:.875rem; line-height:1.5; }
.listing-products .listing-points li { display:inline; margin-right:8px; }
.listing-products .result-card .result-summary { margin:4px 0 0; font-size:.8125rem; line-height:1.4; -webkit-line-clamp:2; }
.listing-products .result-actions { padding:4px 10px; gap:6px; }
.listing-products .result-details,.listing-products .result-actions .button { font-size:.875rem; min-height:44px; }
.listing-products .result-actions .button { padding:6px 8px; }
.listing-visual { position:relative; height:76px; overflow:hidden; background:linear-gradient(125deg,color-mix(in srgb,var(--service-accent,var(--hd-primary)) 14%,white),#f4f7f4); }
.listing-visual-fallback { position:absolute; inset:0; display:grid; place-items:center; color:var(--service-accent,var(--hd-primary)); }
.listing-visual-fallback::before,.listing-visual-fallback::after { content:''; position:absolute; width:100px; height:100px; border:1px solid currentColor; border-radius:50%; opacity:.1; right:-22px; top:-60px; }
.listing-visual-fallback::after { right:auto; left:-45px; top:30px; }
.listing-visual svg { width:42px; height:42px; opacity:.8; }
.listing-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.results-list.listing-products.listing-rail { grid-auto-columns:calc((100% - 42px) / 4); }
.results-list.listing-products.listing-rail:has(> .result-card:only-child) { grid-auto-columns:min(100%,240px); }
.service-card-copy strong { font-size:1rem; }
.service-card-copy small { font-size:.8125rem; line-height:1.45; }
.media-item figcaption,.sponsored-label { font-size:.8125rem; line-height:1.5; }
@media(min-width:768px) and (max-width:1023px) {
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .results-list.listing-products.listing-rail { grid-auto-columns:calc((100% - 28px) / 3); }
}
@media(max-width:767px) {
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .results-list.listing-products.listing-rail,.results-list.listing-products.listing-rail:has(> .result-card:only-child) { grid-auto-columns:calc((100% - 10px) / 2); gap:10px; }
  .listing-visual { height:64px; }
  .listing-products .result-banner { padding:9px 9px 5px; }
  .listing-products .result-body { padding:0 9px 6px; }
  .listing-products .result-actions { padding:3px 8px; }
  .service-card-copy strong { font-size:1rem; }
  .service-card-copy small { font-size:.8125rem; }
}
@media(max-width:359px) {
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:1fr; }
  .results-list.listing-products.listing-rail,.results-list.listing-products.listing-rail:has(> .result-card:only-child) { grid-auto-columns:min(78%,230px); }
}

/* Brand lock-up: supplied HD icon with a restrained green/saffron wordmark. */
.brand-mark,.footer-mark {
  object-fit:cover;
  padding:0;
  border:1px solid #e6bd63;
  background:#fff8e8;
  box-shadow:0 4px 12px rgb(72 52 16 / 16%);
}
.brand-wordmark,.footer-wordmark {
  display:inline-flex;
  align-items:baseline;
  gap:.28em;
  font-family:'Hello Deoria Sans','Nirmala UI',system-ui,sans-serif;
  font-size:1.125rem;
  font-weight:850;
  line-height:1.15;
  letter-spacing:-.025em;
}
.brand-wordmark span:first-child,.footer-wordmark span:first-child { color:#12603f; }
.brand-wordmark span:last-child,.footer-wordmark span:last-child { color:#e66d12; }
.brand-copy small { margin-top:2px; color:#53675d; font-size:.75rem; font-weight:600; line-height:1.35; }
.footer-mark { width:48px; height:48px; border-radius:15px; }
.footer-brand-copy>.footer-wordmark { font-size:1.1875rem; }
@media(max-width:767px) {
  .brand-mark { width:36px; height:36px; border-radius:11px; }
  .brand-wordmark { font-size:1rem; letter-spacing:-.02em; }
}
/* Final compact listing system: simple cards and a reusable mini-site shell. */
.results-list.listing-products:not(.listing-rail) {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.results-list.listing-products.listing-rail { grid-auto-columns:calc((100% - 28px) / 3); }
.results-list.listing-products.listing-rail:has(> .result-card:only-child) { grid-auto-columns:min(100%,340px); }
.listing-products .listing-result {
  border:1px solid #dce4df;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgb(18 54 42 / 5%);
}
.listing-products .listing-result:hover,
.listing-products .listing-result:focus-within {
  border-color:color-mix(in srgb,var(--service-accent,var(--hd-primary)) 44%,#dce4df);
  box-shadow:0 9px 24px rgb(18 54 42 / 10%);
}
.listing-products .result-main-link {
  display:grid;
  grid-template-columns:82px minmax(0,1fr) 20px;
  align-items:center;
  gap:12px;
  min-height:108px;
  padding:12px;
}
.listing-products .listing-visual {
  position:relative;
  grid-column:1;
  width:82px;
  height:82px;
  border-radius:13px;
}
.listing-products .listing-visual svg { width:38px; height:38px; }
.listing-products .result-card-copy { grid-column:2; min-width:0; }
.listing-products .result-banner,
.listing-products .result-body {
  min-height:0;
  padding:0;
  background:transparent;
  color:var(--hd-text);
}
.listing-products .listing-result h3 {
  min-height:0;
  color:#1b3327;
  font-size:1rem;
  font-weight:760;
  line-height:1.4;
  -webkit-line-clamp:2;
}
.listing-products .result-card .result-location {
  margin:4px 0 0;
  color:#596a61;
  font-size:.875rem;
  line-height:1.4;
  -webkit-line-clamp:1;
}
.listing-products .result-body { margin-top:7px; }
.listing-card-meta { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:5px 7px; }
.listing-card-badge,
.listing-service-chip {
  display:inline-flex;
  min-width:0;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  font-size:.75rem;
  line-height:1.3;
}
.listing-card-badge { font-weight:760; }
.listing-card-badge.is-verified { background:#e7f5ed; color:#12603f; }
.listing-card-badge.is-sample { background:#fff2d8; color:#79591f; }
.listing-service-chip {
  overflow:hidden;
  max-width:100%;
  padding-inline:0;
  color:#68756e;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.result-card-arrow {
  grid-column:3;
  color:#98a49d;
  font-size:1.5rem;
  line-height:1;
}
.listing-products .result-actions {
  min-height:52px;
  gap:6px;
  padding:5px 10px;
  border-top:1px solid #edf1ee;
  background:#fff;
}
.listing-products .result-actions .button,
.listing-products .result-details {
  min-height:42px;
  padding:7px 9px;
  font-size:.8125rem;
}
.listing-profile-cover {
  position:relative;
  height:190px;
  overflow:hidden;
  margin-top:12px;
  border-radius:16px;
  background:var(--service-accent,var(--hd-primary));
}
.listing-profile-cover::after {
  position:absolute;
  z-index:1;
  inset:35% 0 0;
  background:linear-gradient(to bottom,transparent,rgb(8 24 17 / 88%));
  content:'';
  pointer-events:none;
}
.listing-profile-cover>.listing-visual {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:0;
  background:linear-gradient(135deg,color-mix(in srgb,var(--service-accent,var(--hd-primary)) 68%,#203d30),color-mix(in srgb,var(--service-accent,var(--hd-primary)) 30%,white));
}
.listing-profile-cover>.listing-visual .listing-visual-fallback { color:#fff; }
.listing-profile-cover>.listing-visual .listing-visual-fallback svg { width:62px; height:62px; opacity:.82; }
.listing-profile-cover .listing-name-banner {
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  margin:0;
  padding:16px 18px;
  border-radius:0;
  background:transparent;
}
.listing-profile-cover .listing-identity { margin-bottom:3px; }
.listing-profile-cover .listing-service-label { color:#fff; font-size:.8125rem; }
.listing-detail .listing-profile-cover h1 {
  margin:0;
  color:#fff;
  font-size:clamp(1.45rem,3vw,2rem);
  line-height:1.3;
}
.listing-profile-cover .profile-address {
  overflow:hidden;
  margin:4px 0 0;
  color:rgb(255 255 255 / 88%);
  font-size:.875rem;
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.listing-section-nav {
  display:flex;
  gap:7px;
  margin-top:12px;
  overflow-x:auto;
  padding:2px 1px 6px;
  scrollbar-width:none;
}
.listing-section-nav::-webkit-scrollbar { display:none; }
.listing-section-nav a {
  display:inline-flex;
  min-height:40px;
  flex:0 0 auto;
  align-items:center;
  padding:7px 12px;
  border:1px solid var(--hd-line);
  border-radius:999px;
  background:#fff;
  color:#42554b;
  font-size:.8125rem;
  font-weight:690;
  text-decoration:none;
}
.listing-section-nav a.is-current {
  border-color:var(--hd-primary);
  background:var(--hd-primary);
  color:#fff;
}
.listing-detail .profile-grid { margin-top:12px; }
.listing-detail .profile-section {
  border-radius:15px;
  box-shadow:0 3px 12px rgb(18 54 42 / 4%);
}
.listing-detail .profile-section h2 { margin-bottom:10px; }
.profile-primary-actions {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:8px;
  margin-top:14px;
}
.profile-primary-actions .button {
  width:100%;
  min-height:44px;
  padding:8px 10px;
  font-size:.875rem;
}
.action-icon { display:inline-grid; width:20px; place-items:center; font-size:1.05rem; line-height:1; }
#listing-overview,#listing-details,#listing-photos,#listing-location { scroll-margin-top:84px; }
@media(min-width:768px) and (max-width:1023px) {
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .results-list.listing-products.listing-rail { grid-auto-columns:calc((100% - 14px) / 2); }
}
@media(max-width:767px) {
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:1fr; gap:10px; }
  .results-list.listing-products.listing-rail,
  .results-list.listing-products.listing-rail:has(> .result-card:only-child) {
    grid-auto-columns:min(88%,360px);
    gap:10px;
  }
  .listing-products .result-main-link {
    grid-template-columns:72px minmax(0,1fr) 18px;
    gap:10px;
    min-height:96px;
    padding:10px;
  }
  .listing-products .listing-visual { width:72px; height:72px; }
  .listing-products .listing-result h3 { font-size:1rem; }
  .listing-products .result-card .result-location { font-size:.8125rem; }
  .listing-card-badge,.listing-service-chip { font-size:.75rem; }
  .listing-profile-cover { height:154px; margin-top:9px; border-radius:14px; }
  .listing-profile-cover .listing-name-banner { padding:13px 14px; }
  .listing-detail .listing-profile-cover h1 { font-size:1.375rem; }
  .listing-section-nav { margin-top:9px; }
  .profile-primary-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* Public experience: one compact hierarchy from discovery to detail. */
.brand-wordmark span:last-child,
.footer-wordmark span:last-child { color:#b45309; }

.service-card { min-height:124px; }
.mobile-nav-item { font-size:.875rem; }

.filter-chip { min-height:44px; padding:8px 13px; font-size:.9375rem; }
.more-filters .discovery-filters { flex-wrap:wrap; overflow:visible; }

.results-list.listing-products:not(.listing-rail) {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.listing-products .result-main-link {
  grid-template-columns:72px minmax(0,1fr) 18px;
  min-height:96px;
  gap:10px;
  padding:10px;
}
.listing-products .listing-visual { width:72px; height:72px; }
.listing-products .listing-result h3 {
  color:color-mix(in srgb,var(--service-accent,var(--hd-primary)) 76%,#17211d);
  font-size:1rem;
}
.listing-products .result-card .result-location {
  color:#52645b;
  font-size:.875rem;
}
.listing-products .result-actions {
  min-height:44px;
  padding:0 9px;
}
.listing-products .result-actions .button {
  width:100%;
  min-height:44px;
  justify-content:center;
  padding:7px 9px;
  font-size:.875rem;
}
.listing-products .result-details { display:none; }

.listing-profile-cover .profile-address {
  display:-webkit-box;
  overflow:hidden;
  white-space:normal;
  text-overflow:clip;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.listing-detail .profile-summary {
  margin:11px 0 0;
  color:#42564c;
}
.listing-trust-row { margin-top:10px; }
.listing-status {
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:.8125rem;
  font-weight:750;
  line-height:1.35;
}
.listing-status.is-verified { background:#e5f4eb; color:#0f6540; }
.listing-status.is-unverified { background:#f2f4f3; color:#56645d; }
.listing-status.is-sample { background:#fff2d8; color:#79591f; }
.listing-primary-actions {
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:11px;
}
.listing-more-actions {
  margin-top:8px;
  border-top:1px solid #e8eeea;
}
.listing-more-actions>summary {
  display:flex;
  min-height:44px;
  align-items:center;
  gap:8px;
  color:var(--hd-primary-strong);
  cursor:pointer;
  font-size:.875rem;
  font-weight:750;
  list-style:none;
}
.listing-more-actions>summary::-webkit-details-marker { display:none; }
.listing-more-actions>summary::after {
  margin-left:auto;
  content:'+';
  font-size:1.15rem;
}
.listing-more-actions[open]>summary::after { content:'−'; }
.listing-more-actions>summary small {
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:999px;
  background:#eef3f0;
  color:#52645b;
  font-size:.75rem;
}
.listing-secondary-action-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:0;
  padding-bottom:4px;
}
.listing-section-nav a { font-size:.875rem; }

@media(max-width:767px) {
  .service-card {
    min-height:112px;
    gap:7px;
    padding:10px 28px 9px 10px;
  }
  .service-card-icon { width:34px; height:34px; }
  .service-card-copy strong { font-size:1rem; }
  .service-card-copy small {
    font-size:.8125rem;
    line-height:1.35;
    -webkit-line-clamp:1;
  }
  .results-list.listing-products:not(.listing-rail) { grid-template-columns:1fr; }
  .results-list.listing-products.listing-rail,
  .results-list.listing-products.listing-rail:has(> .result-card:only-child) {
    grid-auto-columns:min(86%,340px);
  }
  .listing-products .result-main-link {
    grid-template-columns:68px minmax(0,1fr) 16px;
    min-height:88px;
    gap:9px;
    padding:9px;
  }
  .listing-products .listing-visual { width:68px; height:68px; }
  .listing-products .result-card .result-location { font-size:.875rem; }
  .listing-profile-cover { height:150px; }
  .listing-detail .listing-profile-cover h1 { font-size:1.375rem; }
  .listing-primary-actions,
  .listing-secondary-action-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .listing-primary-actions .button,
  .listing-secondary-action-grid .button { padding-inline:5px; font-size:.8125rem; }
}
@media(max-width:359px) {
  .service-card { min-height:96px; }
  .service-card-copy small { display:none; }
  .listing-primary-actions,
  .listing-secondary-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .listing-primary-actions>:nth-child(3) { grid-column:1 / -1; }
}


/* Public discovery: bounded listing rails and clearer mobile navigation. */
.home-featured-listings {
  margin-top:28px;
}
.home-featured-listings .rail-heading {
  align-items:center;
  margin-bottom:11px;
}
.home-featured-listings .rail-heading h2 {
  color:#1d3529;
  font-size:var(--hd-section-title-size);
}
.listing-preview .section-more-link {
  min-height:38px;
  padding:5px 10px;
  border:1px solid #d7e2dc;
  border-radius:999px;
  background:#fff;
}
.listing-preview .section-more-link:hover {
  border-color:var(--hd-primary);
  background:#edf5f1;
}
.rail-controls .icon-button {
  border-radius:999px;
  background:#fff;
}

@media(max-width:767px) {
  .mobile-bottom-nav {
    min-height:calc(68px + env(safe-area-inset-bottom));
    padding:4px 6px env(safe-area-inset-bottom);
    border-top-color:#d2ddd7;
    box-shadow:0 -8px 24px rgb(18 54 42 / 12%);
  }
  .mobile-nav-item {
    position:relative;
    min-height:60px;
    gap:3px;
    border-radius:13px;
    font-size:.875rem;
    font-weight:760;
    line-height:1.2;
  }
  .mobile-nav-item:not(.mobile-nav-location).is-active::before,
  .mobile-nav-more[open]>summary::before {
    position:absolute;
    top:0;
    width:24px;
    height:3px;
    border-radius:0 0 4px 4px;
    background:var(--hd-primary);
    content:'';
  }
  .mobile-nav-item.is-active,
  .mobile-nav-more[open]>summary { color:var(--hd-primary); }
  .mobile-nav-item:active { background:#edf4f0; }
  .mobile-location-icon {
    width:44px;
    height:44px;
    margin-top:-24px;
    border-color:#f5f7f4;
    box-shadow:0 7px 18px rgb(14 70 56 / 28%);
  }
  .mobile-nav-location.is-active .mobile-location-icon {
    outline:3px solid color-mix(in srgb,var(--hd-accent) 70%,white);
    outline-offset:1px;
  }
  .mobile-more-menu {
    right:4px;
    bottom:calc(100% + 12px);
    width:min(330px,calc(100vw - 20px));
    gap:2px;
    padding:7px;
    border-radius:18px;
    box-shadow:0 20px 54px rgb(18 54 42 / 24%);
  }
  .mobile-more-menu .mobile-more-link {
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    min-height:62px;
    align-items:center;
    gap:10px;
    padding:8px 10px;
    border:0;
    border-radius:12px;
  }
  .mobile-more-menu .mobile-more-link:active { background:#edf4f0; }
  .mobile-more-icon {
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border-radius:12px;
    background:#edf5f1;
    color:var(--hd-primary);
  }
  .mobile-more-icon svg {
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-more-link>span:last-child {
    display:grid;
    min-width:0;
    gap:2px;
  }
  .mobile-more-link strong {
    color:var(--hd-text);
    font-size:.875rem;
    line-height:1.35;
  }
  .mobile-more-link small {
    color:var(--hd-muted);
    font-size:.75rem;
    font-weight:500;
    line-height:1.35;
  }
  .home-featured-listings { margin-top:22px; }
  .home-featured-listings .rail-heading h2 { font-size:1.2rem; }
  .listing-preview .section-more-link { min-height:36px; font-size:.8125rem; }
}

.site-footer-compact { margin-top:26px; }
.site-footer-compact .footer-inner { padding:20px 0 13px; }
.site-footer-compact .footer-main {
  grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
  align-items:center;
  gap:28px;
}
.site-footer-compact .footer-brand { align-items:center; gap:10px; }
.site-footer-compact .footer-mark { width:40px; height:40px; border-radius:12px; }
.site-footer-compact .footer-brand-copy>strong { font-size:1.0625rem; }
.site-footer-compact .footer-brand-copy p { margin:2px 0 5px; line-height:1.4; }
.site-footer-compact .footer-place { padding:2px 7px; line-height:1.45; }
.footer-nav-compact { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.footer-nav-compact a {
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px solid #dde5e0;
  border-radius:999px;
  background:rgb(255 255 255 / 72%);
  color:#52645b;
  font-size:.875rem;
  font-weight:650;
  line-height:1.35;
  text-decoration:none;
}
.footer-nav-compact a:hover { border-color:#b9cbc1; background:#fff; color:var(--hd-primary); }
.site-footer-compact .footer-bottom { margin-top:14px; padding-top:10px; }
.site-footer-compact .footer-legal a { min-height:36px; }
@media(max-width:900px) and (min-width:768px) {
  .site-footer-compact .footer-main { grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); gap:20px; }
}
@media(max-width:767px) {
  .site-footer-compact { margin-top:20px; }
  .site-footer-compact .footer-inner { width:min(100% - 20px,1120px); padding:16px 0 10px; }
  .site-footer-compact .footer-main { grid-template-columns:1fr; gap:12px; }
  .site-footer-compact .footer-brand { gap:9px; }
  .site-footer-compact .footer-mark { width:38px; height:38px; border-radius:11px; }
  .site-footer-compact .footer-brand-copy>strong { font-size:1rem; }
  .site-footer-compact .footer-brand-copy p { margin:1px 0 4px; font-size:.875rem; line-height:1.35; }
  .site-footer-compact .footer-place { font-size:.75rem; }
  .footer-nav-compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; justify-content:stretch; }
  .footer-nav-compact a { min-height:40px; padding:5px 6px; font-size:.875rem; text-align:center; }
  .site-footer-compact .footer-bottom { flex-wrap:wrap; margin-top:11px; padding-top:8px; gap:2px 12px; }
  .site-footer-compact .footer-legal { gap:10px; }
  .site-footer-compact .footer-legal a { min-height:32px; }
}
@media(max-width:390px) {
}

@media(max-width:767px) {
  .mobile-bottom-nav {
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:calc(64px + env(safe-area-inset-bottom));
    padding:4px 4px env(safe-area-inset-bottom);
    border-top-color:#d5dfda;
    background:rgb(255 255 255 / 97%);
    box-shadow:0 -7px 22px rgb(18 54 42 / 11%);
  }
  .mobile-nav-item {
    min-height:56px;
    gap:2px;
    padding:4px 1px 3px;
    border-radius:12px;
    color:#62736b;
    font-size:.8125rem;
    font-weight:720;
  }
  .mobile-nav-item>svg { width:21px; height:21px; }
  .mobile-nav-item:not(.mobile-nav-search).is-active::before,
  .mobile-nav-more[open]>summary::before {
    top:0;
    width:22px;
    height:3px;
    background:var(--hd-action);
  }
  .mobile-nav-item.is-active,
  .mobile-nav-more[open]>summary { color:var(--hd-action-strong); }
  .mobile-nav-location { color:#62736b; }
  .mobile-nav-location.is-active { color:var(--hd-action-strong); }
  .mobile-nav-search { color:var(--hd-action-strong); font-weight:800; }
  .mobile-search-icon {
    display:grid;
    width:44px;
    height:44px;
    margin-top:-24px;
    place-items:center;
    border:4px solid var(--hd-background);
    border-radius:50%;
    background:var(--hd-action);
    color:#fff;
    box-shadow:0 7px 17px rgb(153 27 27 / 28%);
  }
  .mobile-search-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-nav-search.is-active .mobile-search-icon { outline:3px solid color-mix(in srgb,var(--hd-accent) 70%,white); outline-offset:1px; }
  .mobile-nav-search.is-active::before { content:none; }
  .mobile-more-menu { right:3px; bottom:calc(100% + 10px); }
}
@media(max-width:359px) {
  .mobile-nav-item { font-size:.75rem; }
  .mobile-nav-item>svg { width:20px; height:20px; }
}
