/* Final responsive layer. Fonts remain authored; heading fragments share metrics. */
main :is(h1,h2,h3) :is(span,em,strong,fh-text-run) {
  font-size:inherit!important; line-height:inherit!important; letter-spacing:inherit!important;
}
@media (max-width:767px) {
  :root { --fh-mobile-pad:clamp(18px,5.2vw,26px); }
  main :is(h1,h2,h3) { word-break:normal; hyphens:none; }
  main :is(h1,h2,h3) br { display:none; }
  main :is(h1,h2,h3) br::after { content:' '; }
  main > section p { font-size:15px!important; line-height:1.6!important; }
  .home-page .hero-copy h1 { max-width:100%!important; font-size:clamp(36px,10.3vw,47px)!important; line-height:1.08!important; letter-spacing:-.035em!important; }
  .home-page .hero-copy p { max-width:34ch!important; margin:22px 0 26px!important; font-size:15px!important; }
  .home-page .hero-section, .home-page .hero-section > .hero-grid.shell { min-height:clamp(560px,79svh,710px)!important; }
  .home-page .hero-section > .hero-grid.shell { padding-block:100px 64px!important; }
  .home-page .hero-media-wrap { inset:0!important; width:100%!important; transform:none!important; }
  .home-page .hero-media-wrap::after { background:linear-gradient(90deg,rgba(13,13,13,.86),rgba(13,13,13,.54)),linear-gradient(0deg,rgba(13,13,13,.65),transparent 70%)!important; }
  .home-page .flowhaze-film-section .shell { translate:none!important; scale:none!important; }
  .home-page .flowhaze-film-section .section-heading { display:block!important; text-align:left!important; }
  .home-page .flowhaze-film-section .section-heading :is(h2,p) { text-align:left!important; max-width:100%!important; margin-left:0!important; margin-right:0!important; }
  .home-page .flowhaze-film-section .section-heading > p { font-size:14px!important; margin-top:16px!important; }
  .home-page .flowhaze-film-player { aspect-ratio:16/9!important; }
  .home-page .final-video-placeholder { aspect-ratio:16/9!important; }
  .home-page .engagement-section .section-heading { display:block!important; }
  .home-page .stats-grid strong { font-size:clamp(36px,10vw,46px)!important; }
  .home-page .stats-grid > div { grid-template-columns:112px minmax(0,1fr)!important; }
  .home-page .testimonial-marquee-card { width:min(80vw,320px)!important; max-width:320px!important; display:flex!important; align-items:stretch!important; }
  .home-page .testimonial-marquee-card > div { padding:22px!important; display:flex; flex-direction:column; }
  .home-page .testimonial-marquee-card p { font-size:15px!important; line-height:1.6!important; margin-bottom:20px!important; }
  .home-page .testimonial-marquee-card .testimonial-author { margin-top:auto; }
  .home-page .testimonial-author strong { font-size:14px!important; }
  .home-page .testimonial-author span { font-size:12px!important; }
  .home-page .audience-card p { font-size:14px!important; }
  html[data-page='services'] .fh-service-tile, html[data-page='ai'] .fh-ai-tile { aspect-ratio:auto!important; min-height:330px!important; }
  html[data-page='services'] .fh-service-tile p, html[data-page='ai'] .fh-ai-tile p { font-size:14px!important; line-height:1.5!important; }
  html[data-page='services'] .fh-service-tile h2, html[data-page='ai'] .fh-ai-tile h2 { font-size:clamp(26px,7.2vw,32px)!important; line-height:1.12!important; }
  html[data-page='packages'] .package-features li { font-size:14px!important; }
  html[data-page='contact'] .project-form :is(input,select,textarea) { font-size:16px!important; }
  .site-footer .footer-brand { border-bottom:0!important; }
  .site-footer .footer-col a { display:inline-flex; align-items:center; min-height:36px; font-size:14px!important; overflow-wrap:normal!important; }
  .site-footer .footer-col { gap:6px!important; }
  .site-footer .footer-col > span { font-size:11px!important; }
  .site-footer .footer-bottom { font-size:12px!important; grid-template-columns:minmax(0,1fr)!important; gap:14px!important; }
  .site-footer .footer-bottom .footer-social-links { grid-column:1!important; grid-row:2!important; justify-self:start!important; }
  .site-footer .footer-bottom .footer-legal-links { grid-row:3!important; display:flex; flex-wrap:wrap; gap:12px; }
  .site-footer .footer-legal-links a { min-height:32px; display:inline-flex; align-items:center; }
  .site-header .mobile-menu a.button { min-height:46px!important; }
  .video-modal { padding: max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))!important; }
  .video-modal-inner { max-width:100%!important; max-height:calc(100svh - 32px)!important; }
  .video-modal video { max-height:calc(100svh - 130px)!important; object-fit:contain!important; }
  .video-modal :is(.modal-close,.video-toggle-play,.video-previous,.video-next) { min-width:44px; min-height:44px; }
  :is(#fh-editor-toggle,#fh-site-toggle,#fh-seo-toggle,#fh-text-editor-toggle) { max-width:calc(100vw - 24px); }
}
@media (min-width:768px) and (max-width:1100px) {
  .shell { width:calc(100% - 64px)!important; }
  main > section { height:auto!important; min-height:0!important; }
  main :is(h1,h2,h3) :is(span,fh-text-run) { font-size:inherit!important; }
  .home-page .hero-copy h1 { font-size:clamp(40px,5.5vw,56px)!important; line-height:1.08!important; }
  .home-page .flowhaze-film-section { padding-block:80px!important; }
  .home-page .flowhaze-film-section .section-heading { display:block!important; }
  .home-page .flowhaze-film-section .section-heading :is(h2,p) { text-align:center!important; max-width:100%!important; margin:0 auto 18px!important; }
  .home-page .flowhaze-film-section .section-heading > p { font-size:16px!important; }
  .home-page .flowhaze-film-player { width:100%!important; height:auto!important; aspect-ratio:16/9!important; }
  .home-page .engagement-section .section-heading h2 { font-size:48px!important; }
  .home-page .stats-grid strong { font-size:48px!important; }
  .home-page .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  .home-page .stats-grid > div { display:block!important; }
  html[data-page='contact'] .contact-grid { display:grid!important; grid-template-columns:1fr!important; gap:32px!important; }
  .careers-hero-grid, .careers-final-inner { grid-template-columns:1fr!important; }
}
@media (max-width:767px) and (max-height:500px) {
  .home-page .hero-section,.home-page .hero-section > .hero-grid.shell { min-height:0!important; }
  .home-page .hero-section > .hero-grid.shell { padding-block:110px 52px!important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .reveal,.section-reveal { opacity:1!important; transform:none!important; transition:none!important; }
  .audience-grid { scroll-behavior:auto!important; }
}
.fh-mobile-break-space { display:none!important; }
@media(max-width:767px) {
  main :is(h1,h2,h3) .fh-mobile-break-space { display:inline!important; }
  #fh-editor-toggle { right:10px!important; bottom:max(10px,env(safe-area-inset-bottom))!important; padding:11px 12px!important; font-size:12px!important; }
  #fh-site-toggle { left:10px!important; right:auto!important; bottom:max(10px,env(safe-area-inset-bottom))!important; padding:11px 12px!important; }
  #fh-seo-toggle { left:10px!important; right:auto!important; bottom:calc(56px + env(safe-area-inset-bottom))!important; }
  #fh-rulers-quick-toggle { left:auto!important; right:10px!important; bottom:calc(56px + env(safe-area-inset-bottom))!important; }
}
/* Guard against older selectors with repeated data-page specificity. */
@media(max-width:767px) {
  html[data-page='ai'][data-page='ai'] main .fh-ai-grid .fh-ai-tile { display:block!important; min-height:330px!important; height:auto!important; aspect-ratio:auto!important; }
  html[data-page='contact'] main > section.contact-hero { padding-top:110px!important; padding-bottom:56px!important; }
  html[data-page='careers'] main > section.careers-hero { padding-top:110px!important; padding-bottom:56px!important; }
}
/* Equalize perceived letter height across the sans/serif pair, as well as CSS size. */
main :is(h1,h2,h3) { font-size-adjust:.52; }
.marquee-section [hidden] { display:none!important; }
