/* A slow current of vials over a soft, moving atmosphere. */
.contact-opening.contact-rain{min-height:max(640px,calc(100svh - var(--contact-opening-top,10rem)));background:transparent;--rain-travel:calc(max(640px,calc(100svh - var(--contact-opening-top,10rem))) + 440px)}
.contact-rain::before{content:"";position:absolute;inset:-18%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 34% 48% at 12% 70%,#b9e1f080,transparent 80%),radial-gradient(ellipse 38% 54% at 89% 22%,#d7d4f180,transparent 82%),radial-gradient(ellipse 46% 30% at 52% 100%,#c9eff080,transparent 85%);animation:contact-rain-atmosphere 24s ease-in-out infinite alternate paused}
.contact-rain .contact-opening-art{z-index:0;mask-image:linear-gradient(transparent,#000 13%,#000 84%,transparent)}
.contact-rain .contact-rain-drop{position:absolute;left:var(--x);top:-200px;width:var(--size);height:calc(var(--size) * 1.25);margin-left:calc(var(--size) / -2);opacity:var(--opacity,1);animation:contact-rain-fall var(--duration) var(--delay) linear infinite paused;will-change:transform}
.contact-rain .contact-rain-sway{width:100%;height:100%;animation:contact-rain-drift var(--sway-time) var(--sway-delay) ease-in-out infinite alternate paused;transform-origin:50% 48%}
.contact-rain[data-rain-playing=true]::before,.contact-rain[data-rain-playing=true] .contact-rain-drop,.contact-rain[data-rain-playing=true] .contact-rain-sway{animation-play-state:running}
.contact-rain .contact-rain-drop img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 9px 7px #20445b1d);backface-visibility:hidden}
.contact-rain .contact-rain-drop.middle img{filter:drop-shadow(2px 6px 5px #20445b14)}.contact-rain .contact-rain-drop.distant img{filter:blur(.7px)}
.contact-rain-light{position:absolute;z-index:1;pointer-events:none;width:950px;height:510px;max-width:96%;background:radial-gradient(ellipse,#f7fbfff5 0%,#f5faffed 28%,#f2f9fc99 49%,#f2f9fc00 73%);top:50%;left:50%;transform:translate(-50%,-56%)}
.contact-rain .contact-opening-copy{position:relative;z-index:2;text-align:center;width:min(720px,100%);max-width:720px;padding:36px 24px;transform:translateY(-20px)}
.contact-rain-eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;line-height:1.5;color:#567c87;display:inline-flex;align-items:center;gap:9px}.contact-rain-eyebrow i{width:5px;height:5px;background:#689c8d;border-radius:50%;flex-shrink:0}
.contact-rain h1{font-family:Inter,Arial,sans-serif;color:#162e3a;font-size:clamp(39px,4.1vw,64px);font-weight:650;line-height:1.1;letter-spacing:-2.6px;margin:23px 0}
.contact-rain .contact-opening-copy>p{font-size:15px;line-height:1.85;color:#627985;max-width:490px;margin:0 auto 29px}
.contact-page main .contact-rain .contact-cta{display:inline-flex;align-items:center;gap:11px;border:0;border-radius:30px;background:#194f62;color:#fff;padding:15px 22px;min-height:0;font-size:12px;font-weight:600;text-decoration:none;box-shadow:0 6px 18px #22516912;transition:background .2s,transform .2s}
.contact-rain .contact-cta svg{width:16px;height:16px}.contact-rain .contact-cta>span{margin-left:13px;font-size:17px;font-weight:400}.contact-page main .contact-rain .contact-cta:hover{background:#246479;transform:translateY(-2px)}
.contact-rain .contact-cta:focus-visible{outline:2px solid #194f62;outline-offset:4px}
.contact-rain .contact-opening-down{height:40px;width:40px;left:calc(50% - 20px);bottom:36px;font-size:23px;background:#f8fdffcf;backdrop-filter:blur(8px);transition:transform .25s ease,background .25s ease}
.contact-rain .contact-opening-down:hover{transform:translateY(4px);background:#fff}
@keyframes contact-rain-fall{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--drift),var(--rain-travel),0)}}
@keyframes contact-rain-drift{from{transform:translate3d(calc(-1 * var(--sway)),0,0) rotate(var(--angle))}to{transform:translate3d(var(--sway),0,0) rotate(calc(var(--angle) + var(--turn)))}}
@keyframes contact-rain-atmosphere{from{transform:translate3d(-2%,1%,0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.055)}}
@media(max-width:700px){
 .contact-rain-break{display:none}
 .contact-rain .contact-opening-copy{padding:28px 25px;transform:translateY(-24px)}.contact-rain-eyebrow{font-size:7px;letter-spacing:1.1px}.contact-rain h1{font-size:41px;letter-spacing:-1.8px;margin:20px 0}.contact-rain .contact-opening-copy>p{font-size:13px;max-width:285px;line-height:1.8}
 .contact-rain-light{width:600px;max-width:150%;height:470px;background:radial-gradient(ellipse,#f7fbff 0%,#f7fbfff2 30%,#f4faff99 50%,#f4faff00 72%)}
 .contact-rain .contact-rain-drop{width:calc(var(--size) * .68);height:calc(var(--size) * .85);margin-left:calc(var(--size) * -.34)}.contact-rain .contact-rain-drop.mobile-hide{display:none}
 .contact-rain .contact-opening-down{bottom:30px;left:22px}
}
@media(max-width:360px){.contact-rain h1{font-size:35px}.contact-rain-eyebrow{font-size:6px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.contact-rain::before,.contact-rain .contact-rain-drop,.contact-rain .contact-rain-sway{animation-play-state:paused!important}.contact-page main .contact-rain .contact-cta,.contact-rain .contact-opening-down{transition:none}}
