/* SeelenRevolte responsive hardening. Desktop above 1100 px remains identical to the reference. */
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
img, svg, video, canvas, iframe { max-width: 100%; }
iframe { display: block; }

@media (min-width: 769px) and (max-width: 1100px) {
  nav { flex-wrap: wrap; }
  .nav-logo-wrap { padding-left: 22px; padding-right: 22px; }
  .nav-links { flex: 1 1 auto; justify-content: center; padding-left: 10px; padding-right: 10px; }
  .nav-link { padding-left: 8px; padding-right: 8px; letter-spacing: .14em; }
  .nav-right { padding-left: 18px; padding-right: 18px; }
  .nav-cta { padding-left: 16px; padding-right: 16px; letter-spacing: .16em; }
  .section, .section-wide { padding-left: 28px; padding-right: 28px; }
}

@media (max-width: 768px) {
  nav { align-items: stretch; }
  .nav-logo-wrap { flex: 1 1 50%; justify-content: center; border-right: 0; padding: 12px 18px; }
  .nav-logo-wrap img { max-width: min(240px, 72vw); height: auto; max-height: 66px; }
  .nav-right { flex: 1 1 50%; justify-content: center; padding: 12px 16px; }
  .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-align: center; padding: 10px 16px; }
  .nav-links { gap: 2px 8px; }
  .nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; }
  body:not(.sr-page-home) .hero { padding-left: 22px; padding-right: 22px; }
  .hero-title, .section-title, .cta-title, .product-title, .pricing-title { overflow-wrap: anywhere; }
  .section, .section-wide { padding-left: 22px; padding-right: 22px; }
  .hero-actions, .cta-actions { gap: 12px; }
  .btn-primary, .btn-outline, .btn-primary-large, .offer-cta, .offer-cta-solid, .btn-spotify, .form-submit { max-width: 100%; min-height: 46px; }
  .about-inner, .product-inner { min-width: 0; }
  .about-inner > *, .product-inner > *, .hero > * { min-width: 0; }
  input, textarea, select, button { max-width: 100%; }
  footer { padding-left: 20px; padding-right: 20px; }
  .footer-links { gap: 16px 22px; }
  .footer-links a { display: inline-flex; min-height: 36px; align-items: center; }
  .sr-edit-link { right: 10px!important; bottom: 10px!important; }
}

@media (max-width: 480px) {
  .nav-logo-wrap, .nav-right { flex-basis: 100%; }
  .nav-logo-wrap { border-bottom: 1px solid var(--bordeaux-border, rgba(139,26,71,.35)); }
  .nav-links { padding-left: 8px; padding-right: 8px; }
  .nav-link { flex: 1 1 44%; text-align: center; font-size: .66rem; letter-spacing: .12em; }
  .nav-cta { width: 100%; }
  body:not(.sr-page-home) .hero { padding-left: 18px; padding-right: 18px; }
  .sr-page-home .hero-photo-side { height: 72vw; min-height: 300px; max-height: 480px; }
  .sr-page-home .hero-text-side { padding-left: 22px; padding-right: 22px; }
  .hero-actions { align-items: stretch; }
  .hero-actions > a, .cta-actions > a { width: 100%; text-align: center; justify-content: center; }
  .section, .section-wide { padding-left: 18px; padding-right: 18px; }
  .section-label, .hero-eyebrow { letter-spacing: .28em; }
  .offer-card, .profile-card, .genius-card, .testimonial-card, .topic-card, .oil-card, .step-card { min-width: 0; }
  .footer-links { flex-direction: column; align-items: center; gap: 4px; }
  .footer-links a { justify-content: center; min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; scroll-behavior: auto!important; }
  .reveal { opacity: 1!important; transform: none!important; }
}
