/* Coordinated display, feature, section, body and label hierarchy.
   The existing Helvetica Neue/system stack and corrected photography are retained.
   Typography stays stable while the existing photographic motion operates. */
:root {
  --type-hero: clamp(3.5rem, 6.7vw, 6.25rem);
  --type-statement: clamp(3.25rem, 7.8vw, 7rem);
  --type-feature: clamp(3.25rem, 5.1vw, 4.75rem);
  --type-section: clamp(1.875rem, 2.8vw, 2.625rem);
  --type-body: 1.0625rem;
  --display-leading: 1.025;
  --display-tracking: -.05em;
}
h1,h2,h3 { text-wrap:balance; overflow-wrap:normal; word-break:normal; hyphens:none; }
h2 { font-size:var(--type-section); letter-spacing:-.035em; line-height:1.12; }
h3 { letter-spacing:-.025em; }
.type-accent { color:var(--accent); }
.eyebrow { font-size:.6875rem; letter-spacing:.2em; line-height:1.6; }
:is(.hero,.reel-heading,.service-opening-copy,.listening-transition,.closing-inner,.service-invitation,.audio-tonal-closing,.service-closing)>.eyebrow,
.hero .eyebrow,.reel-heading .eyebrow,.listening-transition .eyebrow,.service-invitation .eyebrow,.audio-tonal-closing .eyebrow,
.project-category,.service-offerings>.eyebrow,.video-client-proof>.eyebrow,.section-heading>.eyebrow {
  display:flex; align-items:center; gap:14px; font-size:.6875rem; letter-spacing:.2em; line-height:1.6;
}
:is(.hero,.reel-heading,.service-opening-copy,.listening-transition,.closing-inner,.service-invitation,.audio-tonal-closing,.service-closing)>.eyebrow:before,
.hero .eyebrow:before,.reel-heading .eyebrow:before,.listening-transition .eyebrow:before,.service-invitation .eyebrow:before,.audio-tonal-closing .eyebrow:before,
.project-category:before,.service-offerings>.eyebrow:before,.video-client-proof>.eyebrow:before,.section-heading>.eyebrow:before {
  content:''; width:32px; height:2px; flex-shrink:0; background:var(--accent);
}

