/* Capri Studio Films — Version 17 balanced typography system
   Reduces oversized display text while preserving cinematic hierarchy. */
:root{
  --csf-display-hero:clamp(3.6rem,6.4vw,6.75rem);
  --csf-display-section:clamp(2.7rem,4.15vw,4.6rem);
  --csf-display-section-wide:clamp(2.95rem,4.65vw,5rem);
  --csf-display-page:clamp(3.1rem,5.35vw,5.8rem);
  --csf-display-card:clamp(1.8rem,2.7vw,2.9rem);
}

/* General rhythm */
.home-model .section-head{margin-bottom:clamp(2.1rem,4vw,3.6rem);gap:clamp(1.75rem,4vw,3rem)}
.home-model .section-head h2,
.home-model .about h2,
.home-model .wwd h2,
.home-model .catalog h2,
.home-model .trusted h2,
.home-model .visit h2,
.home-model .contact h2{
  font-size:var(--csf-display-section);
  line-height:.94;
  letter-spacing:-.038em;
}
.home-model .section-head>p,
.home-model .section-lead{font-size:clamp(.96rem,1.15vw,1.08rem);line-height:1.68}

/* Opening hero remains strong without overwhelming the screen */
.home-model .hero h1{
  font-size:var(--csf-display-hero);
  line-height:.88;
  letter-spacing:-.048em;
  max-width:900px;
}
.home-model .hero-desc{font-size:clamp(.94rem,1.1vw,1.04rem);max-width:45ch}

/* Who We Are */
.home-model .about h2{
  font-size:clamp(2.75rem,4vw,4.35rem);
  line-height:.95;
  max-width:11ch;
}
.home-model .about-copy .section-lead{font-size:clamp(1rem,1.18vw,1.14rem)}

/* What We Do */
.home-model .wwd .section-head h2{
  font-size:clamp(2.75rem,4.1vw,4.45rem);
  line-height:.95;
}
.home-model .wwd .section-head p{max-width:42ch}

/* Vertical Drama */
.home-model .slate-v11-head h2{
  font-size:clamp(3.1rem,4.8vw,5.15rem);
  line-height:.9;
  letter-spacing:-.05em;
}
.home-model .slate-v11-copy h3{
  font-size:clamp(2.35rem,3.55vw,4.1rem);
  line-height:.94;
  letter-spacing:-.045em;
}
.home-model .slate-v11-headline>p{font-size:1rem}

/* Services */
.home-model .svc-v16-header{max-width:700px;margin-bottom:clamp(2.25rem,4vw,3.6rem)}
.home-model .svc-v16-header .section-title{
  font-size:clamp(3rem,4.45vw,4.75rem);
  line-height:.94;
  letter-spacing:-.04em;
}
.home-model .svc-v16-header .section-lead{font-size:clamp(.98rem,1.15vw,1.08rem);max-width:46ch}
.home-model .svc-v16-copy h3{font-size:clamp(1.9rem,2.7vw,3.05rem);line-height:1}

/* Our Work in Action */
.home-model .wia .section-head h2{
  font-size:clamp(2.9rem,4.4vw,4.75rem);
  line-height:.94;
  max-width:none;
}

/* AI Production */
.home-model .ai-intro h2{
  font-size:clamp(2.9rem,4.35vw,4.7rem);
  line-height:.94;
  letter-spacing:-.04em;
}

/* Line Production */
.home-model .lineprod h2{
  font-size:clamp(3rem,4.55vw,4.9rem);
  line-height:.94;
  letter-spacing:-.04em;
}

/* Catalog */
.home-model .catalog-head{max-width:780px}
.home-model .catalog-head h2{
  font-size:clamp(2.85rem,4.25vw,4.6rem);
  line-height:.94;
  letter-spacing:-.04em;
}
.home-model .catalog-head p{font-size:1rem;max-width:54ch}

/* Marketplace */
.home-model .marketplace-home-head{
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  column-gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
}
.home-model .marketplace-home-head h2{
  font-size:clamp(3rem,4.75vw,5.05rem);
  line-height:.9;
  letter-spacing:-.048em;
  max-width:9.5ch;
}
.home-model .marketplace-home-head p{font-size:1rem;max-width:52ch}

/* Partnership */
.home-model .trusted-head h2{
  font-size:clamp(2.8rem,4.15vw,4.5rem);
  line-height:.95;
}

/* Visit */
.home-model .visit-copy{padding:clamp(3rem,5.5vw,5.5rem)}
.home-model .visit-copy h2{
  font-size:clamp(2.75rem,4vw,4.3rem);
  line-height:.95;
  max-width:9ch;
}

