:root {
  color-scheme:dark;
  --bg:#060b11; --raised:#0d1520; --text:#edf5f8; --muted:#a7b9c9;
  --cyan:#65e1e5; --line:#253441;
  --font:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;
  --body:1.125rem; --small:.9375rem;
}
* { box-sizing:border-box; }
html { scroll-padding-top:32px; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font); font-size:var(--body); line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
button,a,summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; }
a { color:inherit; text-underline-offset:5px; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--cyan); outline-offset:5px; }
img { max-width:100%; display:block; height:auto; }
[hidden] { display:none!important; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { letter-spacing:-.045em; line-height:1.25; }
p+p { margin-top:20px; }
.wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
.skip { position:fixed; z-index:50; top:-120px; left:20px; background:var(--cyan); color:#06141d; padding:12px 20px; border-radius:8px; }
.skip:focus { top:12px; }
.site-header { position:relative; z-index:5; border-bottom:1px solid #ffffff12; background:var(--bg); }
.nav { min-height:90px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:block; width:180px; flex:none; }
.brand img { width:100%; }
.nav-links { display:flex; align-items:center; gap:32px; font-size:1rem; font-weight:600; }
.nav-links a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; color:#c8d5df; }
.nav-links a:hover { color:var(--cyan); }
.hero { position:relative; isolation:isolate; overflow:hidden; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:64px; padding-block:72px 90px; min-height:740px; }
.eyebrow { font-size:var(--small); font-weight:700; letter-spacing:.08em; color:var(--cyan); margin-bottom:20px; }
.hero h1 { font-size:clamp(2.75rem,5.1vw,4.25rem); line-height:1.14; letter-spacing:-.06em; font-weight:750; }
.hero h1 span { display:block; }
.accent { color:var(--cyan); }
.hero-intro { font-size:1.25rem; color:#bfced9; max-width:440px; margin-top:30px; }
.actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:34px; }
.button { display:inline-flex; gap:25px; align-items:center; justify-content:center; border-radius:999px; padding:14px 24px; font-size:1rem; font-weight:750; text-decoration:none; background:#80e7e5; color:#071c23; min-height:52px; }
.button:hover { background:#b6f7f2; }
.text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:1rem; color:#c2d1dc; }
.availability { font-size:var(--small); color:var(--muted); margin-top:20px; }
.hero-visual { min-width:0; justify-self:center; }
.phone { width:268px; max-width:100%; border:6px solid #26343d; border-radius:40px; overflow:hidden; background:#f1f4f8; box-shadow:0 24px 70px #0006; }
.phone img { width:100%; }
.screen-note { font-size:var(--small); color:var(--muted); text-align:center; margin-top:20px; }
.hero-water { position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.32; mask-image:linear-gradient(transparent 27%,#000 65%,transparent 100%); }
.hero-water img { position:absolute; width:100%; max-width:none; bottom:-36vw; min-width:1050px; left:50%; transform:translateX(-50%); }
.hero::after { content:""; position:absolute; z-index:-2; width:550px; height:550px; border-radius:50%; background:#063151; filter:blur(90px); right:-100px; top:0; opacity:.42; }
.section { padding-block:100px; }
#journey { border-top:1px solid var(--line); max-width:960px; }
.section-heading h2 { font-size:clamp(2rem,4vw,2.875rem); font-weight:700; }
.journey-content { margin-top:48px; }
.journey-panel { min-width:0; }
.journey-panel .panel-copy { margin-bottom:32px; }
.journey-panel+.journey-panel { margin-top:72px; padding-top:64px; border-top:1px solid var(--line); }
.panel-copy h3 { font-size:clamp(1.875rem,3vw,2.25rem); margin-bottom:24px; }
.panel-copy>p:not(.eyebrow) { color:var(--muted); }
.panel-copy .text-link { margin-top:24px; color:var(--cyan); }
.feature-points { list-style:none; margin:24px 0 0; padding:0; }
.feature-points li { padding:14px 0; border-bottom:1px solid var(--line); font-size:1rem; color:#c5d3df; }
.panel-visual { display:flex; flex-direction:column; align-items:center; min-width:0; padding:32px; border-radius:24px; background:var(--raised); }
.panel-visual .phone { width:260px; border-radius:35px; }

.stroke-gallery { padding:32px; border-radius:24px; background:var(--raised); }
.stroke-screens { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:28px; }
.stroke-screens .watch-figure { width:100%; max-width:230px; justify-self:center; }
.stroke-caption { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:20px; font-size:var(--body); }
.stroke-caption i { width:10px; height:10px; border-radius:50%; }
.stroke-gallery>.screen-note { margin-top:24px; }
.watch-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.watch-state { display:flex; flex-direction:column; align-items:stretch; gap:28px; padding:32px; border-radius:24px; background:var(--raised); }
.watch-state .watch-figure { width:180px; align-self:center; margin-top:auto; }
.watch-figure { min-width:0; }
.watch-case { position:relative; isolation:isolate; width:calc(100% - 14px); max-width:230px; margin-inline:auto; padding:9px; border-radius:28% / 24%; background:linear-gradient(145deg,#71808a,#293139 35%,#151c23 65%,#5b6975); box-shadow:inset 0 0 0 1px #ffffff59,inset 0 -2px 4px #0008,0 20px 45px #0007; }
.watch-case::before { content:""; position:absolute; z-index:-1; right:-4.5%; top:25%; width:6%; height:20%; border-radius:4px; background:repeating-linear-gradient(180deg,#70808b 0 2px,#2b3742 2px 4px); border:1px solid #1b252d; }
.watch-case::after { content:""; position:absolute; z-index:-1; right:-2.8%; top:54%; width:4%; height:23%; border-radius:4px; background:linear-gradient(90deg,#26313b,#73818c,#26313b); }
.watch-screen { background:#000; border:3px solid #06090d; border-radius:25% / 21%; overflow:hidden; }
.watch-screen img { width:100%; }
.watch-explanation h4 { font-size:1.25rem; margin-bottom:20px; }
.watch-explanation p { color:var(--muted); font-size:1rem; }
.pace-key { display:grid; grid-template-columns:1fr; gap:16px; margin:0 0 20px; }
.pace-key div { padding-left:14px; border-left:2px solid var(--line); }
.pace-key div:last-child { border-color:var(--cyan); }
.pace-key dt { font-size:var(--small); color:var(--muted); }
.pace-key dd { margin:0; font-size:1.75rem; font-weight:650; font-variant-numeric:tabular-nums; line-height:1.4; }
.pace-key dd span { font-size:var(--small); font-weight:400; color:var(--muted); }
.watch-details { border-top:1px solid var(--line); margin-top:24px; }
.watch-details+details { margin-top:0; }
summary { cursor:pointer; min-height:48px; padding:20px 28px 20px 0; font-size:1.0625rem; font-weight:600; }
.watch-details p { color:var(--muted); font-size:1rem; padding-bottom:20px; }
.stroke-key { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0 0 24px; gap:12px; font-size:1rem; }
.stroke-key li { display:flex; gap:8px; align-items:center; }
.stroke-key i { width:5px; height:24px; border-radius:3px; flex:none; }
.freestyle { background:#0a84ff; }.backstroke { background:#ff6b9d; }.breaststroke { background:#30d158; }.butterfly { background:#bf5af2; }
.fineprint { font-size:var(--small); color:var(--muted); margin-top:44px; max-width:680px; }
.support { background:#0c141d; border-top:1px solid var(--line); }
.support-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.support-intro h2 { font-size:2.25rem; margin-bottom:20px; }
.support-intro p { color:var(--muted); margin-bottom:20px; }
.support-intro a { display:inline-flex; align-items:center; min-height:44px; color:var(--cyan); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; position:relative; padding-block:24px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:0; top:20px; font-size:1.5rem; font-weight:400; color:var(--muted); }
.faq details[open] summary::after { content:"−"; }
.faq details p { padding-bottom:24px; color:var(--muted); font-size:1.0625rem; }
.faq a { color:var(--cyan); }
.release { border-top:1px solid var(--line); padding-block:64px; }
.release-inner { display:grid; grid-template-columns:70px minmax(0,1fr) auto; align-items:center; gap:24px; }
.app-icon { width:70px; height:70px; border-radius:17px; }
.release h2 { font-size:1.5rem; letter-spacing:-.02em; }
.release p { font-size:var(--small); color:var(--muted); margin-top:12px; }
.release .text-link { color:var(--cyan); }
footer { border-top:1px solid var(--line); padding-block:24px; font-size:var(--small); color:var(--muted); }
.footer-inner,.footer-links { display:flex; gap:24px; align-items:center; justify-content:space-between; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:1100px) {
  .pace-key { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stroke-key { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .nav { min-height:78px; gap:16px; flex-wrap:wrap; padding-block:8px; }
  .brand { width:137px; }
  .nav-links { gap:20px; font-size:var(--small); }
  .nav-extra { display:none!important; }
  .hero-grid { grid-template-columns:minmax(0,1fr); min-height:0; padding-block:32px 40px; gap:0; }
  /* The same home capture remains in the preparation panel; avoid a duplicate mobile screen. */
  .hero-visual { display:none; }
  .hero h1 { font-size:clamp(2.6875rem,10.7vw,3.625rem); line-height:1.17; }
  .hero-intro { font-size:var(--body); margin-top:24px; }
  .actions { margin-top:28px; gap:12px; }
  .actions .button { width:100%; }
  .hero-visual .phone { width:248px; margin-inline:auto; }
  .hero-water img { min-width:1200px; bottom:-650px; }
  .hero-water { mask-image:linear-gradient(transparent 5%,#000 50%,transparent 100%); }
  .section { padding-block:64px; }
  .journey-content { margin-top:32px; }
  .journey-panel .panel-copy { margin-bottom:24px; }
  .panel-visual,.stroke-gallery,.watch-state { padding:24px 16px; border-radius:18px; }
  .journey-panel+.journey-panel { margin-top:48px; padding-top:40px; }
  .stroke-screens { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .watch-support-grid { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:20px; }
  .panel-copy h3 { font-size:1.9375rem; }
  .panel-visual .phone { width:248px; }

  .watch-figure { width:min(230px,100%); margin-inline:auto; }
  .watch-explanation h4 { margin-bottom:18px; }
  .support-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .support-intro h2 { font-size:1.875rem; }
  .release-inner { grid-template-columns:60px minmax(0,1fr); gap:20px; align-items:start; }
  .app-icon { width:60px; height:60px; border-radius:14px; }
  .release-inner>div { grid-column:1/-1; }
  .release .text-link { grid-column:1/-1; }
  .footer-inner { align-items:flex-start; flex-direction:column; gap:12px; }
  .footer-links { flex-wrap:wrap; gap:20px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media(forced-colors:active) {
  .button,.phone,.watch-case,details { border:1px solid ButtonText; }
  [aria-selected=true] { outline:3px solid Highlight; }
  .hero-water { display:none; }
}
.pace-details { margin-top:20px; border-top:1px solid var(--line); }
.pace-details summary { font-size:1rem; color:var(--cyan); }
