.hub-header{position:relative;overflow:hidden;--accent:#147e84;--surface:#bfe5e0;--companion:#dcdaf0;background:radial-gradient(ellipse 50% 120% at 0% 0%,#d9f1ee,transparent 70%),radial-gradient(ellipse 45% 120% at 100% 0%,#e3e0f4,transparent 70%),#cce3ea}
.hub-header>.container{position:relative;z-index:1}
.hub-header .cup-ribbon{opacity:.4}
.hub-header nav{gap:8px 10px}
.hub-header nav a:hover,.hub-header nav a[aria-current]{background:#ffffffb3;text-decoration:none!important}
.home-page .home-meet{position:relative;overflow:hidden;--bg:var(--meet-tint);padding-bottom:clamp(70px,7vw,96px)}
.home-page .home-meet{isolation:isolate}
.home-page .home-meet>*:not(.cup-scene){position:relative}
.home-page .home-meet>.cup-scene{z-index:-1}
.home-page .home-meet .cup-scene.is-card{aspect-ratio:720/280;min-height:0;max-height:none;opacity:.9}
.hub-header .home-brand{font-size:clamp(26px,min(4.4vh,3.4vw),46px);line-height:1.1}
.hub-header .home-brand>span{font-size:clamp(12.5px,1.6vh,15px);margin-top:clamp(2px,.6vh,7px)}
.home-page .home-meet-date{line-height:1.3;min-height:0}
@media (min-width:600px) and (min-height:600px){
.home-page{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh}
.home-page>main{display:flex;flex-direction:column;min-height:0}
.home-page .home-meets{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(12px,2.6vh,40px) clamp(10px,2vh,28px)}
.home-page .home-meet-grid{flex:0 1 auto;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:clamp(14px,1.6vw,24px)}
.home-page .home-meet{min-height:0;padding:clamp(12px,2vh,26px) 17px clamp(54px,8vh,92px)}
.home-page .home-meet h2{flex:none;font-size:clamp(18px,2.5vh,24px);min-height:0}
.home-page .home-meet-logo{flex:0 1 clamp(150px,25vh,290px);min-height:64px;height:auto;margin:clamp(6px,1.4vh,18px) 0}
.home-page .home-meet-logo img{height:100%;width:auto;max-width:100%;object-fit:contain}
.home-page .home-meet-date{flex:none;margin-bottom:clamp(2px,.5vh,8px);font-size:clamp(14px,1.8vh,16px)}
.home-page .home-meet-city{flex:none;min-height:0;margin:0 0 clamp(6px,1.2vh,16px)}
.home-page .home-meet-button{flex:none;padding-block:clamp(7px,1.2vh,11px)}
.home-page .home-footer{padding:clamp(44px,7.5vh,96px) 0 clamp(10px,1.6vh,24px);background-size:calc(100% + 100px) clamp(36px,6.5vh,82px)}
}
.home-page main{position:relative;overflow:hidden}
.hub-orbs{position:absolute;inset:0;pointer-events:none;--surface:#bfe9e3;--companion:#dcd8f2}
.hub-orbs .cup-orb{opacity:.5}
.hub-orbs .cup-orb.o3{width:clamp(140px,18vw,280px);aspect-ratio:1;left:42%;top:55%;background:#f6dfe3}
.motion-running .hub-orbs .cup-orb.o3{animation:sc-orb 38s ease-in-out infinite alternate}
.home-page .home-meets{position:relative;z-index:1}
.home-footer{position:relative;background:linear-gradient(to bottom,transparent var(--wave-h),#0c5266 var(--wave-h))!important;animation:none!important;--wave-h:clamp(40px,7vh,82px);padding-top:calc(var(--wave-h) + 10px)!important}
.hub-wave{position:absolute;left:0;top:0;width:100%;height:calc(var(--wave-h) + 1px);display:block}
.home-page .home-meet{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}
.home-page .home-meet-logo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
@media (hover:hover){
.home-page .home-meet:hover,.home-page .home-meet:focus-within{transform:translateY(-8px);box-shadow:0 26px 48px -22px rgba(29,105,107,.38);border-color:var(--meet-accent)}
.home-page .home-meet:hover .home-meet-logo img{transform:scale(1.05)}
.home-page .home-meet:hover .home-meet-button{filter:brightness(.95)}
}
@media (prefers-reduced-motion:reduce){.home-page .home-meet:hover,.home-page .home-meet:focus-within{transform:none}.home-page .home-meet:hover .home-meet-logo img{transform:none}}
.hub-header{background:#cce3ea}
.hub-header .home-brand{font-size:clamp(34px,min(6.4vh,4.6vw),62px)!important;line-height:1.05;letter-spacing:-.035em;max-width:none!important}
.hub-header .home-brand>span{font-size:clamp(14px,1.9vh,17px)!important;margin-top:clamp(4px,.9vh,10px)!important}
.hub-header nav{gap:10px!important}
.hub-header nav a{display:inline-flex;align-items:center;padding:clamp(7px,1.1vh,10px) 20px!important;border-radius:999px;background:#fff;border:1px solid #b7d4de;color:#204857!important;font-size:15px!important;font-weight:700;box-shadow:0 6px 16px -10px rgba(20,92,112,.45);transition:background .2s,color .2s,transform .2s,box-shadow .2s;text-decoration:none!important}
.hub-header nav a:hover,.hub-header nav a[aria-current]{background:#145c70!important;color:#fff!important;border-color:#145c70;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(20,92,112,.6)}
@media (max-width:850px){.hub-header nav{display:flex!important;flex-direction:row!important;justify-content:center;margin:0!important;padding:0!important}}
.hub-header:before{display:none!important}
.hub-wave-top{display:block;width:100%;height:clamp(30px,5.2vh,60px)}
body .hub-header>.container{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(12px,2vh,24px) clamp(14px,2.2vh,24px)!important;gap:clamp(8px,1.2vh,14px)!important}
@media (min-width:960px) and (max-height:760px){body .hub-header .home-brand>span{display:none!important}}
.site-page:not(.meet-page) .hub-title{position:relative;background:radial-gradient(ellipse 50% 120% at 0% 0%,#d9f1ee,transparent 70%),radial-gradient(ellipse 45% 120% at 100% 0%,#e3e0f4,transparent 70%),#dcefeb;padding-bottom:clamp(8px,1vw,14px)}
.site-page:not(.meet-page) .hub-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(28px,3.2vw,56px);background:linear-gradient(to bottom,transparent,#eaf5f2);pointer-events:none}
body .hub-header .home-brand{line-height:1.05!important}
body .hub-header .home-brand>span{display:block;line-height:1.4!important}
body .hub-header nav a{line-height:1.2!important}
body .hub-header>.container{width:min(1280px,calc(100% - 32px))!important;margin-inline:auto}
@media (max-width:480px){body .hub-header nav a{padding:8px 14px!important;font-size:14px!important}}
body.home-page .home-meet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;gap:clamp(14px,1.8vw,24px)!important;max-width:1120px;margin-inline:auto}
body.home-page .home-meet{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(12px,1.6vw,22px);text-align:left;padding:clamp(12px,1.8vh,22px) clamp(16px,1.8vw,24px) calc((100% / 8.47) * .8 + clamp(4px,1vh,12px))!important;min-height:0}
body.home-page .home-meet-logo{height:clamp(84px,15vh,170px)!important;margin:0!important;flex:none!important;min-height:0!important}
body.home-page .home-meet-logo img{height:100%;width:100%;object-fit:contain}
body.home-page .home-meet-info{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(3px,.6vh,6px);min-width:0}
body.home-page .home-meet h2{justify-content:flex-start!important;text-align:left;font-size:clamp(19px,2.6vh,25px)!important;min-height:0!important;margin:0}
body.home-page .home-meet-date{margin:0!important;font-size:clamp(14px,1.8vh,16px)}
body.home-page .home-meet-city{margin:0 0 clamp(6px,1vh,10px)!important;min-height:0!important}
body.home-page .home-meet-button{padding:clamp(7px,1.1vh,10px) 20px!important}
body.home-page .home-meet .cup-scene.is-card{aspect-ratio:1440/170!important;max-height:none;opacity:1}
.hub-map-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.hub-map-link:hover{text-decoration-color:currentColor}
@media (max-width:599px){
body.home-page .home-meet-grid{grid-template-columns:1fr!important}
body.home-page .home-meet{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
body.home-page .home-meet-logo{height:110px!important}
}
.hub-results .hub-meet-logo{display:block;border-radius:16px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.hub-results .hub-meet-logo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.hub-results .hub-meet-logo:hover{transform:translateY(-4px);box-shadow:0 18px 34px -20px rgba(20,92,112,.5)}
.hub-results .hub-meet-logo:hover img{transform:scale(1.06)}
.hub-results .hub-meet-title{text-decoration:none!important;color:#204857!important;background:linear-gradient(currentColor,currentColor) left bottom/0 2px no-repeat;padding-bottom:2px;transition:background-size .35s ease,color .2s}
.hub-results .hub-meet-title:hover{background-size:100% 2px;color:#145c70!important}
.site-page:not(.meet-page) .hub-content{padding-top:12px}
.site-page:not(.meet-page) .hub-title{padding-top:clamp(28px,4vw,48px)!important}
.home-footer .container{display:flex;flex-direction:column;align-items:center;gap:6px}
.home-footer .site-credit{color:#a9d3d6;font-size:12px}
.home-footer .site-credit a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (min-width:1200px){
body.home-page .home-meet-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:1480px}
body.home-page .home-meet{grid-template-columns:1fr;justify-items:center;text-align:center}
body.home-page .home-meet-info{align-items:center}
body.home-page .home-meet h2{justify-content:center!important;text-align:center}
body.home-page .home-meet-logo{height:clamp(110px,22vh,230px)!important;width:100%}
}
@media (min-width:600px) and (max-width:900px){
body.home-page .home-meet{grid-template-columns:1fr;justify-items:center;text-align:center}
body.home-page .home-meet-info{align-items:center}
body.home-page .home-meet h2{justify-content:center!important;text-align:center}
body.home-page .home-meet-logo{height:clamp(64px,9.5vh,150px)!important;width:100%}
body.home-page .home-meet{gap:8px}
}
.hub-wave-top{height:clamp(52px,8vh,100px)!important}
.home-footer{--wave-h:clamp(64px,10vh,128px)!important}
.home-footer .container{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px 24px;flex-wrap:wrap;min-height:64px;padding-block:14px}
.home-footer .container>span{font-size:12px}
@media (max-width:600px){.home-footer .container{flex-direction:column!important;justify-content:center!important;text-align:center}}
@media (min-width:600px) and (min-height:600px){
body.home-page{min-height:calc(100vh + 64px);min-height:calc(100dvh + 64px)}
body.home-page .home-footer{padding:var(--wave-h) 0 0!important}
body.home-page .home-footer .container{height:64px;min-height:0;padding-block:0}
body.home-page .home-meets{padding-block:clamp(16px,3vh,40px)!important;justify-content:center}
}
body .hub-header nav{display:inline-flex!important;gap:6px!important;padding:6px!important;margin-top:clamp(4px,.8vh,10px)!important;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid #b7d4de;box-shadow:0 10px 24px -18px rgba(20,92,112,.6)}
body .hub-header nav a{gap:9px;min-width:clamp(150px,13vw,190px);justify-content:center;padding:clamp(9px,1.2vh,12px) 22px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:15.5px!important;font-weight:700!important;color:#1d4c5c!important}
body .hub-header nav a svg{width:18px;height:18px;flex:none;color:#2795a3}
body .hub-header nav a:hover{background:#fff!important;transform:none!important}
body .hub-header nav a[aria-current]{background:#145c70!important;color:#fff!important}
body .hub-header nav a[aria-current] svg{color:#bfe9ef}
@media (max-width:480px){body .hub-header nav a{min-width:0;padding:9px 14px!important;font-size:14px!important}body .hub-header nav a svg{width:16px;height:16px}}
@media (max-width:760px){body .hub-header nav a{min-height:42px}}
body .hub-header nav a:hover,body .hub-header nav a:focus-visible{background:#d6eef2!important;color:#0f4a5b!important;border-color:transparent!important;box-shadow:inset 0 0 0 1px #a9d7df!important}
body .hub-header nav a:hover svg{color:#145c70}
body .hub-header nav a[aria-current],body .hub-header nav a[aria-current]:hover{background:#145c70!important;color:#fff!important}
body .hub-header nav a[aria-current] svg,body .hub-header nav a[aria-current]:hover svg{color:#bfe9ef}
body .hub-header .home-brand,body .hub-header .home-brand:hover{color:#204857!important;text-decoration:none}
@media (max-width:600px){
.hub-wave-top{height:clamp(26px,7vw,36px)!important}
.home-footer{--wave-h:clamp(34px,9vw,46px)!important}
}
@media (max-width:480px){body .hub-header nav{flex-wrap:nowrap!important;gap:2px!important;padding:4px!important;max-width:100%}body .hub-header nav a{gap:6px;padding:8px 9px!important;font-size:13px!important;white-space:nowrap;letter-spacing:-.01em}body .hub-header nav a svg{display:none}}
.hub-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.home-page .home-meets{position:relative;z-index:1}
.hub-aurora b{position:absolute;width:46vmax;height:46vmax;border-radius:50%;opacity:.38}
.hub-aurora .a1{left:-14vmax;top:-10vmax;background:radial-gradient(circle,#f7e1b7 0,transparent 66%)}
.hub-aurora .a2{right:-16vmax;top:-6vmax;background:radial-gradient(circle,#e2d6ed 0,transparent 66%)}
.hub-aurora .a3{left:18%;bottom:-24vmax;background:radial-gradient(circle,#cfe4f2 0,transparent 66%)}
.hub-aurora .a4{right:6%;bottom:-20vmax;background:radial-gradient(circle,#f5d4d9 0,transparent 66%)}
.motion-running .hub-aurora .a1{animation:hub-drift-a 46s ease-in-out infinite alternate}
.motion-running .hub-aurora .a2{animation:hub-drift-b 54s ease-in-out -12s infinite alternate}
.motion-running .hub-aurora .a3{animation:hub-drift-b 50s ease-in-out -24s infinite alternate-reverse}
.motion-running .hub-aurora .a4{animation:hub-drift-a 58s ease-in-out -30s infinite alternate-reverse}
@keyframes hub-drift-a{from{transform:translate(0,0) scale(1)}to{transform:translate(9vmax,6vmax) scale(1.18)}}
@keyframes hub-drift-b{from{transform:translate(0,0) scale(1.1)}to{transform:translate(-8vmax,5vmax) scale(.92)}}
.motion-lite .hub-aurora b{animation:none!important}
.home-page .cup-scene.is-card .sc-bubble{display:none}
body .hub-header{border-bottom:0!important}
.home-page .hub-header{background:linear-gradient(180deg,#dcebf0 0%,#dcebf0 52%,#e1f1f0 100%)!important}
.home-page main{background:linear-gradient(180deg,#e1f1f0 0,rgba(225,241,240,0) 200px),radial-gradient(ellipse at 0% 20%,#c7ece7 0%,transparent 50%),radial-gradient(ellipse at 95% 15%,#dcdaf0 0%,transparent 45%),linear-gradient(180deg,#e5f5f1,#dff2ef)}
.site-page:not(.meet-page) .hub-header{background:linear-gradient(180deg,#cce3ea 0%,#cce3ea 52%,#d4e9eb 100%)!important}
.site-page:not(.meet-page) .hub-title{background:linear-gradient(180deg,#d4e9eb 0,rgba(220,239,235,0) 150px),radial-gradient(ellipse 50% 120% at 0% 0%,#d9f1ee,transparent 70%),radial-gradient(ellipse 45% 120% at 100% 0%,#e3e0f4,transparent 70%),#dcefeb}
.hub-office{text-align:center}
.hub-office address,.hub-office p{margin-inline:auto}
body.home-page,body.site-page:not(.meet-page){background:radial-gradient(ellipse 70% 45% at 0% 0%,#d3ede9,transparent 70%),radial-gradient(ellipse 60% 40% at 100% 4%,#e2dff3,transparent 70%),linear-gradient(180deg,#e3f2f1 0%,#e7f4f2 55%,#e9f2f4 100%) #e6f3f2}
body.home-page .hub-header,body.site-page:not(.meet-page) .hub-header{background:transparent!important;border:0!important}
body.home-page .hub-header:before,body.site-page:not(.meet-page) .hub-header:before{display:none}
.home-page main{background:transparent}
.site-page:not(.meet-page) .hub-title{background:transparent!important}
.site-page:not(.meet-page) .hub-title:after{display:none}
body.home-page .home-meet .cup-scene.is-card{aspect-ratio:1440/260!important}
body.home-page .home-meet{padding-bottom:calc(100% * 260 / 1440 + 4px)!important}
.home-page .cup-scene.is-card .sc-plane{display:none}
body.home-page,body.site-page:not(.meet-page){position:relative}
.home-page main{position:static}
.hub-aurora,.home-page .hub-orbs{position:absolute;inset:0;z-index:0}
body .hub-header,body .home-footer,.home-page .home-meets,.site-page:not(.meet-page) main>*{position:relative;z-index:1}
.home-page .hub-orbs{overflow:hidden}
html,body{overflow-x:clip}
@media (max-width:1080px){.home-page .hub-map-link{display:inline-block;padding-block:8px}}
@media (max-width:1080px){
.home-page .home-meet h2 a{display:inline-block;padding-block:5px}
.hub-results .button-row a{display:inline-flex;align-items:center;min-height:40px}
}
.home-page .cup-scene.is-card .sc-sun{display:none}
.home-page .home-meet .cup-scene.is-card{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%);mask-image:linear-gradient(to bottom,transparent,#000 30%)}
html:has(.home-footer){background:#0c5266}
