footer .footer-social .social-icon{width:22px;height:22px;flex:0 0 22px;fill:currentColor}
footer .footer-social a{gap:9px}
@media(max-width:760px){
  html{scroll-padding-top:86px}
  .wrap{width:calc(100% - 36px);max-width:100%}
  header.site-header{height:72px;padding-inline:18px;gap:8px}
  .site-header .site-brand img{width:125px;height:auto;max-height:52px}
  .site-menu>summary{min-height:44px;padding:9px;font-size:16px}
  .site-header .site-contact-link{font-size:15px;min-height:44px;display:flex;align-items:center}
  .site-header .site-menu-panel{position:fixed;top:78px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 96px);overflow-y:auto;border-radius:16px}
  .site-header .site-menu-panel a{min-height:46px;display:flex;align-items:center;font-size:17px}
  .home-welcome{padding-block:26px 30px;gap:24px}
  .home-welcome h1{font-size:clamp(1.85rem,7.8vw,2.45rem);line-height:1.18;margin-bottom:16px}
  .home-welcome p:not(.eyebrow){font-size:1.1rem;line-height:1.55}
  .home-welcome .button{display:flex;justify-content:center;width:100%;min-height:48px;white-space:normal}
  .home-secondary{text-align:center;font-size:1rem;line-height:1.4;padding-block:6px}
  .home-film{max-width:min(100%,300px)}
  .home-film-frame{border-radius:18px;box-shadow:0 10px 28px #071e3718}
  .home-film figcaption{padding-top:10px;font-size:1.05rem}
  .home-film figcaption span{font-size:.9rem}
  .home-choice-grid{gap:10px}
  .home-choice{padding:16px;border-radius:14px;min-width:0}
  .home-choice h3{font-size:1.13rem;line-height:1.3}
  .home-choice p{font-size:1rem;line-height:1.4}
  .page-intro{padding-block:24px}
  .page-intro h1,.service-hero h1{font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.2;overflow-wrap:break-word}
  .button{max-width:100%;min-height:46px;white-space:normal;line-height:1.35}
  .service-layout,.service-hero .wrap,.founder-layout,.contact-information,.location-layout{min-width:0}
  .service-booking{position:static;padding:22px}
  .service-content,.founder-copy,.research-card,.faq-item{min-width:0;overflow-wrap:break-word}
  .faq-item summary{padding:18px 16px;gap:12px;font-size:1.08rem;min-height:56px}
  .source-list a{overflow-wrap:anywhere}
  .media-logos{gap:12px}
  .media-logo{padding:18px 12px;border-radius:14px}
  .media-mentions-heading>p:last-child{font-size:1rem}
  .partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .partner-logo{min-height:90px;padding:12px 8px;border-radius:12px}
  .partner-logo img{height:54px;width:100%}
  .partner-logo .partner-appeal{height:66px}
  .brand-partners h2{font-size:1.35rem}
  .entry-offer{padding:22px;gap:12px}
  .entry-price strong{font-size:2.5rem}
  .contact-message input,.contact-message textarea,.contact-message select{font-size:16px;max-width:100%}
  footer.wrap{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-block:30px}
  footer p{order:0;max-width:100%;margin:0;font-size:1rem;line-height:1.55}
  footer>a{margin-left:0;min-height:44px;display:flex;align-items:center}
  footer .footer-social{order:2;flex-basis:auto;margin-top:0;padding-top:20px}
  footer .footer-social div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  footer .footer-social a{justify-content:flex-start;padding:12px;font-size:1rem;border-radius:12px;min-height:48px}
}
@media(max-width:360px){
  header.site-header{padding-inline:12px}.site-header .site-brand img{width:108px}
  .wrap{width:calc(100% - 28px)}.home-choice-grid{grid-template-columns:1fr}
  .partner-logos{grid-template-columns:1fr}.partner-logo img{max-width:180px}
}
