/* Responsive overrides: preserve the original large-screen composition. */
html { scroll-behavior: smooth; }
.nav a:focus-visible, .btn:focus-visible { outline: 3px solid #daa520; outline-offset: 4px; }
@media (max-width: 1100px) {
  .section { min-height: auto; opacity: 1; transform: none; will-change: auto; }
  .nav { top: max(16px, env(safe-area-inset-top)); left: 16px; right: 16px; max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .nav a { min-height: 44px; padding: 12px 8px; font-size: 11px; letter-spacing: 1px; text-align: center; }
  .video-section { min-height: 100vh; min-height: 100svh; }
  .video-big-text { margin: 0 auto !important; width: 90%; max-width: 660px; padding: 80px 0 0; }
  .video-big-text img { display: block; width: 100% !important; height: auto; }
  .longboard-content { height: auto; padding: 48px 20px 56px; gap: 48px; }
  .longboard-bg { object-position: center; }
  .marquee { margin: 0; }
  .marquee span { font-size: clamp(28px, 7vw, 56px) !important; }
  .middle-row { margin: 0 !important; display: block; }
  .middle-left-eng { display: none; }
  .middle-right { width: 100%; text-align: left; }
  .middle-right-eng, .bottom-left-eng { width: auto !important; max-width: 100%; opacity: 1; overflow-wrap: break-word; }
  .middle-right-eng:first-child, .bottom-left-eng:first-child { font-size: clamp(40px, 10vw, 76px) !important; line-height: 1.1; margin: 0 0 24px !important; letter-spacing: -0.04em; }
  .middle-right-eng + .middle-right-eng { font-size: 18px !important; line-height: 1.7; margin-top: 0 !important; }
  .middle-right-eng br { display: none; }
  .middle-right .btn { margin-top: 24px !important; }
  .bottom-left { margin: 0; }
  .bottom-left > br { display: none; }
  .bottom-left-eng { font-size: 17px !important; line-height: 1.7 !important; }
  .bottom-left-eng h1 { font-size: 22px; line-height: 1.35; margin: 28px 0 10px; }
  .bottom-left-eng > div { padding-left: 0 !important; }
  .btn, .big-bottom-btn .btn { min-height: 44px; max-width: 100%; padding: 14px 24px; font-size: 13px !important; white-space: normal; text-align: center; }
  .slider-section { padding: 48px 20px; }
  .slider-bg { object-position: center; }
  .slider-text-container { height: auto; overflow: visible; }
  .slider-text-container > .slide-left { position: static !important; margin: 0 0 28px !important; max-width: none; font-size: clamp(44px, 12vw, 80px) !important; line-height: 1.1; text-shadow: none; }
  .slider-container { height: auto; display: grid; gap: 20px; transform: none !important; transition: none !important; will-change: auto; }
  .slide { display: block; width: 100%; height: auto; min-width: 0; padding: 24px 20px; background: rgba(255, 248, 238, .94); border-radius: 16px; text-align: left; }
  .slide .slide-left, .slide .slide-right { width: auto !important; max-width: 100%; font-size: 17px !important; line-height: 1.75 !important; text-align: left; text-shadow: none; color: #86233a; }
  .slide .slide-left > span { display: block; font-size: 27px !important; line-height: 1.2; margin-bottom: 16px; }
  .slide .slide-left > br { display: none; }
  .slide .slide-left > div { width: auto !important; font-size: 17px !important; line-height: 1.75 !important; }
  .slider-dots { display: none; }
  .big-content { height: auto; min-height: 80vh; min-height: 80svh; padding: 48px 20px; justify-content: flex-start; gap: 28px; }
  .big-top-right { position: static; align-self: flex-start; margin: 0; text-align: left; }
  .big-top-right h2 { font-size: clamp(44px, 12vw, 80px) !important; margin: 0 !important; text-shadow: none; }
  .big-bottom-btn { margin: 0 !important; max-width: 100%; font-size: 23px !important; line-height: 1.8; }
  .big-bottom-btn:not(:last-child) { padding: 20px; border-radius: 16px; background: rgba(255, 248, 238, .94); color: #86233a !important; }
  .big-bottom-btn:last-child { margin-top: auto !important; }
  .split-section { height: auto; min-height: 0; padding: 40px 20px; gap: 24px; }
  .split-left { width: 100%; flex-wrap: wrap; justify-content: center; gap: 16px 24px; }
  .split-left-item { font-size: 16px; }
  .split-divider { height: 1px; width: 100%; margin: 0 !important; }
  .split-right { margin: 0 !important; font-size: 32px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .section { opacity: 1; transform: none; transition: none; }
  .marquee span { animation: none; }
  .slider-container { transition: none; }
}
