.swing-backdrop { background:#141420; color:#fff; }
.swing-backdrop-stage { position:relative; isolation:isolate; max-width:1920px; margin:auto; }
.swing-film { position:absolute; inset:0; margin:0; }
.swing-film video { display:block; width:100%; height:100%; object-fit:cover; object-position:63% 50%; }
.swing-film video::-webkit-media-controls { display:none !important; }
.swing-film video::-webkit-media-controls-start-playback-button { display:none !important; }
.swing-film video:focus-visible { outline:2px solid #dedee7; outline-offset:-3px; }
.swing-film video:fullscreen { object-fit:contain; background:#12121e; }
.swing-film figcaption { position:absolute; right:4%; top:20px; font-size:12px; letter-spacing:.02em; color:#c4c5d9; pointer-events:none; }
.swing-overlay { position:relative; display:flex; align-items:center; width:100%; min-height:clamp(470px,42vw,770px); padding-block:78px 88px; pointer-events:none; }
.swing-story { width:42%; max-width:510px; }
.swing-story h1,.swing-story h2 { font-size:clamp(34px,4.2vw,66px); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.swing-story .lead { max-width:42ch; margin-top:20px; color:#dedee7; font-size:clamp(16px,1.4vw,19px); line-height:1.55; }
.swing-story .text-link { margin-top:24px; color:#fff; border-color:#a8a9bc; pointer-events:auto; }
@media(max-width:640px) {
  .swing-backdrop-stage { --motion-height:min(84vw,470px); }
  .swing-film video { position:absolute; bottom:0; height:var(--motion-height); object-position:96% 50%; mask-image:linear-gradient(to bottom,transparent,#000 13%); }
  .swing-film video:fullscreen { height:100%; mask-image:none; }
  .swing-film figcaption { top:auto; right:auto; bottom:18px; left:max(20px,4vw); font-size:11px; }
  .swing-overlay { display:block; min-height:0; padding-top:34px; padding-bottom:var(--motion-height); }
  .swing-story { max-width:470px; width:100%; }
  .swing-story h1,.swing-story h2 { max-width:15ch; font-size:clamp(34px,8.4vw,44px); }
  .swing-story .lead { margin-top:12px; }
  .swing-story .text-link { margin-top:15px; }
}
.strap-select { margin:18px 0; }
.strap-select p { margin:0 0 6px; font-size:13px; color:#53675c; }
.strap-options { display:flex; flex-wrap:wrap; gap:6px; }
.strap-options button { cursor:pointer; display:inline-flex; align-items:center; gap:6px; min-height:40px; background:#fff; border:1px solid #ccd6cf; color:#213a2f; border-radius:30px; padding:6px 12px 6px 8px; font:inherit; font-size:13px; }
.strap-options button[aria-pressed="true"] { border-color:#203d30; box-shadow:inset 0 0 0 1px #203d30; }
.strap-options i { display:block; width:17px; height:17px; border:1px solid #0002; border-radius:50%; background:var(--strap); }
.strap-select output { display:block; font-size:12px; color:#526357; margin:8px 0 0; }
.hero-product .strap-select { width:100%; margin:0 0 22px; }
.home-hero .hero-product>img { max-height:510px; }
.colour-lineup { padding-block:clamp(40px,5vw,74px); }
.colour-lineup>p { color:#56685b; max-width:64ch; margin:10px 0 20px; }
.model-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.model-grid figure { margin:0; }
.model-grid img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:5px; background:#f3f5f2; }
.model-grid figcaption { font-size:14px; padding-top:7px; font-weight:600; }
.resource-links { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:44px; }
.resource-links a { display:block; border-top:1px solid #b9c8bc; padding-top:15px; }
.resource-links strong { display:block; font-size:20px; font-weight:600; }
.resource-links span { display:block; margin-top:5px; font-size:15px; color:#50635a; }
.footer-nav { flex-wrap:wrap; justify-content:flex-end; gap:12px 22px; max-width:58%; }
@media(max-width:800px){
 .resource-links { grid-template-columns:1fr; }
 .model-grid { grid-template-columns:1fr 1fr; }
 .footer-nav { justify-content:flex-start; max-width:none; }
}
@media(max-width:480px){
 .strap-options { gap:5px; }
 .strap-options button { padding:6px; min-height:36px; font-size:12px; gap:4px; }
 .hero-product { height:auto; }
 .home-hero .hero-product>img { width:100%; height:clamp(190px,55vw,260px); }
 .hero-product .strap-select { margin:2px 0 24px; }
 .gallery .strap-select { margin:12px 0; }
}
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } }
