/* VideoVibes360 V9 — unified editorial type scale
   Loaded last to keep hierarchy consistent across every page. */

:root{
  --type-display-xl:clamp(3.7rem,6.5vw,6.8rem);
  --type-display-lg:clamp(3.25rem,5.7vw,5.9rem);
  --type-display-md:clamp(2.65rem,4.7vw,4.75rem);
  --type-display-sm:clamp(2.15rem,3.55vw,3.65rem);
  --type-heading-lg:clamp(1.95rem,2.9vw,2.9rem);
  --type-heading-md:clamp(1.55rem,2.15vw,2.15rem);
  --type-heading-sm:clamp(1.25rem,1.6vw,1.65rem);
}

/* Global hierarchy */
h1{font-size:var(--type-display-lg);line-height:.94;letter-spacing:-.045em}
h2{font-size:var(--type-display-md);line-height:.98;letter-spacing:-.038em}
h3{font-size:var(--type-heading-md);line-height:1.04;letter-spacing:-.025em}
.prose h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.02;max-width:18ch}
.prose h3{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.12}
.lead{font-size:clamp(1rem,1.35vw,1.2rem)}

/* Homepage */
body.immersive-theme .hero-copy h1,
.hero-copy h1{font-size:var(--type-display-xl);line-height:.88;max-width:10.5ch}
body.immersive-theme .intro-grid h2,
.intro-grid h2{font-size:var(--type-display-md);line-height:.98;max-width:13ch}
.collection-copy h2,
body.immersive-theme .collection-copy h2{font-size:clamp(2.55rem,4.15vw,4.35rem);line-height:.98;max-width:11ch}
.gallery-quote{font-size:clamp(2.15rem,4vw,4rem)}
.process-rail h3{font-size:clamp(1.45rem,2.1vw,2rem)}
.closing-content h2{font-size:clamp(2.6rem,4.6vw,4.8rem);max-width:11ch}

/* Shared pages and service pages */
body.immersive-theme .page-hero h1,
.page-hero h1{font-size:var(--type-display-lg);line-height:.93;max-width:13ch}
body.immersive-theme .service-hero-content h1,
.service-hero-content h1{font-size:clamp(3.45rem,6vw,6.2rem);line-height:.91;max-width:10.5ch}
.about-visual-story blockquote{font-size:clamp(1.2rem,2.1vw,1.65rem);line-height:1.25;max-width:40ch}
.signature-card h3{font-size:clamp(1.25rem,1.75vw,1.6rem)}
.answer-box p,
body.immersive-theme .answer-box p{font-size:clamp(1.15rem,1.75vw,1.55rem);line-height:1.32}
.cta-panel h2{font-size:clamp(2.45rem,4.3vw,4.35rem);max-width:12ch}
.quote-panel blockquote{font-size:clamp(2.25rem,4.3vw,4.3rem)}
.faq-item summary{font-size:clamp(1.15rem,1.55vw,1.55rem)}

/* Booking Studio */
body.immersive-theme .booking-hero-content-v5 h1,
.booking-hero-content-v5 h1{font-size:clamp(3.55rem,6.1vw,6.25rem);line-height:.92;max-width:11ch}
.booking-entry-copy h2{font-size:clamp(2.55rem,4.2vw,4.25rem);line-height:.98}
.booking-section-heading h2{font-size:clamp(2.3rem,4vw,4rem)}
.booking-step-intro h2,
body.immersive-theme .booking-step-intro h2{font-size:clamp(2.55rem,4.4vw,4.5rem);line-height:.96;max-width:12ch}
.equipment-content strong{font-size:clamp(1.65rem,2.6vw,2.45rem)}
.booking-summary h2{font-size:clamp(1.9rem,2.8vw,2.65rem)}
.calendar-toolbar h3,
body.immersive-theme .calendar-toolbar h3{font-size:clamp(1rem,1.5vw,1.3rem)}

/* Guides hub */
.guide-hub-hero__content h1{font-size:clamp(3.45rem,6.1vw,6.15rem);line-height:.93;max-width:11ch}
.guide-hub-heading h2{font-size:clamp(2.55rem,4.3vw,4.35rem);line-height:.98;max-width:12ch}
.guide-feature-card__copy h3{font-size:clamp(2.15rem,3.5vw,3.55rem);line-height:1;max-width:13ch}
.guide-story-card h3{font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.06;max-width:17ch}
.guide-choice-grid strong{font-size:clamp(1.2rem,1.55vw,1.5rem)}
.guide-final-cta h2{font-size:clamp(2.5rem,4.45vw,4.55rem);line-height:.98;max-width:12ch}

