/* Display typography.

   V21.52 replaces Playfair Display and Inter. That pairing is the default of
   almost every generated layout on the web right now, and it had started to
   make the site look like a template rather than a stable.

   Source Serif 4 is a transitional serif: the difference between its thick and
   thin strokes is small, its shapes are upright and undecorated. It reads as a
   printed document — a programme, a report — which is the register a riding
   school wants. It is also close to Georgia in width and x-height, so the
   Georgia fallback in the stack is a real stand-in rather than a different-
   looking page if the webfont is slow or blocked.

   Source Sans 3 is its matching sans, drawn by the same hand, so small text and
   headlines sit together instead of merely coexisting.

   Weights step back one notch from the Playfair era: Playfair runs light at any
   given number and had been nudged up to compensate. Source Serif does not need
   that, and left at 600 the headings read as shouting.

   To try a different pairing, change these two lines and the font link in
   index.html — nothing else in the site names a typeface. */
:root{
  --font-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --font-ui:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
}

.brand-mark{font-family:var(--font-display);font-weight:600}
.hero h1,.page-hero h1{font-family:var(--font-display);font-weight:500}
.hero-reservation-card>strong{font-family:var(--font-display);font-weight:400}
.section-title h2{font-family:var(--font-display);font-weight:500}
.editorial-number{font-family:var(--font-display);font-weight:400}
.why-grid h3{font-family:var(--font-display);font-weight:400}
.comparison-card h3{font-family:var(--font-display);font-weight:400}
.horse-card h3{font-family:var(--font-display);font-weight:400}
.horse-number{font-family:var(--font-display);font-weight:400}
.gallery-item b{font-family:var(--font-display);font-weight:400}
.membership-banner h2{font-family:var(--font-display);font-weight:400}
.member-card-preview b,.member-mini-card b{font-family:var(--font-display);font-weight:400}
.product-card h3{font-family:var(--font-display);font-weight:400}
.location-copy h2{font-family:var(--font-display);font-weight:400}
.closing-cta h2{font-family:var(--font-display);font-weight:400}
.card-head h2{font-family:var(--font-display);font-weight:400}
.success-modal h2{font-family:var(--font-display);font-weight:400}
.member-overview h2{font-family:var(--font-display);font-weight:400}
.level-card h3{font-family:var(--font-display);font-weight:400}
.membership-info-grid h3{font-family:var(--font-display);font-weight:400}
.order-summary h2{font-family:var(--font-display);font-weight:400}
.auth-card h1{font-family:var(--font-display);font-weight:400}
.dashboard-head h1{font-family:var(--font-display);font-weight:400}
.member-dashboard-card h2{font-family:var(--font-display);font-weight:400}
.member-seal b{font-family:var(--font-display);font-weight:400}
.dashboard-stat>b{font-family:var(--font-display);font-weight:400}
.admin-side h3{font-family:var(--font-display);font-weight:400}
.admin-head h1{font-family:var(--font-display);font-weight:400}
.admin-grid h2,.admin-table-card h2{font-family:var(--font-display);font-weight:400}
.home-editor-bar h2{font-family:var(--font-display);font-weight:400}
.admin-form-section h3{font-family:var(--font-display);font-weight:400}
.feature-editor>b{font-family:var(--font-display);font-weight:400}
.admin-media-copy>b{font-family:var(--font-display);font-weight:400}
.visual-cms-toolbar>div:first-child>b{font-family:var(--font-display);font-weight:400}
.section-number{font-family:var(--font-display);font-weight:400}
.media-library-toolbar h2{font-family:var(--font-display);font-weight:400}
.media-empty b{font-family:var(--font-display);font-weight:400}
.media-picker-modal>header h2{font-family:var(--font-display);font-weight:400}
.v5-calendar-head h2,.v5-payment-form h2,.v5-payment-list-head h2,.v5-wa-settings-head h2{font-family:var(--font-display);font-weight:400}
.v5-day-number>b{font-family:var(--font-display);font-weight:400}
.v5-booking-drawer>header h2{font-family:var(--font-display);font-weight:400}
.v5-booking-drawer h3{font-family:var(--font-display);font-weight:400}
.v6-card>h2,.v6-detail h2{font-family:var(--font-display);font-weight:400}
.v6-card h3{font-family:var(--font-display);font-weight:400}
.v6-list header h2{font-family:var(--font-display);font-weight:400}
.v6-list>button em{font-family:var(--font-display);font-weight:400}
.v6-kpis b,.coach-kpis b{font-family:var(--font-display);font-weight:400}
.v6-coach-grid h3{font-family:var(--font-display);font-weight:400}
.v6-toolbar h2{font-family:var(--font-display);font-weight:400}
.coach-portal>header h1{font-family:var(--font-display);font-weight:400}
.coach-list-head h2{font-family:var(--font-display);font-weight:400}
.v7-kpis b{font-family:var(--font-display);font-weight:400}
.hero-copy:after{font-family:var(--font-display);font-weight:500}
.hero h1,.page-hero h1,.section-title h2,.membership-banner h2,.location-copy h2,.closing-cta h2,.admin-head h1,.dashboard-head h1,.auth-card h1,.member-overview h2,.level-card h3,.product-card h3,.comparison-card h3,.admin-grid h2,.admin-table-card h2,.coach-list-head h2,.v7-report-toolbar h2,.v7-card h3{font-family:var(--font-display);font-weight:400}
.why-grid h3,.gallery-item b,.footer-brand,.footer b,.location-facts b{font-family:var(--font-display);font-weight:400}
.member-card-preview:after,.member-mini-card:after,.member-dashboard-card:after{font-family:var(--font-display);font-weight:500}
.hero-brand-mark{font-family:var(--font-display);font-weight:500}
.hero-facts b,.hero-service-card strong{font-family:var(--font-display);font-weight:500}
.hero-service-card>div b{font-family:var(--font-display);font-weight:500}
.gallery-item-meta b{font-family:var(--font-display);font-weight:500}
.gallery-grid--v10 .gallery-item>i{font-family:var(--font-display);font-weight:500}
.admin-monogram{font-family:var(--font-display);font-weight:500}
.admin-brand-lockup h3{font-family:var(--font-display);font-weight:500}
.admin-command-hero h2{font-family:var(--font-display);font-weight:500}
.admin-stats--v11 b{font-family:var(--font-display);font-weight:500}
.member-dashboard-topbar h1{font-family:var(--font-display);font-weight:500}
.member-kpis b{font-family:var(--font-display);font-weight:500}
.member-next-card h2{font-family:var(--font-display);font-weight:500}
.member-panel-head h2{font-family:var(--font-display);font-weight:500}
.member-panel-head>b{font-family:var(--font-display);font-weight:500}
.member-achievement-list em{font-family:var(--font-display);font-weight:500}
.member-reward-feature b{font-family:var(--font-display);font-weight:500}
.member-booking-main h3{font-family:var(--font-display);font-weight:500}
.member-booking-total b{font-family:var(--font-display);font-weight:500}
.member-empty b{font-family:var(--font-display);font-weight:500}
.jenggala-member-card-watermark{font-family:var(--font-display);font-weight:600}
.jenggala-member-level b{font-family:var(--font-display);font-weight:500}
.jenggala-member-card-copy h3{font-family:var(--font-display);font-weight:500}
.home-riding-pathway-intro h3{font-family:var(--font-display);font-weight:500}
.home-riding-pathway-steps i{font-family:var(--font-display);font-weight:500}
.home-riding-pathway-steps b{font-family:var(--font-display);font-weight:500}
.riding-school-hero h1{font-family:var(--font-display);font-weight:500}
.riding-school-hero-panel>b{font-family:var(--font-display);font-weight:500}
.program-heading h2{font-family:var(--font-display);font-weight:500}
.riding-pathway-grid article>div span{font-family:var(--font-display);font-weight:500}
.riding-pathway-grid h3{font-family:var(--font-display);font-weight:500}
.riding-includes-grid h2{font-family:var(--font-display);font-weight:500}
.riding-includes-grid article h3{font-family:var(--font-display);font-weight:500}
.booking-hero-v12 h1{font-family:var(--font-display);font-weight:500}
.booking-v12-heading h2{font-family:var(--font-display);font-weight:500}
.booking-service-cards h3{font-family:var(--font-display);font-weight:500}
.booking-package-options button>strong{font-family:var(--font-display);font-weight:500}
.membership-hero-v12 h1{font-family:var(--font-display);font-weight:500}
.membership-hero-summary b{font-family:var(--font-display);font-weight:500}
.membership-benefit-grid h3{font-family:var(--font-display);font-weight:500}
.membership-progress-panel h2{font-family:var(--font-display);font-weight:500}
.production-error h1,.payment-portal h1,.payment-portal h2{font-family:var(--font-display);font-weight:400}
.member-verify-state h1{font-family:var(--font-display);font-weight:500}
.rider-progress-date b{font-family:var(--font-display);font-weight:500}
.rider-progress-score b{font-family:var(--font-display);font-weight:500}
.rider-progress-body h3{font-family:var(--font-display);font-weight:500}
.horse-ops-list header h2{font-family:var(--font-display);font-weight:500}
.horse-ops-hero h2{font-family:var(--font-display);font-weight:500}
.safety-hero h1{font-family:var(--font-display);font-weight:500}
.safety-booking-card h2{font-family:var(--font-display);font-weight:500}
.safety-form-card h2{font-family:var(--font-display);font-weight:500}
.safety-form-card section h3{font-family:var(--font-display);font-weight:500}
.safety-admin-list header h2{font-family:var(--font-display);font-weight:500}
.smart-match-rank{font-family:var(--font-display);font-weight:500}
.nav-panel-head strong{font-family:var(--font-display);font-weight:500}
.nav-links a,.nav-account-link{font-family:var(--font-display);font-weight:500}
.empty-state.compact-public h2{font-family:var(--font-display);font-weight:500}
.not-found-title{font-family:var(--font-display);font-weight:500}
.launch-readiness-head h2{font-family:var(--font-display);font-weight:500}
.price-list-hero h1{font-family:var(--font-display);font-weight:500}
.price-list-hero-note>b{font-family:var(--font-display);font-weight:500}
.price-program-number{font-family:var(--font-display);font-weight:600}
.price-program-grid h3,.student-price-grid h3,.photo-price-grid h3{font-family:var(--font-display);font-weight:500}
.price-program-grid strong{font-family:var(--font-display);font-weight:500}
.official-package-card h3{font-family:var(--font-display);font-weight:500}
.official-package-card>strong{font-family:var(--font-display);font-weight:500}
.student-pricing-heading h2{font-family:var(--font-display);font-weight:500}
.student-price-grid strong{font-family:var(--font-display);font-weight:500}
.photo-price-grid strong{font-family:var(--font-display);font-weight:500}
.passport-level-badge b{font-family:var(--font-display);font-weight:500}
.passport-level-card header h3{font-family:var(--font-display);font-weight:500}
.certificate-card-copy h3{font-family:var(--font-display);font-weight:500}
.home-page-v19 .hero h1{font-family:var(--font-display);font-weight:400}
.home-page-v19 .hero-fallback-art span{font-family:var(--font-display);font-weight:500}
.membership-cms-intro h2{font-family:var(--font-display);font-weight:400}
.membership-cms-badge b{font-family:var(--font-display);font-weight:500}
.membership-cms-level header h3{font-family:var(--font-display);font-weight:400}
.site-shell--editorial #primary-nav .nav-links a, .site-shell--editorial #primary-nav .nav-account-link{font-family:var(--font-display);font-weight:500}
.home-page-v20 .hero h1, .home-page-v20 .hero--v12 .hero-copy h1{font-family:var(--font-display);font-weight:400}
.home-page-v20 .home-riding-pathway-intro h3{font-family:var(--font-display);font-weight:400}
.home-page-v20 .dark-section::before{font-family:var(--font-display);font-weight:400}
.home-page-v20 .faq-list summary{font-family:var(--font-display);font-weight:400}
.membership-control-v21__levels header b{font-family:var(--font-display);font-weight:400}
.home-membership-journey-v21 header b{font-family:var(--font-display);font-weight:500}
.home-page-v212 .landing-banner-v212 h1{font-family:var(--font-display);font-weight:400}
.home-page-v212 .landing-service-v212 h2{font-family:var(--font-display);font-weight:400}
.home-page-v212 .home-riding-pathway-intro h3{font-family:var(--font-display);font-weight:400}
.home-page-v212 .home-riding-pathway-steps b{font-family:var(--font-display);font-weight:400}
.passport-face .passport-level-name{font-family:var(--font-display);font-weight:400}
.passport-details h4{font-family:var(--font-display);font-weight:400}
.shop-modal-v219 h2{font-family:var(--font-display);font-weight:500}
.shop-modal-buy-v219 strong{font-family:var(--font-display);font-weight:500}
.product-detail-body-v2111 h1{font-family:var(--font-display);font-weight:500}
.product-detail-price-v2111 strong{font-family:var(--font-display);font-weight:500}
.product-detail-total-v2111{font-family:var(--font-display);font-weight:500}
.product-detail-related-v2111 h2{font-family:var(--font-display);font-weight:500}
.booking-pay-head-v2113 h3{font-family:var(--font-display);font-weight:500}
.booking-pay-plan-v2113 b{font-family:var(--font-display);font-weight:500}
.payment-plan-v2113 b{font-family:var(--font-display);font-weight:500}
.passport-v2114 .passport-face .passport-level-name{font-family:var(--font-display);font-weight:400}

/* Display type carries the brand, so headlines get slightly tighter tracking. */
.hero h1,.page-hero h1,.home-page-v212 .landing-banner-v212 h1,
.booking-hero-v12 h1,.membership-hero-v12 h1,.price-list-hero h1,
.riding-school-hero h1,.safety-hero h1,.product-detail-body-v2111 h1{letter-spacing:-.018em}
.section-title h2,.membership-banner h2,.location-copy h2,.closing-cta h2,
.home-page-v212 .landing-service-v212 h2,.product-detail-related-v2111 h2{letter-spacing:-.01em}
.passport-v2114 .passport-face .passport-level-name{font-weight:400;letter-spacing:0}

/* Eyebrows, labels and buttons stay in the UI face: small text needs the grotesque. */
.section-title>span,.landing-eyebrow-v212,.page-hero>span,
.member-panel-head>span,.booking-v12-heading small,
.button,.nav-mobile-cta,.icon-text{font-family:var(--font-ui)}

