@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/nunito-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/nunito-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/nunito-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/nunito-sans-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/nunito-sans-900.ttf) format('truetype');
}

:root{color-scheme:dark;--navy:#03112b;--blue:#0667ff;--muted:#adbedb}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:#f8faff;font-family:'Nunito Sans',Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at 78% 35%,#04459885 0,transparent 44%),radial-gradient(ellipse at 100% 0%,#06388566,transparent 50%);min-height:100svh}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #77acff;outline-offset:6px}.page{width:min(100% - 11.2vw,1440px);margin:auto;min-height:100svh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;padding:36px 0 0}.brand{text-decoration:none;display:flex;gap:20px;align-items:center;font-size:35px;line-height:.91;font-weight:900;letter-spacing:-1.4px}.brand-mark{width:72px;height:80px}.brand-second{font-size:32px}.brand b{color:var(--blue)}.contact-link{border:0;background:none;color:#f8faff;font-size:20px;padding:12px 0}.contact-link span,.contact-button span{margin-left:12px}main{flex:1;display:flex;align-items:center}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;width:100%;padding:104px 0 86px;gap:34px}.eyebrow{letter-spacing:6px;font-size:14px;color:var(--muted);margin:0 0 28px;font-weight:500}h1{font-size:clamp(48px,5.8vw,90px);line-height:1.01;letter-spacing:-3.8px;margin:0 0 30px;font-weight:900}h1 span{color:var(--blue);font-size:1.08em}.description{color:var(--muted);font-size:21px;line-height:1.55;max-width:665px;margin:0 0 38px}.contact-button{border:1.5px solid #53a1ff;border-radius:40px;background:transparent;color:#fff;padding:18px 35px;font-size:20px;transition:background .2s,transform .2s}.contact-button:hover{background:#1267ed26;transform:translateY(-2px)}.hero-art{position:relative;margin-top:12px}.hero-art:before{content:"";position:absolute;inset:8% -12% 2%;background:radial-gradient(ellipse,#0076ff66,transparent 65%);filter:blur(30px)}.hero-art img{position:relative;width:112%;height:auto;max-width:none;margin-left:-4%}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #5975a0;padding:35px 0 43px;color:var(--muted);font-size:15px}dialog{padding:0;border:1px solid #305382;border-radius:24px;background:#071b39;color:#f8faff;width:min(550px,calc(100% - 32px));max-height:calc(100svh - 32px);box-shadow:0 25px 100px #0009}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.modal{padding:38px;position:relative}.close{position:absolute;top:16px;right:19px;border:0;background:none;color:var(--muted);font-size:32px;padding:0 5px}.modal .eyebrow{font-size:11px;letter-spacing:3px;margin-bottom:14px}h2{font-size:36px;letter-spacing:-1px;margin:0 0 12px}.modal-intro{color:var(--muted);line-height:1.5;margin:0 0 25px}label{display:block;font-size:14px;margin:17px 0 8px}input,textarea{width:100%;border:1px solid #345376;background:#03142e;color:#fff;border-radius:9px;padding:12px 14px;outline:none}input:focus,textarea:focus{border-color:#6faaff;box-shadow:0 0 0 3px #0667ff22}textarea{resize:vertical}.send{width:100%;margin-top:22px;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:14px;font-weight:600}.send:disabled{opacity:.65;cursor:wait}.form-note{font-size:12px;color:var(--muted);line-height:1.5}.trap{position:absolute;left:-9999px}#form-status{font-size:14px;line-height:1.5;margin:12px 0 0}#form-status:empty{display:none}.error{color:#ffbaba}.success{color:#93e2c5}
@media(min-width:1500px){.hero{padding-top:130px;padding-bottom:110px}}@media(max-width:1050px){h1{letter-spacing:-2.3px}.description{font-size:18px}.hero{gap:18px;padding:85px 0 70px}.brand{font-size:28px}.brand-second{font-size:27px}.brand-mark{width:61px;height:66px}.contact-link{font-size:17px}}@media(max-width:700px){.page{width:calc(100% - 40px)}header{padding-top:25px}.brand{gap:10px;font-size:23px;letter-spacing:-.8px}.brand-second{font-size:22px}.brand-mark{width:47px;height:53px}.contact-link{font-size:14px}.contact-link span{margin-left:5px}.hero{grid-template-columns:1fr;padding:68px 0 36px;gap:10px}.eyebrow{font-size:11px;letter-spacing:4px;margin-bottom:22px}h1{font-size:clamp(40px,8.8vw,62px);letter-spacing:-2px;margin-bottom:25px}.description{font-size:17px;line-height:1.6;margin-bottom:29px}.contact-button{font-size:16px;padding:15px 25px}.hero-art{width:75%;max-width:380px;justify-self:center;margin-top:15px}.hero-art img{width:100%;margin:0}footer{padding:24px 0 28px;font-size:11px;gap:10px}.modal{padding:30px 24px}.modal h2{font-size:30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:701px) and (max-height:850px){header{padding-top:25px}.hero{padding:45px 0;gap:26px}h1{font-size:clamp(45px,8.5vh,75px);margin-bottom:25px}.description{font-size:18px;line-height:1.5;margin-bottom:28px}.hero-art{max-width:430px;width:100%;justify-self:center}.hero-art img{width:100%;margin:0}.eyebrow{margin-bottom:24px}footer{padding:25px 0 30px}.contact-button{padding:15px 30px;font-size:18px}}

/* Balanced spacing with original typography and artwork proportions. */
.page{min-height:0}
main{flex:none;align-items:flex-start}
header{padding-top:32px}
.hero{padding:64px 0 64px;gap:40px}
.hero-art{margin-top:0}
footer{padding:28px 0 32px}
@media(min-width:1500px){.hero{padding:72px 0 68px}}
@media(max-width:1050px){.hero{padding:54px 0 54px;gap:28px}}
@media(max-width:700px){header{padding-top:25px}.hero{padding:46px 0 36px;gap:24px}.hero-art{width:75%;max-width:380px;margin-top:12px}footer{padding:24px 0 28px}}
@media(min-width:701px) and (max-height:850px){header{padding-top:28px}.hero{padding:48px 0 52px;gap:34px}.hero-art{max-width:480px}footer{padding:26px 0 30px}}
