@property --hp{syntax:"<color>";inherits:true;initial-value:#d6bea066}@property --hs{syntax:"<color>";inherits:true;initial-value:#c4baac38}:root{--ground:#fcfbf9;--ink:#0b0b0d;--grey:#3c3c436b;--muted:#3c3c43a8;--faint:#3c3c435c;--hair:#3c3c431f;--cell:#fff;--soft:#f5f3ef;--swim:#0a9cc4;--bike:#d98a00;--run:#ff4a2b;--strength:#0b0b0d;--z1:#bdbbb5;--z2:#5e9bff;--z3:#ffc23d;--z4:#ff5a36;--z5:#b44cff;--pos:#22b573;--caution:#e08600;--alert:#ff5a47;--display:"SF Pro Display",-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;--text:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ease:cubic-bezier(.2,.8,.2,1);--hp:#d6bea066;--hs:#c4baac38;--edge:#f6f2ec;transition:--hp 1.4s var(--ease),--hs 1.4s var(--ease);color-scheme:light}[data-hue=run]{--hp:#ff5e3a4d;--hs:#ffa85c2e}[data-hue=swim]{--hp:#19bee642;--hs:#6edce129}[data-hue=bike],[data-hue=eased]{--hp:#ffb0204d;--hs:#ff783c24}[data-hue=ready]{--hp:#3dd68c3d;--hs:#96e1be29}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--edge);scroll-padding-top:80px}body{color:var(--ink);font:17px/1.5 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--run);outline-offset:3px;border-radius:4px}.skip{z-index:100;background:var(--ink);color:var(--ground);border-radius:10px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}body:before{content:"";z-index:-2;pointer-events:none;--bloom:radial-gradient(80% 50% at 95% 0%,var(--hp),transparent 70%),radial-gradient(60% 40% at 0% 0%,var(--hs),transparent 70%),linear-gradient(var(--ground),var(--ground));background:var(--bloom);position:fixed;inset:0}@supports (-webkit-touch-callout:none){body:before{background:linear-gradient(var(--edge),transparent 90px),linear-gradient(to top,var(--edge),transparent 90px),var(--bloom)}}body:after{content:"";z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}.narrow{max-width:760px}section{padding-block:88px}.mono{font-family:var(--mono);letter-spacing:.01em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.num{font-variant-numeric:tabular-nums}.eyebrow{align-items:center;gap:10px;margin:0 0 18px;display:flex}.eyebrow .n{color:var(--ink)}.eyebrow i{background:var(--faint);width:18px;height:1px}.brief{font-family:var(--display);letter-spacing:-.045em;color:var(--grey);text-wrap:balance;margin:0;font-weight:700}.brief b{color:var(--ink);font-weight:inherit}h1.brief{margin-bottom:22px;font-size:clamp(42px,10.5vw,76px);line-height:1}h2.brief{margin-bottom:20px;font-size:clamp(34px,8.6vw,62px);line-height:1.02}h3.brief{letter-spacing:-.035em;margin-bottom:14px;font-size:clamp(26px,6vw,36px);line-height:1.08}.lead{color:var(--muted);max-width:33em;margin:0;font-size:17px;line-height:1.55}.lead.ink{color:#0b0b0dbd;font-size:18px}.split{align-items:center;gap:52px;display:grid}.nav{top:env(safe-area-inset-top,0px);z-index:20;transition:background .3s,box-shadow .3s;position:sticky}.nav.scrolled,.nav.open{background:color-mix(in srgb,var(--edge) 94%,transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);box-shadow:0 1px 0 var(--hair)}.nav .wrap{align-items:center;gap:28px;height:60px;display:flex}.nav .logo,.foot .logo{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:9px;font-size:16px;text-decoration:none;display:flex}.nav .logo img,.foot .logo img{border-radius:7.5px;width:30px;height:30px}.nav .links{gap:26px;margin-left:auto;font-size:14.5px;display:none}.nav .links a{color:var(--muted);text-decoration:none;transition:color .2s}.nav .links a:hover,.nav .links a[aria-current]{color:var(--ink)}.pill{background:var(--ink);height:38px;color:var(--ground);white-space:nowrap;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.nav .pill{margin-left:auto}.nav .menu{width:38px;height:38px;box-shadow:inset 0 0 0 1.5px var(--hair);cursor:pointer;background:0 0;border:0;border-radius:99px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-left:-18px;padding:0;display:flex}.nav .menu i{background:var(--ink);width:15px;height:1.5px;transition:transform .25s var(--ease);border-radius:1px}.nav.open .menu i:first-child{transform:translateY(3.25px)rotate(45deg)}.nav.open .menu i:last-child{transform:translateY(-3.25px)rotate(-45deg)}@media (width<=899px){.nav.open .links{background:var(--edge);box-shadow:0 1px 0 var(--hair),0 24px 40px -24px #28180a40;flex-direction:column;gap:0;padding:4px 20px 14px;display:flex;position:absolute;top:100%;left:0;right:0}.nav.open{background:var(--edge)}.nav.open .links a{color:var(--ink);border-bottom:1px solid var(--hair);padding:13px 0;font-size:17px}.nav.open .links a:last-child{border-bottom:0}.nav.open .links a[aria-current]{font-weight:600}}.pill.store{height:54px;padding:0 24px 0 20px;font-size:16px}.pill.store svg{width:20px;height:20px}.pill.ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--hair);background:0 0}.cta{flex-wrap:wrap;align-items:center;gap:14px 18px;display:flex}.cta .mono{line-height:1.5}.js [data-reveal]{opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease);transform:translateY(14px)}.js [data-reveal].in{opacity:1;transform:none}[data-reveal][data-delay="1"]{transition-delay:80ms}[data-reveal][data-delay="2"]{transition-delay:.16s}[data-reveal][data-delay="3"]{transition-delay:.24s}[data-reveal][data-delay="4"]{transition-delay:.32s}.phone{aspect-ratio:496/1012;filter:drop-shadow(0 30px 40px #140c0642);max-width:100%;position:relative}.phone>img{object-fit:cover;object-position:top;background:#f4f1ee;border-radius:13.6%/6.26%;width:88.91%;height:94.76%;position:absolute;top:2.57%;left:5.44%}.phone:after{content:"";pointer-events:none;background:url(/frame/iphone-frame.png) 50%/100% 100% no-repeat;position:absolute;inset:0}.device{position:relative}.accent{transform-origin:50%;transition:transform 1s cubic-bezier(.2,1.2,.35,1),filter 1s var(--ease);transition-delay:var(--d,.45s);margin:0;position:absolute}.accent img{width:100%;height:auto;display:block}.in .accent{transform:scale(var(--s));filter:drop-shadow(0 2px 3px #28180a14)drop-shadow(0 22px 26px #3c200a38)}.no-js .accent{transform:scale(var(--s))}.fan{margin-bottom:calc(var(--w) * -.22);--w:clamp(150px,36vw,290px);justify-content:center;align-items:flex-end;padding-top:28px;display:flex;overflow:clip;-webkit-mask-image:linear-gradient(#000 73%,#00000073 81%,#0000 88%);mask-image:linear-gradient(#000 73%,#00000073 81%,#0000 88%)}.fan .phone{width:calc(var(--w) * var(--k,1));margin-inline:calc(var(--w) * -.15);transition:transform 1s var(--ease),opacity .8s var(--ease);flex:none}.fan .phone:nth-child(3){--k:1;z-index:3}.fan .phone:nth-child(2),.fan .phone:nth-child(4){--k:.88;z-index:2;transition-delay:.1s}.fan .phone:first-child,.fan .phone:nth-child(5){--k:.77;z-index:1;transition-delay:.2s}.js .fan:not(.in) .phone{opacity:0;transform:translateY(48px)}@media (width<=640px){.fan{--w:42vw}.fan .phone:first-child,.fan .phone:nth-child(5){display:none}}.pair{aspect-ratio:1/1.36;width:min(100%,520px);margin:0 auto;position:relative}.pair .back{width:56%;position:absolute;top:9%;left:0}.pair .back .phone>img{filter:saturate(.92)}.pair .front{z-index:2;width:64%;position:absolute;top:0;right:0}.js .pair .back{transition:transform 1s var(--ease) .1s;transform:translate(16%)}.js .pair.in .back{transform:none}.solo{width:min(64vw,320px);margin:0 auto}.grid{background:var(--hair);border:1px solid var(--hair);border-radius:24px;gap:1px;display:grid;overflow:hidden}.cell{background:var(--cell);min-width:0;padding:20px}.cap{justify-content:space-between;gap:10px;margin-bottom:14px;display:flex}.cell h3{letter-spacing:-.02em;font-size:18px;font-family:var(--display);margin:0 0 6px;font-weight:600}.cell p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.season .bar{transform-box:fill-box;transform-origin:bottom;transition:transform .7s var(--ease)}.js .season:not(.in) .bar{transform:scaleY(0)}.season .ph-base{--c:var(--z2)}.season .ph-build{--c:var(--z3)}.season .ph-peak{--c:var(--z4)}.season .ph-taper{--c:var(--z5)}.season .ph-race{--c:var(--ink)}.season .bar.done,.season .bar.now{fill:var(--c)}.season .bar.plan{fill:none;stroke:var(--c);stroke-width:1.2px;stroke-dasharray:3 3;opacity:.85}.season .bar.rec{opacity:.55}.season .ph{fill:var(--c)}.season .today{stroke:var(--ink);stroke-width:1px;stroke-dasharray:2 3;opacity:.5}.season text{fill:var(--muted);font-size:9.5px;font-family:var(--text)}.season text.strong{fill:var(--ink);font-weight:600}.season .fit{fill:none;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.season .fit.past{stroke-dasharray:1;transition:stroke-dashoffset .9s var(--ease) .5s}.js .season:not(.in) .fit.past{stroke-dashoffset:1px}.season .fit.proj{stroke-dasharray:4 4;opacity:.7;transition:opacity .4s var(--ease) 1.35s}.js .season:not(.in) .fit.proj{opacity:0}.season .fit-dot{fill:var(--ink);stroke:var(--cell);stroke-width:2.5px}.structure .blk{transform-box:fill-box;transform-origin:bottom;transition:transform .55s var(--ease)}.js .structure:not(.in) .blk{transform:scaleY(0)}.snap,.snap *{transition:none!important}.z1{fill:var(--z1);background:var(--z1)}.z2{fill:var(--z2);background:var(--z2)}.z3{fill:var(--z3);background:var(--z3)}.z4{fill:var(--z4);background:var(--z4)}.z5{fill:var(--z5);background:var(--z5)}.zchip{font-family:var(--mono);color:#0b0b0d;vertical-align:1px;border-radius:5px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}table.steps{border-collapse:collapse;width:100%;margin-top:16px;font-size:14px}table.steps td{border-top:1px solid var(--hair);vertical-align:middle;padding:11px 6px 11px 0}table.steps td:first-child{font-family:var(--mono);color:var(--faint);width:28px;font-size:12px}table.steps td.r{text-align:right;font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:12px}.wk{gap:6px;margin:0;padding:0;list-style:none;display:grid}.wk-row{border-bottom:1px solid var(--hair);transition:opacity .5s var(--ease);grid-template-rows:auto auto;grid-template-columns:34px 1fr auto;align-items:center;gap:5px 12px;padding:10px 0;display:grid}.wk-d{color:var(--muted);grid-area:1/1/3;font-size:13px;font-weight:600}.wk-t{grid-area:1/2;align-items:baseline;gap:8px;min-width:0;font-size:15px;display:flex}.wk-t b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.wk-t em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-style:normal}.wk-tag{color:var(--muted);transition:all .4s var(--ease);border-radius:99px;grid-area:1/3;padding:3px 8px;font-size:11px;font-weight:600}.wk-tag:empty{padding:0}.wk-bar{background:var(--hair);border-radius:3px;grid-area:2/2/auto/4;height:6px;overflow:hidden}.wk-bar i{background:var(--sc,var(--ink));height:100%;transition:width .7s var(--ease),background .5s;border-radius:3px;display:block}.wk-row[data-s=run]{--sc:var(--run)}.wk-row[data-s=bike]{--sc:var(--bike)}.wk-row[data-s=swim]{--sc:var(--swim)}.wk-row[data-s=strength]{--sc:var(--ink)}.wk-row[data-tag=missed]{opacity:.45}.wk-row[data-tag=missed] b{text-decoration:line-through}.wk-row[data-tag=missed] .wk-bar i{outline:1.2px dashed var(--muted);outline-offset:-1.2px;background:0 0}.wk-row[data-tag=moved] .wk-tag,.wk-row[data-tag=merged] .wk-tag{color:#fff;background:var(--pos)}.wk-row[data-tag=missed] .wk-tag{color:var(--ink);background:var(--hair)}.status{margin-top:16px;display:grid}.status>div{transition:opacity .5s var(--ease),transform .5s var(--ease);border-radius:14px;grid-area:1/1;padding:13px 14px;font-size:14px;line-height:1.45}.status .st-a{color:var(--muted);background:#3c3c430d}.status .st-b{opacity:0;background:#22b57317;transform:translateY(4px)}.status b{color:var(--ink);font-weight:600}.status .st-b b{color:var(--pos)}.adapted .status .st-a{opacity:0;transform:translateY(-4px)}.adapted .status .st-b{opacity:1;transform:none}.tabs{background:#3c3c4312;border-radius:99px;flex-wrap:wrap;gap:4px;margin:28px 0 22px;padding:4px;display:inline-flex}.tabs button{cursor:pointer;height:38px;color:var(--muted);background:0 0;border:0;border-radius:99px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.tabs button i{background:var(--c);border-radius:50%;width:8px;height:8px}.tabs button[aria-selected=true]{background:var(--cell);color:var(--ink);box-shadow:0 1px 2px #00000014,0 4px 14px -6px #0000002e}.stats{border-block:1px solid var(--hair);grid-template-columns:repeat(3,auto);justify-content:space-between;column-gap:20px;margin:28px 0;display:grid}.stats div{padding:14px 0}.stats b{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(28px,7.5vw,40px);font-weight:700;display:block}.stats span{color:var(--muted);font-size:12.5px}.legs{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:30px;display:grid}.leg{border-top:2px solid var(--c);color:var(--muted);padding-top:10px;font-size:12px}.leg b{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:19px;font-weight:700;display:block}.tiles{background:var(--hair);border:1px solid var(--hair);border-radius:24px;grid-template-columns:1fr 1fr;gap:1px;margin-top:36px;display:grid;overflow:hidden}.tile{background:var(--cell);flex-direction:column;gap:12px;padding:18px;text-decoration:none;transition:background .3s;display:flex}a.tile:hover{background:#f7f5f1}.tile b{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(30px,8vw,44px);font-weight:700;line-height:.95}.tile b.r{color:var(--run)}.spark{align-items:flex-end;gap:1.5px;width:100%;max-width:150px;height:22px;display:flex}.spark i{background:var(--c);transform-origin:bottom;transition:transform .7s var(--ease);border-radius:1px;flex:1}.js .tiles:not(.in) .spark i{transform:scaleY(0)}.more{border-bottom:1.5px solid var(--ink);margin-top:22px;padding-bottom:2px;font-weight:600;text-decoration:none;display:inline-flex}.facts{grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:36px;display:grid}.facts h3{margin:0 0 4px;font-size:16px;font-weight:600}.facts p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.closing{text-align:center;padding-block:110px 120px}.closing h2{margin:0 0 28px;font-size:clamp(40px,10vw,84px);line-height:1}.closing .cta{flex-direction:column;justify-content:center;gap:14px}.page-head{padding-block:56px 24px}.crumbs{flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--faint);margin-right:6px}.crumbs a{text-decoration:none}.updated{margin-top:18px}.prose{color:#0b0b0ddb;font-size:16.5px;line-height:1.65}.prose h2{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);margin:52px 0 12px;font-size:26px;line-height:1.15}.prose h3{letter-spacing:-.01em;color:var(--ink);margin:30px 0 8px;font-size:18px}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:6px}.prose a{text-underline-offset:3px;text-decoration-thickness:1px}.prose table{border-collapse:collapse;width:100%;margin:12px 0 22px;font-size:14.5px}.prose th{text-align:left;color:var(--muted);border-bottom:1px solid var(--hair);padding:10px 12px 10px 0;font-size:13px;font-weight:600}.prose td{border-bottom:1px solid var(--hair);vertical-align:top;padding:11px 12px 11px 0}.table-scroll{overflow-x:auto}.note{background:#e0860014;border-radius:16px;margin:0 0 28px;padding:14px 16px;font-size:14.5px;line-height:1.5}.note b{color:var(--caution)}.toc{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.toc a{color:var(--muted);background:#3c3c430f;border-radius:99px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-block}.toc a:hover{color:var(--ink)}details{border-top:1px solid var(--hair);padding:18px 0}details:last-of-type{border-bottom:1px solid var(--hair)}summary{cursor:pointer;justify-content:space-between;gap:16px;font-size:17px;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--muted);font-size:22px;font-weight:400;line-height:1;transition:transform .3s}details[open] summary:after{transform:rotate(45deg)}details>div{color:var(--muted);max-width:44em;margin-top:10px;line-height:1.6}details>div p{margin:0 0 10px}.tiers{background:var(--hair);border:1px solid var(--hair);border-radius:24px;gap:1px;display:grid;overflow:hidden}.tier{background:var(--cell);flex-direction:column;gap:6px;padding:26px;display:flex}.tier .price{font-family:var(--display);letter-spacing:-.045em;font-size:clamp(48px,12vw,68px);font-weight:700;line-height:1}.tier .price small{font-family:var(--text);color:var(--muted);letter-spacing:0;margin-left:4px;font-size:15px;font-weight:500}.badge{width:max-content;font-family:var(--mono);color:var(--pos);background:#22b5731f;border-radius:99px;padding:4px 9px;font-size:11px;display:inline-block}.checks{gap:14px;margin:0;padding:0;list-style:none;display:grid}.checks li{grid-template-columns:22px 1fr;gap:12px;display:grid}.checks li:before{content:"";background:var(--pos) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;border-radius:50%;width:18px;height:18px;margin-top:3px}.checks b{font-weight:600;display:block}.checks span{color:var(--muted);font-size:15px}.levels{margin:6px 0 0}.foot{border-top:1px solid var(--hair);padding-block:44px 120px;font-size:14px}.foot .top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.foot .logo{padding:0}.foot .cols{grid-template-columns:1fr 1fr;gap:26px;display:grid}.foot h2{margin:0 0 10px;font-size:13px;font-weight:600}.foot a{color:var(--muted);padding:4px 0;text-decoration:none;display:block}.foot a:hover{color:var(--ink)}.foot .legal{flex-wrap:wrap;gap:8px 20px;margin-top:40px;display:flex}.sticky{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;-webkit-backdrop-filter:blur(20px)saturate(1.5);box-shadow:0 0 0 1px var(--hair),0 18px 40px -18px #28180a59;opacity:0;visibility:hidden;transition:transform .5s var(--ease),opacity .3s,visibility 0s .5s;background:#ffffffd6;border-radius:22px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 10px;display:flex;position:fixed;transform:translateY(160%)}.sticky.show{opacity:1;visibility:visible;transition:transform .5s var(--ease),opacity .3s;transform:none}.sticky img{border-radius:10px;width:40px;height:40px}.sticky div{flex:1;font-size:13px;line-height:1.3}.sticky div span{color:var(--muted)}.qr{display:none}@media (width>=900px){.wrap{padding-inline:40px}section{padding-block:140px}.nav .links{display:flex}.nav .pill{margin-left:0}.nav .menu{display:none}.split{grid-template-columns:1fr 1fr;gap:80px}.split.rev>:first-child{order:2}.fan{--w:clamp(220px,21vw,300px)}.tiles,.facts{grid-template-columns:repeat(4,1fr)}.foot .cols{grid-template-columns:repeat(5,1fr)}.tiers{grid-template-columns:1fr 1fr}.sticky{display:none}.qr{z-index:30;-webkit-backdrop-filter:blur(18px);box-shadow:0 0 0 1px var(--hair),0 18px 36px -20px #28180a4d;color:var(--muted);opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease);background:#ffffffdb;border-radius:20px;align-items:center;gap:12px;padding:10px 16px 10px 10px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(12px)}.qr.show{opacity:1;pointer-events:auto;transform:none}.qr .code{background:var(--ink);width:64px;height:64px;color:var(--ground);font-family:var(--mono);border-radius:10px;place-items:center;font-size:10px;display:grid}.qr b{color:var(--ink);font-size:13px;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
