/* Public site typography roles (Stage 4). Loaded LAST on every public page (after the page stylesheet).
   Roles:  Exo 2 italic 900 = main display titles | Exo 2 italic 800 = prominent section headings | Inter = body, navigation,
           buttons, forms, labels, prices | Marck Script = existing handwritten slogans (untouched).
   Method: every rule below repeats the selector (same specificity, same @media context, same order) of an existing rule in
   home.css / reviews.css / public-pages.css / photo-lab.css and changes ONLY typography. Where Roboto Condensed (about 19% narrower than
   Exo 2) was replaced, the font-size is scaled by 0.84-0.88 so line widths, headline breaks and layouts stay as they were.
   Not touched: souvenir / personalization fonts, Marck Script, header geometry, artwork, layouts.
   Generated from the originals by a script; edit the originals' counterparts here, not the geometry. */
:root {
  --tb-display: "TB Exo 2", "Exo 2", "Roboto Condensed", "Arial Narrow", "Segoe UI", Arial, sans-serif;
  --tb-ui: "Inter", "TB Inter", "Segoe UI", Arial, sans-serif;
}

/* ---- shared header: the same Inter faces everywhere (self-hosted first so every Macedonian glyph is covered) ---- */
body .site-header, body .site-header * { font-family: "TB Inter", "Inter", "Segoe UI", Arial, sans-serif; }

/* ---- shared footer (all pages) ---- */
.site-footer__heading { font-family: var(--tb-ui); font-size: 0.8rem; letter-spacing: 0.07em; }
.site-footer__weather-temp { font-family: var(--tb-display); font-style: italic; font-size: 2.02rem; line-height: 1.16; }
.site-footer__cta-title { font-family: var(--tb-display); font-style: italic; font-size: clamp(0.9rem, 1.25vw, 1.25rem); line-height: 1.4; }
.site-footer__cta-title em { font-style: italic; }
.site-footer__cta-btn { font-family: var(--tb-ui); font-size: 0.8rem; letter-spacing: 0.05em; }

/* ---- Home ---- */
/* home.css:66 */ .hero__eyebrow { font-family: var(--tb-ui); letter-spacing: 0.18em; }
/* home.css:78 */ .hero__title { font-family: var(--tb-display); line-height: 1.095; }
/* home.css:103 */ .hero__title-line--silver { font-family: var(--tb-display); font-size: clamp(2.142rem, 3.528vw, 3.822rem); }
/* home.css:109 */ .hero__title-line--crimson { font-family: var(--tb-display); font-size: clamp(2.562rem, 4.2vw, 4.494rem); }
/* home.css:119 */ html[lang="mk"] .hero__title-line--silver { font-family: var(--tb-display); font-size: clamp(1.89rem, 2.814vw, 2.982rem); }
/* home.css:123 */ html[lang="mk"] .hero__title-line--crimson { font-family: var(--tb-display); font-size: clamp(2.226rem, 3.276vw, 3.402rem); }
/* home.css:207 */ @media (max-width: 1200px) { .hero__title-line--silver { font-family: var(--tb-display); font-size: clamp(1.848rem, 3.024vw, 2.94rem); } }
/* home.css:211 */ @media (max-width: 1200px) { .hero__title-line--crimson { font-family: var(--tb-display); font-size: clamp(2.184rem, 3.528vw, 3.528rem); } }
/* home.css:215 */ @media (max-width: 1200px) { html[lang="mk"] .hero__title-line--silver { font-family: var(--tb-display); font-size: clamp(1.68rem, 2.604vw, 2.562rem); } }
/* home.css:219 */ @media (max-width: 1200px) { html[lang="mk"] .hero__title-line--crimson { font-family: var(--tb-display); font-size: clamp(1.974rem, 2.94vw, 2.898rem); } }
/* home.css:364 */ @media (max-width: 768px) { .hero__eyebrow { font-family: var(--tb-ui); letter-spacing: 0.18em; } }
/* home.css:370 */ @media (max-width: 768px) { .hero__title { font-family: var(--tb-display); line-height: 1.095; } }
/* home.css:387 */ @media (max-width: 768px) { .hero__title-line--silver, .hero__title-line--crimson, html[lang="mk"] .hero__title-line--silver, html[lang="mk"] .hero__title-line--crimson { font-family: var(--tb-display); font-size: clamp(1.974rem, 8.4vw, 2.814rem); } }
/* home.css:571 */ .dest-card__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(0.963rem, 1.101vw, 1.221rem); line-height: 1.221; }
/* home.css:697 */ @media (min-width: 769px) { .dest-card__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(1.505rem, 1.677vw, 1.72rem); } }
/* home.css:732 */ @media (min-width: 1101px) { .dest-card__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(1.29rem, 1.419vw, 1.591rem); } }
/* home.css:779 */ @media (max-width: 768px) { .dest-card__title { font-family: var(--tb-display); font-style: italic; font-size: 1.135rem; } }
/* home.css:903 */ .events-panel__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(0.877rem, 1.032vw, 1.049rem); line-height: 1.163; }
/* home.css:1086 */ .event-card__month { font-family: var(--tb-ui); }
/* home.css:1097 */ .event-card__day { font-family: var(--tb-display); font-style: italic; font-size: 1.049rem; line-height: 1.047; }
/* home.css:1119 */ .event-card__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(0.843rem, 0.903vw, 0.98rem); line-height: 1.07; }
/* home.css:1203 */ .inquiry-panel__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(1.247rem, 1.333vw, 1.548rem); line-height: 1.07; }
/* home.css:1500 */ @media (max-width: 768px) { .events-panel__title { font-family: var(--tb-display); font-style: italic; font-size: 0.843rem; } }
/* home.css:1530 */ @media (max-width: 768px) { .event-card__title { font-family: var(--tb-display); font-style: italic; font-size: 0.963rem; } }
/* home.css:1548 */ @media (max-width: 768px) { .inquiry-panel__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(1.247rem, 6.02vw, 1.548rem); } }
/* home.css:1635 */ .home-band-head__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(0.903rem, 1.075vw, 1.101rem); line-height: 1.163; }
/* home.css:1850 */ .home-review__avatar { font-family: var(--tb-ui); }

