:root{--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur:.75s;--rise:20px;--stagger:90ms;--coral:#e5502a}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#fafaf8;font-family:Georgia,Times New Roman,serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.reveal{opacity:0;transform:translateY(var(--rise));transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none}.reveal--fade{transform:none}.reveal--left{transform:translateX(calc(var(--rise)*-1.4))}.reveal--scale{transform:translateY(var(--rise)) scale(.985)}.reveal[data-delay="1"]{transition-delay:calc(var(--stagger)*1)}.reveal[data-delay="2"]{transition-delay:calc(var(--stagger)*2)}.reveal[data-delay="3"]{transition-delay:calc(var(--stagger)*3)}.line-mask{display:block;overflow:hidden}.line-mask>span{opacity:0;transition:transform 1s var(--ease-out),opacity .5s var(--ease-out);display:block;transform:translateY(112%)}.line-mask.is-in>span{opacity:1;transform:none}.line-mask:nth-of-type(2)>span{transition-delay:.1s}.line-mask:nth-of-type(3)>span{transition-delay:.2s}.btn{isolation:isolate;transition:color .45s var(--ease);position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--coral);transition:transform .45s var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before{transform:translateY(0)}.btn:active{transform:translateY(1px)}.btn--coral:before{background:#1a1a1a}.ripple{animation:rip .6s var(--ease-out) forwards;pointer-events:none;z-index:0;background:#ffffff4d;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes rip{to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}.ar-link .ar{transition:transform .35s var(--ease);display:inline-block}.ar-link:hover .ar{transform:translate(6px)}.navlink{position:relative}.navlink:after{content:"";background:var(--coral);width:0;height:1px;transition:width .35s var(--ease);position:absolute;bottom:0;left:0}.navlink:hover:after{width:100%}.card{cursor:pointer;display:block}.card .media{aspect-ratio:3/2;background:#f1f0ea;position:relative;overflow:hidden}.card .media img,.card .media .slot{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease-out);transform-origin:50%;display:block}.card:hover .media img,.card:hover .media .slot{transform:scale(1.05)}.card .ov{opacity:0;transition:opacity .35s var(--ease);z-index:2;background:#0e0e0e80;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card:hover .ov{opacity:1}.card .ov-cta{color:#fff;letter-spacing:.18em;text-transform:uppercase;transition:transform .42s var(--ease-out) 40ms,background .3s,color .3s;border:1px solid #ffffff8c;align-items:center;gap:10px;padding:14px 26px;font-size:12px;display:inline-flex;transform:translateY(10px)}.card:hover .ov-cta{transform:none}.card .ov-cta:hover{color:#1a1a1a;background:#fff}.card:hover .card-link .ar{transform:translate(5px)}.field input{color:#1a1a1a;width:100%;transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease);background:#fafaf8;border:1px solid #1a1a1a24;outline:none;font-family:Georgia,serif}.field input::placeholder{color:#1a1a1a66}.field input:focus{border-color:var(--coral);background:#fff;box-shadow:0 0 0 3px #e5502a1f}.sw{transition:transform .35s var(--ease-out);cursor:pointer;border:1px solid #1a1a1a24;border-radius:50%;position:relative}.sw:after{content:"";opacity:0;transition:opacity .3s,transform .35s var(--ease-out);border:1px solid #1a1a1a;border-radius:50%;position:absolute;inset:-6px;transform:scale(.7)}.sw:hover{transform:translateY(-3px)}.sw.sel{animation:bounce .5s var(--ease-out)}.sw.sel:after{opacity:1;transform:scale(1)}@keyframes bounce{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.93)}to{transform:scale(1)}}.price-dot{display:inline-block;position:relative}.price-dot:after{content:"";background:var(--coral);animation:pulse 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{opacity:.7;transform:scale(1)}70%{opacity:0;transform:scale(3.6)}to{opacity:0}}.gpx-route{fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.gpx-pen{opacity:0}.gpx-finish{opacity:0;transition:opacity .45s var(--ease)}.gpx-start{opacity:0}.gpx-cap{opacity:0;transition:opacity .7s var(--ease-out)}.gpx-cap.in{opacity:1}.stat-num{letter-spacing:-.02em;font-size:clamp(38px,4.5vw,58px);font-weight:300;line-height:1}.stat-unit{color:#e5502a;margin-left:.12em;font-size:.42em}.hero-eyebrow{opacity:0;transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);transform:translateY(8px)}.hero-eyebrow.is-in{opacity:1;transform:none}.hero-subtitle{opacity:0;transition:opacity .6s var(--ease-out) 80ms,transform .6s var(--ease-out) 80ms;transform:translateY(8px)}.hero-subtitle.is-in{opacity:1;transform:none}@media (max-width:767px){.wrap{padding-left:20px!important;padding-right:20px!important}.hero-grid{grid-template-columns:1fr!important;min-height:auto!important}.hero-text{padding:22px 20px 48px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.race-grid,.gpx-grid{grid-template-columns:1fr!important}.meta-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px 24px!important}.how-grid{grid-template-columns:1fr!important}.card .media{aspect-ratio:4/3}}@media (min-width:768px) and (max-width:1024px){.wrap{padding-left:32px!important;padding-right:32px!important}.hero-grid{min-height:auto!important}.race-grid,.stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,.line-mask>span{opacity:1!important;transform:none!important}}
