@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);
}

.trial-mode-banner {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 8px 14px;
  background: #fff1d7;
  color: #684000;
  font-size: .82rem;
  text-align: center;
}
.trial-mode-banner strong { letter-spacing: .04em; }
.trial-mode-banner a { font-weight: 850; }
.trial-info-card { border: 2px solid color-mix(in srgb, var(--hd-accent) 54%, var(--hd-line)); }
.trial-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.trial-rule-grid .content-card { height: 100%; }
.trial-rule-grid h2 { font-size: 1.05rem; }
.trial-primary-action { display: grid; justify-items: start; gap: 8px; }
.trial-primary-action h2, .trial-primary-action p { margin: 0; }
.trial-retain-choice { align-items: flex-start; padding: 12px; border: 1px solid color-mix(in srgb, var(--hd-accent) 55%, var(--hd-line)); border-radius: 13px; background: #fffaf0; }
.trial-retain-choice span { display: grid; gap: 3px; }
.trial-retain-choice small { color: var(--hd-muted); font-weight: 500; line-height: 1.4; }

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

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

.category-sections { display: grid; gap: 18px; }
.category-strip { overflow: hidden; border: 1px solid var(--hd-line); border-radius: 20px; background: var(--hd-surface); box-shadow: 0 8px 26px rgb(18 54 42 / 5%); }
.category-strip-heading { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 68px; padding: 12px 14px; border-bottom: 1px solid var(--hd-line); text-decoration: none; }
.category-strip-heading:hover { color: var(--hd-primary); }
.category-strip-mark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--hd-primary) 12%, white); color: var(--hd-primary); font-weight: 900; }
.category-strip-copy { min-width: 0; }
.category-strip-copy h2 { font-size: clamp(1.02rem, 3.6vw, 1.35rem); }
.category-strip-copy small { display: block; margin-top: 2px; color: var(--hd-muted); font-size: .74rem; }
.category-view-all { color: var(--hd-primary); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.subcategory-rail { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, minmax(0, 1fr)); grid-auto-columns: min(74vw, 270px); gap: 10px; overflow-x: auto; padding: 12px 14px 15px; scroll-padding-inline: 14px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--hd-primary) 32%, transparent) transparent; }
.subcategory-card { position: relative; display: grid; align-content: start; gap: 5px; min-height: 108px; padding: 13px 36px 12px 13px; border: 1px solid var(--hd-line); border-radius: 14px; background: #f9fbfa; text-decoration: none; scroll-snap-align: start; }
.subcategory-card:hover { border-color: var(--hd-primary); background: color-mix(in srgb, var(--hd-primary) 5%, white); }
.subcategory-title { display: -webkit-box; overflow: hidden; color: var(--hd-text); font-size: .94rem; font-weight: 820; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.popular-type-preview { display: -webkit-box; overflow: hidden; color: var(--hd-muted); font-size: .76rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.subcategory-more { color: var(--hd-primary); font-size: .7rem; font-weight: 800; }
.subcategory-arrow { position: absolute; right: 12px; bottom: 10px; color: var(--hd-primary); font-weight: 900; }

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

.choice-card, .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%);
}

.choice-card {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 13px;
  min-height: 112px;
  align-items: center;
  padding: 18px;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.choice-card:hover { transform: translateY(-2px); border-color: var(--hd-primary); box-shadow: var(--hd-shadow); }

.choice-mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 15px;
  background: color-mix(in srgb, var(--hd-primary) 12%, white);
  color: var(--hd-primary);
  font-size: 1.1rem;
  font-weight: 900;
}

.choice-copy p { margin: 6px 0 0; color: var(--hd-muted); font-size: .86rem; }
.choice-arrow { color: var(--hd-primary); font-size: 1.3rem; }
.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); }

.category-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); }
.category-banner h1 { color: var(--hd-text); font-size: clamp(1.8rem, 6vw, 3.6rem); }
.category-banner .search-box { box-shadow: 0 12px 30px rgb(18 54 42 / 10%); }

.type-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.type-pill { display: inline-flex; min-height: 44px; align-items: center; padding: 10px 14px; border: 1px solid var(--hd-line); border-radius: 999px; background: white; color: var(--hd-text); font-weight: 700; text-decoration: none; }
.type-pill:hover { border-color: var(--hd-primary); color: var(--hd-primary); }

.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; }
.account-grid { display:grid; gap:16px; }
.account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.promotion-grid { display:grid; gap:13px; }
.promotion-card { position:relative; overflow:hidden; padding:20px; border-color:color-mix(in srgb,var(--hd-accent) 45%,var(--hd-line)); }
.promotion-card img { width:100%; max-height:260px; margin-bottom:14px; border-radius:12px; object-fit:cover; }
.promotion-card p { color:var(--hd-muted); }
.sponsored-label { display:inline-flex; margin-bottom:9px; padding:4px 8px; border-radius:999px; background:#fff1d7; color:#744700; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.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; }
  .account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .promotion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subcategory-rail { grid-auto-columns: min(40vw, 290px); }
}

@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) {
  .trial-mode-banner { min-height: 38px; align-items: flex-start; gap: 4px 7px; flex-wrap: wrap; padding: 6px 10px; font-size: .7rem; line-height: 1.3; }
  .trial-mode-banner span { flex: 1 1 220px; }
  .trial-rule-grid { grid-template-columns: 1fr; gap: 9px; }
  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; }
  .category-view-all { font-size: 0; }
  .category-view-all span { font-size: 1.35rem; }
  .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; }
}

/* Hello Deoria v1.3.1 — public-first taxonomy and mobile presentation */
.language-short { display: none; }
.compact-heading p { max-width: 680px; }