/* ---- Home reviews ---- */
/* reviews.css:137 */ .home-reviews__title { font-family: var(--tb-display); font-style: italic; font-size: clamp(1.333rem, 1.72vw, 1.892rem); line-height: 1.07; }
/* reviews.css:180 */ .home-reviews__score { font-family: var(--tb-display); font-style: italic; }
/* reviews.css:190 */ .home-reviews__score-value { font-family: var(--tb-display); font-style: italic; font-size: 1.961rem; }
/* reviews.css:195 */ .home-reviews__score-max { font-family: var(--tb-display); font-style: italic; font-size: 0.903rem; }
/* reviews.css:744 */ .review-modal__title { font-family: var(--tb-display); font-style: italic; font-size: 1.247rem; }
/* reviews.css:1046 */ @media (max-width: 767px) { .home-reviews__title { font-family: var(--tb-display); font-style: italic; font-size: 1.221rem; } }

/* ---- Privacy, Terms, Search, 404 ---- */
/* public-pages.css:49 */ .page-public__head h1 { font-family: var(--tb-display); font-style: italic; font-weight: 900; font-size: clamp(1.995rem, 5.7vw, 3.23rem); letter-spacing: -0.01em; }
/* public-pages.css:160 */ .page-legal__section h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: 1.175rem; }
/* public-pages.css:215 */ .page-search__group h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; }

