*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#05060f;color:#e8e2d8;font-family:DM Sans,sans-serif;font-weight:200;cursor:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none;opacity:.042;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px}#cur{position:fixed;z-index:9500;pointer-events:none;width:5px;height:5px;border-radius:50%;background:#e8e2d8;opacity:.55;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}#cur.grow{width:32px;height:32px;opacity:.07;background:transparent;border:1px solid #e8e2d8}.lbox{position:fixed;left:0;right:0;z-index:600;background:#05060f;transition:height 1.2s cubic-bezier(.77,0,.175,1)}.lbox.t{top:0;height:80px}.lbox.b{bottom:0;height:80px}.lbox.open{height:0!important}#skysvg{position:fixed;bottom:0;left:0;width:100%;height:58vh;z-index:2;pointer-events:none}.sky-city{opacity:0;transition:opacity 2.2s ease}.sky-city.active{opacity:1}#vig{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 110% 52% at 50% 108%,rgba(5,6,15,.98) 0%,transparent 62%),radial-gradient(ellipse 52% 100% at 0% 50%,rgba(5,6,15,.62) 0%,transparent 52%),radial-gradient(ellipse 52% 100% at 100% 50%,rgba(5,6,15,.62) 0%,transparent 52%),radial-gradient(ellipse 100% 36% at 50% 0%,rgba(5,6,15,.78) 0%,transparent 62%)}#page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:space-between;padding:36px 52px 42px}#top{display:flex;justify-content:space-between;align-items:flex-start;opacity:0;transition:opacity .9s ease 1.9s}#top.show{opacity:1}.logo{font-family:Cormorant,serif;font-weight:300;font-size:19px;letter-spacing:.22em;text-transform:uppercase;color:#e8e2d8;text-decoration:none}.top-r{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#e8e2d847}#mid{display:flex;flex-direction:column;align-items:flex-start}.hl{display:block;overflow:hidden}.headline{font-family:Cormorant,serif;font-weight:300;font-size:clamp(52px,7.5vw,110px);line-height:1.04;letter-spacing:-.01em;color:#e8e2d8}.hi{display:block;transform:translateY(115%);transition:transform 1.15s cubic-bezier(.77,0,.175,1)}.hi.up{transform:translateY(0)}.hi.dim{color:#e8e2d85c;font-style:italic}#bot{display:flex;justify-content:space-between;align-items:flex-end;opacity:0;transition:opacity .9s ease 2.1s}#bot.show{opacity:1}#city-label{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#e8e2d838;display:flex;align-items:center;gap:12px}#city-name{transition:opacity .5s ease}.apply-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.wl-lbl{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#e8e2d861;margin-bottom:2px}#ei{background:transparent;border:none;border-bottom:1px solid rgba(232,226,216,.18);padding:10px 0;width:240px;text-align:right;font-family:DM Sans,sans-serif;font-size:13px;font-weight:200;color:#e8e2d8;outline:none;letter-spacing:.06em;transition:border-color .3s}#ei::placeholder{color:#e8e2d847}#ei:focus{border-color:#e8e2d880}#ab{background:#e8e2d80f;border:1px solid rgba(232,226,216,.18);border-radius:2px;cursor:none;font-family:DM Sans,sans-serif;font-size:10px;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:#e8e2d8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 18px;width:240px;transition:background .3s,border-color .3s,gap .3s,opacity .3s}#ab:hover{background:#e8e2d81a;border-color:#e8e2d859;gap:24px}.ab-arr{font-size:13px;opacity:.6}.copy{font-size:10px;color:#e8e2d829;letter-spacing:.1em;margin-top:2px}#form-msg{font-size:10px;letter-spacing:.14em;text-align:right;height:14px;transition:opacity .3s;color:#e8e2d873}#form-msg.error{color:#d4602ecc}#form-msg.success{color:#78c88ccc}@media(max-width:768px){#page{padding:28px 28px 36px}body{cursor:auto}#cur{display:none}}
