/* Shared Inter type system. Loaded last on every public page. */
:root, .reference-home {
  --font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
}
body { font-family: var(--font-sans); font-size: 17px; line-height: 1.6; color: #161616; }
body *, body *::before, body *::after { font-family: var(--font-sans) !important; }
h1, h2, h3, h4, h5, h6 {
  font-weight: 600 !important;
  font-style: normal !important;
  text-transform: none !important;
}
h1, #home-title {
  font-size: clamp(44px, 6vw, 72px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}
h2 { font-size: clamp(30px, 3.6vw, 42px) !important; line-height: 1.12 !important; letter-spacing: -.02em !important; }
h3 { font-size: 24px !important; line-height: 1.2 !important; letter-spacing: -.02em !important; }
h4, h5, h6 { letter-spacing: -.01em !important; }
h1 em, h2 em, h3 em { font-style: normal !important; font-weight: inherit !important; }
body p { font-size: 17px; line-height: 1.6; }
body :is(.about-page p, .buyer-copy > p, .buyer-portfolio > p, .info-section > p, .info-section > ul, .reviews-events-copy > p, .booking-intro-copy > p) { font-size: 17px; line-height: 1.6; }
body :is(.reference-description, .hero-copy > p:not(.tag):not(.client-proof), .about-intro > p) { font-size: 17px !important; line-height: 1.6 !important; letter-spacing: 0 !important; }
body :is(.secondary, .muted, .session-note, .reference-facts, .reference-team-link) { font-size: 16px !important; color: #5e5e5a; }
body :is(.tag, .eyebrow, .reference-eyebrow, figcaption, .review-author b, .review-author small, .client-review h3, .booking-photo-caption, .footer-title, .footer-bottom, .location-strip, .team-detail, .team-video-play small, .draft-form-note, .project-breadcrumbs, .trusted-by h2, .client-proof) {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body :is(.tag, .eyebrow, .reference-eyebrow, .review-author b, .review-author small, .team-detail) { color: #5e5e5a; }
/* Keep the existing light text on dark panels and footer. */
.reference-home :is(.events, .event-gateway, .team-plan) :is(.tag, .eyebrow, .team-detail) { color: #e9e6e0; }
body :is(.btn, .button, button, .reference-actions .btn, .reference-header nav > .btn, .nav-toggle) {
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body :is(input, select, textarea) { font-size: 17px; }
body :is(.price, .session-price, .package-price, .event-starting-rate) { font-variant-numeric: tabular-nums; }
body header .brand {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  color: #161616 !important;
  white-space: nowrap;
  text-transform: none;
}
body header .brand small {
  display: block;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  color: #5e5e5a !important;
  text-transform: none !important;
  white-space: nowrap;
  max-width: none !important;
}
body .reference-facts a:nth-child(2) { font-size: 14px; letter-spacing: 0; }
body .site-footer :is(.footer-summary, .footer-brand p) { font-size: 14px; letter-spacing: 0; }
@media (max-width: 599px) {
  body header .brand small { display: none !important; }
  body > header { padding-block: 12px; }
  .reference-home .reference-header { min-height: 64px; padding-block: 10px; }
}
/* Photo first, with the booking action visible before the supporting copy. */
@media (max-width: 760px) {
  .reference-home:not(.corporate-landing) .reference-hero { gap: 16px; padding-top: 12px; }
  .reference-home:not(.corporate-landing) .reference-portrait {
    height: clamp(150px, 27svh, 230px);
    min-height: 0;
    aspect-ratio: auto;
  }
  .reference-home:not(.corporate-landing) .reference-portrait img { object-position: 50% 0%; }
  .reference-home:not(.corporate-landing) .reference-eyebrow { margin-bottom: 10px; }
  .reference-home:not(.corporate-landing) #home-title { margin-bottom: 0; }
  .reference-home:not(.corporate-landing) .reference-actions { order: 1; margin: 16px 0; gap: 4px 16px; }
  .reference-home:not(.corporate-landing) .reference-description { order: 2; margin-bottom: 22px; }
  .reference-home:not(.corporate-landing) .reference-facts { order: 3; }
  .reference-home:not(.corporate-landing) .reference-actions > .btn { min-height: 48px; }
}
@media (max-width: 359px) {
  .reference-home:not(.corporate-landing) .reference-portrait { height: 128px; }
}
