@font-face{font-family:Inter;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations"),url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:800 900;font-display:swap;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:local(JetBrains Mono Medium),local(JetBrainsMono-Medium),url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --sheen-x{syntax:"<percentage>";inherits:true;initial-value:50%}@property --sheen-y{syntax:"<percentage>";inherits:true;initial-value:0%}@property --seal{syntax:"<number>";inherits:true;initial-value:0}:root{--bg:#cfeaf7;--ink:#1d1d1f;--ink-soft:#1d1d1fa3;--mark-dot:#ff5a1f;--sun:#fff;--sea:#0e86b8;--sea-deep:#063a5c;--sea-turq:#19c1d8;--shade:6 44 74;--glass-fill:#ffffff75;--glass-edge:#ffffffc7;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", monospace;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--tx:0;--ty:0;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}@media (color-gamut:p3){:root{--mark-dot:#ff560a;--sea:#0086b4;--sea-turq:#00c3d9}@supports (color:color(display-p3 0 0 0)){:root{--mark-dot:color(display-p3 1 .33 0);--sea:color(display-p3 .16 .52 .72);--sea-turq:color(display-p3 .2 .76 .86)}}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}body{width:100%;height:100vh;height:100dvh;font-family:var(--sans);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--sea-deep);outline-offset:5px}:is(.pill,.mute,.sheet-close):after{content:"";border-radius:inherit;border:3px solid var(--sun);opacity:0;pointer-events:none;position:absolute;inset:-5px}:is(.pill,.mute,.sheet-close):focus-visible:after{opacity:1}#gl{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .5s linear;display:block;position:fixed;inset:0}.gl #gl{opacity:1}.seafb{--horizon:22%;pointer-events:none;background:linear-gradient(180deg, #86d6f5 0%, #b9e7f8 calc(var(--horizon) * .62), #f4fbff calc(var(--horizon) * .94), #fff var(--horizon), #d8f0fa calc(var(--horizon) + 1.5%), #6cc0e6 calc(var(--horizon) + 9%), #1b90c8 calc(var(--horizon) + 30%), #0d77b3 72%, #0a69a6 100%);transition:opacity .5s linear,visibility 0s linear .5s;position:fixed;inset:0;overflow:hidden}.gl .seafb{opacity:0;visibility:hidden}.no-gl .seafb{transition-delay:0s}.seafb i{left:-10%;right:-10%;top:var(--horizon);will-change:transform;position:absolute;bottom:-12%}.seafb i:first-child{background:repeating-linear-gradient(176deg,#fff0 0 14px,#ffffff1a 18px 21px,#fff0 26px 44px);animation:9s ease-in-out infinite alternate swell-a;-webkit-mask-image:linear-gradient(#0003,#000 30%);mask-image:linear-gradient(#0003,#000 30%)}.seafb i:nth-child(2){background:repeating-linear-gradient(184deg,#043c6e00 0 22px,#043c6e21 30px 36px,#043c6e00 46px 70px);animation:13s ease-in-out infinite alternate swell-b}.seafb i:nth-child(3){background:radial-gradient(26% 13% at 64% 28%,#fffffff2,#fff0 100%),radial-gradient(19% 8% at 57% 49%,#ffffffd9,#fff0 100%),radial-gradient(15% 6% at 71% 61%,#fffc,#fff0 100%),radial-gradient(10% 4% at 60% 77%,#ffffffbf,#fff0 100%),radial-gradient(34% 44% at 63% 46%,#bef0ff6b,#bef0ff00 100%);animation:3.6s ease-in-out infinite alternate glint;inset:44% -10% 0}@keyframes swell-a{0%{transform:translate(-2%)}to{transform:translate(2%,16px)}}@keyframes swell-b{0%{transform:translate(2%,10px)}to{transform:translate(-2%,-8px)}}@keyframes glint{0%{opacity:.72;transform:translate(-1%)scale(.98)}to{opacity:1;transform:translate(1%,4px)scale(1.02)}}.stage{padding:calc(var(--sat) + 20px) calc(var(--sar) + 20px) calc(var(--sab) + 34px) calc(var(--sal) + 20px);opacity:0;visibility:hidden;transition:opacity .6s var(--ease-out), visibility 0s linear .6s;grid-template-rows:1fr auto auto;place-items:center;gap:18px;display:grid;position:fixed;inset:0}.state-reveal .stage,.state-idle .stage{opacity:1;visibility:visible;transition-delay:0s}.stage-label,#contact-btn{opacity:0;transition:opacity .7s var(--ease-out)}.state-idle .stage-label,.state-idle #contact-btn{opacity:1}#contact-btn{transform:translate3d(calc(var(--tx) * 7px), calc(var(--ty) * 7px), 0)}.label.stage-label{transform:translate3d(calc(var(--tx) * 4px), calc(var(--ty) * 4px), 0);color:var(--ink);background:#ffffff9e;border-radius:999px;padding:9px 14px 9px 16px;box-shadow:inset 0 0 0 1px #ffffffb3}.label{font:500 12px/1 var(--mono);letter-spacing:.34em;text-indent:.34em;text-transform:lowercase;color:var(--ink-soft);margin:0}.wordmark{width:100%;transform:translate3d(calc(var(--tx) * 12px), calc(var(--ty) * 12px), 0);place-items:center;margin:0;font-size:min(18.4vw,34vh,230px);display:grid;position:relative}.wm{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#0000;background:radial-gradient(120% 90% at calc(50% + var(--tx) * 40%) calc(10% + var(--ty) * 30%), #fffffff2 0%, #fff0 46%), linear-gradient(180deg, #ffffffe6 0%, #d6f2fc9e 46%, #78cdeb99 78%, #fffc 100%);-webkit-text-stroke:1px #ffffffe6;filter:drop-shadow(0 1px .5px #ffffffe6) drop-shadow(0 -1px 1px rgb(var(--shade) / .36)) drop-shadow(0 2px 3px rgb(var(--shade) / .16)) drop-shadow(0 16px 22px rgb(var(--shade) / .2));opacity:0;transition:opacity .7s var(--ease-out);-webkit-background-clip:text;background-clip:text;grid-area:1/1;margin-right:-.1em;font-weight:800;line-height:1}.wm-full{font-size:.62em}.gl .wm{display:none}.no-gl.state-reveal .wm-full,.no-gl.state-idle .wm-short{opacity:1}.pill{--sheen-x:calc(50% + var(--tx) * 42%);--sheen-y:calc(8% + var(--ty) * 30%);appearance:none;min-width:132px;min-height:48px;font:600 15px/1 var(--sans);letter-spacing:.08em;text-indent:.08em;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(190%);backdrop-filter:blur(16px)saturate(190%);box-shadow:inset 0 0 0 1px var(--glass-edge), inset 0 1.5px .5px #fffffff2, 0 1px 1px rgb(var(--shade) / .06), 0 10px 24px -8px rgb(var(--shade) / .24);touch-action:manipulation;isolation:isolate;transition:scale .25s var(--ease-out);background:linear-gradient(#fffc,#ffffff8f);border:0;border-radius:999px;margin:0;padding:0 30px;position:relative}.pill:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(70% 120% at var(--sheen-x) var(--sheen-y), #fffffff2 0%, #fff3 38%, #fff0 62%);pointer-events:none;position:absolute;inset:0}.pill:active{scale:.965}.pill>span{position:relative}.pill-enter{min-width:156px;min-height:52px;box-shadow:inset 0 0 0 1px var(--glass-edge), inset 0 1.5px .5px #fffffff2, 0 1px 1px rgb(var(--shade) / .06), 0 0 22px 2px #ffffff8c, 0 14px 30px -8px color-mix(in srgb, var(--sea) 60%, transparent)}.gate{z-index:5;padding:calc(var(--sat) + 20px) calc(var(--sar) + 20px) calc(var(--sab) + 20px) calc(var(--sal) + 20px);transition:opacity .7s var(--ease-out), visibility 0s linear .7s;grid-template-rows:1fr auto auto 1fr;place-items:center;row-gap:28px;display:grid;position:fixed;inset:0}.gate>.label{grid-row:2;position:relative}.gate>.pill{grid-row:3;align-self:start}.gate-pane{background-blend-mode:soft-light, normal;-webkit-backdrop-filter:blur(34px)saturate(170%);backdrop-filter:blur(34px)saturate(170%);box-shadow:inset 0 0 0 1px var(--glass-edge);transform-origin:var(--gx,50%) var(--gy,50%);transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);background-color:#fcfbf96b;background-image:url(/noise.svg),linear-gradient(#ffffff80,#ffffff1f);background-size:160px 160px,cover;position:absolute;inset:0}body:not(.state-gate) .gate{opacity:0;visibility:hidden;pointer-events:none}body:not(.state-gate) .gate-pane{transform:scale(1.12)}.ripple{left:var(--gx,50%);top:var(--gy,50%);z-index:6;width:40px;height:40px;box-shadow:0 0 0 1px #ffffffe6, 0 0 14px 2px color-mix(in srgb, var(--sea-turq) 55%, transparent), inset 0 0 6px 1px #ffffffb3;opacity:0;pointer-events:none;border-radius:50%;margin:-20px 0 0 -20px;position:fixed}.ripple.run{animation:ripple .95s var(--ease-out) both}@keyframes ripple{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(48)}}.mute{z-index:8;top:calc(var(--sat) + 10px);right:calc(var(--sar) + 10px);width:44px;height:44px;color:var(--ink-soft);box-shadow:inset 0 0 0 1px #fffc, 0 4px 12px -6px rgb(var(--shade) / .25);cursor:pointer;touch-action:manipulation;background:#ffffff9e;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.mute .mute-off,.mute[aria-pressed=true] .mute-on{display:none}.mute[aria-pressed=true] .mute-off{display:inline}.mark{z-index:1;left:calc(var(--sal) + 20px);top:calc(var(--sat) + 24px);font:800 13px/1 var(--sans);letter-spacing:.22em;color:var(--ink);pointer-events:none;opacity:0;transition:opacity .7s var(--ease-out);margin:0;position:fixed}.mark span{color:var(--mark-dot)}.state-idle .mark{opacity:1}.noscript{text-align:center;font:500 12px/1 var(--mono);position:fixed;inset:auto 0 20px}@media (orientation:landscape) and (max-height:500px){.seafb{--horizon:25%}.stage{padding-bottom:calc(var(--sab) + 16px);gap:10px}.wordmark{font-size:min(15vw,38vh)}.gate{row-gap:18px}}@media (prefers-reduced-motion:reduce){.seafb i{animation:none}.wordmark,.stage-label,#contact-btn{transform:none}.gate-pane{transition:opacity .4s linear;transform:none!important}.ripple.run{animation:none}.pill{--sheen-x:50%;--sheen-y:8%;transition:none}}