.category-panel {
  --category-accent: var(--hd-primary);
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--category-accent) 16%, var(--hd-line));
  border-radius: 20px;
  background: var(--hd-surface);
  box-shadow: inset 0 3px 0 color-mix(in srgb, var(--category-accent) 62%, white), 0 12px 30px rgb(18 54 42 / 7%);
}
.category-panel::before {
  position: absolute;
  inset: 0 0 auto;
  height: 78px;
  background: linear-gradient(105deg, color-mix(in srgb, var(--category-accent) 8%, white), transparent 72%);
  content: '';
  pointer-events: none;
}
.category-theme-services { --category-accent: #1f6b5a; }
.category-theme-shopping { --category-accent: #8a5a18; }
.category-theme-education { --category-accent: #4e5fa8; }
.category-theme-health { --category-accent: #a13d54; }
.category-theme-transport { --category-accent: #2f6f9f; }
.category-theme-rentals { --category-accent: #7a6230; }
.category-theme-places { --category-accent: #6a5298; }
.category-theme-information { --category-accent: #426b73; }
.category-panel-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 14px 12px;
}
.category-title-link {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  text-decoration: none;
}
.category-title-link h2 { color: var(--hd-text); font-size: clamp(1.03rem, 3.7vw, 1.35rem); }
.category-title-copy { min-width: 0; }
.category-panel .category-strip-mark {
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--category-accent) 18%, white);
  border-radius: 14px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--category-accent) 18%, white), color-mix(in srgb, var(--category-accent) 7%, white));
  color: var(--category-accent);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--category-accent) 13%, transparent);
}
.category-action,
.category-more-link {
  color: var(--category-accent);
  font-size: .78rem;
  font-weight: 820;
  text-decoration: none;
  white-space: nowrap;
}
.category-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 4px 14px 12px;
}
.quick-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
  min-height: 142px;
  overflow: hidden;
  padding: 15px 42px 14px 14px;
  border: 1px solid color-mix(in srgb, var(--category-accent) 18%, var(--hd-line));
  border-radius: 16px;
  background: white;
  box-shadow: 0 6px 16px rgb(18 54 42 / 6%);
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.quick-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--category-accent), color-mix(in srgb, var(--category-accent) 24%, white));
  content: '';
}
.quick-card:hover,
.quick-card:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--category-accent) 42%, var(--hd-line));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--category-accent) 11%, transparent);
}
.quick-card strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--hd-text);
  font-size: .92rem;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.quick-card-points {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  color: #52655d;
  font-size: .74rem;
  line-height: 1.34;
  list-style: none;
}
.quick-card-points li {
  position: relative;
  overflow: hidden;
  padding-left: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quick-card-points li::before {
  position: absolute;
  top: .48em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--category-accent);
  content: '';
  opacity: .72;
}
.quick-card b {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--category-accent);
  color: white;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 5px 12px color-mix(in srgb, var(--category-accent) 24%, transparent);
}
.category-more-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--category-accent) 16%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--category-accent) 7%, white);
}

.choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.choice-card {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  min-height: 82px;
  gap: 10px;
  padding: 13px;
}
.choice-mark { width: 38px; height: 38px; border-radius: 12px; }
.choice-copy h3 { font-size: .92rem; }

.type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.type-pill {
  min-width: 0;
  min-height: 50px;
  justify-content: flex-start;
  border-radius: 13px;
  font-size: .88rem;
  line-height: 1.28;
}

@media (min-width: 720px) {
  .category-quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .type-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@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-change, .header-add-listing, .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; }

  .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .home-category-card { min-height: 132px; gap: 9px; padding: 12px 30px 11px 11px; border-radius: 14px; }
  .home-category-icon { width: 36px; height: 36px; border-radius: 11px; font-size: .94rem; }
  .home-category-copy strong { font-size: .94rem; line-height: 1.32; }
  .home-category-copy small { font-size: .79rem; line-height: 1.38; }
  .home-category-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; }
  .category-sections { gap: 12px; }
  .category-panel { border-radius: 17px; }
  .category-panel-head { padding: 13px 11px 10px; }
  .category-strip-mark { width: 38px; height: 38px; border-radius: 12px; }
  .category-title-link { gap: 9px; }
  .category-title-link h2 { font-size: .98rem; line-height: 1.28; }
  .category-action { font-size: .7rem; }
  .category-quick-grid { gap: 7px; padding: 3px 10px 10px; }
  .quick-card { min-height: 126px; padding: 13px 40px 12px 12px; border-radius: 14px; }
  .quick-card strong { font-size: .86rem; }
  .quick-card-points { gap: 3px; font-size: .7rem; line-height: 1.32; }
  .quick-card-points li:nth-child(n + 4) { display: none; }
  .category-more-link { padding: 5px 8px; font-size: .68rem; }

  .category-banner { padding: 18px 15px; border-radius: 18px; }
  .category-banner h1 { font-size: clamp(1.55rem, 7vw, 2.1rem); }
  .category-banner > p:not(.eyebrow) { margin: 8px 0 0; color: var(--hd-muted); font-size: .84rem; }
  .category-page-banner { padding-block: 17px; }
  .category-page-head { gap: 10px; }
  .category-page-title { flex: 1 1 auto; gap: 9px; }
  .category-page-mark { width: 38px; height: 38px; border-radius: 11px; font-size: 1.02rem; }
  .category-page-title-copy .eyebrow { margin-bottom: 4px; font-size: .62rem; }
  .category-page-banner h1 { font-size: clamp(1.38rem, 6.4vw, 1.72rem); line-height: 1.08; }
  .category-page-banner .follow-button { min-height: 34px; padding: .36rem .55rem; font-size: .74rem; }
  .category-page-note { margin: 8px 0 0 50px; font-size: .78rem; }
  .category-page-banner .category-page-note { color: rgb(255 255 255 / 78%); }
  .category-page-banner .search-box { margin-top: 11px; }
  .breadcrumbs { margin-bottom: 8px; font-size: .72rem; }

  .choice-grid { gap: 8px; }
  .choice-card { grid-template-columns: 34px minmax(0, 1fr) auto; min-height: 76px; padding: 10px; }
  .choice-mark { width: 34px; height: 34px; }
  .choice-copy h3 { font-size: .82rem; line-height: 1.3; }
  .choice-arrow { font-size: 1.1rem; }

  .type-grid { gap: 7px; }
  .type-pill { min-height: 46px; padding: 9px 10px; border-radius: 11px; font-size: .8rem; }

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

/* v1.3.1 mobile clarity refinements */
@media (max-width: 767px) {
  .brand-copy small { display: none; }
  .brand-copy strong { white-space: nowrap; line-height: 1.05; }
  .category-panel-head { align-items: flex-start; }
  .category-action { padding-top: 3px; }
}
.category-icon { font-size: 1.05rem; line-height: 1; }
@media (max-width: 767px) { .category-icon { font-size: 1rem; } }

/* Hello Deoria v1.6.1 — contextual discovery, layered location and opportunity architecture */
.category-quick-rail {
  display: flex;
  position: relative;
  z-index: 1;
  gap: 12px;
  overflow-x: auto;
  padding: 5px 14px 16px;
  scroll-padding-inline: 14px;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}