/* Contact */
.home-model .contact h2{
  font-size:clamp(2.95rem,4.45vw,4.75rem);
  line-height:.94;
  max-width:13ch;
}
.home-model .contact-inner{gap:clamp(2.5rem,5vw,4rem)}

/* Footer stage */
.mrf-footer .footer-stage{min-height:360px}
.mrf-footer .footer-stage h2{
  font-size:clamp(2.9rem,4.4vw,4.75rem);
  line-height:.94;
  letter-spacing:-.04em;
  max-width:15ch;
}

/* Public subpages */
.page-hero h1{font-size:var(--csf-display-page);line-height:.9;letter-spacing:-.048em;max-width:14ch}
body:not(.home-model) h2{font-size:clamp(2.25rem,3.45vw,3.8rem);line-height:1;letter-spacing:-.035em}
.cap-detail-hero h1{font-size:clamp(3.5rem,6vw,6rem);line-height:.9;letter-spacing:-.052em}
.cap-process-intro h2{font-size:clamp(2.9rem,4.5vw,4.85rem);line-height:.92}
.cap-proof-copy h2,.cap-faq-layout h2{font-size:clamp(2.7rem,4.1vw,4.45rem);line-height:.94}
.cap-cta h2{font-size:clamp(3rem,4.8vw,5rem);line-height:.92}
.title-detail-copy h1{font-size:clamp(3.6rem,6.3vw,6.4rem);line-height:.86;letter-spacing:-.06em}
.title-story-grid h2{font-size:clamp(2.9rem,4.5vw,4.8rem);line-height:.92}
.vd-catalog-hero h1{font-size:clamp(3.5rem,5.8vw,6rem);line-height:.88}
.vd-detail-copy h1{font-size:clamp(3.6rem,6.2vw,6.35rem);line-height:.87}
.vd-pitch-grid h2,.vd-detail-cta h2{font-size:clamp(2.65rem,4.2vw,4.45rem);line-height:.94}

/* Tablet */
@media (max-width:980px){
  :root{
    --csf-display-hero:clamp(3.35rem,9vw,5.7rem);
    --csf-display-section:clamp(2.55rem,6.5vw,4rem);
  }
  .home-model .marketplace-home-head{grid-template-columns:1fr}
  .home-model .marketplace-home-head h2{max-width:11ch}
  .home-model .marketplace-home-head p{margin-top:1.25rem}
  .home-model .visit-copy h2{max-width:12ch}
  .mrf-footer .footer-stage h2{max-width:13ch}
}

/* Phones */
@media (max-width:680px){
  :root{
    --csf-display-hero:clamp(3rem,13vw,4.7rem);
    --csf-display-section:clamp(2.35rem,10.5vw,3.35rem);
    --csf-display-page:clamp(2.8rem,12.5vw,4.35rem);
  }
  .home-model .section-head h2,
  .home-model .about h2,
  .home-model .wwd h2,
  .home-model .catalog h2,
  .home-model .trusted h2,
  .home-model .visit h2,
  .home-model .contact h2{font-size:var(--csf-display-section);line-height:.98}
  .home-model .about h2{max-width:12ch}
  .home-model .slate-v11-head h2{font-size:clamp(2.75rem,12vw,4rem)}
  .home-model .slate-v11-copy h3{font-size:clamp(2.2rem,10vw,3.3rem)}
  .home-model .svc-v16-header .section-title{font-size:clamp(2.75rem,12vw,3.85rem)}
  .home-model .wia .section-head h2{font-size:clamp(2.55rem,11vw,3.55rem)}
  .home-model .ai-intro h2{font-size:clamp(2.55rem,11vw,3.55rem)}
  .home-model .lineprod h2{font-size:clamp(2.65rem,11.5vw,3.75rem)}
  .home-model .marketplace-home-head h2{font-size:clamp(2.75rem,12vw,4rem);max-width:10ch}
  .home-model .contact h2{font-size:clamp(2.65rem,11.5vw,3.7rem)}
  .mrf-footer .footer-stage h2{font-size:clamp(2.55rem,11vw,3.65rem)}
  .page-hero h1{font-size:var(--csf-display-page)}
  body:not(.home-model) h2{font-size:clamp(2rem,9vw,3rem)}
  .cap-detail-hero h1,.title-detail-copy h1,.vd-detail-copy h1{font-size:clamp(3rem,14vw,4.8rem)}
}
