/* Typography-only finish. The approved hero, wordmark and body font are untouched. */
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/BarlowCondensed-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/BarlowCondensed-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root { --urban-editorial: "Barlow Condensed", "Arial Narrow", "Segoe UI", sans-serif; }

/* Strong editorial section hierarchy, not a second decorative logo. */
.section-heading h2,
.experience-copy h2,
.owner-teaser h2,
.admin h1 {
  font-family: var(--urban-editorial);
  font-weight: 700;
  font-size: clamp(40px, 4.4vw, 62px);
  letter-spacing: .005em;
  line-height: 1.04;
  text-transform: uppercase;
}
.section-heading h2 em,
.experience-copy h2 em {
  font-family: inherit;
  font-weight: 600;
  font-style: normal;
  letter-spacing: inherit;
}
.location-card h3,
.product-card h3,
.service-card strong,
.agenda-head h2,
.booking-summary h3 {
  font-family: var(--urban-editorial);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: .01em;
}
.admin-layout aside>h2,
.admin-local strong,
.ritual-list strong {
  font-family: var(--urban-editorial);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: .01em;
}

/* Compact navigation and actions; descriptive text and numeric data stay sans-serif. */
.site-header nav a,
.site-header nav .text-button,
.location-card .choose-local,
#experience>:not(.hero-urban) .button,
#experience>:not(.hero-urban) .text-button,
.admin .text-button,
.booking-actions .button,
.success .button,
.footer-bottom .text-button {
  font-family: var(--urban-editorial);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.booking-main>h2,
.info-dialog h2,
.success h3 {
  font-family: var(--urban-editorial);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.step-title,
.info-dialog h3 {
  font-family: var(--urban-editorial);
  font-weight: 600;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: .005em;
}
/* Do not condense the numbers, form labels or schedule. */
.price,.choice-value,.slot,.day-tile,.review-list dd,
.summary-total strong,.stat strong,.schedule-table {
  font-variant-numeric: lining-nums tabular-nums;
}
@media(max-width:560px) {
  .section-heading h2,.experience-copy h2,.owner-teaser h2,.admin h1 { font-size:40px; }
  .location-card h3,.product-card h3,.service-card strong,.agenda-head h2 { font-size:23px; }
  /* Reserve two readable title lines so short/long service names share a baseline. */
  .service-card { align-content:start; }
  .service-card strong { min-height:2.24em; }
  .location-card .choose-local,.booking-actions .button,.footer-bottom .text-button { font-size:14px; letter-spacing:.035em; }
  .booking-main>h2,.info-dialog h2,.success h3 { font-size:29px; }
  .step-title,.info-dialog h3 { font-size:24px; }
}