/* ---- Photo Lab headings and labels ---- */
/* photo-lab.css:179 */ .pl-hero h1 { font-family: "TB Exo 2", "Exo 2", "Montserrat", "Roboto Condensed", sans-serif; }
/* photo-lab.css:269 */ .pl-progress__dot { font-family: var(--tb-ui); }
/* photo-lab.css:405 */ .pl-panel__head h2, .pl-send-card h2, .pl-ready h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: clamp(0.966rem, 1.428vw, 1.302rem); }
/* photo-lab.css:437 */ .pl-step-num { font-family: var(--tb-ui); }
/* photo-lab.css:1070 */ .pl-style-detail p { font-family: var(--tb-ui); font-size: 0.771rem; }
/* photo-lab.css:1335 */ .pl-dock__hint { font-family: var(--tb-ui); font-size: 0.754rem; }
/* photo-lab.css:1502 */ .pl-upload__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: 1.596rem; }
/* photo-lab.css:1649 */ .pl-app[data-pl-step="1"] .pl-dock__hint { font-family: var(--tb-ui); font-size: 0.92rem; }
/* photo-lab.css:1663 */ .pl-app[data-pl-step="1"] .pl-dock .pl-btn { font-family: var(--tb-ui); font-size: 0.977rem; }
/* photo-lab.css:1837 */ @media (max-width: 899px) { .pl-hero h1 { font-family: "TB Exo 2", "Exo 2", "Montserrat", "Roboto Condensed", sans-serif; } }
/* photo-lab.css:2204 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-hero h1 { font-family: "TB Exo 2", "Exo 2", "Montserrat", "Roboto Condensed", sans-serif; } }
/* photo-lab.css:2432 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-step-num { font-family: var(--tb-ui); } }
/* photo-lab.css:2449 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-upload__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:2645 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock .pl-btn { font-family: var(--tb-ui); font-size: calc(13.95 * var(--u)); } }
/* photo-lab.css:2703 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock__hint { font-family: var(--tb-ui); font-size: calc(11.96 * var(--u)); } }
/* photo-lab.css:2815 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-hero h1 { font-family: "TB Exo 2", "Exo 2", "Montserrat", "Roboto Condensed", sans-serif; } }
/* photo-lab.css:2935 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-step-num { font-family: var(--tb-ui); } }
/* photo-lab.css:2952 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-upload__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:3101 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock .pl-btn { font-family: var(--tb-ui); font-size: 0.883rem; } }
/* photo-lab.css:3120 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: 0.837rem; } }
/* photo-lab.css:3142 */ @media (max-width: 1099px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock__hint { font-family: var(--tb-ui); font-size: 0.718rem; } }
/* photo-lab.css:3394 */ @media (min-width: 1100px) { .pl-position__title h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:3404 */ @media (min-width: 1100px) { .pl-position__title p { font-family: var(--tb-ui); font-size: calc(12.6 * var(--u)); } }
/* photo-lab.css:3504 */ @media (max-width: 1099px) { .pl-position__title h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: 1.15rem; line-height: 1.304; } }
/* photo-lab.css:3513 */ @media (max-width: 1099px) { .pl-position__title p { font-family: var(--tb-ui); font-size: 0.72rem; } }
/* photo-lab.css:3705 */ .pl-style3__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; }
/* photo-lab.css:3866 */ .pl-style3 .pl-style-detail p { font-family: var(--tb-ui); font-size: 0.733rem; }
/* photo-lab.css:3927 */ @media (min-width: 1100px) { .pl-style3__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:4081 */ @media (min-width: 1100px) { .pl-style3__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:4205 */ @media (max-width: 1099px) { .pl-app[data-pl-step="3"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: 0.744rem; } }
/* photo-lab.css:4219 */ @media (max-width: 1099px) { .pl-app[data-pl-step="3"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: 0.93rem; } }
/* photo-lab.css:4287 */ .pl-pers__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; }
/* photo-lab.css:4693 */ @media (min-width: 1100px) { .pl-pers__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:4750 */ @media (max-width: 1099px) { .pl-pers__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:4767 */ @media (max-width: 1099px) { .pl-app[data-pl-step="4"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: 0.93rem; } }
/* photo-lab.css:4822 */ .pl-pers__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; }
/* photo-lab.css:5103 */ @media (min-width: 1100px) { .pl-pers__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; } }
/* photo-lab.css:5175 */ @media (min-width: 1100px) { .pl-app[data-pl-step="4"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: calc(20.46 * var(--u)); } }
/* photo-lab.css:6318 */ .pl-app[data-pl-step="5"] .pl-ready h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: clamp(1.296rem, 3.072vw, 2.352rem); line-height: 1.167; letter-spacing: -0.02em; }
/* photo-lab.css:6390 */ .pl-app[data-pl-step="5"] .pl-summary__copy { font-family: var(--tb-ui); font-size: 0.79rem; }
/* photo-lab.css:6398 */ .pl-app[data-pl-step="5"] .pl-summary__copy strong { font-family: var(--tb-ui); font-size: 0.602rem; }
/* photo-lab.css:6475 */ @media (min-width: 1100px) { .pl-app[data-pl-step="5"] .pl-ready h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: calc(30.72 * var(--u)); letter-spacing: -0.02em; } }
/* photo-lab.css:6605 */ @media (min-width: 1100px) { .pl-app[data-pl-step="3"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="4"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="2"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="5"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: calc(13.95 * var(--u)); } }
/* photo-lab.css:6621 */ @media (min-width: 1100px) { .pl-app[data-pl-step="4"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: calc(13.95 * var(--u)); } }
/* photo-lab.css:6678 */ @media (max-width: 1099px) { .pl-app[data-pl-step="3"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="4"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="2"] .pl-dock [data-pl-dock-next], .pl-app[data-pl-step="5"] .pl-dock [data-pl-dock-next] { font-family: var(--tb-ui); font-size: 0.837rem; } }
/* photo-lab.css:6784 */ .pl-send-card__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: clamp(1.134rem, 1.68vw, 1.428rem); line-height: 1.369; }
/* photo-lab.css:6795 */ .pl-send-card__head p { font-family: var(--tb-ui); font-size: 0.846rem; }
/* photo-lab.css:7341 */ @media (max-width: 430px) { .pl-send-card__head h2 { font-family: var(--tb-display); font-style: italic; font-weight: 800; font-size: 1.075rem; } }
/* photo-lab.css:7363 */ @media (min-width: 1100px) { .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-hero h1 { font-family: "TB Exo 2", "Exo 2", "Montserrat", "Roboto Condensed", sans-serif; } }

