/* Public pages only. Keep the dashboard bundle and private forms unchanged. */
.site-header .brand-subtitle { display: none; }
.site-header .brand-name { letter-spacing: -.025em; }
.site-header .language-switch { padding: 0; border-radius: .5rem; }
.site-header .language-switch button { min-width: 2.75rem; min-height: 2.75rem; border-radius: .4rem; }
.site-header .nav-link { font-weight: 500; letter-spacing: 0; }
.site-header .nav-toggle { border-radius: .5rem; }
.page-main .button, .site-modal .button, .drawer-dialog .button { border-radius: .5rem; font-weight: 600; letter-spacing: 0; box-shadow: none; }
.page-main .button:hover { transform: none; box-shadow: none; }
.page-main .text-link, .footer-links a { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* A clear title, one primary action, then the directory. */
.home-page .hero { min-height: 27rem; }
.home-page .hero-content { padding-block: 3rem; }
.home-page .hero .eyebrow { gap: 0; font-size: .75rem; font-weight: 500; letter-spacing: .08em; }
.home-page .hero .eyebrow::before { display: none; }
.hero .home-brand-title { max-width: 40rem; font-size: clamp(3rem, 5.5vw, 4.7rem); }
.home-brand-title__description { max-width: 32ch; margin-top: .9rem; font-family: var(--sans); font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.5; letter-spacing: -.015em; font-weight: 400; text-wrap: pretty; }
.home-page .hero .lede { max-width: 31rem; margin-top: 1rem; font-size: .9rem; color: #d0d0c8; }
.home-page .hero-actions { gap: 1.25rem; margin-top: 1.4rem; }
.home-page .hero-actions .button--outline-light { border-color: transparent; background: transparent; padding-inline: 0; text-decoration: underline; text-underline-offset: .3em; }
.home-page .section { padding-block: clamp(2rem, 4vw, 3rem); }
.home-page .section-title { font-family: var(--sans); font-size: clamp(1.35rem, 2.2vw, 1.8rem); font-weight: 500; letter-spacing: -.025em; }
.home-directory { background: #0c0f0d; }
.home-directory__heading { margin-bottom: 1.25rem; }
.home-directory-search { padding: 0 0 1.5rem; margin-bottom: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; }
.home-directory-search .field { align-content: start; }
.home-directory-search label { font-size: .8rem; font-weight: 500; }
.home-directory-search select { min-height: 2.75rem; border-radius: .45rem; font-size: .88rem; }
.home-directory-grid { gap: 1.25rem; padding-block: .65rem 0; }
.home-directory-card { flex: 0 0 auto; min-height: 2.75rem; padding: .35rem 0; border: 0; border-radius: 0; background: none; gap: .5rem; }
.home-directory-card:hover { transform: none; background: none; }
.home-directory-card strong { font-size: .82rem; font-weight: 500; }
.home-directory-card__count { font: 500 .8rem var(--sans); font-variant-numeric: tabular-nums; color: #cbb98e; }
.home-directory-card__arrow { display: none; }
.home-page .home-guide--compact, .home-page .home-provider-access { padding-block: 1.75rem; background: #0c0f0d; border-top: 1px solid var(--line); }
.home-page .home-guide--compact .section-title, .home-page .home-provider-access .section-title { font-size: 1.1rem; }
.home-page .home-guide--compact .lede, .home-page .home-provider-access .lede { margin-top: .6rem; font-size: .86rem; line-height: 1.65; }
.city-link-grid { gap: 0 1.5rem; }
.city-link { min-height: 3.75rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.city-link:hover { background: none; }
.city-link strong { font-family: var(--sans); font-size: .9rem; font-weight: 500; }
.city-link small { font-size: .75rem; }

/* Photo-led results: quiet borders and a consistent information hierarchy. */
.discover-page .page-hero { padding-block: 1.5rem; }
.discover-page .page-hero .breadcrumb { margin-bottom: .7rem; }
.discover-page .page-title { font-size: clamp(2rem, 3.8vw, 3rem); }
.directory-shortcuts { background: none; }
.directory-shortcuts__inner { gap: 1.2rem; }
.directory-shortcuts a, .directory-shortcuts button { min-height: 2.75rem; padding-inline: 0; border: 0; border-radius: 0; background: none; font-weight: 500; }
.discover-toolbar { background: #0c0f0d; }
.result-count { font-size: .85rem; }
.directory-pagination a { min-width: 2.75rem; min-height: 2.75rem; }
.profile-grid { gap: 1.5rem 1rem; }
.profile-card { border: 0; border-radius: 0; background: none; box-shadow: none; }
.profile-card__media, .profile-card--list .profile-card__media { border-radius: .6rem; }
.profile-card:hover .profile-card__media img { transform: none; }
.profile-card__body { padding: .9rem 0 0; }
.profile-card__name { font-size: 1.55rem; line-height: 1.2; }
.profile-card__location, .profile-card__tagline { font-size: .8rem; line-height: 1.5; }
.profile-card__rate { font-size: .82rem; color: #e4d3ac; }
.profile-card__tagline { margin-top: .5rem; }
.profile-card__footer { margin-top: .3rem; padding-top: .2rem; border-top: 0; }
.profile-card__footer .text-link { font-size: .8rem; font-weight: 500; color: #d3c198; }
.profile-card__favorite, .profile-card__favorite .icon-button { width: 2.75rem; height: 2.75rem; min-height: 2.75rem; }
.profile-card__favorite { top: .55rem; right: .55rem; }
.profile-card__slide-controls { right: .4rem; bottom: .4rem; border-color: rgba(255,255,255,.24); border-radius: .4rem; backdrop-filter: none; }
.profile-card__slide-controls > span { min-width: 1.8rem; font-weight: 500; }
.profile-card .placement-label { top: .55rem; left: .55rem; right: auto; bottom: auto; max-width: calc(100% - 4rem); padding: .35rem .45rem; border-radius: .4rem; font-size: .65rem; line-height: 1.35; letter-spacing: 0; text-transform: none; }
.profile-card--list { column-gap: 1.25rem; padding-block: 0 1.25rem; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
.profile-card--list .profile-card__body { padding: .5rem 0; }

/* Detail pages keep the full gallery and disclosures, without double headings. */
.profile-hero { padding-block: 1.5rem 2.5rem; }
.profile-hero .breadcrumb { margin-bottom: 1.5rem; }
.profile-gallery { min-width: 0; }
.profile-gallery__main, .profile-gallery__thumb { border-radius: .5rem; }
.profile-gallery__main .placement-label { top: .8rem; bottom: auto; max-width: calc(100% - 8rem); font-size: .68rem; letter-spacing: 0; text-transform: none; }
.profile-gallery__expand { min-height: 2.75rem; border-radius: .5rem; font-weight: 500; }
.profile-summary .eyebrow { font-size: .85rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.profile-summary .eyebrow::before { display: none; }
.profile-summary__tagline { margin-top: 1rem; font-family: var(--sans); font-size: 1rem; line-height: 1.65; }
.profile-summary__location { margin-top: .65rem; font-size: .85rem; }
.profile-actions { margin-top: 1.4rem; gap: .6rem; }
.profile-content { padding-block: 2.5rem; }
.content-section h2 { font-family: var(--sans); font-size: 1.35rem; font-weight: 500; letter-spacing: -.02em; }
.content-section h3 { font-size: .9rem; letter-spacing: 0; text-transform: none; }
.content-section .eyebrow { font-weight: 500; letter-spacing: 0; }
.content-section .eyebrow::before { display: none; }
.filter-choice-group summary { font-weight: 500; gap: .65rem; }
.filter-choice-group summary::after { content: '+'; margin-left: auto; flex-shrink: 0; font-size: 1.15rem; line-height: 1; }
.filter-choice-group[open] summary::after { content: '−'; }
.drawer-dialog .dialog-footer { position: sticky; bottom: 0; z-index: 2; background: #111513; }
.drawer-dialog { scroll-padding-block: 1rem 7rem; border-radius: .75rem; }

/* Footer links remain visible; two tidy columns replace the mobile link tower. */
.site-footer { padding-block: 2.5rem 1.5rem; border-top: 1px solid var(--line); }
.footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.75rem; }
.footer-brand { grid-column: 1 / -1; }
.footer-brand p { margin-top: .75rem; font-size: .8rem; }
.footer-heading { font-size: .85rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.footer-links { gap: 0; }
.footer-links a { font-size: .8rem; line-height: 1.45; }
.footer-grid .text-small { margin-top: .75rem; font-size: .75rem; line-height: 1.6; }
.footer-bottom { margin-top: 1.75rem; line-height: 1.65; }

@media (min-width: 48rem) {
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; }
  .footer-brand { grid-column: auto; }
}
@media (min-width: 52rem) {
  .profile-gallery__thumbs { display: flex; flex-direction: column; }
  .profile-gallery__thumb { flex: 0 0 auto; width: 100%; }
}
@media (min-width: 22.5rem) and (max-width: 37.99rem) {
  .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-grid .profile-card__heading, .profile-grid .profile-card__meta { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .profile-grid .profile-card__name { font-size: 1.25rem; overflow-wrap: anywhere; }
  .profile-grid .profile-card__tagline { display: -webkit-box; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .profile-grid .profile-card__footer { flex-wrap: wrap; gap: 0; }
}
@media (max-width: 51.99rem) {
  .profile-gallery__thumbs { display: flex; overflow-x: auto; gap: .5rem; padding: .15rem 0 .4rem; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .profile-gallery__thumb { flex: 0 0 4rem; width: 4rem; height: 4rem; scroll-snap-align: start; }
  .profile-summary { padding-top: 1.4rem; }
  .profile-content { padding-top: 1.75rem; gap: 1.5rem; }
}
@media (max-width: 47.99rem) {
  .home-page .hero { min-height: 0; }
  .home-page .hero-content { padding-block: 2.25rem; }
  .hero .home-brand-title { font-size: 3.15rem; }
  .home-brand-title__description { font-size: 1.15rem; max-width: 29ch; margin-top: .75rem; }
  .home-page .hero .lede { font-size: .86rem; }
  .home-page .hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; }
  .home-page .hero-actions > .button { width: auto; padding-inline: 1rem; }
  .home-page .hero-actions > .button--outline-light { padding-inline: 0; }
  .home-page .section { padding-block: 1.75rem; }
  .home-directory-search { gap: .85rem; }
  .home-page .section-heading { margin-bottom: 1.1rem; gap: .4rem; }
  .home-page .section-heading__actions .button { padding-inline: 0; min-height: 2.75rem; border: 0; background: none; color: #d3c198; }
  .discover-page .page-hero .lede { font-size: .86rem; }
  .profile-card--list { grid-template-columns: minmax(8.25rem, 36%) minmax(0, 1fr); gap: .85rem; }
  .profile-card--list .profile-card__media { min-height: 12rem; height: 100%; aspect-ratio: auto; }
  .profile-card--list .profile-card__name { font-size: 1.3rem; overflow-wrap: anywhere; }
  .profile-card--list .profile-card__tagline { margin-top: .5rem; -webkit-line-clamp: 2; }
  .profile-card--list > .profile-card__favorite { left: calc(max(8.25rem, 36%) - 3.3rem); right: auto; top: .4rem; }
  .profile-card--list .profile-card__slide-controls { left: .2rem; right: .2rem; justify-content: space-between; }
  .profile-card--list .profile-card__slide-controls > span { min-width: 0; }
}
@media (max-width: 22.49rem) {
  .home-directory-search { grid-template-columns: minmax(0, 1fr); }
  .home-directory-search .field, .home-directory-search .button { grid-column: auto; }
}
