/* Gromov Production — two-family editorial type system. */
:root {
  --font-display: "Bodoni Moda", "Times New Roman", serif;
  --font-text: "Manrope", Arial, sans-serif;
  --type-display: clamp(4.5rem, 8.6vw, 8.75rem);
  --type-h1-wedding: clamp(4rem, 7.2vw, 7.25rem);
  --type-h2: clamp(3.25rem, 5.4vw, 5.25rem);
  --type-h3: clamp(1.75rem, 2.6vw, 2.5rem);
  --type-meta: .75rem;
  --track-heading: -.035em;
  --track-meta: .12em;
}

body { font-family: var(--font-text); font-size: 1rem; font-weight: 400; line-height: 1.65; font-optical-sizing: auto; text-rendering: optimizeLegibility; }

h1, h2, h3, .intro h1, .direction h2, .glass-card strong, .modal-card h2,
.story h3, .video-project-track footer h4, .journey-copy h3, .summary-head strong,
.offer-teaser-open b {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-style: normal;
  text-transform: none !important;
  font-optical-sizing: auto;
  text-wrap: balance;
}

.intro h1 { font-size: var(--type-display) !important; line-height: .86 !important; letter-spacing: -.055em !important; }
.w-hero h1 { max-width: 940px; font-size: var(--type-h1-wedding) !important; line-height: .9 !important; letter-spacing: -.05em !important; }
.w-hero h1 i { font-family: inherit; font-weight: inherit; font-style: italic; letter-spacing: -.055em; }

.choice-section h2, .section-head h2, .micro h2, .formats h2, .process h2, .faq h2,
.result h2, .day-builder .day-heading h2, .works.portfolio-choice .section-head h2,
.reviews-heading h2, .guide-heading h2, .journey-head h2, .soft-contact h2 {
  font-size: var(--type-h2) !important;
  line-height: .96 !important;
  letter-spacing: var(--track-heading) !important;
}

h3, .video-product-panel > header > div > h3, .day-builder .day-card-top > b,
.day-builder .day-name-card h3, .video-project-track footer h4 {
  font-size: var(--type-h3) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
}

p, .hero-lead, .section-head > p, .journey-head p, .journey-copy p, .benefits p,
.proof-note p, .faq details p, .day-builder .day-heading > div > p,
.day-builder .day-card > p, .day-builder .day-name-card p, .photo-consultation-body p {
  font-family: var(--font-text) !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.65 !important;
  letter-spacing: 0;
}
.lead, .w-hero .hero-lead { font-size: 1rem !important; line-height: 1.65 !important; }

.kicker, .eyebrow, .section-label, .raw-files-label, .hours-story small,
.gallery-cover small, .video-project-track footer small,
.video-product-panel > header > div > small, .journey-copy > span,
.backstage-swipe-hint, .day-builder .calendar-visual > small,
.day-builder .location-visual small, .day-builder .day-name-card > div > small,
.day-builder .day-name-card label > span, .day-builder .address-field > span {
  font-family: var(--font-text) !important;
  font-size: var(--type-meta) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: var(--track-meta) !important;
  text-transform: uppercase !important;
}

.menu a, .w-nav nav a, .project-button, .ghost-button, .pill, .text-link, .watch,
.chips button, .soft, .send, .portfolio-switch button, .video-product-tabs button,
.photo-other-works, .video-project-track footer button, .check-date-button,
#leadForm .contact-chips button, .hero-route b, .hero-route-options a {
  font-family: var(--font-text) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .065em !important;
  text-transform: uppercase !important;
}

.brand-name, .brand-wordmark b { font-family: var(--font-text) !important; font-size: .75rem !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .18em !important; }
.hero-route small, .hero-scroll small, .sticky-config small, .summary-fact small,
.summary-team small, .summary-addons > header small, .video-project-actions small { font-size: .6875rem !important; line-height: 1.35 !important; letter-spacing: .09em !important; }
.hero-route b, .hero-scroll b, .sticky-config strong, .summary-fact b, .summary-team b,
.video-project-actions b { font-size: .8125rem !important; line-height: 1.35 !important; }

/* Preserve the current high-contrast figure style as a deliberate third voice. */
.direction em, .benefits b, .process b, .video-project-index,
.calendar-date-lockup strong, .hours-picker output, .hours-value,
.review-count, .review-index, .guide-count, .guide-index, .journey-progress,
.path-step-number, .offer-countdown strong, #offerCountdown strong,
[class*="countdown"] strong, [class*="index"], [class*="number"] {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  font-style: normal;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
  letter-spacing: -.025em !important;
}

.direction em { font-size: 1.375rem !important; }
.day-builder .calendar-date-lockup strong { font-size: clamp(3.5rem, 5vw, 4.5rem) !important; line-height: .9 !important; }
.direction h2 { font-size: clamp(1.8rem, 2.2vw, 2.35rem) !important; line-height: 1.02 !important; letter-spacing: -.025em !important; }
.direction p { font-size: .875rem !important; line-height: 1.55 !important; }
.glass-card strong { font-size: 1.875rem !important; line-height: 1.12 !important; letter-spacing: -.025em !important; }
.trust strong { font-size: .75rem !important; letter-spacing: .08em !important; }
.trust span { font-size: .75rem !important; line-height: 1.45 !important; }

@media (max-width: 700px) {
  :root { --type-display: clamp(3.4rem, 17vw, 5.1rem); --type-h1-wedding: clamp(3rem, 13vw, 4.25rem); --type-h2: clamp(2.65rem, 12vw, 3.5rem); --type-h3: clamp(1.65rem, 8vw, 2.15rem); --type-meta: .6875rem; }
  .w-hero h1 { font-size: var(--type-h1-wedding) !important; line-height: .92 !important; }
  .works.portfolio-choice .section-head h2, .day-builder .day-heading h2, .journey-head h2 { font-size: var(--type-h2) !important; line-height: .96 !important; }
  .w-hero .hero-lead, .section-head > p, .journey-head p, .journey-copy p,
  .day-builder .day-heading > div > p { font-size: .9375rem !important; line-height: 1.6 !important; }
  .menu a, .w-nav nav a, .project-button, .ghost-button, .pill, .chips button,
  .portfolio-switch button, .video-product-tabs button, .photo-other-works,
  .check-date-button, #leadForm .contact-chips button, .hero-route b { font-size: .75rem !important; }
  .brand-wordmark b { font-size: .6875rem !important; }
}