/* ---- Menu (centered hero, cards, artwork and dimensions are not touched) ---- */
.pm-chrome { font-family: var(--tb-display); font-size: clamp(70px, 8vw, 147px); line-height: 1.125; }
.pm-card strong { font-family: var(--tb-display); font-style: italic; font-size: 5.4cqw; }
.pm-open__titles h2 { font-family: var(--tb-display); font-style: italic; font-size: 30px; line-height: 1.2; }
.pm-root__title { font-family: var(--tb-display); font-style: italic; font-size: 22px; line-height: 1.18; }
.pm-subhead h3 { font-family: var(--tb-display); font-style: italic; font-size: 19.5px; line-height: 1.241; }
.pm-phead h3, .pm-phead h4 { font-family: var(--tb-display); font-style: italic; font-size: 16.5px; line-height: 1.267; }
.pm-soon b { font-family: var(--tb-display); font-style: italic; font-size: 28.5px; line-height: 1.313; }
@media (max-width: 860px) {
  .pm-chrome { font-size: clamp(43px, 13.6vw, 67px); }
  .pm-open__titles h2 { font-size: 23px; line-height: 1.174; }
  .pm-subhead h3 { font-size: 17px; line-height: 1.23; }
  .pm-phead h3, .pm-phead h4 { font-size: 15.5px; line-height: 1.277; }
  .pm-soon b { font-size: 23.5px; line-height: 1.31; }
}

/* ---- Photo Lab: interface text moves from Roboto to Inter (poster geometry, souvenir / personalization fonts, Marck Script untouched) ---- */
@media (min-width: 1100px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) { --pl-step1-font: var(--tb-ui); }
}
@media (max-width: 1099px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) { font-family: var(--tb-ui); }
}
.pl-app { --pl-step1-font: var(--tb-ui); }

/* ---- Photo Lab end screens (success / unavailable) and price weight ---- */
.pl-success h1, .pl-unavailable h1 { font-family: var(--tb-display); font-style: italic; font-weight: 900; }
.pl-success h1 { font-size: clamp(1.344rem, 2.52vw, 1.848rem); }
.pl-unavailable h1 { font-size: 1.68rem; }
.pl-kicker { font-family: var(--tb-ui); }
/* <strong> is "bolder" than its parent (800) = 900, a weight Inter is not loaded in; the price uses the loaded 800 */
.pl-app .pl-price strong { font-weight: 800; }

