:root {
  --bg: #06101b;
  --bg-deep: #030a12;
  --panel: #0b1a28;
  --panel-2: #0e2233;
  --cyan: #1fe6ff;
  --blue: #2978ff;
  --violet: #8c59ff;
  --green: #40ef94;
  --orange: #ffa333;
  --white: #f7fbff;
  --muted: #8fa3b5;
  --line: rgba(156, 200, 229, 0.15);
  --max: 1280px;
  --display: "Space Grotesk", "Avenir Next", sans-serif;
  --body: "Manrope", "Avenir Next", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; overflow-x: clip; }
body {
  margin: 0;
  color: var(--white);
  background: var(--bg-deep);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 200; padding: .8rem 1rem; background: var(--cyan); color: var(--bg-deep); border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.section-pad { padding-left: max(24px, calc((100vw - var(--max)) / 2)); padding-right: max(24px, calc((100vw - var(--max)) / 2)); }

.site-header {
  height: 80px; width: min(calc(100% - 40px), 1400px); position: fixed; z-index: 100; top: 16px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; justify-content: space-between; padding: 0 20px;
  border: 1px solid rgba(183, 225, 250, .12); border-radius: 18px; background: rgba(4, 13, 23, .72); backdrop-filter: blur(20px); box-shadow: 0 12px 45px rgba(0, 0, 0, .25);
}
.brand { display: flex; align-items: center; gap: 12px; font-family: var(--display); font-size: 16px; letter-spacing: .1em; font-weight: 600; white-space: nowrap; }
.brand img { width: 42px; height: 42px; border-radius: 11px; box-shadow: 0 0 22px rgba(31, 230, 255, .16); }
.brand b, .footer-brand b { color: var(--cyan); }
.brand small { display: block; font: 600 8px/1 var(--body); color: var(--muted); letter-spacing: .52em; margin-top: 5px; }
.desktop-nav { display: flex; gap: clamp(20px, 3vw, 42px); font-size: 13px; font-weight: 600; color: #bdd0de; }
.desktop-nav a { position: relative; transition: color .2s ease; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--cyan); transition: right .2s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--white); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.language-switch { height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 10px; background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 999px; }
.language-switch span { width: 1px; height: 12px; background: var(--line); }
.lang-button { border: 0; background: none; cursor: pointer; font: 700 10px var(--body); color: #667c8d; padding: 5px 2px; }
.lang-button.is-active { color: var(--cyan); }
.header-cta { padding: 11px 17px; border-radius: 10px; background: var(--white); color: #07111b; font-size: 12px; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.header-cta:hover { background: var(--cyan); transform: translateY(-1px); }
.menu-button { display: none; width: 42px; height: 42px; border: 0; border-radius: 10px; background: rgba(255,255,255,.06); cursor: pointer; }
.menu-button span { display: block; width: 18px; height: 1px; background: white; margin: 6px auto; transition: transform .2s; }
.mobile-nav { display: none; }

.hero { min-height: 920px; height: max(780px, 100svh); position: relative; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 56px; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 75% 45%, rgba(31,230,255,.12), transparent 30%), radial-gradient(circle at 20% 10%, rgba(41,120,255,.12), transparent 36%), linear-gradient(140deg, #071522 0%, #040b13 62%); }
.hero-noise { position: absolute; inset: 0; z-index: -1; opacity: .1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.hero-grid { position: absolute; inset: 0; z-index: -2; opacity: .5; background-image: linear-gradient(rgba(44,177,241,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(44,177,241,.045) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, #000, transparent 92%); }
.hero-orbit { position: absolute; border: 1px solid rgba(31,230,255,.11); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 730px; height: 730px; right: -170px; top: 80px; }
.orbit-two { width: 510px; height: 510px; right: -60px; top: 190px; border-style: dashed; animation: spin 60s linear infinite; }
.hero-copy { position: relative; z-index: 2; padding-top: 76px; max-width: 670px; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; color: var(--cyan); font: 700 11px/1 var(--body); letter-spacing: .2em; text-transform: uppercase; }
.eyebrow > span:first-child { width: 32px; height: 1px; background: currentColor; box-shadow: 0 0 10px currentColor; }
.hero h1 { margin: 0; font: 600 clamp(54px, 5.25vw, 84px)/.98 var(--display); letter-spacing: -.055em; max-width: 750px; }
.hero h1 > span { display: block; }
.gradient-text { color: transparent; background: linear-gradient(90deg, #fff 4%, #64edff 42%, #5d8cff 76%, #a36bff); background-clip: text; -webkit-background-clip: text; }
.hero-intro { max-width: 620px; color: #aebdca; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.75; margin: 30px 0 34px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 22px; border-radius: 12px; font-size: 13px; font-weight: 800; transition: transform .2s, border-color .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.button-primary { color: #041019; background: linear-gradient(110deg, var(--cyan), #58f3d9); box-shadow: 0 10px 38px rgba(31, 230, 255, .18); }
.button-primary:hover { box-shadow: 0 12px 45px rgba(31, 230, 255, .3); }
.button-ghost { border: 1px solid rgba(197,226,244,.18); background: rgba(255,255,255,.035); color: #e7f6ff; }
.button-ghost:hover { border-color: rgba(31,230,255,.5); }
.play-icon { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.play-icon svg { width: 14px; stroke: none; fill: var(--cyan); }
.hero-facts { display: flex; margin-top: 52px; }
.hero-facts > div { padding: 0 30px; border-left: 1px solid var(--line); }
.hero-facts > div:first-child { padding-left: 0; border-left: 0; }
.hero-facts strong { display: block; font: 600 15px var(--display); }
.hero-facts span { display: block; color: #718799; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; margin-top: 5px; }
.hero-visual { height: 690px; position: relative; display: grid; place-items: center; align-self: end; }
.hero-mark { position: absolute; width: 560px; height: 560px; border-radius: 50%; overflow: hidden; opacity: .23; filter: saturate(1.2); mask-image: radial-gradient(circle, #000 38%, transparent 70%); }
.hero-mark img { width: 100%; height: 100%; object-fit: cover; }
.phone { position: relative; width: 302px; height: 624px; padding: 9px; border-radius: 48px; background: linear-gradient(140deg, #78909d, #15242f 18%, #02080c 50%, #526b7c 82%, #0b1821); box-shadow: 0 50px 100px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.22), 0 0 70px rgba(41,120,255,.18); transform: rotate(2.5deg) translateY(40px); }
.phone::before { content: ""; position: absolute; top: 17px; left: 50%; transform: translateX(-50%); width: 86px; height: 23px; border-radius: 20px; background: #020609; z-index: 5; }
.phone-screen { position: relative; height: 100%; overflow: hidden; border-radius: 40px; padding: 16px 15px; background: radial-gradient(circle at 80% 16%, rgba(140,89,255,.13), transparent 30%), linear-gradient(#071522, #06101b); font-family: var(--body); }
.phone-screen::before { content: ""; position: absolute; inset: 0; opacity: .4; background-image: linear-gradient(rgba(31,230,255,.045) 1px, transparent 1px),linear-gradient(90deg,rgba(31,230,255,.045) 1px,transparent 1px); background-size: 22px 22px; }
.phone-status { position: relative; z-index: 2; display: flex; justify-content: space-between; padding: 0 7px; font-size: 8px; font-weight: 700; }
.app-heading { position: relative; z-index: 2; margin: 38px 1px 13px; }
.app-heading span { display: block; color: var(--cyan); font-size: 7px; font-weight: 800; letter-spacing: .22em; }
.app-heading b { display: block; margin-top: 4px; font: 700 21px var(--display); }
.round-card { position: relative; z-index: 2; min-height: 144px; border-radius: 22px; padding: 17px; overflow: hidden; background: linear-gradient(125deg, rgba(41,120,255,.95), rgba(140,89,255,.72)); box-shadow: 0 15px 30px rgba(30,70,160,.25); }
.round-card::after { content: ""; position: absolute; width: 145px; height: 145px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; right: -42px; top: -26px; box-shadow: 0 0 0 22px rgba(255,255,255,.03), 0 0 0 46px rgba(255,255,255,.02); }
.round-card small { margin-left: 8px; font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.live-dot { display: inline-block; width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 8px var(--green); }
.round-card h3 { margin: 18px 0 3px; font: 700 23px var(--display); letter-spacing: -.03em; }
.round-card p { margin: 0; font-size: 8px; color: rgba(255,255,255,.76); }
.round-card i { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: white; color: #2046a0; font-style: normal; margin-top: 12px; }
.quick-row { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 9px 0; }
.quick-row > span { height: 61px; display: grid; place-items: center; align-content: center; gap: 4px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; color: var(--cyan); background: rgba(255,255,255,.04); font-size: 18px; }
.quick-row small { color: white; font-size: 7px; }
.data-card { position: relative; z-index: 2; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 13px; background: rgba(255,255,255,.045); }
.data-card > div:first-child small { display: block; color: var(--cyan); font-size: 6px; letter-spacing: .16em; }
.data-card > div:first-child b { display: block; font-size: 9px; margin-top: 5px; }
.metric-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 10px; }
.metric-row span { padding: 7px; border-radius: 8px; background: rgba(31,230,255,.06); }
.metric-row small, .metric-row b { display: block; }
.metric-row small { color: #7991a2; font-size: 5px; text-transform: uppercase; }
.metric-row b { font-size: 12px; margin-top: 3px; }
.phone-tabs { position: absolute; z-index: 3; bottom: 12px; left: 11px; right: 11px; height: 43px; display: flex; align-items: center; justify-content: space-around; border-radius: 16px; background: rgba(9,24,36,.92); border: 1px solid rgba(255,255,255,.07); color: #6d8495; }
.phone-tabs .tab-main { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--cyan); color: var(--bg); font-size: 18px; }
.floating-chip { position: absolute; z-index: 4; border: 1px solid rgba(151,219,251,.2); background: rgba(7,20,32,.8); backdrop-filter: blur(16px); box-shadow: 0 20px 40px rgba(0,0,0,.35); }
.chip-distance { right: 0; top: 235px; width: 142px; padding: 15px; border-radius: 16px; transform: rotate(2deg); }
.chip-distance small { display: block; color: #829bac; font-size: 7px; letter-spacing: .13em; }
.chip-distance b { display: block; font: 600 30px var(--display); color: var(--cyan); margin-top: 4px; }
.chip-distance b span { font-size: 12px; margin-left: 3px; color: #94abba; }
.chip-swing { left: 3px; bottom: 90px; display: flex; gap: 10px; align-items: center; padding: 13px 15px; border-radius: 14px; transform: rotate(2deg); }
.chip-swing > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: rgba(64,239,148,.12); color: var(--green); }
.chip-swing small, .chip-swing b { display: block; }
.chip-swing small { font-size: 6px; color: #728999; letter-spacing: .1em; }
.chip-swing b { font-size: 9px; margin-top: 3px; }
.scroll-cue { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: #607889; z-index: 5; }
.scroll-cue span { width: 1px; height: 31px; background: linear-gradient(transparent, var(--cyan)); }
.scroll-cue small { font-size: 8px; letter-spacing: .2em; }

.signal-strip { height: 52px; overflow: hidden; border-top: 1px solid rgba(31,230,255,.2); border-bottom: 1px solid rgba(31,230,255,.13); background: #081521; }
.signal-track { width: max-content; height: 100%; display: flex; align-items: center; gap: 25px; animation: ticker 26s linear infinite; color: #91a7b8; font: 700 9px var(--body); letter-spacing: .16em; }
.signal-track i { width: 4px; height: 4px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }

.features { padding-top: 130px; padding-bottom: 140px; background: linear-gradient(#07111b, #050d16); }
.section-head { display: grid; grid-template-columns: 1fr 1.2fr; column-gap: 75px; align-items: end; margin-bottom: 54px; }
.section-head .eyebrow { grid-column: 1 / -1; }
.section-head h2, .swing-copy h2, .caddie-copy h2, .privacy-copy h2, .release-content h2 { margin: 0; font: 600 clamp(38px, 4.4vw, 64px)/1.08 var(--display); letter-spacing: -.045em; }
.section-head > p:last-child { margin: 0 0 5px; color: var(--muted); line-height: 1.8; font-size: 15px; }
.feature-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }
.feature-card { min-height: 570px; position: relative; overflow: hidden; border: 1px solid rgba(155,205,232,.14); border-radius: 26px; background: linear-gradient(145deg, rgba(16,38,55,.9), rgba(6,17,28,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.23); }
.feature-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255,255,255,.035), transparent 24%); }
.card-copy { position: relative; z-index: 3; padding: 34px 36px; }
.card-index { color: var(--cyan); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.card-copy h3 { max-width: 630px; margin: 17px 0 13px; font: 600 clamp(25px, 2.6vw, 38px)/1.12 var(--display); letter-spacing: -.035em; }
.card-copy p { max-width: 570px; margin: 0; color: var(--muted); line-height: 1.7; font-size: 13px; }
.course-card { grid-row: span 2; }
.course-visual { position: absolute; left: 36px; right: 36px; bottom: -86px; height: 405px; border-radius: 25px 25px 0 0; overflow: hidden; background: #0a1721; box-shadow: 0 -15px 45px rgba(0,0,0,.35); }
.course-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,12,19,.7), transparent 38%, rgba(5,14,22,.25)), linear-gradient(0deg, #06101b 0%, transparent 36%); }
.course-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 33%; filter: saturate(.72) hue-rotate(120deg) brightness(.58) contrast(1.2); transform: scale(1.1); }
.course-hud { position: absolute; z-index: 2; border: 1px solid rgba(31,230,255,.22); background: rgba(4,15,24,.74); backdrop-filter: blur(10px); }
.hud-hole { left: 20px; top: 24px; width: 82px; padding: 13px; border-radius: 14px; }
.hud-hole small, .hud-hole b, .hud-hole span { display: block; }
.hud-hole small { font-size: 7px; color: var(--cyan); letter-spacing: .12em; }
.hud-hole b { font: 600 34px var(--display); }
.hud-hole span { font-size: 8px; color: var(--muted); }
.hud-distance { right: 18px; top: 55px; width: 178px; padding: 16px; border-radius: 16px; }
.hud-distance small { display: block; font-size: 7px; color: #8099aa; letter-spacing: .1em; }
.hud-distance b { display: block; font: 600 31px var(--display); margin: 5px 0; color: var(--cyan); }
.hud-distance b span { font-size: 12px; color: var(--muted); }
.hud-distance em { font-style: normal; font-size: 7px; color: var(--green); }
.watch-card, .bag-card { min-height: 275px; }
.watch-card .card-copy, .bag-card .card-copy { width: 59%; padding: 28px; }
.watch-card .card-copy h3, .bag-card .card-copy h3 { font-size: clamp(22px, 2vw, 29px); }
.watch-visual { position: absolute; right: -22px; top: 18px; width: 240px; height: 240px; display: grid; place-items: center; }
.watch-body { position: relative; z-index: 2; width: 128px; height: 154px; border-radius: 42px; padding: 7px; background: linear-gradient(140deg,#94a4ae,#111b22 31%,#020405 62%,#768a97); box-shadow: 0 20px 35px rgba(0,0,0,.55); transform: rotate(6deg); }
.watch-body::before, .watch-body::after { content:""; position: absolute; left: 35px; width: 58px; height: 55px; background: #101c25; z-index: -1; }
.watch-body::before { top: -40px; border-radius: 18px 18px 8px 8px; }
.watch-body::after { bottom: -40px; border-radius: 8px 8px 18px 18px; }
.watch-screen { height: 100%; border-radius: 35px; background: radial-gradient(circle at 50% 35%,rgba(41,120,255,.24),transparent 50%),#06101b; text-align: center; padding: 19px 8px 8px; }
.watch-screen small { color: var(--cyan); font-size: 6px; letter-spacing: .12em; }
.watch-screen strong { display: block; font: 600 29px var(--display); margin-top: 8px; }
.watch-screen strong span { font-size: 9px; color: var(--muted); }
.watch-screen p { font-size: 5px; color: var(--muted); margin: 3px 0 12px; }
.watch-screen div { display: flex; align-items:center; justify-content:center; gap: 10px; }
.watch-screen button { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: var(--cyan); width: 20px; height: 20px; border-radius: 6px; font-size: 9px; }
.watch-rings { position: absolute; border: 1px solid rgba(31,230,255,.15); border-radius: 50%; }
.ring-a { width: 190px; height: 190px; }
.ring-b { width: 230px; height: 230px; border-style: dashed; animation: spin 30s linear infinite reverse; }
.club-list { position: absolute; right: 20px; top: 20px; bottom: 20px; width: 41%; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; background: rgba(2,9,15,.48); }
.club-list > div { position: relative; display: grid; grid-template-columns: 27px 1fr auto; gap: 7px; align-items: center; height: 25%; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 8px; overflow: hidden; }
.club-list > div:last-child { border-bottom: 0; }
.club-list span { display:grid; place-items:center; width: 24px; height: 24px; border-radius: 7px; color: var(--cyan); background: rgba(31,230,255,.09); font-size: 7px; }
.club-list em { font-style: normal; color: var(--cyan); font-size: 7px; }
.club-list i { position: absolute; left: 32px; bottom: 5px; width: var(--w); height: 1px; background: linear-gradient(90deg,var(--blue),var(--cyan)); }

.swing-section { min-height: 850px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 80px; align-items: center; padding-top: 130px; padding-bottom: 130px; background: radial-gradient(circle at 80% 45%,rgba(41,120,255,.12),transparent 34%),#050d16; }
.swing-copy h2 { max-width: 550px; }
.section-lead { color: var(--muted); font-size: 15px; line-height: 1.8; }
.swing-copy .section-lead { margin: 25px 0 35px; max-width: 520px; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); }
.check-list li > span { color: var(--cyan); font: 600 10px var(--display); padding-top: 4px; }
.check-list b, .check-list small { display: block; }
.check-list b { font-size: 13px; }
.check-list small { margin-top: 5px; color: #71889a; line-height: 1.5; }
.swing-visual { position: relative; border: 1px solid rgba(169,216,242,.16); border-radius: 25px; background: linear-gradient(150deg,rgba(13,33,48,.9),rgba(4,13,22,.95)); box-shadow: 0 35px 80px rgba(0,0,0,.32); overflow: hidden; }
.analysis-top { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid var(--line); color: #738b9c; font-size: 8px; letter-spacing: .12em; }
.analysis-top span:last-child { color: var(--green); }
.analysis-top i { display:inline-block; width: 5px; height: 5px; margin-right: 6px; border-radius:50%; background:var(--green); box-shadow: 0 0 8px var(--green); }
.pose-stage { position: relative; height: 530px; overflow: hidden; background: radial-gradient(circle at 48% 45%,rgba(31,230,255,.08),transparent 33%); }
.pose-stage::before { content:""; position:absolute; inset:0; opacity:.7; background-image: linear-gradient(rgba(31,230,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,230,255,.045) 1px,transparent 1px); background-size:34px 34px; }
.pose-stage::after { content:""; position:absolute; left:15%; right:15%; bottom:65px; height:1px; background:linear-gradient(90deg,transparent,rgba(31,230,255,.5),transparent); box-shadow:0 0 20px rgba(31,230,255,.4); }
.scan-line { position:absolute; z-index:1; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(transparent,var(--cyan),transparent); opacity:.28; animation:scan 5s ease-in-out infinite; }
.pose-figure { position: absolute; z-index: 2; width: 68%; height: 86%; left: 14%; top: 4%; overflow: visible; }
.pose-shadow { stroke: rgba(96,216,255,.25); stroke-width: 20; }
.pose-shadow .club-line { stroke: rgba(163,107,255,.45); stroke-width: 8; }
.pose-joints { fill: var(--cyan); filter: drop-shadow(0 0 6px var(--cyan)); }
.angle { position:absolute; z-index:3; width:70px; height:70px; border:1px dashed rgba(255,163,51,.5); border-radius:50%; display:grid; place-items:center; color:var(--orange); font:600 10px var(--display); }
.angle-shoulder { left:30%; top:25%; }
.angle-hip { left:47%; top:43%; border-color:rgba(64,239,148,.5); color:var(--green); }
.analysis-score { position:absolute; z-index:4; right:20px; top:22px; width:105px; padding:13px; border:1px solid var(--line); border-radius:14px; background:rgba(3,12,20,.65); }
.analysis-score small { display:block; color:#6f8798; font-size:6px; letter-spacing:.1em; }
.analysis-score b { display:block; font:600 27px var(--display); color:var(--green); margin-top:4px; }
.analysis-score b span { font-size:10px; }
.phase-track { height: 82px; position:relative; display:flex; align-items:center; justify-content:space-around; padding:10px 16px 0; border-top:1px solid var(--line); }
.phase-line { position:absolute; height:1px; left:9%; right:9%; top:30px; background:rgba(255,255,255,.11); }
.phase-line span { display:block; width:var(--p); height:1px; background:linear-gradient(90deg,var(--blue),var(--cyan)); }
.phase-track button { position:relative; z-index:2; border:0; background:none; font-size:6px; color:#62798a; letter-spacing:.08em; }
.phase-track button i { display:block; width:8px; height:8px; border:2px solid #314656; border-radius:50%; background:#08131e; margin:0 auto 9px; }
.phase-track button.is-active { color:var(--cyan); }
.phase-track button.is-active i { border-color:var(--cyan); background:var(--cyan); box-shadow:0 0 13px var(--cyan); }

.caddie-section { padding-top: 80px; padding-bottom: 130px; background:#050d16; }
.caddie-panel { position:relative; min-height:510px; display:grid; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; border:1px solid rgba(31,230,255,.2); border-radius:28px; background:linear-gradient(115deg,#0b1f30 0%,#081421 46%,#07101a 100%); }
.caddie-panel::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(31,230,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(31,230,255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000); }
.caddie-copy { position:relative; z-index:2; padding:54px; }
.caddie-copy p:not(.eyebrow) { color:var(--muted); line-height:1.8; font-size:14px; }
.caddie-context { display:flex; align-items:center; gap:14px; margin-top:33px; }
.caddie-context > span { font:600 15px var(--display); }
.caddie-context small { display:block; color:#657e90; font:700 6px var(--body); letter-spacing:.13em; margin-top:4px; }
.caddie-context i { color:#426073; font-style:normal; }
.recommendation { position:relative; z-index:2; display:grid; place-items:center; padding:50px; }
.rec-ring { width:265px; height:265px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,rgba(31,230,255,.08) 0 46%,transparent 47%), conic-gradient(from 190deg,transparent 0 17%,var(--cyan) 19% 70%,var(--violet) 78%,transparent 80%); box-shadow:0 0 80px rgba(41,120,255,.18); }
.rec-ring::before { content:""; position:absolute; width:245px; height:245px; border:1px dashed rgba(31,230,255,.16); border-radius:50%; animation:spin 35s linear infinite; }
.rec-ring span { width:210px; height:210px; display:grid; place-items:center; align-content:center; border-radius:50%; background:#07131f; border:1px solid rgba(255,255,255,.1); text-align:center; }
.rec-ring small { color:#6c8495; font-size:7px; letter-spacing:.14em; }
.rec-ring strong { font:600 78px/.9 var(--display); color:var(--cyan); }
.rec-ring strong em { font-size:22px; font-style:normal; color:#88a1b2; }
.rec-ring b { margin-top:8px; font-size:11px; }
.rec-reason { width:260px; margin-top:-18px; padding:15px 17px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(8,22,34,.9); box-shadow:0 15px 40px rgba(0,0,0,.35); }
.rec-reason span { display:flex; align-items:center; gap:8px; font-size:11px; }
.rec-reason i { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); }
.rec-reason p { color:#788f9f; font-size:7px; margin:6px 0 0 14px; }

.privacy-section { min-height:700px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding-top:100px; padding-bottom:120px; background:radial-gradient(circle at 25% 50%,rgba(31,230,255,.08),transparent 27%),linear-gradient(#050d16,#06111c); }
.privacy-visual { position:relative; height:470px; display:grid; place-items:center; }
.privacy-orbit { position:relative; width:280px; height:280px; display:grid; place-items:center; border:1px solid rgba(31,230,255,.2); border-radius:50%; box-shadow:0 0 0 60px rgba(31,230,255,.018),0 0 0 120px rgba(31,230,255,.012); }
.privacy-orbit::before,.privacy-orbit::after { content:""; position:absolute; border-radius:50%; border:1px dashed rgba(31,230,255,.13); }
.privacy-orbit::before { width:390px;height:390px;animation:spin 42s linear infinite; }
.privacy-orbit::after { width:200px;height:200px;animation:spin 24s linear infinite reverse; }
.lock-icon { position:relative; z-index:2; width:108px;height:108px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(145deg,rgba(31,230,255,.17),rgba(41,120,255,.08));border:1px solid rgba(31,230,255,.35);box-shadow:0 0 55px rgba(31,230,255,.19); }
.lock-icon svg { width:42px; fill:none; stroke:var(--cyan); stroke-width:1.4; }
.privacy-node { position:absolute; padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:#7f98a9; background:#071521; font-size:7px; letter-spacing:.14em; }
.node-a { left:8%;top:22%; }.node-b { right:7%;top:31%; }.node-c { left:18%;bottom:18%; }
.privacy-copy .section-lead { margin:24px 0 30px; max-width:540px; }
.privacy-points { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.privacy-points > div { display:flex; gap:10px; padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.025); }
.privacy-points > div > span { flex:0 0 auto; display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(64,239,148,.1);color:var(--green);font-size:10px; }
.privacy-points p { margin:0; }
.privacy-points b,.privacy-points small { display:block; }
.privacy-points b { font-size:10px; }.privacy-points small { color:#748b9b;font-size:8px;line-height:1.5;margin-top:5px; }

.release-section { position:relative; min-height:700px; display:grid; place-items:center; overflow:hidden; text-align:center; border-top:1px solid var(--line); background:#030a12; }
.release-section::before { content:"";position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(31,230,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(31,230,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle,#000,transparent 70%); }
.release-glow { position:absolute;width:700px;height:350px;left:50%;top:55%;transform:translate(-50%,-50%);border-radius:50%;background:rgba(41,120,255,.16);filter:blur(80px); }
.release-mark { position:absolute;width:600px;height:600px;object-fit:cover;opacity:.1;mask-image:radial-gradient(circle,#000 35%,transparent 68%); }
.release-content { position:relative;z-index:2;max-width:850px;display:flex;flex-direction:column;align-items:center; }
.eyebrow.centered { justify-content:center; }.eyebrow.centered > span:last-child { width:32px;height:1px;background:currentColor; }
.release-content p:not(.eyebrow) { max-width:560px;color:var(--muted);line-height:1.8;margin:24px 0 28px; }
.platform-pill { display:flex;align-items:center;gap:10px;margin-top:24px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);text-align:left; }
.platform-pill > span { font-size:18px;color:white; }.platform-pill small,.platform-pill b { display:block; }.platform-pill small{font-size:6px;color:#667f91;letter-spacing:.12em}.platform-pill b{font-size:10px;margin-top:3px}

footer { min-height:160px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:35px; padding:35px max(24px,calc((100vw - var(--max))/2)); border-top:1px solid var(--line); background:#02070c; }
.footer-brand { display:flex;align-items:center;gap:13px; }.footer-brand img{width:45px;height:45px;border-radius:12px}.footer-brand strong{font:600 12px var(--display);letter-spacing:.08em}.footer-brand small{display:block;color:#637b8c;font-size:8px;letter-spacing:.12em;margin-top:5px}
.footer-links { display:flex;gap:26px;color:#879baa;font-size:10px; }.footer-links a:hover{color:var(--cyan)}
footer > p { justify-self:end;color:#566d7d;font-size:8px;letter-spacing:.06em; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes scan { 0%,100%{transform:translateX(-150px);opacity:.05}50%{transform:translateX(150px);opacity:.4} }
@keyframes ticker { to { transform:translateX(-50%); } }

@media (max-width: 1040px) {
  .desktop-nav { display:none; }
  .hero { grid-template-columns:1fr 1fr;gap:15px; }
  .hero h1 { font-size:clamp(48px,6.4vw,68px); }
  .hero-visual { transform:scale(.84);transform-origin:center bottom; }
  .feature-grid { grid-template-columns:1fr; }
  .course-card { min-height:650px; }
  .watch-card,.bag-card { min-height:320px; }
  .swing-section { grid-template-columns:1fr;gap:55px; }
  .swing-copy { max-width:700px; }
  .caddie-copy { padding:42px; }
  .privacy-section { gap:30px; }
}

@media (max-width: 760px) {
  .section-pad { padding-left:20px;padding-right:20px; }
  .site-header { top:10px;width:calc(100% - 20px);height:66px;padding:0 12px;border-radius:14px; }
  .brand { font-size:13px;gap:9px; }.brand img{width:38px;height:38px}.brand small{font-size:6px}.header-cta{display:none}.language-switch{height:31px}.menu-button{display:block}
  .mobile-nav { position:fixed;z-index:90;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;background:rgba(3,10,18,.97);backdrop-filter:blur(20px);font:600 28px var(--display);transform:translateY(-102%);transition:transform .35s ease; }
  .mobile-nav.is-open { transform:none; }.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero { min-height:1120px;height:auto;display:block;padding-top:135px;padding-bottom:40px; }
  .hero-copy { padding-top:0; }.hero h1{font-size:clamp(48px,14vw,66px)}.hero-intro{font-size:15px}.hero-actions{align-items:stretch}.button{width:100%}.hero-facts{margin-top:40px}.hero-facts>div{padding:0 15px}.hero-facts span{font-size:7px}
  .hero-visual { height:650px;margin-top:-10px;transform:scale(.86);transform-origin:center center; }.phone{transform:rotate(2.5deg) translateY(35px)}.chip-distance{right:-40px}.chip-swing{left:-40px}.scroll-cue{display:none}
  .section-head { display:block;margin-bottom:35px; }.section-head h2,.swing-copy h2,.caddie-copy h2,.privacy-copy h2,.release-content h2{font-size:clamp(37px,10vw,49px)}.section-head>p:last-child{margin-top:20px}
  .features { padding-top:90px;padding-bottom:90px }.feature-card{border-radius:20px}.card-copy{padding:26px}.course-card{min-height:620px}.course-visual{left:18px;right:18px;bottom:-30px}.hud-distance{right:10px;width:155px}.watch-card,.bag-card{min-height:500px}.watch-card .card-copy,.bag-card .card-copy{width:auto;padding:26px}.watch-visual{right:50%;transform:translateX(50%);top:245px}.club-list{left:20px;right:20px;top:245px;bottom:20px;width:auto}
  .swing-section { padding-top:90px;padding-bottom:90px; }.pose-stage{height:420px}.analysis-score{width:90px}.swing-visual{margin-left:-8px;margin-right:-8px}.phase-track button{font-size:5px}
  .caddie-section{padding-top:30px;padding-bottom:90px}.caddie-panel{grid-template-columns:1fr}.caddie-copy{padding:35px 26px 10px}.caddie-context{gap:8px;flex-wrap:wrap}.recommendation{padding:35px 20px 45px}
  .privacy-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:90px}.privacy-visual{height:380px;order:2}.privacy-orbit{width:220px;height:220px}.privacy-orbit::before{width:300px;height:300px}.privacy-orbit::after{width:160px;height:160px}.privacy-points{grid-template-columns:1fr}.privacy-copy{order:1}
  .release-section{min-height:650px}.release-content{padding:70px 0}.release-mark{width:500px;height:500px}
  footer{grid-template-columns:1fr;text-align:center;justify-items:center;padding-top:45px;padding-bottom:45px}.footer-brand{justify-self:center}.footer-links{flex-wrap:wrap;justify-content:center}footer>p{justify-self:center}
}

@media (max-width: 390px) {
  .brand span { display:none; }
  .hero { min-height:1060px; }
  .hero h1 { font-size:46px; }
  .hero-visual { margin-left:-20px;margin-right:-20px;transform:scale(.79); }
  .hero-facts>div{padding:0 11px}.hero-facts strong{font-size:12px}
  .card-copy h3{font-size:27px}.watch-card,.bag-card{min-height:520px}.watch-visual{top:275px}.club-list{top:275px}
  .phase-track{padding-left:4px;padding-right:4px}.analysis-top{padding:0 12px}.analysis-top span:last-child{font-size:6px}
  .caddie-copy{padding:30px 22px 5px}.recommendation{transform:scale(.9);padding-top:15px;margin-bottom:-20px}.caddie-context>span{font-size:13px}
}

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