@font-face{font-family:Grold;src:url('/assets/grold-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#050a0e;--white:#f3f7fa;--muted:#98aebc;--blue:#29abe2;--cyan:#07f1fa;--line:rgba(166,212,241,.15)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:1rem;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}
button:disabled{cursor:default}
img{display:block;max-width:100%;height:auto}
p,h1,h2{margin:0}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
::selection{background:var(--blue);color:#051018}
.stage{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#0b1a24 0,#061018 38%,#050a0e 75%)}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.92}
.bloom{position:absolute;width:30vw;height:65vh;border-radius:50%;filter:blur(90px);background:#086bbe;opacity:.16;top:12vh}
.bloom-left{left:-16vw;transform:rotate(-22deg)}
.bloom-right{right:-16vw;top:28vh;background:#00c3ed;transform:rotate(-22deg);opacity:.13}
.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 25%,rgba(5,10,14,.15) 57%,rgba(5,10,14,.8) 100%)}
.page{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100svh;padding:2rem 3.5rem}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.brand-mark{display:block;width:35px;opacity:.82;transition:opacity .2s}
.brand-mark:hover{opacity:1}
.header-contact{display:inline-flex;align-items:center;gap:1.2rem;padding:.7rem 0;background:none;color:#c6d7e1;border:0;font-size:.9375rem;transition:color .2s}
.header-contact:hover{color:var(--cyan)}
.header-contact svg{width:17px;height:17px}
.center{display:grid;place-items:center;min-width:0;padding:5rem 1rem 6rem;isolation:isolate}
.brand-center{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,900px);transform:translateY(-.5rem)}
h1{width:min(78vw,680px);line-height:1;position:relative}
.hero-logo{width:100%;filter:drop-shadow(0 5px 24px rgba(0,0,0,.25));animation:logo-in 1s cubic-bezier(.2,.7,.2,1) both}
.service-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.05rem;font-size:.875rem;line-height:1.6;letter-spacing:.045em;color:#a4bac8;margin-top:1.9rem;animation:content-in 1s .15s ease both}
.service-line>span{color:#3b748f;font-size:.8125rem}
.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.8rem;margin-top:2.6rem;padding:.45rem .5rem .45rem 1.4rem;border:1px solid rgba(104,208,255,.7);border-radius:100px;min-height:56px;background:linear-gradient(130deg,#27b6e9,#158bc8);color:#031520;font-weight:600;font-size:1rem;box-shadow:0 0 25px rgba(12,137,225,.13),inset 0 1px 0 rgba(255,255,255,.22);transition:background .25s,box-shadow .25s,transform .25s;animation:content-in 1s .3s ease both}
.contact-button:hover{background:linear-gradient(130deg,#58e8f5,#21ace0);box-shadow:0 0 35px rgba(21,158,229,.3),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-2px)}
.contact-button:active{transform:translateY(0)}
.button-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(3,27,43,.14)}
.button-icon svg{width:19px;height:19px;transition:transform .25s}
.contact-button:hover .button-icon svg{transform:translateX(2px)}
.site-footer{display:flex;justify-content:flex-end;align-items:center;gap:2rem;color:#97aebc;font-size:.875rem;line-height:1.6}
.site-footer>p:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}
.site-footer span{color:#34627b}
.site-footer .copyright{font-size:.8125rem;color:#8ba0ae;white-space:nowrap}
.contact-dialog{padding:0;width:min(480px,calc(100% - 2.5rem));max-height:calc(100svh - 2.5rem);border:1px solid rgba(78,165,210,.28);border-radius:20px;background:#0a151e;color:var(--white);box-shadow:0 25px 120px rgba(0,0,0,.65);overflow:auto}
.contact-dialog::backdrop{background:rgba(1,6,10,.78);backdrop-filter:blur(12px)}
.contact-dialog[open]{animation:dialog-in .22s ease both}
.dialog-inner{position:relative;padding:2.5rem}
.close-button{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:none;color:#bacbd6}
.close-button:hover{color:var(--cyan);border-color:rgba(7,241,250,.4)}
.dialog-mark{width:46px;margin-bottom:1.8rem}
.dialog-eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.15em;font-size:.8125rem;font-weight:600;margin-bottom:.8rem}
h2{font-family:Grold,Arial,sans-serif;font-weight:700;font-size:2rem;line-height:1.15;letter-spacing:-.025em}
#contact-description{color:#a4bac8;line-height:1.6;margin-top:.9rem;font-size:1rem}
.contact-form{display:grid;gap:.65rem;margin-top:1.6rem}
.contact-form label{font-size:.875rem;font-weight:600;color:#d7e7f0;margin-top:.35rem}
.contact-form input,.contact-form textarea{box-sizing:border-box;min-width:0;width:100%;border:1px solid #294451;border-radius:10px;background:#07111a;color:var(--white);font:inherit;font-size:1rem;padding:.85rem 1rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.contact-form textarea{resize:vertical;min-height:110px;max-height:300px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8296a3;opacity:1}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,171,226,.14)}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.form-submit{display:flex;justify-content:space-between;align-items:center;border:1px solid #54c4ed;border-radius:10px;background:var(--blue);color:#031520;padding:1rem 1.1rem;font:inherit;font-weight:600;margin-top:.6rem}
.form-submit:disabled{opacity:.5;cursor:not-allowed}
.form-status{font-size:.8125rem;color:#a4bac8;line-height:1.5;margin-top:.2rem}
@keyframes logo-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes content-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){h1{width:760px}.service-line{margin-top:2.3rem}.contact-button{margin-top:3rem}}
@media(max-width:700px){.page{padding:1.6rem 1.75rem}.center{padding:4rem 0 5rem}.brand-mark{width:30px}h1{width:min(86vw,580px)}.service-line{font-size:.8125rem;gap:.65rem;letter-spacing:0;margin-top:1.5rem}.contact-button{margin-top:2.2rem}.site-footer{flex-direction:column;gap:.6rem;text-align:center;font-size:.8125rem}.site-footer>p:first-child{justify-content:center}.site-footer .copyright{font-size:.75rem}.bloom{width:80vw}.bloom-left{left:-50vw}.bloom-right{right:-50vw}.dialog-inner{padding:2rem}.dialog-mark{margin-top:.5rem}}
@media(max-width:380px){.page{padding:1.25rem}.service-line{gap:.4rem;font-size:.75rem}.header-contact{font-size:.875rem}.contact-button{gap:2rem}.site-footer>p:first-child{gap:.5rem}.dialog-inner{padding:1.5rem}h2{font-size:1.8rem}}
@media(max-height:540px) and (min-width:701px){.page{padding:1.2rem 2.5rem}.center{padding:2rem 0}h1{width:min(65vw,450px)}.service-line{margin-top:1rem}.contact-button{margin-top:1.25rem}.site-footer{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