/* A broad display measure, with the production photograph still in view. */
.home-page .hero { height:auto; min-height:960px; max-height:none; align-items:center; }
.home-page .hero-content { padding-block:160px 155px; }
.home-page .hero h1 { font-size:var(--type-hero); font-weight:600; line-height:var(--display-leading); letter-spacing:var(--display-tracking); max-width:730px; margin-top:26px; }
.home-page .hero-description { max-width:550px; font-size:var(--type-body); line-height:1.7; margin-top:30px; }
.home-page .hero .scene-photo img { object-position:15% center; }
.home-page .hero .hero-shade { background:linear-gradient(90deg,rgba(6,8,11,.92),rgba(6,8,11,.78) 40%,rgba(6,8,11,.52) 58%,rgba(6,8,11,.03) 83%),linear-gradient(0deg,rgba(6,8,11,.7),transparent 30%); }
.home-page .site-header { background:rgba(9,13,17,.87); border-bottom:1px solid #ffffff20; }
.hero-bottom p { font-size:.75rem; }
.home-page .hero .actions { margin-top:32px; }
.video-opening,.audio-opening { min-height:850px; }
.video-opening .video-opening-shade { background:linear-gradient(90deg,rgba(5,12,19,.96),rgba(5,12,19,.8) 38%,rgba(5,12,19,.53) 60%,rgba(5,12,19,.12) 80%),linear-gradient(0deg,rgba(5,12,19,.55),transparent 55%); }
.video-opening .service-opening-copy,.audio-opening .service-opening-copy { max-width:780px; padding-block:95px; }
.video-opening h1,.audio-opening h1 { font-size:var(--type-hero); line-height:var(--display-leading); letter-spacing:var(--display-tracking); font-weight:600; max-width:740px; margin-top:26px; }
.video-opening .service-intro,.audio-opening .service-intro { max-width:600px; font-size:var(--type-body); line-height:1.7; margin-top:30px; }
.video-opening .coverage,.audio-opening .coverage { font-size:.8125rem; line-height:1.6; }

/* One statement, two parts; the reel keeps its cinematic scale beneath it. */
.home-page .selected-work { padding-top:88px; }
.home-page .reel-heading { grid-template-columns:minmax(0,1fr) minmax(230px,300px); gap:75px; margin-bottom:38px; }
.reel-heading h2 { font-size:var(--type-statement); line-height:1.02; letter-spacing:-.055em; max-width:none; margin-top:30px; font-weight:600; }
.work-statement { display:block; }
.work-statement+.work-statement { margin-top:8px; margin-left:clamp(0px,3.8vw,55px); }
.home-page .reel-heading>p { font-size:var(--type-body); line-height:1.65; max-width:30ch; padding-bottom:9px; }
.home-page .work-choice { margin-bottom:34px; }
.work-choice a { font-size:.9375rem; }

/* Strong promises alternate with quieter service/process detail. */
.service-offerings { padding-block:80px; }
.service-offerings h2 { font-size:var(--type-feature); line-height:1.04; letter-spacing:var(--display-tracking); max-width:880px; margin-block:25px; }
.scope-intro { font-size:var(--type-body); max-width:750px; line-height:1.75; }
.service-offerings .offering-grid h3 { font-size:1.625rem; }
.service-offerings .offering-grid p { font-size:1rem; line-height:1.75; }
.listening-transition { padding-block:66px; }
.listening-transition .listening-opening { grid-template-columns:1.3fr 1fr; gap:20px 80px; align-items:end; }
.listening-transition h2 { font-size:var(--type-feature); line-height:1.045; letter-spacing:var(--display-tracking); max-width:610px; margin:8px 0 0; }
.listening-transition .listening-intro { font-size:var(--type-body); line-height:1.75; max-width:48ch; margin-bottom:3px; }
.section-heading h2,.service-process h2,.home-plan h2 { font-size:var(--type-section); }
.problem-grid h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.08; }
.problem-grid p:not(.eyebrow) { font-size:1rem; line-height:1.75; }
.values p,.step-grid p { font-size:.9375rem; line-height:1.7; }
.values h3 { font-size:1.25rem; }
.home-page .service h3 { font-size:clamp(2rem,3.1vw,3rem); max-width:540px; }
.home-page .service-copy>p,.guide-copy>p:not(.eyebrow) { font-size:1rem; line-height:1.75; }
.guide-copy h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.1; }
.guide-production .guide-copy h2 { font-size:clamp(2rem,3vw,2.75rem); max-width:480px; }
.guide-production .guide-copy>p:not(.eyebrow) { font-size:1rem; }
.trailer-support h2 { font-size:clamp(2.125rem,3.8vw,3.5rem); line-height:1.08; }
.service-projects h2 { font-size:var(--type-section); }
.project-feature-copy h3,.portfolio-mini .project-feature-copy h3,.portfolio-grid .project-feature-copy h3 { font-size:clamp(1.625rem,2.1vw,2rem); line-height:1.12; }
.project-feature-copy>p:not(.eyebrow),.portfolio-mini .project-feature-copy>p:not(.eyebrow),.portfolio-grid .project-feature-copy>p:not(.eyebrow) { font-size:.9375rem; line-height:1.7; }
.service-faq summary { font-size:.9375rem; }

/* A single concise, approved excerpt becomes a visual focal point.
   Full service-page testimonials retain their comfortable reading scale. */