/* Guide articles */
.guide-article-hero h1{font-size:clamp(3.35rem,5.9vw,6rem);line-height:.94;max-width:12ch}
.guide-direct-answer h2{font-size:clamp(2.1rem,3.55vw,3.55rem);line-height:1;max-width:15ch}
.guide-section h2{font-size:clamp(2.05rem,3.45vw,3.5rem);line-height:1;max-width:16ch}
.guide-checklist h3{font-size:clamp(1.35rem,1.8vw,1.65rem)}
.guide-insight-grid strong,
.guide-callout strong,
.guide-do-dont strong,
.guide-flow strong{font-size:clamp(1.15rem,1.45vw,1.4rem)}
.guide-quote{font-size:clamp(1.75rem,3vw,2.9rem);line-height:1.08}
.guide-prompt-list span{font-size:clamp(1.05rem,1.35vw,1.25rem)}
.guide-decision h2{font-size:clamp(2.25rem,3.8vw,3.8rem);line-height:1}
.guide-related h2{font-size:clamp(2.25rem,3.7vw,3.75rem);line-height:1}
.guide-related-card a>strong{font-size:clamp(1.25rem,1.65vw,1.55rem);line-height:1.1}

/* Prevent card headlines from overwhelming supporting copy */
.guide-story-card__copy p,
.guide-feature-card__copy p,
.signature-card p,
.collection-copy .lead{font-size:clamp(.96rem,1.15vw,1.08rem);line-height:1.55}

@media (min-width:1400px){
  .guide-story-card h3{font-size:2rem}
  .signature-card h3{font-size:1.5rem}
}

@media (max-width:759px){
  :root{
    --type-display-xl:clamp(3rem,14vw,4.45rem);
    --type-display-lg:clamp(2.8rem,13vw,4.15rem);
    --type-display-md:clamp(2.25rem,10.5vw,3.45rem);
    --type-heading-md:clamp(1.45rem,6.4vw,2rem);
  }

  h1{line-height:.96}
  h2{line-height:1}
  body.immersive-theme .hero-copy h1,
  .hero-copy h1{font-size:var(--type-display-xl);max-width:9.6ch;line-height:.91}
  body.immersive-theme .page-hero h1,
  .page-hero h1{font-size:var(--type-display-lg);line-height:.95;max-width:12ch}
  body.immersive-theme .service-hero-content h1,
  .service-hero-content h1{font-size:clamp(2.95rem,13vw,4.35rem);line-height:.94;max-width:11ch}
  body.immersive-theme .intro-grid h2,
  .intro-grid h2{font-size:clamp(2.25rem,10.5vw,3.4rem);max-width:12ch}
  .collection-copy h2,
  body.immersive-theme .collection-copy h2{font-size:clamp(2.2rem,9.8vw,3.35rem);max-width:12ch}
  .closing-content h2{font-size:clamp(2.25rem,10vw,3.5rem)}
  .cta-panel h2{font-size:clamp(2.15rem,9.5vw,3.25rem)}

  body.immersive-theme .booking-hero-content-v5 h1,
  .booking-hero-content-v5 h1{font-size:clamp(2.95rem,13vw,4.3rem);line-height:.95}
  .booking-entry-copy h2{font-size:clamp(2.25rem,10vw,3.35rem)}
  .booking-step-intro h2,
  body.immersive-theme .booking-step-intro h2{font-size:clamp(2.25rem,10.5vw,3.45rem);line-height:.99}

  .guide-hub-hero__content h1{font-size:clamp(2.95rem,13.5vw,4.45rem);line-height:.95;max-width:10.5ch}
  .guide-hub-heading h2{font-size:clamp(2.25rem,10.5vw,3.4rem)}
  .guide-feature-card__copy h3{font-size:clamp(1.95rem,8.6vw,2.8rem);max-width:14ch}
  .guide-story-card h3{font-size:clamp(1.5rem,6.8vw,2rem);max-width:18ch}
  .guide-final-cta h2{font-size:clamp(2.2rem,10vw,3.35rem)}

  .guide-article-hero h1{font-size:clamp(2.8rem,12.5vw,4.2rem);line-height:.96;max-width:11.5ch}
  .guide-direct-answer h2{font-size:clamp(2rem,9vw,2.95rem);max-width:15ch}
  .guide-section h2{font-size:clamp(1.95rem,8.7vw,2.85rem);max-width:16ch}
  .guide-decision h2,
  .guide-related h2{font-size:clamp(2.05rem,9.2vw,3rem)}
  .guide-quote{font-size:clamp(1.65rem,7.5vw,2.4rem)}

  .prose h2{font-size:clamp(1.9rem,8.5vw,2.75rem);max-width:17ch}
  .prose h3{font-size:clamp(1.35rem,6vw,1.75rem)}
}