/* =====================================================================================================================
   TYPOGRAPHY POLISH (hierarchy / weight / spacing / contrast pass).  Same families as above; no new fonts, no layout changes.
   Rules: Inter only in its loaded weights 400 / 500 / 600 / 700 (no 800 -> no synthetic bold); body copy 400; labels 600;
   emphasis reserved for titles, prices, active states and primary actions. Colour roles on the dark theme:
     strong #f6f6f6  |  body rgba(235,231,233,.88)  |  secondary rgba(214,208,211,.74)  |  tertiary rgba(204,197,200,.62)
   Font sizes of poster-geometry (Photo Lab) and header elements are NOT changed; only weight, colour, spacing inside existing boxes.
   ===================================================================================================================== */
:root {
  --tb-text-strong: #f6f6f6;
  --tb-text-body: rgba(235, 231, 233, 0.88);
  --tb-text-secondary: rgba(214, 208, 211, 0.74);
  --tb-text-tertiary: rgba(204, 197, 200, 0.62);
}

/* ---- Navigation: inactive quieter, active clear; same family/weights on every page (doubled class beats the Photo Lab poster rules) ---- */
body .site-header.site-header .site-nav-links a { font-family: "TB Inter", "Inter", "Segoe UI", Arial, sans-serif; font-weight: 500; color: rgba(205, 210, 216, 0.8); }
body .site-header.site-header .site-nav-links a:hover,
body .site-header.site-header .site-nav-links a:focus-visible { color: var(--tb-text-strong); }
body .site-header.site-header .site-nav-links a.is-active { font-weight: 600; color: #fff; }

/* ---- Footer ---- */
.site-footer__heading { font-weight: 600; color: rgba(255, 255, 255, 0.78); }
.site-footer__tagline { font-weight: 400; color: rgba(255, 255, 255, 0.78); line-height: 1.55; }
.site-footer__card em { font-weight: 600; font-size: 0.7rem; color: rgba(255, 255, 255, 0.58); }
.site-footer__card-value { font-weight: 500; color: #fff; }
.site-footer__hours-days { font-weight: 500; color: rgba(255, 255, 255, 0.9); }
.site-footer__hours-time { color: rgba(255, 255, 255, 0.72); }
.site-footer__weather-cond { color: rgba(255, 255, 255, 0.84); }
.site-footer__cta-eyebrow { font-weight: 600; color: rgba(255, 255, 255, 0.62); }
.site-footer__cta-btn { font-weight: 700; letter-spacing: 0.06em; }
.site-footer__copy { color: rgba(255, 255, 255, 0.66); }

/* ---- Home ---- */
.hero__eyebrow { font-weight: 600; color: rgba(205, 210, 216, 0.85); }
.hero__description { color: rgba(228, 231, 235, 0.92); line-height: 1.68; }
.hero-cta { font-weight: 600; letter-spacing: 0.012em; }
.dest-card__copy { color: rgba(246, 246, 246, 0.9); line-height: 1.45; }
.dest-card__cta, .events-panel__all, .home-band-head__cta { font-weight: 600; }
.event-card__month { font-weight: 700; font-size: 0.6rem; letter-spacing: 0.1em; }
.event-card__subtitle { font-weight: 500; font-size: 0.72rem; color: rgba(236, 232, 232, 0.84); }
.inquiry-panel__sub { font-weight: 600; }
.inquiry-panel__copy { font-size: 0.76rem; line-height: 1.5; color: rgba(228, 226, 226, 0.88); }
.inquiry-form__label { color: rgba(236, 232, 232, 0.82); }
.inquiry-form__submit, .home-reviews__leave { font-weight: 600; letter-spacing: 0.012em; }
.home-band-head__sub { font-weight: 400; color: rgba(190, 182, 184, 0.92); }
.home-reviews__subtitle { font-weight: 400; color: rgba(214, 202, 204, 0.86); }
.home-reviews__trust-copy { font-weight: 500; }
.home-reviews__cta-note { font-weight: 400; color: rgba(204, 190, 192, 0.8); }
.home-review__quote { font-weight: 400; line-height: 1.62; color: rgba(248, 242, 244, 0.96); }
.home-review__name { font-weight: 600; }

/* ---- Events: title > date/time > location > promotional tagline > description ---- */
.ev-eyebrow { font-weight: 600; }
.ev-sub { color: rgba(222, 215, 217, 0.88); line-height: 1.62; }
.ev-badge { font-weight: 600; }
.ev-meta { font-weight: 400; color: rgba(214, 207, 209, 0.82); gap: 4px 10px; }
.ev-meta .dt { font-weight: 600; color: #fff; letter-spacing: 0.01em; }
.ev-short { font-weight: 500; letter-spacing: 0.012em; margin-top: 2px; }
.ev-copy { color: rgba(226, 220, 222, 0.88); line-height: 1.72; }
.ev-private a { font-weight: 600; }

/* ---- Gallery: captions stay quiet beside the photography ---- */
.gl-eyebrow { font-weight: 600; }
.gl-sub { color: rgba(222, 215, 217, 0.88); line-height: 1.62; }

/* ---- Menu: category headings stay Exo; product copy: names read first, descriptions quiet, quantities and prices scannable ---- */
.pm-card em { font-weight: 400; }
.pm-hero__sub { font-weight: 500; }

/* ---- Photo Lab: title > lead > explanation > step labels > control labels (poster geometry untouched) ---- */
.pl-app .pl-hero__lead { font-weight: 600; letter-spacing: -0.003em; }
.pl-app .pl-hero__support { font-weight: 400; color: rgba(255, 255, 255, 0.84); }
@media (min-width: 1100px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-hero__support { line-height: calc(23 * var(--u)); top: calc(199 * var(--u)); color: rgba(255, 255, 255, 0.8); }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress button { color: rgba(255, 255, 255, 0.66); }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress button.is-done { color: rgba(255, 138, 144, 0.9); }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress button.is-current { color: #ff2d3f; }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress__name { font-weight: 400; }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress button.is-done .pl-progress__name { font-weight: 500; }
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-progress button.is-current .pl-progress__name { font-weight: 600; }
}
.pl-app[data-pl-step] .pl-dock .pl-btn { letter-spacing: 0.03em; }
.pl-app[data-pl-step] .pl-dock .pl-btn.pl-btn--ghost { font-weight: 600; }
.pl-app[data-pl-step] .pl-dock .pl-btn.pl-btn--primary, .pl-app[data-pl-step] .pl-dock .pl-btn.pl-btn--primary * { font-weight: 700; }
.pm-name h4 { font-weight: 600; letter-spacing: 0.002em; }
.pm-name p { font-size: 13.5px; line-height: 1.5; color: rgba(204, 197, 200, 0.82); }
.pm-ml { font-size: 13px; font-weight: 500; color: rgba(214, 208, 211, 0.8); }
.pm-price b { font-weight: 700; letter-spacing: 0.005em; }
.pm-price i { font-weight: 600; }
.pm-open__titles p { color: rgba(204, 197, 200, 0.86); line-height: 1.5; }

/* ---- minimum legible sizes / loaded weights (found by the verification pass) ---- */
.page-public__eyebrow { font-weight: 600; }
@media (max-width: 768px) {
  .hero__eyebrow { font-size: 0.7rem; }
  .event-card__month { font-size: 0.625rem; }
}
@media (max-width: 1099px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock__hint { font-size: max(0.66rem, 10.5px); }
}
.pl-app .pl-drop em { font-size: max(0.7rem, 11px); }
@media (min-width: 1100px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-drop em { font-size: max(calc(11 * var(--u)), 11px); }
}

/* Home inquiry form: the last label ("Tell us about your event...") was cut to "TELL US ABOUT YOU..." at ~1366px; it sits above free space, so let it run on */
.inquiry-form__label { font-size: 0.656rem; letter-spacing: 0.04em; overflow: visible; text-overflow: clip; }
@media (min-width: 1100px) {
  .pl-app:is([data-pl-step="1"],[data-pl-step="2"],[data-pl-step="3"],[data-pl-step="4"],[data-pl-step="5"],[data-pl-step="6"]) .pl-dock__hint { font-size: max(calc(11.96 * var(--u)), 10.5px); }
}