.video-client-proof { max-width:none; display:grid; grid-template-columns:180px minmax(0,1fr); gap:55px; align-items:start; padding-block:50px; margin-block:65px 10px; border-block:1px solid #506170; }
.video-client-proof>.eyebrow { padding-top:9px; color:#bdcedb; }
.video-client-proof .client-endorsement { padding:0; border:0; }
.video-client-proof .client-endorsement p { font-size:clamp(1.875rem,3.5vw,3rem); font-weight:500; line-height:1.18; letter-spacing:-.035em; max-width:39ch; text-wrap:balance; }
.video-client-proof .client-endorsement cite { font-size:.875rem; line-height:1.6; margin-top:27px; color:#d0dae2; }
.service-guide .client-endorsement p,.guide-wrap .client-endorsement p,.project-credit-section .client-endorsement p { font-size:1.0625rem; line-height:1.7; }
.client-endorsement cite,.service-guide .client-endorsement cite { font-size:.875rem; line-height:1.6; }

/* Category -> title -> concrete client need, never invented outcome statistics. */
.project-intro { padding-block:55px 50px; }
.project-intro .back-link { margin-bottom:40px; font-size:.875rem; }
.project-intro h1 { font-size:clamp(3.5rem,6.3vw,6rem); line-height:1.035; letter-spacing:var(--display-tracking); max-width:1120px; margin-block:28px 32px; }
.project-name { display:block; }
.project-purpose { font-size:clamp(1.125rem,1.6vw,1.375rem); line-height:1.6; max-width:64ch; color:#d6e2ec; }
.project-story { grid-template-columns:1.15fr 1fr; gap:90px; padding-block:45px 55px; }
.project-story h2 { font-size:clamp(2rem,3.6vw,3.25rem); line-height:1.07; max-width:560px; margin-block:18px 23px; }
.project-story p:not(.eyebrow) { font-size:1.0625rem; line-height:1.75; }
.project-story>div:first-child { padding-right:20px; }

/* Closing statements have display authority; supporting text remains secondary. */
.home-page .closing { min-height:760px; }
.closing-inner { padding-block:85px; }
.closing h2,.service-invitation h2,.audio-tonal-closing h2,.service-closing h2 { font-size:clamp(3.25rem,5.8vw,5.25rem); line-height:1.045; letter-spacing:var(--display-tracking); max-width:990px; margin-block:28px; }
.closing-description,.service-invitation p:not(.eyebrow),.audio-tonal-closing p:not(.eyebrow),.service-closing>p:not(.eyebrow) { font-size:var(--type-body); line-height:1.7; max-width:560px; }
.closing .success-copy { font-size:.875rem; line-height:1.65; }
.service-invitation { min-height:680px; padding-block:85px; }
.service-invitation h2 { max-width:860px; }
.audio-tonal-closing { padding-block:65px; }
.audio-tonal-closing>.container { grid-template-columns:1.4fr 1fr; gap:15px 80px; }
.audio-tonal-closing h2 { font-size:var(--type-feature); max-width:680px; margin-block:10px; }
.audio-tonal-closing p:not(.eyebrow) { max-width:450px; }
.audio-tonal-closing .button { margin-top:18px; }
.service-closing { padding-block:70px; }
.button { font-size:.875rem; }

@media(max-width:1100px) {
  .home-page .hero h1 { max-width:680px; }
  .home-page .reel-heading { grid-template-columns: minmax(0,1fr) 240px; gap:35px; }
  .reel-heading h2 { font-size:clamp(3.75rem,7.1vw,5.25rem); }
  .video-client-proof { grid-template-columns:140px minmax(0,1fr); gap:35px; }
  .project-story { gap:45px; }
}
@media(max-width:850px) {
  .home-page .reel-heading { grid-template-columns:1fr; gap:25px; }
  .reel-heading h2 { max-width:720px; }
  .home-page .reel-heading>p { max-width:44ch; }
  .listening-transition .listening-opening,.audio-tonal-closing>.container { grid-template-columns:1fr; gap:24px; }
  .listening-transition .listening-intro { max-width:60ch; }
}
@media(max-width:700px) {
  :root { --type-hero:clamp(2.75rem,12vw,3.625rem); --type-statement:clamp(2.5rem,12.8vw,3.75rem); --type-feature:clamp(2.5rem,10.8vw,3.25rem); --type-section:clamp(1.875rem,8vw,2.25rem); }
  .home-page .hero { min-height:1060px; display:block; }
  .home-page .hero-content { padding-block:350px 170px; }
  .home-page .hero h1 { font-size:var(--type-hero); line-height:1.035; max-width:100%; margin-top:23px; }
  .home-page .hero-description { font-size:1rem; line-height:1.7; max-width:100%; margin-top:24px; }
  .home-page .hero .scene-photo img { object-position:center top; }
  .home-page .hero .hero-shade { background:linear-gradient(0deg,rgba(6,8,11,.99),rgba(6,8,11,.94) 37%,rgba(6,8,11,.65) 59%,transparent 80%),linear-gradient(180deg,rgba(6,8,11,.4),transparent 20%); }
  .hero-bottom p { font-size:.6875rem; line-height:1.65; max-width:340px; }
  .video-opening,.audio-opening { min-height:0; align-items:flex-end; }
  .video-opening .video-opening-shade { background:linear-gradient(0deg,rgba(5,12,19,.98),rgba(5,12,19,.88) 43%,rgba(5,12,19,.02) 78%); }
  .video-opening .service-opening-copy,.audio-opening .service-opening-copy { padding-block:335px 40px; max-width:100%; }
  .video-opening h1,.audio-opening h1 { max-width:100%; margin-top:23px; }
  .video-opening .service-intro,.audio-opening .service-intro { font-size:1rem; max-width:100%; line-height:1.7; margin-top:24px; }
  .video-opening .coverage,.audio-opening .coverage { font-size:.75rem; }
  .home-page .selected-work { padding-top:46px; }
  .home-page .reel-heading { gap:23px; margin-bottom:25px; }
  .reel-heading h2 { font-size:var(--type-statement); margin-top:23px; line-height:1.05; letter-spacing:-.055em; max-width:100%; }
  .work-statement+.work-statement { margin-left:0; margin-top:6px; }
  .home-page .reel-heading>p { font-size:1rem; padding:0; }
  .home-page .work-choice { margin-bottom:24px; }
  .service-offerings { padding-block:45px; }
  .service-offerings h2 { font-size:var(--type-feature); max-width:100%; margin-block:23px; }
  .scope-intro { font-size:1rem; }
  .listening-transition { padding-block:40px; }
  .listening-transition .listening-opening { gap:23px; }
  .listening-transition h2 { font-size:var(--type-feature); max-width:100%; line-height:1.07; margin-top:0; }
  .listening-transition .listening-intro { font-size:1rem; line-height:1.7; }
  .home-page .service h3 { font-size:2rem; }
  .home-page .service-copy>p,.guide-copy>p:not(.eyebrow) { font-size:1rem; }
  .guide-copy h2 { font-size:2rem; }
  .project-feature-copy h3,.portfolio-mini .project-feature-copy h3,.portfolio-grid .project-feature-copy h3,.featured-projects .project-feature:first-child h3 { font-size:1.875rem; }
  .video-client-proof { grid-template-columns:1fr; gap:24px; padding-block:35px; margin-top:40px; }
  .video-client-proof>.eyebrow { padding:0; }
  .video-client-proof .client-endorsement p { font-size:clamp(1.875rem,8.5vw,2.25rem); line-height:1.23; max-width:100%; }
  .video-client-proof .client-endorsement cite { margin-top:23px; }
  .project-intro { padding-block:32px 35px; }
  .project-intro .back-link { margin-bottom:32px; }
  .project-intro h1 { font-size:clamp(2.625rem,11.8vw,3.5rem); max-width:100%; margin-block:24px; line-height:1.06; }
  .project-purpose { font-size:1.125rem; line-height:1.65; }
  .project-story { grid-template-columns:1fr; padding-block:35px 40px; gap:38px; }
  .project-story>div:first-child { padding-right:0; }
  .project-story h2 { font-size:2rem; }
  .project-story p:not(.eyebrow) { font-size:1rem; }
  .home-page .closing { min-height:0; }
  .closing-inner { padding-block:275px 45px; }
  .closing h2,.service-invitation h2,.audio-tonal-closing h2,.service-closing h2 { font-size:var(--type-feature); line-height:1.08; max-width:100%; margin-block:24px; }
  .closing-description,.service-invitation p:not(.eyebrow),.audio-tonal-closing p:not(.eyebrow),.service-closing>p:not(.eyebrow) { font-size:1rem; line-height:1.7; }
  .closing .success-copy { font-size:.8125rem; }
  .service-invitation { min-height:0; padding-block:275px 45px; }
  .audio-tonal-closing { padding-block:40px; }
  .audio-tonal-closing>.container { gap:16px; }
  .audio-tonal-closing h2 { margin-block:6px 10px; }
  .service-closing { padding-block:45px; }
}
