body.ice-intro-active{overflow:hidden}
.ice-gate{position:fixed;inset:0;z-index:1000;isolation:isolate;background:#dce8ef;overflow:hidden;color:#0a2033;display:flex;align-items:center;justify-content:center}
.ice-gate[hidden]{display:none}
#ice-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ice-brand{position:absolute;top:40px;left:5vw;font:500 37px/1 var(--serif);letter-spacing:1px;display:flex;align-items:baseline;gap:12px}
.ice-brand span{font:12px var(--mono);letter-spacing:1.4px}
.ice-intro-copy{position:relative;text-align:center;padding:30px 24px;transform:translateY(-3vh);transition:opacity .7s,transform .9s}
.ice-eyebrow{font:13px/1.6 var(--mono);letter-spacing:2.7px;color:#486477;display:block;margin-bottom:22px}
.ice-intro-copy h1{font:400 clamp(64px,8.2vw,130px)/1.02 var(--serif);letter-spacing:-3px;margin:0;color:#0a2033}
.ice-intro-copy h1 span{display:block;font-style:italic;font-size:.73em;letter-spacing:-1.5px;margin-top:12px}
.ice-intro-copy p{font:17px/1.7 var(--sans);margin:25px 0 34px;color:#486477}
/* A departure point on the ice. */
#ice-start{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:68px;margin-top:44px;padding:10px 24px 10px 14px;font:500 18px/1.4 var(--sans);letter-spacing:.1px;color:#17384f;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ice-start-label{position:relative;transition:color .3s;}
.ice-start-label::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.5;transition:transform .35s}
#ice-start:hover .ice-start-label::after{transform:scaleX(1)}
#ice-start:focus-visible{outline:1px solid #264f6b;outline-offset:8px;border-radius:2px}
.ice-start-point{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none}
.ice-start-point>span{display:none}
.ice-start-point::before,.ice-start-point::after{content:"";position:absolute;inset:-55px;border:1px solid #254f6b;border-radius:50%;opacity:0;animation:ice-route-pulse 3.2s cubic-bezier(.15,.5,.35,1) infinite}
.ice-start-point::after{animation-delay:1.6s}

body.ice-breaking .ice-start-point::before,body.ice-breaking .ice-start-point::after{animation-play-state:paused}
@keyframes ice-route-pulse{0%{transform:scale(.12);opacity:0}15%{opacity:.55}100%{transform:scale(1.9);opacity:0}}
.ice-bottom{position:absolute;left:5vw;right:5vw;bottom:29px;display:flex;justify-content:space-between;gap:25px;color:#486477;font:16px/1.7 var(--mono);letter-spacing:.8px;transition:opacity .2s}
.ice-brand{transition:opacity .2s}
body.ice-breaking .ice-gate{background:transparent}
body.ice-breaking .ice-intro-copy{opacity:0;transform:translateY(-3vh) scale(.97);pointer-events:none}
body.ice-breaking .ice-brand,body.ice-breaking .ice-bottom{opacity:0}
@media(max-width:760px){.ice-brand{top:29px;left:6vw;font-size:33px}.ice-brand span{font-size:11px}.ice-intro-copy{padding:25px 18px;transform:translateY(-4vh)}.ice-intro-copy h1{font-size:clamp(42px,10.7vw,80px);letter-spacing:-1.7px}.ice-eyebrow{font-size:13px;letter-spacing:2px;margin-bottom:22px}.ice-intro-copy p{font-size:16px;margin:24px 0 30px}#ice-start{font-size:18px;gap:20px;margin-top:34px;padding:10px 20px 10px 10px}.ice-intro-copy h1 span{letter-spacing:-.6px;margin-top:14px}.ice-bottom{left:6vw;right:6vw;bottom:23px;flex-direction:column;align-items:center;gap:8px;font-size:14px;text-align:center}body.ice-breaking .ice-intro-copy{transform:translateY(-4vh) scale(.97)}}
@media(prefers-reduced-motion:reduce){.ice-intro-copy,.ice-brand,.ice-bottom,#ice-start{transition:none}.ice-start-point::before,.ice-start-point::after{animation:none}.ice-start-point::before{opacity:.3;transform:scale(.8)}.ice-start-point>span,.ice-start-label::after{transition:none}}
.ice-gate:focus,.hero h1[tabindex="-1"]:focus{outline:none}

.ice-bottom>span:last-child{text-align:right}@media(max-width:760px){.ice-bottom>span:last-child{text-align:center}}
