/* Fluid layout, intrinsic sizing and comfortable touch targets. */
.hero > *, .heading > *, .case > *, .about > *, .contact > *,
.stats > *, .social-grid > *, .footer-main > * { min-width: 0; }
img { max-width: 100%; }
.button { max-width: 100%; white-space: normal; text-align: center; }
.email, .footer-identity, .social-link { overflow-wrap: anywhere; }
.nav-shell { max-width: 1220px; }
.hero { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.hero h1 { font-size: clamp(3.5rem, 8.4vw, 7.5rem); letter-spacing: -.05em; }
.hero img { height: auto; aspect-ratio: 4 / 5; object-position: 50% 40%; }
.hero figcaption { max-width: calc(100% - 40px); }
.about img { height: auto; aspect-ratio: 1 / 1.1; }
.contact img { height: auto; aspect-ratio: 1 / 1; }
.stadium img { height: auto; aspect-ratio: 1600 / 1062; }
.footer-links { justify-content: flex-end; }
@media (max-width: 1100px) {
  .hero, .heading, .case, .about, .contact { gap: 36px; }
  .nav-shell { padding-inline: 16px; }
}
@media (max-width: 980px) {
  .menu-toggle { display: block; min-height: 44px; }
  .nav-shell { position: relative; }
  .site-header nav {
    display: none; position: absolute; top: calc(100% + 8px);
    left: 0; right: 0; padding: 12px; background: #f8f9fdfc;
    border: 1px solid #dee3f3; border-radius: 12px;
    box-shadow: 0 12px 30px #26376416;
    flex-direction: column; align-items: stretch; gap: 5px;
    max-height: calc(100dvh - 120px); overflow-y: auto;
  }
  .site-header nav.open { display: flex; }
  .site-header nav a { min-height: 44px; padding: 12px 16px; font-size: 15px; }
  .site-header nav .nav-contact { margin-left: 0; text-align: center; }
}
@media (max-width: 820px) {
  .wrap { width: calc(100% - 40px); }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(3.5rem, 12vw, 5.5rem); }
  .hero h1 em { letter-spacing: inherit; }
  .hero figure { width: min(100%, 540px); }
  .hero img { height: auto; aspect-ratio: 4 / 5; }
  .heading, .case, .about, .contact { grid-template-columns: minmax(0, 1fr); }
  .about img { height: auto; aspect-ratio: 1 / 1; }
  .contact { width: calc(100% - 48px); }
  .contact img { height: auto; aspect-ratio: 1 / 1; }
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 26px; }
  .stats strong { font-size: clamp(1.75rem, 4.8vw, 2.75rem); }
  .stats span { font-size: 15px; }
  .brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-links { justify-content: flex-start; }
}
@media (max-width: 540px) {
  body { font-size: 16px; }
  .wrap { width: calc(100% - 32px); }
  .site-header { padding: 8px 0; }
  .nav-shell { padding: 12px; }
  .signature { font-size: 15px; }
  .signature span { font-size: 10px; letter-spacing: .7px; }
  .hero { padding: 28px 0 36px; gap: 28px; }
  .hero h1 { margin: 24px 0; }
  .hero .label { font-size: 11px; letter-spacing: 1px; }
  .lead { font-size: 23px; }
  h2, .about h2 { font-size: clamp(2rem, 8.5vw, 2.8rem); }
  .contact h2 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .case h3 { font-size: 30px; }
  .section { padding: 40px 0; }
  .stats { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; }
  .stats strong { font-size: 40px; }
  .brands { gap: 8px; }
  .brand-logo { height: 90px; }
  .brand-logo img { width: 90%; height: 70px; }
  .cachamai img { width: 80px; height: 80px; }
  .reel:first-child { padding: 22px; }
  .reel h4 { font-size: 22px; }
  .social-grid { grid-template-columns: minmax(0, 1fr); }
  .contact { width: calc(100% - 40px); }
  .email { font-size: 17px; }
  .hero .actions, .heading.bottom .actions { width: 100%; }
  .hero .actions .button { width: 100%; }
  .footer-links { gap: 4px 20px; }
}