.category-quick-rail::-webkit-scrollbar { display: none; }
.category-quick-rail .quick-card {
  flex: 0 0 min(78vw, 260px);
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
.category-quick-rail::after {
  content: '';
  flex: 0 0 10px;
}

.compact-category-banner { padding-block: clamp(20px, 4vw, 34px); }
.category-page-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--category-accent) 54%, #123d31);
  background:
    radial-gradient(circle at 94% 0, color-mix(in srgb, var(--hd-accent) 30%, transparent) 0 13%, transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--category-accent) 88%, #07382e), color-mix(in srgb, var(--category-accent) 56%, #123d31));
  box-shadow: 0 16px 36px color-mix(in srgb, var(--category-accent) 16%, transparent);
  color: white;
}
.category-page-banner::after {
  position: absolute;
  z-index: -1;
  top: -86px;
  right: -48px;
  width: 180px;
  height: 180px;
  border: 28px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: '';
}
.category-page-banner .breadcrumbs { color: rgb(255 255 255 / 70%); }
.category-page-banner .breadcrumbs a { color: #ffe0a6; }
.category-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.category-page-title { display: flex; min-width: 0; align-items: flex-start; gap: 13px; }
.category-page-mark { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; border: 1px solid rgb(255 255 255 / 24%); border-radius: 15px; background: rgb(255 255 255 / 14%); font-size: 1.3rem; box-shadow: 0 8px 18px rgb(0 0 0 / 12%); }
.category-page-title-copy { min-width: 0; }
.category-page-title-copy .eyebrow { margin: 0 0 6px; color: #ffe0a6; }
.category-page-banner h1 { max-width: 720px; color: white; font-size: clamp(1.8rem, 5vw, 3.2rem); letter-spacing: -.02em; text-shadow: 0 2px 0 rgb(0 0 0 / 10%); }
.category-page-banner .follow-button { flex: 0 0 auto; border-color: rgb(255 255 255 / 30%); background: rgb(255 255 255 / 12%); color: white; }
.category-page-banner .follow-button:hover { border-color: rgb(255 255 255 / 58%); background: rgb(255 255 255 / 20%); }
.category-page-note { margin: 12px 0 0 61px; color: rgb(255 255 255 / 78%); font-size: .9rem; }
.category-page-banner .search-box { position: relative; z-index: 1; margin-top: 17px; border-color: rgb(255 255 255 / 22%); background: rgb(255 255 255 / 92%); box-shadow: 0 12px 30px rgb(0 28 21 / 18%); }
.category-page-banner .search-box input { background: white; }
.category-choice-section .section-heading h2 { color: var(--category-accent); }
.branch-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.branch-choice-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 64px;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--category-accent, var(--hd-primary)) 18%, var(--hd-line));
  border-radius: 15px;
  background: var(--hd-surface);
  box-shadow: 0 5px 18px color-mix(in srgb, var(--category-accent, var(--hd-primary)) 8%, transparent);
  color: var(--hd-text);
  font-size: .94rem;
  font-weight: 790;
  line-height: 1.3;
  text-decoration: none;
}
.branch-choice-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--category-accent, var(--hd-primary)); content: ''; }
.branch-choice-copy { display: grid; min-width: 0; gap: 3px; }
.branch-choice-copy strong { color: var(--hd-text); font-size: inherit; line-height: inherit; }
.branch-choice-copy small { display: -webkit-box; overflow: hidden; color: var(--hd-muted); font-size: .79rem; font-weight: 500; line-height: 1.38; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.branch-choice-card b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--category-accent, var(--hd-primary)) 12%, white); color: var(--category-accent, var(--hd-primary)); font-size: 1.05rem; }
.branch-choice-card:hover { border-color: color-mix(in srgb, var(--category-accent, var(--hd-primary)) 44%, var(--hd-line)); background: color-mix(in srgb, var(--category-accent, var(--hd-primary)) 4%, white); }

