/* Homepage brand rhythm. Palette remains defined in brand-tokens.css.
   Presentation only: CMS hooks, gallery transforms, and forms are untouched. */
body[data-page="home"] {
  --home-section-space: clamp(40px,5vw,64px);
  --home-heading-size: clamp(30px,4vw,48px);
  --home-body-size: 16px;
  --home-panel-radius: 24px;
  font-family: "Outfit","Inter",sans-serif;
}
body[data-page="home"] :is(h1,h2,h3,h4,h5,p,li,label,input,select,textarea,.btn) { font-family: "Outfit","Inter",sans-serif; }
body[data-page="home"] :is(.movement-panel h2,.philosophy-quote,#recentWork .section-title,#sets .section-title,#process .section-title,#partners .corporate-panel h2,.final-cta h2,#contact .section-title) {
  font-size: var(--home-heading-size); font-weight: 600; line-height: 1.08; letter-spacing: -.04em;
  text-wrap: balance; margin-bottom: 20px;
}
body[data-page="home"] :is(.movement-panel h2,.philosophy-quote,#recentWork .section-title,#sets .section-title,#process .section-title,#partners .corporate-panel h2) { color: var(--brand-deep-purple); }
body[data-page="home"] :is(.movement-copy > p,.philosophy-text p,#sets .section-sub,#process .section-sub,#partners .corporate-panel p,.final-cta p,#contact .contact-info > p) {
  font-size: var(--home-body-size); line-height: 1.65; font-weight: 400;
}
body[data-page="home"] :is(.movement-copy > p,.philosophy-text p,#sets .section-sub,#process .section-sub,#partners .corporate-panel p) { color: var(--brand-muted); }
body[data-page="home"] :is(#sets,#process,#partners,.final-cta,#contact) { padding-block: var(--home-section-space); }
body[data-page="home"] #trustedBrands + .philosophy { padding-block: var(--home-section-space); }
body[data-page="home"] .executive-cta-section { padding-bottom: 0; }
body[data-page="home"] .executive-service-callout { border-radius: var(--home-panel-radius); }
body[data-page="home"] #partners .corporate-panel { border-radius: var(--home-panel-radius); background: var(--brand-light-gray); border-color: var(--brand-border); }
body[data-page="home"] #partners .corporate-panel p { max-width: 60ch; }
body[data-page="home"] #partners .corporate-list { gap: 16px; font-size: 15px; line-height: 1.6; }
body[data-page="home"] :is(#sets,#process) .section-head { margin-bottom: 32px; }
body[data-page="home"] #sets .section-sub { max-width: 62ch; }
body[data-page="home"] .process-step h4 { font-size: 20px; line-height: 1.25; font-weight: 600; color: var(--brand-deep-purple); }
body[data-page="home"] .process-step p { font-size: 15px; line-height: 1.6; color: var(--brand-muted); }
body[data-page="home"] .corporate-list svg { stroke: var(--brand-brand-blue); }
body[data-page="home"] :is(.hero-actions,.movement-actions,.philosophy,.set-card,.corporate-panel,.final-cta-actions,#contactForm) .btn {
  min-height: 48px; padding: 12px 20px; font-size: 14px; font-weight: 500; line-height: 1.4;
}
body[data-page="home"] .btn-primary { background: var(--brand-cta-gradient); color: var(--brand-white); }
body[data-page="home"] .final-cta { background: var(--brand-purple-gradient); }
body[data-page="home"] #contact { background: var(--brand-deep-purple); }
body[data-page="home"] :is(.final-cta h2,#contact .section-title) { color: var(--brand-white); }
body[data-page="home"] :is(.final-cta p,#contact .contact-info > p) { color: rgba(255,255,255,.8); }
body[data-page="home"] .final-cta h2 { max-width: 23ch; margin-inline: auto; }
body[data-page="home"] #contact .contact-grid { gap: 40px; align-items: start; }
body[data-page="home"] #contact .contact-info > p { max-width: 56ch; margin-bottom: 24px; }
body[data-page="home"] #contact .form-panel { border-radius: var(--home-panel-radius); }
body[data-page="home"] #contact :is(input,select,textarea) { font-size: 16px; }
/* Compact media sections retain their own approved card sizes and hierarchy. */
body[data-page="home"] #recentWork .section-title { margin-bottom: 0; }
body[data-page="home"] #shortform { padding-block: 24px 32px; }
body[data-page="home"] .studio-arc-hero .hero-preview { font-size: 16px; line-height: 1.65; }
@media(max-width:760px) {
  body[data-page="home"] { --home-section-space: 40px; --home-body-size: 15px; --home-heading-size: clamp(28px,7.4vw,38px); }
  body[data-page="home"] :is(#sets,#process) .section-head { margin-bottom: 24px; }
  body[data-page="home"] #contact .contact-grid { gap: 28px; }
  body[data-page="home"] .movement-panel { padding: 24px; gap: 28px; }
  body[data-page="home"] .movement-copy { order: -1; }
  body[data-page="home"] .studio-arc-hero { padding-top: 108px; }
  body[data-page="home"] .studio-arc-hero .hero-actions .btn { padding-inline: 16px; }
}
body[data-page="home"] :is(.nav-links a,.mobile-menu a,.process-index) { font-family: "Outfit","Inter",sans-serif; }
@media(max-width:760px) {
  body[data-page="home"] .movement-actions .btn { padding-inline: 16px; }
}
/* Featured work uses the dark brand surface with a high-contrast heading. */
body[data-page="home"] #recentWork { background: var(--brand-deep-purple); }
body[data-page="home"] #recentWork .section-title { color: var(--brand-white); }
/* Override the shared light-section heading rule on this dark surface. */
body[data-page="home"] section#recentWork .reel-head h2.section-title {
  color: var(--brand-white);
  -webkit-text-fill-color: var(--brand-white);
}
