/* Sports illustration and motion system. No perpetual decorative animation. */
.ui-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}
.ui-icon svg,.ui-svg{display:block;width:20px;height:20px;fill:currentColor;stroke:none;flex-shrink:0}
.variant-controls .ui-svg{width:18px;height:18px}
.button .ui-icon{transition:transform .35s var(--ease)}
.button:hover .ui-icon{transform:translate(2px,-2px)}
.text-link .ui-icon svg,.service-link .ui-icon svg{width:18px;height:18px}
.hero-bottom>a>span{animation:none}
.hero-bottom>a:hover .ui-icon{transform:translateY(3px)}
.hero-art{height:590px;perspective:none;transform:none!important;transition:none;overflow:visible}
.hero-art::after{display:none!important}
.sport-visual{display:none;position:absolute;inset:12px 0 22px 20px;overflow:hidden}
html[data-theme=editorial] .track-poster{display:block;background:#254535;color:#f1f0df;border-radius:3px 3px 72px 3px;box-shadow:0 25px 60px -40px #142c2660}
.track-poster::before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,#36583d22,transparent 45%,#0e32272b);pointer-events:none;z-index:1}
.poster-top{position:absolute;inset:28px 29px auto;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2}
.poster-top>span{font-size:8px;letter-spacing:1.5px;color:#d3ddc4}
.poster-top .ui-svg{width:24px;height:24px;color:#d5e59f}
.track-art{position:absolute;width:100%;height:100%;inset:0}
.track-lane{stroke:#c1d1aa;stroke-width:1.2;opacity:.55}
.track-active{stroke:#e4efbb;stroke-width:2.6;opacity:1}
.start-line{stroke:#d1dbba;stroke-width:1;opacity:.7}
.lane-numbers{fill:#d2ddbc;font:11px Manrope,Arial,sans-serif}
.poster-rule{stroke:#f1f0df;stroke-width:.7;opacity:.2}
.poster-bottom{position:absolute;left:30px;right:30px;bottom:29px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.poster-bottom>span{font:35px/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.4px}
.poster-bottom em{font-weight:400;color:#d7e4b9}
.poster-bottom small{font-size:7px;line-height:1.8;letter-spacing:1.3px;text-align:right;color:#c4d2b7}
html[data-theme=focus] .hero-art{height:278px;margin:12px 0 0;overflow:hidden}
html[data-theme=focus] .focus-poster{display:block;inset:0;background:radial-gradient(ellipse at 50% 90%,#a8d17612,transparent 70%);border-top:1px solid #cced9c14}
.focus-poster>svg{width:100%;height:100%;opacity:.9}
.focus-guides{stroke:#aaca782b;stroke-width:1}
.focus-route{stroke:#d4f291;stroke-width:2.3}
.route-two{stroke:#91b35b;stroke-width:1.3}
.focus-finish{stroke:#bad889;stroke-width:1;opacity:.2}
.focus-caption{position:absolute;left:24px;right:24px;bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.focus-caption>span:first-child{font-size:9px;line-height:1.8;letter-spacing:2px;color:#91a17e}
.focus-caption strong{font-size:20px;letter-spacing:1px;color:#d4e9b0;font-weight:500}
.focus-caption>span:last-child{font-size:8px;line-height:1.8;letter-spacing:1.6px;text-align:right;color:#8d9d80}
html[data-theme=studio] .hero-art{height:570px;background:transparent;border-radius:0;overflow:visible;isolation:auto}
html[data-theme=studio] .court-poster{display:block;inset:12px 0 22px 20px;background:#e5dfed;border-radius:3px 56px 3px 3px}
.court-top{position:absolute;left:28px;right:28px;top:30px;font-size:7px;letter-spacing:1.5px;color:#655980;z-index:2}
.court-art{position:absolute;inset:0;width:100%;height:100%}
.court-ground{fill:#b9abc9}
.court-inner{fill:#716398}
.court-line{stroke:#f0eaf7;stroke-width:1.35}
.court-net-shadow{stroke:#44345a;stroke-width:8;opacity:.13}
.court-net{stroke:#f2edf7;stroke-width:2.8}
.court-ball-shadow{fill:#352843;opacity:.18}
.court-ball{fill:#e7f39e;stroke:#f4fbcb;stroke-width:1}
.ball-seam{stroke:#91a150;stroke-width:1}
.court-bottom{position:absolute;left:29px;right:29px;bottom:27px;display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end;color:#4d4165}
.court-bottom>span{font-size:8px;letter-spacing:1.6px}
.court-bottom>em{font:italic 42px/.95 'Cormorant Garamond',Georgia,serif;grid-row:2;letter-spacing:-.5px}
.court-bottom>.ui-svg{grid-column:2;grid-row:1/3;width:28px;height:28px}
.hero-art.is-drawn .sport-visual{animation:poster-reveal 1.05s var(--ease) both}
.hero-art.is-drawn .track-lane,.hero-art.is-drawn .court-line,.hero-art.is-drawn .court-net,.hero-art.is-drawn .focus-route{animation:line-reveal 1.8s var(--ease) .22s both}
.hero-art.is-drawn .track-active{animation-duration:2.2s}
.hero-art.is-drawn .route-two{animation-delay:.4s}
.title-line{display:block;overflow:clip;padding-bottom:.13em;margin-bottom:-.13em}
.title-line-inner{display:block;transform-origin:left bottom;animation:title-reveal .95s var(--ease) both;animation-delay:calc(var(--line-index,0)*110ms)}
.theme-changing main{animation:none}
.hero-enter{animation-duration:.85s}
.service-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#e9eddf;color:#4e674a;flex-shrink:0;transition:background .4s,color .4s}
.service .service-icon svg{width:36px;height:36px;fill:currentColor;stroke:none;transition:transform .4s var(--ease);transform:none}
.service:hover .service-icon{background:#d6e1be;color:#34572f}
.service:hover .service-icon svg{transform:scale(1.035)}
.service:hover .service-link svg{transform:none}
.service{transition:background .4s,border-color .4s,box-shadow .4s;isolation:isolate}
.service h3{margin-top:27px}
.service::after{content:'';position:absolute;left:30px;right:30px;bottom:0;height:2px;transform:scaleX(0);transform-origin:left;background:currentColor;opacity:.3;transition:transform .65s var(--ease);pointer-events:none}
.service:hover::after,.service:focus-within::after{transform:scaleX(1)}
html[data-theme=focus] .service-icon{background:#283722;color:#c6e99b;border-radius:16px}
html[data-theme=focus] .service:hover .service-icon{background:#354829;color:#dcf3b2}
html[data-theme=studio] .service-icon{background:#dcd4e7;color:#64507c;border-radius:16px}
html[data-theme=studio] .service:hover .service-icon{background:#d1c4de;color:#493262}
html[data-theme=studio] .service:hover{transform:none;box-shadow:0 12px 30px #4032520b}
.reveal-ready .service.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease),background .4s,border-color .4s,box-shadow .4s}
.service svg{fill:currentColor;stroke:none}
.request-detail>.ui-icon svg{width:28px;height:28px}
.dialog-close .ui-svg{width:25px;height:25px}
@keyframes title-reveal{from{transform:translateY(108%);opacity:.25}to{transform:translateY(0);opacity:1}}
@keyframes poster-reveal{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@keyframes line-reveal{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:1100px){.hero-art{height:520px}html[data-theme=studio] .hero-art{height:520px}.poster-bottom>span{font-size:31px}.poster-top{inset:25px 24px auto}.poster-top>span{font-size:7px}.poster-bottom{left:25px;right:25px}.court-top{left:25px;right:25px;font-size:6px}.court-bottom{left:25px;right:25px}}
@media(max-width:760px){.hero-art{height:425px;margin:28px 0 22px}.sport-visual{inset:0;max-width:470px;margin-inline:auto}.poster-bottom>span{font-size:35px}.poster-top>span{font-size:7px}.poster-bottom small{font-size:6px}.track-poster{max-width:440px}.hero-art.is-drawn .sport-visual{animation-duration:.8s}.service-icon{width:57px;height:57px;border-radius:16px}.service .service-icon svg{width:34px;height:34px}.service-top{align-items:center}.service h3{margin-top:26px}.service::after{left:25px;right:25px}html[data-theme=focus] .hero-art{height:230px;margin:25px 0 0}.focus-caption{left:13px;right:13px;bottom:15px}.focus-caption strong{font-size:16px}.focus-caption>span:first-child{font-size:7px}.focus-caption>span:last-child{font-size:6px;letter-spacing:.8px}html[data-theme=studio] .hero-art{height:435px;width:100%;max-width:460px;margin:0 0 27px;border-radius:0;background:transparent}.court-poster{inset:0!important}.court-top{font-size:6px}.court-bottom>em{font-size:39px}.menu-toggle>.ui-icon{display:none}}
@media(prefers-reduced-motion:reduce){.title-line-inner,.hero-art.is-drawn .sport-visual,.hero-art.is-drawn .track-lane,.hero-art.is-drawn .court-line,.hero-art.is-drawn .court-net,.hero-art.is-drawn .focus-route{animation:none!important;transform:none;opacity:1;stroke-dashoffset:0}.service:hover .service-icon svg{transform:none}}