.branch-hero .eyebrow {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.branch-types { margin-top: 18px; }
.type-rail {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scroll-padding-inline: 2px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.compact-type-pill {
  flex: 0 0 auto;
  min-height: 42px;
  max-width: min(78vw, 300px);
  padding: 9px 13px;
  scroll-snap-align: start;
  white-space: normal;
}

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

@media (min-width: 768px) and (max-width: 1099px) {
  .category-quick-rail .quick-card { flex-basis: min(38vw, 280px); }
}

@media (min-width: 1100px) {
  .category-quick-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
  .category-quick-rail .quick-card { min-width: 0; }
}

@media (max-width: 520px) {
  .branch-choice-grid { grid-template-columns: 1fr; gap: 8px; }
  .branch-choice-card { min-height: 58px; padding: 11px 12px; font-size: .88rem; }
  .category-quick-rail .quick-card { flex-basis: min(76vw, 245px); }
  .compact-type-pill { min-height: 44px; font-size: .8rem; }
}

/* v1.6.1 discovery hubs, Google-first accounts and business onboarding */
.hub-banner { margin-bottom: .75rem; }
.hub-groups { display: grid; gap: 1rem; }
.hub-group { background: var(--hd-surface); border: 1px solid #dfe7e2; border-radius: 18px; padding: 1rem; box-shadow: 0 8px 24px rgba(17, 53, 42, .05); }
.compact-heading { margin-bottom: .7rem; }
.compact-heading h2 { margin: 0; font-size: 1.05rem; }
.hub-branch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.hub-branch-button { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem .8rem; border: 1px solid #d9e4de; border-radius: 14px; background: #fff; color: var(--hd-text); text-decoration: none; font-weight: 700; line-height: 1.25; }
.hub-branch-button:active { transform: scale(.985); }
.narrow-section { max-width: 680px; margin-inline: auto; }
.compact-account-banner { padding-block: 1.25rem; }
.google-login-button { width: 100%; justify-content: center; gap: .65rem; min-height: 52px; }
.google-mark { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: #303134; font-weight: 800; }
.form-help { margin-top: .8rem; color: #5c6963; font-size: .92rem; }
.business-gate-card { align-self: start; }
.business-gate-steps { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.business-gate-steps span, .onboarding-progress span { padding: .45rem .6rem; border-radius: 999px; background: #edf2ef; font-size: .8rem; font-weight: 700; }
.onboarding-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); gap: 1rem; align-items: start; }
.onboarding-progress { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.onboarding-progress span.is-done { background: #dff4e9; color: #0d5a3e; }
.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; }
.onboarding-status-card { position: sticky; top: 90px; }
.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; }
.legacy-login { margin-top: 1rem; }
.legacy-login summary { cursor: pointer; font-weight: 700; }

@media (max-width: 720px) {
  .onboarding-layout { grid-template-columns: 1fr; }
  .onboarding-status-card { position: static; }
  .hub-group { padding: .85rem; border-radius: 16px; }
  .hub-branch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-branch-button { min-height: 56px; padding: .68rem .65rem; font-size: .92rem; }
}

@media (max-width: 360px) {
  .hub-branch-grid { grid-template-columns: 1fr; }
}

/* Discovery hubs and public-detail emphasis */
.hub-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: .75rem;
  border-color: #215947;
  background:
    radial-gradient(circle at 92% 8%, rgb(242 163 58 / 25%) 0 12%, transparent 35%),
    linear-gradient(135deg, #0f503e, #1d735c);
  color: white;
  box-shadow: 0 15px 34px rgb(13 65 49 / 16%);
}
.hub-banner::after { position: absolute; z-index: -1; right: -44px; bottom: -88px; width: 190px; height: 190px; border: 28px solid rgb(255 255 255 / 10%); border-radius: 50%; content: ''; }
.hub-theme-places { border-color: #4f3e82; background: radial-gradient(circle at 92% 8%, rgb(242 163 58 / 25%) 0 12%, transparent 35%), linear-gradient(135deg, #493679, #6a5298); }
.hub-title-row { display: flex; align-items: center; gap: 13px; }
.hub-mark { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; border: 1px solid rgb(255 255 255 / 25%); border-radius: 15px; background: rgb(255 255 255 / 14%); font-size: 1.35rem; box-shadow: 0 8px 18px rgb(0 0 0 / 12%); }
.hub-banner .eyebrow { margin: 0 0 4px; color: #ffe0a6; }
.hub-banner h1 { color: white; font-size: clamp(1.8rem, 5vw, 3.2rem); letter-spacing: -.02em; }
.hub-intro { margin: 12px 0 0 61px; color: rgb(255 255 255 / 82%); font-size: .92rem; }
.hub-group { position: relative; overflow: hidden; }
.hub-group::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--hd-primary), color-mix(in srgb, var(--hd-accent) 65%, white)); content: ''; }
.hub-group .compact-heading h2 { color: var(--hd-primary-strong); font-size: 1.14rem; }
.hub-group .compact-heading p { margin-top: 2px; color: var(--hd-muted); font-size: .78rem; }
.hub-branch-button { transition: transform 150ms ease, border-color 150ms ease, background 150ms ease, box-shadow 150ms ease; }
.hub-branch-button:hover, .hub-branch-button:focus-visible { transform: translateY(-1px); border-color: #a9cabc; background: #f7fbf8; box-shadow: 0 6px 16px rgb(18 54 42 / 8%); }
.hub-branch-button span:last-child { color: var(--hd-primary); font-size: 1.35rem; line-height: 1; }

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

@media (max-width: 520px) {
  .hub-title-row { align-items: flex-start; }
  .hub-mark { width: 42px; height: 42px; border-radius: 13px; font-size: 1.15rem; }
  .hub-banner h1 { font-size: clamp(1.55rem, 7vw, 2.1rem); }
  .hub-intro { margin-left: 0; font-size: .84rem; }
  .hub-group .compact-heading h2 { font-size: 1.02rem; }
}
@media (max-width: 767px) {
  .hub-banner > p.hub-intro { color: rgb(255 255 255 / 82%); }
}
.hero-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.hero-title-row h1 { margin-right: auto; }
.inline-follow-form { margin: 0; }
.follow-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: .45rem .72rem; border: 1px solid #b9c9c1; border-radius: 999px; background: #fff; color: var(--hd-primary-strong); text-decoration: none; font-weight: 800; font-size: .86rem; white-space: nowrap; cursor: pointer; }
.follow-button.is-following { background: #e5f5ed; border-color: #b8ddcb; }
@media (max-width: 520px) { .hero-title-row { align-items: center; } .follow-button { min-height: 36px; padding: .4rem .62rem; font-size: .8rem; } }

/* v1.6.1 contextual opportunities and compact location sheets */
.opportunity-grid { align-items: stretch; }
.opportunity-card { display: flex; flex-direction: column; gap: .72rem; }
.opportunity-card h3, .opportunity-card p { margin: 0; }
.opportunity-card h3 a { color: inherit; text-decoration: none; }
.opportunity-card h3 a:hover { color: var(--hd-primary); }
.opportunity-card-head, .opportunity-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.opportunity-card-actions { margin-top: auto; }
.opportunity-sheet { width: min(92vw, 620px); max-height: min(86vh, 760px); overflow: auto; border: 0; border-radius: 22px; padding: clamp(1.2rem, 4vw, 2rem); color: var(--hd-text); background: var(--hd-surface); box-shadow: 0 28px 80px rgb(9 36 28 / 28%); }
.opportunity-sheet::backdrop { background: rgb(5 24 18 / 58%); backdrop-filter: blur(2px); }
.opportunity-sheet-close { position: sticky; top: 0; z-index: 2; display: flex; justify-content: flex-end; height: 0; }
.opportunity-sheet-close button { width: 42px; height: 42px; border: 1px solid var(--hd-line); border-radius: 50%; background: var(--hd-surface); color: var(--hd-text); font-size: 1.5rem; cursor: pointer; }
.opportunity-sheet .button { margin-top: .8rem; }
.location-detail-sheet .plain-list { margin-bottom: .25rem; }

@media (max-width: 640px) {
  .opportunity-sheet { width: 100%; max-width: none; max-height: 88dvh; margin: auto 0 0; border-radius: 22px 22px 0 0; padding: 1.2rem 1rem calc(1.2rem + env(safe-area-inset-bottom)); }
  .opportunity-card-actions .button { flex: 1 1 auto; }
}

@media (max-width: 767px) {
  .category-page-head { display: block; }
  .category-page-title { width: 100%; }
  .category-page-banner h1 { font-size: clamp(1.38rem, 6.4vw, 1.72rem); line-height: 1.08; }
  .category-page-head > .follow-button { display: inline-flex; margin-top: 9px; }
  .category-page-banner > p.category-page-note { color: rgb(255 255 255 / 78%); }
}

/* Public discovery components. Shared typography is defined below. */
.discovery-heading { padding: 24px; border-radius: 20px; border-top: 3px solid var(--category-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; }
.branch-filters { margin-top: 22px; scroll-margin-top: 86px; }
.branch-filters h2 { margin-bottom: 10px; font-size: 1.05rem; }
.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(--category-accent, var(--hd-primary)); background: #f0f6f2; }
.filter-chip.is-selected { border-color: var(--category-accent, var(--hd-primary)); background: var(--category-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; }
.branch-listings, .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; }
.branch-page .empty-state, .discovery-search-results .empty-state { background: white; border-style: solid; border-color: #dbe4df; }
.branch-page .empty-state h3, .discovery-search-results .empty-state h3 { font-size: 1.15rem; }
.branch-page .empty-state p, .discovery-search-results .empty-state p { font-size: 1rem; }
.pager { align-items: center; gap: 10px; }
.pager-position { font-size: .9rem; color: var(--hd-muted); }
.discovery-follow { margin-top: 18px; }
.result-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid #d8e3dc; border-left: 3px solid var(--category-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(--category-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; }
.demo-label { display: inline-flex; flex-shrink: 0; align-items: center; padding: 3px 8px; border: 1px solid #e9d4ad; border-radius: 6px; background: #fff8e9; color: #79591f; font-size: .75rem; font-weight: 700; }
.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(--category-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; }
.category-page-banner { padding: 24px; }
.category-page-title-copy .eyebrow { display: none; }
.category-page-banner h1 { font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.3; }
.category-page-banner .category-page-note { margin: 10px 0 0; font-size: 1rem; line-height: 1.5; }
.category-page-banner .search-box { margin-top: 13px; box-shadow: none; }
.category-choice-section .compact-heading h2 { font-size: 1.2rem; }
.branch-choice-card { font-size: 1rem; line-height: 1.5; min-height: 62px; box-shadow: 0 2px 9px rgb(18 54 42 / 3%); }
.hub-group .compact-heading h2 { font-size: 1.15rem; line-height: 1.45; }
.hub-branch-button { font-size: 1rem; line-height: 1.5; }
.listing-detail .profile-hero { border-top: 3px solid var(--category-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-kind { color: var(--category-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; }
.demo-notice { margin: 14px 0 0; padding: 10px 13px; border-radius: 10px; background: #fff9ed; color: #725722; font-size: .95rem; line-height: 1.65; }
.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; }
  .branch-filters { margin-top: 18px; }
  .filter-chip { padding: 8px 12px; font-size: .96rem; }
  .discovery-results-heading h2 { font-size: 1.2rem; }
  .branch-choice-grid, .hub-branch-grid { grid-template-columns: 1fr; }
  .branch-choice-card, .hub-branch-button { min-height: 52px; padding: 10px 13px; font-size: var(--hd-card-title-size); line-height: 1.45; }
  .hub-group .compact-heading h2 { font-size: 1.08rem; }
  .category-page-banner { padding: 18px 15px; }
  .category-page-banner h1 { font-size: 1.55rem; line-height: 1.3; }
  .category-page-banner .category-page-mark { width: 38px; height: 38px; border-radius: 11px; font-size: 1.1rem; }
  .category-page-banner > p.category-page-note { margin: 9px 0 0; font-size: .94rem; }
  .category-page-banner .search-box input { font-size: 1rem; }
  .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 type 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,
.category-title-link h2, .hub-group .compact-heading h2,
.category-choice-section .compact-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,
.category-page-banner .search-box input, .discovery-heading .search-box input { font-size: var(--hd-body-size); min-height: 48px; }

.hub-banner, .category-page-banner, .discovery-heading, .compact-account-banner, .nearby-banner {
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--category-accent, var(--hd-primary)) 55%, #123d31);
  border-radius: 22px;
  background: linear-gradient(115deg, color-mix(in srgb, var(--category-accent, var(--hd-primary)) 85%, #073e32), color-mix(in srgb, var(--category-accent, var(--hd-primary)) 82%, #667844));
  color: white;
  box-shadow: 0 10px 28px rgb(18 54 42 / 10%);
}
.hub-banner h1, .category-page-banner h1, .discovery-heading h1,
.compact-account-banner 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;
}
.hub-banner h1, .category-page-banner h1, .discovery-heading h1,
.compact-account-banner h1, .nearby-banner h1 { color: white; }
.hub-intro, .category-page-banner > p.category-page-note,
.discovery-heading .discovery-intro, .compact-account-banner > p:not(.eyebrow), .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,
.category-page-banner .breadcrumbs, .category-page-banner .breadcrumbs a { color: #f7e6c8; }
.discovery-search-label { color: #edf6f1; font-size: var(--hd-small-size); }
.hub-mark, .category-page-mark { width: 44px; height: 44px; border-radius: 13px; }
.hub-title-row, .category-page-title { align-items: center; }
.hub-title-row .eyebrow { margin-bottom: 3px; }
.hub-theme-services { --category-accent: #1f6b5a; }
.hub-theme-places { --category-accent: #6a5298; }

.category-panel, .hub-group { border-radius: 18px; box-shadow: 0 4px 16px rgb(18 54 42 / 5%); }
.hub-groups, .category-sections { gap: 24px; }
.hub-group { min-width: 0; padding: 18px; border-top: 3px solid var(--category-accent, var(--hd-primary)); background: linear-gradient(115deg, color-mix(in srgb, var(--category-accent, var(--hd-primary)) 5%, white), white 65%); }
.hub-group .compact-heading h2 { color: color-mix(in srgb, var(--category-accent, var(--hd-primary)) 85%, #14261d); }
 .branch-choice-card, .hub-branch-button { min-width: 0; min-height: 52px; font-size: var(--hd-card-title-size); font-weight: 600; line-height: 1.45; border-radius: 12px; padding: 10px 13px; }
.branch-choice-card span, .hub-branch-button span:first-child { overflow-wrap: anywhere; }
 .quick-card { min-height: 154px; aspect-ratio: 1.62 / 1; padding: 14px 34px 18px 14px; box-shadow: 0 3px 10px rgb(18 54 42 / 4%); }
.quick-card strong { display: block; font-size: var(--hd-card-title-size); font-weight: 700; line-height: 1.5; -webkit-line-clamp: unset; overflow: visible; }
 .quick-card-points { font-size: var(--hd-detail-size); line-height: 1.5; gap: 3px; color: #40584c; }
.quick-card-points li { white-space: normal; overflow: visible; }
.category-more-link, .section-more-link { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: var(--hd-small-size); font-weight: 700; color: var(--hd-primary-strong); text-decoration: none; white-space: nowrap; }
.category-more-link { padding: 5px 8px; }
.more-branches { margin-top: 8px; }
.more-branches summary { display: flex; align-items: center; gap: 8px; width: fit-content; min-height: 44px; padding: 6px 2px; font-size: var(--hd-detail-size); font-weight: 600; color: var(--hd-primary-strong); cursor: pointer; list-style: none; }
.more-branches summary::-webkit-details-marker { display: none; }
.more-branches summary::after { content: '+'; font-size: 1.25rem; }
.more-branches[open] summary::after { content: '−'; }
.more-branches .hub-branch-grid, .more-branches .branch-choice-grid { margin-top: 8px; }

/* Listing identity reads like a small local signboard. */
.result-card { min-width: 0; border: 1px solid color-mix(in srgb, var(--category-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(--category-accent, var(--hd-primary)) 88%, #15291f), var(--category-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-banner .demo-label { border-color: #fff0c6; background: #fff3d6; color: #614410; font-size: var(--hd-small-size); }
.result-body { flex: 1; padding: 16px 18px; background: color-mix(in srgb, var(--category-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-kind, .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-kind { font-size: var(--hd-detail-size); }
.listing-detail .profile-hero { padding: 22px; }

.listing-preview { min-width: 0; margin-top: 28px; }
.hub-group .listing-preview { padding-top: 18px; margin-top: 16px; border-top: 1px solid var(--hd-line); }
.hub-group .listing-preview-connected { padding-top: 0; margin-top: 18px; border-top: 0; }
.empty-branch-preview { padding: 16px 0; border-bottom: 1px solid var(--hd-line); }
.empty-branch-preview p { color: var(--hd-muted); margin: 0; }
.hub-group .rail-heading h3 { font-size: 1.125rem; color: #334f40; }
.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; }
  .hub-banner, .category-page-banner, .discovery-heading, .compact-account-banner, .nearby-banner { padding: 18px 16px; border-radius: 18px; }
  .hub-banner h1, .category-page-banner h1, .discovery-heading h1,
  .compact-account-banner h1, .nearby-banner h1 { font-size: var(--hd-page-title-size); line-height: 1.4; }
  .category-page-banner > p.category-page-note, .hub-intro { font-size: var(--hd-body-size); }
  .hub-mark, .category-page-banner .category-page-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .category-title-link h2 { font-size: var(--hd-section-title-size); }
  .category-panel-head { padding: 14px 12px 10px; gap: 8px; align-items: center; flex-wrap: wrap; }
  .category-title-link { flex: 1 1 180px; }
  .category-more-link { margin-left: auto; }
  .category-quick-rail .quick-card { flex-basis: min(88%, 320px); }
   .quick-card { min-height: 148px; aspect-ratio: 1.58 / 1; padding: 13px 34px 16px 14px; }
  .quick-card strong { font-size: var(--hd-card-title-size); }
  .quick-card-points { font-size: var(--hd-detail-size); line-height: 1.6; }
  .branch-choice-card, .hub-branch-button { font-size: var(--hd-card-title-size); }
  .hub-group { padding: 14px 12px; }
  .hub-group .compact-heading h2 { font-size: var(--hd-section-title-size); }
  .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); }
#bus-routes { scroll-margin-top:90px; }
.bus-boarding-note { border-left:3px solid #d3c8e4; padding-left:14px; margin:16px 0; }
.bus-route-list { display:grid; gap:12px; margin:16px 0; }
.bus-route-card { padding:16px; border:1px solid #dde4df; border-radius:12px; }
.bus-route-card .field-row dd { overflow-wrap:anywhere; }
.station-first { gap:18px; }
.station-first .content-card { padding:22px; }
.station-first .station-overview { border-top:4px solid #6a548f; }
.station-heading-row { display:flex; align-items:center; gap:16px; margin:16px 0 12px; }
.station-heading-row > div { min-width:0; }
.station-first h1 { margin:0; font-size:clamp(1.4rem,3vw,2rem); line-height:1.4; }
.station-first h2 { font-size:1.25rem; line-height:1.5; margin:0 0 12px; }
.station-first h3 { font-size:1rem; line-height:1.5; margin:0 0 6px; }
.station-symbol { display:grid; place-items:center; width:56px; height:56px; flex:0 0 56px; border-radius:14px; background:#f0ebf7; color:#604781; }
.station-symbol svg { width:36px; height:36px; }
.station-subline,.station-first .station-muted { font-size:.875rem; line-height:1.65; color:#56635b; margin:8px 0; }
.station-demo-note,.station-data-note { font-size:.875rem; line-height:1.6; color:#6c592f; margin:12px 0; }
.station-local-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:16px; }
.station-local-actions .button { min-height:44px; }
.station-facts { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.station-facts p { margin:6px 0; font-size:1rem; line-height:1.65; }
.station-facility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.station-facility { border:1px solid #dfe5e0; border-radius:12px; padding:16px; background:#fff; min-width:0; }
.facility-status { display:inline-flex; align-items:flex-start; gap:5px; font-size:.875rem; line-height:1.6; }
.status-available { color:#176045; }
.status-unavailable { color:#48515c; }
.status-unverified { color:#885a12; }
.status-unknown { color:#66716a; }
.station-facility p,.facility-evidence { font-size:.875rem; line-height:1.6; margin:8px 0 0; }
.facility-evidence summary { min-height:32px; padding:4px 0; cursor:pointer; }
.facility-evidence a { display:inline-block; padding:8px 0; }
.station-correction-link { display:inline-block; padding:12px 0 0; font-size:.875rem; min-height:44px; }
#station-facilities,#station-report { scroll-margin-top:90px; }
.station-first .station-last-links { background:#f7f9f7; }
.station-first .railway-links-grid { gap:8px; }
.station-first .railway-resource { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-color:#e0e5e0; background:#fff; }
.station-first .railway-resource strong { font-size:1rem; color:#2b4c3e; }
.station-first .railway-resource span { flex-shrink:0; font-size:.8125rem; }
@media(max-width:767px) {
 .station-first .content-card { padding:16px; }
 .station-heading-row { gap:10px; }
 .station-symbol { width:44px; height:44px; flex-basis:44px; }
 .station-symbol svg { width:30px; height:30px; }
 .station-facts { grid-template-columns:1fr; gap:14px; }
 .station-facility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .station-facility { padding:12px; }
 .station-first .railway-resource { align-items:flex-start; flex-direction:column; gap:3px; }
}
@media(max-width:359px) { .station-facility-grid { grid-template-columns:1fr; } }

/* 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,.hub-location-context { border:0; color:var(--hd-primary-strong); background:#edf5f1; font:inherit; cursor:pointer; }
.location-context-chip { min-height:34px; }
.active-location-note,.hub-location-context { display:inline-flex; align-items:center; gap:6px; margin:0 0 14px; padding:7px 10px; border-radius:999px; font-size:.8125rem; font-weight:720; }
.hub-location-context { margin:12px 0 0; color:white; background:rgb(255 255 255 / 17%); }
@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; }
}
.railway-detail .station-code { margin:8px 0 0; font-size:1rem; }
.station-code strong { font-weight:600; }
.station-link-note { margin:10px 0 0; font-size:.875rem; line-height:1.65; color:#526459; }
.railway-links-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.railway-resource { display:flex; flex-direction:column; gap:7px; padding:16px; border:1px solid #d9d5e6; border-radius:12px; background:#fcfbff; color:#304339; text-decoration:none; min-width:0; }
.railway-resource:hover { border-color:#6c569b; background:#f4f0fb; }
.railway-resource:focus-visible { outline:3px solid #6c569b; outline-offset:3px; }
.railway-resource strong { font-size:1rem; color:#514071; line-height:1.5; }
.railway-resource > span:last-child { font-size:.875rem; line-height:1.6; }
.railway-provider { display:flex; justify-content:space-between; font-size:.8125rem; color:#646170; }
#station-address { scroll-margin-top:90px; }
.station-card-code { font-size:.875rem; color:#514071; }
@media(max-width:540px) { .railway-links-grid { grid-template-columns:1fr; } .railway-detail .station-actions { display:grid; grid-template-columns:1fr; } }
.local-listing-dialog { width:min(520px,calc(100% - 32px)); box-sizing:border-box; border:1px solid #b7cbc2; border-radius:16px; padding:24px; color:#243e32; background:#fff; }
.local-listing-dialog::backdrop { background:rgb(10 30 20 / .45); }
.local-listing-dialog h2 { font-size:1.25rem; }
.local-listing-dialog p { font-size:1rem; line-height:1.65; overflow-wrap:anywhere; }
.local-preview-gallery .listing-visual { height:150px; }
.local-preview-gallery figcaption { padding:10px; font-size:.875rem; }
.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(--category-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(--category-accent,var(--hd-primary)) 14%,white),#f4f7f4); }
.listing-visual-fallback { position:absolute; inset:0; display:grid; place-items:center; color:var(--category-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; }
.listing-visual .demo-label { position:absolute; top:6px; right:6px; font-size:.75rem; padding:2px 6px; }
.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); }
.home-category-copy strong { font-size:1rem; }
.home-category-copy small { font-size:.8125rem; line-height:1.45; }
.branch-choice-copy small { font-size:.875rem; line-height:1.5; }
.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; }
  .home-category-copy strong { font-size:1rem; }
  .home-category-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(--category-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-card-type {
  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-card-type {
  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(--category-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(--category-accent,var(--hd-primary)) 68%,#203d30),color-mix(in srgb,var(--category-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-visual .demo-label { z-index:3; }
.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-kind { 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-card-type { 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 v2: one compact hierarchy from discovery to detail. */
.brand-wordmark span:last-child,
.footer-wordmark span:last-child { color:#b45309; }

.home-category-card { min-height:124px; }
.quick-card { min-height:120px; aspect-ratio:auto; }
.mobile-nav-item { font-size:.875rem; }

.branch-step-heading {
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:10px;
}
.branch-step-number {
  display:grid;
  width:28px;
  height:28px;
  flex:0 0 28px;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,var(--category-accent,var(--hd-primary)) 12%,white);
  color:var(--category-accent,var(--hd-primary));
  font-size:.8125rem;
  font-weight:850;
}
.branch-step-heading h2 { margin:0; }
.branch-step-heading p {
  margin:2px 0 0;
  color:var(--hd-muted);
  font-size:.875rem;
  line-height:1.5;
}
.discovery-results-heading>.branch-step-heading { flex:1 1 240px; }
.branch-filter-rail { flex-wrap:nowrap; overflow-x:auto; padding:2px 1px 6px; scrollbar-width:none; }
.branch-filter-rail::-webkit-scrollbar { display:none; }
.branch-filter-rail .filter-chip { flex:0 0 auto; }
.filter-chip { min-height:44px; padding:8px 13px; font-size:.9375rem; }
.more-filters .discovery-filters { flex-wrap:wrap; overflow:visible; }
.category-banner.branch-hero.discovery-heading .discovery-intro { color:#fff !important; opacity:1; }

.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(--category-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; }
.demo-notice { padding:8px 10px; font-size:.875rem; line-height:1.5; }

.opportunity-banner {
  border-color:#125442;
  background:linear-gradient(115deg,#0e4638,#236f5c);
  color:#fff;
}
.opportunity-banner h1 { color:#fff; }
.opportunity-banner>.breadcrumbs,
.opportunity-banner>.breadcrumbs a { color:#f7e6c8; }
.opportunity-banner>.eyebrow { color:#ffd48b; }
.opportunity-banner>p:not(.eyebrow) { color:#edf6f1; }
.opportunity-banner .public-search {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:14px;
  padding:5px;
  border-radius:13px;
  background:#fff;
}
.opportunity-banner .public-search input {
  min-width:0;
  min-height:44px;
  padding:8px 10px;
  border:0;
  border-radius:9px;
  background:#f6f8f7;
  color:var(--hd-text);
  font-size:1rem;
}
.opportunity-banner .public-search .button { min-height:44px; }

@media(max-width:767px) {
  .home-category-card {
    min-height:112px;
    gap:7px;
    padding:10px 28px 9px 10px;
  }
  .home-category-icon { width:34px; height:34px; }
  .home-category-copy strong { font-size:1rem; }
  .home-category-copy small {
    font-size:.8125rem;
    line-height:1.35;
    -webkit-line-clamp:1;
  }
  .quick-card { min-height:116px; padding:12px 32px 13px 12px; }
  .branch-filters { margin-top:16px; }
  .branch-listings { margin-top:20px; }
  .branch-step-heading p { font-size:.8125rem; }
  .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) {
  .home-category-card { min-height:96px; }
  .home-category-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 v3: bounded listing rails and clearer mobile navigation. */
.home-featured-listings,
.category-featured-listings {
  margin-top:28px;
}
.category-featured-listings {
  padding-top:22px;
  border-top:1px solid var(--hd-line);
}
.home-featured-listings .rail-heading,
.category-featured-listings .rail-heading {
  align-items:center;
  margin-bottom:11px;
}
.home-featured-listings .rail-heading h2,
.category-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,
  .category-featured-listings { margin-top:22px; }
  .category-featured-listings { padding-top:18px; }
  .home-featured-listings .rail-heading h2,
  .category-featured-listings .rail-heading h2 { font-size:1.2rem; }
  .listing-preview .section-more-link { min-height:36px; font-size:.8125rem; }
}

/* Compact opportunities rail and essential footer. */
.home-opportunity-heading { align-items:center; }
.home-opportunity-title { display:flex; min-width:0; align-items:center; gap:11px; }
.home-opportunity-title>div { min-width:0; }
.home-opportunity-title h2 { color:#1d3529; }
.home-opportunity-title p { max-width:620px; }
.home-opportunity-symbol {
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid #f0c7c7;
  border-radius:13px;
  background:#fff2f2;
  color:var(--hd-action);
}
.home-opportunity-symbol svg,
.opportunity-kind-icon svg,
.home-opportunity-more svg,
.opportunity-compact-arrow svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-opportunity-more {
  min-height:40px;
  padding:6px 11px;
  border:1px solid #e2d7d4;
  border-radius:999px;
  background:#fff;
  color:var(--hd-action-strong);
}
.home-opportunity-more svg { width:17px; height:17px; }
.home-opportunity-more:hover { border-color:#d9a7a7; background:#fff5f5; }
.home-opportunity-rail {
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px) / 3);
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 10px;
  scroll-padding-inline:2px;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#c6d3cc transparent;
}
.home-opportunity-rail::-webkit-scrollbar { height:5px; }
.home-opportunity-rail::-webkit-scrollbar-thumb { border-radius:999px; background:#c6d3cc; }
@media(min-width:901px) {
  .home-opportunity-rail:has(> .opportunity-card:only-child) { grid-auto-columns:min(100%,360px); }
  .home-opportunity-rail:has(> .opportunity-card:nth-child(2):last-child) { grid-auto-columns:calc((100% - 12px) / 2); }
}
.opportunity-card-compact {
  min-width:0;
  overflow:hidden;
  border:1px solid #e0e6e2;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 0 3px 0 color-mix(in srgb,var(--hd-action) 72%,white),0 5px 14px rgb(18 54 42 / 5%);
  scroll-snap-align:start;
  transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease;
}
.opportunity-card-compact:hover {
  border-color:#d9b6b3;
  box-shadow:inset 0 3px 0 var(--hd-action),0 9px 20px rgb(18 54 42 / 9%);
  transform:translateY(-1px);
}
.opportunity-compact-link {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  min-height:116px;
  height:100%;
  align-items:center;
  gap:11px;
  padding:13px;
  color:inherit;
  text-decoration:none;
}
.opportunity-kind-icon {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:13px;
  background:#fff0f0;
  color:var(--hd-action);
}
.opportunity-card-compact[data-opportunity-kind="training"] .opportunity-kind-icon,
.opportunity-card-compact[data-opportunity-kind="internship"] .opportunity-kind-icon { background:#edf5f1; color:var(--hd-primary); }
.opportunity-card-compact[data-opportunity-kind="tender"] .opportunity-kind-icon,
.opportunity-card-compact[data-opportunity-kind="announcement"] .opportunity-kind-icon { background:#fff6e8; color:#98600e; }
.opportunity-compact-content { display:grid; min-width:0; gap:3px; }
.opportunity-kind-label {
  color:var(--hd-action-strong);
  font-size:.8125rem;
  font-weight:780;
  line-height:1.35;
}
.opportunity-card-compact h3 {
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#1d2c25;
  font-size:1rem;
  font-weight:750;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.opportunity-context {
  overflow:hidden;
  color:#63736b;
  font-size:.875rem;
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.opportunity-compact-arrow { display:grid; width:24px; height:32px; place-items:center; color:#9b3b37; }
.opportunity-compact-arrow svg { width:18px; height:18px; }

.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) {
  .home-opportunity-rail { grid-auto-columns:calc((100% - 12px) / 2); }
  .site-footer-compact .footer-main { grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); gap:20px; }
}
@media(max-width:767px) {
  .home-opportunity-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
  .home-opportunity-title { gap:9px; }
  .home-opportunity-symbol { flex-basis:38px; width:38px; height:38px; border-radius:12px; }
  .home-opportunity-symbol svg { width:20px; height:20px; }
  .home-opportunity-title h2 { font-size:1.2rem; line-height:1.35; }
  .home-opportunity-title p { margin-top:2px; font-size:.875rem; line-height:1.4; }
  .home-opportunity-more { min-height:36px; padding:5px 9px; font-size:.8125rem; }
  .home-opportunity-rail { grid-auto-columns:min(86%,320px); gap:10px; padding-bottom:8px; }
  .opportunity-compact-link { grid-template-columns:40px minmax(0,1fr) 20px; min-height:108px; gap:10px; padding:11px; }
  .opportunity-kind-icon { width:40px; height:40px; border-radius:12px; }
  .opportunity-card-compact h3 { font-size:1rem; }
  .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) {
  .home-opportunity-symbol { display:none; }
  .home-opportunity-title h2 { font-size:1.125rem; }
  .home-opportunity-title p { font-size:.8125rem; }
}

/* Compact opportunity results and balanced five-item mobile navigation. */
.opportunity-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.opportunity-card-list {
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe6e2;
  border-radius:16px;
  background:#fff;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--hd-action) 72%,white),0 5px 14px rgb(18 54 42 / 5%);
  transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
}
.opportunity-card-list:hover {
  border-color:#d9b6b3;
  box-shadow:inset 3px 0 0 var(--hd-action),0 9px 20px rgb(18 54 42 / 9%);
  transform:translateY(-1px);
}
.opportunity-list-link {
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 24px;
  min-height:160px;
  height:100%;
  align-items:start;
  gap:12px;
  padding:15px;
  color:inherit;
  text-decoration:none;
}
.opportunity-list-icon {
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border-radius:14px;
  background:#fff0f0;
  color:var(--hd-action);
}
.opportunity-list-icon svg,
.opportunity-list-arrow svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.opportunity-card-list[data-opportunity-kind="training"] .opportunity-list-icon,
.opportunity-card-list[data-opportunity-kind="internship"] .opportunity-list-icon { background:#edf5f1; color:var(--hd-primary); }
.opportunity-card-list[data-opportunity-kind="tender"] .opportunity-list-icon,
.opportunity-card-list[data-opportunity-kind="announcement"] .opportunity-list-icon { background:#fff6e8; color:#98600e; }
.opportunity-list-content { display:grid; min-width:0; gap:5px; }
.opportunity-list-meta { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:5px 8px; }
.opportunity-category-label,
.opportunity-list-date {
  overflow:hidden;
  color:#5a6d63;
  font-size:.8125rem;
  font-weight:650;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.opportunity-category-label::before { margin-right:7px; color:#b4c0ba; content:'•'; }
.opportunity-list-date { margin-left:auto; color:#8a514d; }
.opportunity-card-list h3 {
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#1d2c25;
  font-size:1.0625rem;
  font-weight:760;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.opportunity-list-summary {
  display:-webkit-box;
  overflow:hidden;
  color:#506159;
  font-size:1rem;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.opportunity-list-context {
  display:flex;
  min-width:0;
  align-items:center;
  gap:6px;
  overflow:hidden;
  color:#687971;
  font-size:.875rem;
  line-height:1.4;
  white-space:nowrap;
}
.opportunity-list-context span { overflow:hidden; text-overflow:ellipsis; }
.opportunity-list-arrow { display:grid; align-self:center; width:24px; height:34px; place-items:center; color:#9b3b37; }
.opportunity-list-arrow svg { width:18px; height:18px; }

@media(max-width:767px) {
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  .opportunity-page-grid { grid-template-columns:1fr; gap:10px; }
  .opportunity-list-link { grid-template-columns:40px minmax(0,1fr) 20px; min-height:142px; gap:10px; padding:12px; }
  .opportunity-list-icon { width:40px; height:40px; border-radius:12px; }
  .opportunity-list-icon svg { width:20px; height:20px; }
  .opportunity-card-list h3 { font-size:1rem; }
  .opportunity-list-summary { font-size:1rem; line-height:1.45; }
  .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; }
}
