@font-face{font-family:Manrope;src:url(manrope.ttf) format('truetype');font-style:normal;font-weight:400 800;font-display:swap}
:root{color-scheme:dark;--bg:#020b18;--text:#f2f7ff;--muted:#b6c8df;--blue:#1985ff;--line:#173c60;--font:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,p{margin:0}a:focus-visible,button:focus-visible{outline:2px solid #88caff;outline-offset:5px}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.home-minimal{min-height:100svh;display:flex;flex-direction:column;align-items:center;overflow:clip;background:radial-gradient(ellipse 70% 56% at 50% 45%,#07316552,transparent 75%),linear-gradient(#020b18,#020c19 65%,#031322)}
.page-intro{flex:none;width:min(1200px,100%);padding:clamp(26px,4vh,46px) 32px 12px;text-align:center;position:relative;z-index:4}
.page-intro h1{font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1.25;letter-spacing:-.7px;text-wrap:balance;color:#eaf4ff;text-shadow:0 0 30px #78baff15}
.page-motto{margin-top:13px;font-size:clamp(16px,1.5vw,21px);font-weight:500;line-height:1.5;letter-spacing:.1px;color:#aaceee;white-space:nowrap}
.intro-copy-mobile{display:none}
.site-intro .intro-text{position:relative;will-change:transform,opacity}
.site-intro .intro-text.intro-centered{transform:translateY(var(--intro-y,0px)) scale(1.06);z-index:8}
.site-intro .intro-text.intro-visible{opacity:1;transition:opacity .3s ease}
.site-intro .intro-text.intro-moving{transform:none;transition:transform .8s cubic-bezier(.22,.68,.12,1),opacity .3s ease}
.hero{transition:opacity .4s ease}
.site-intro.scene-revealed .hero{opacity:1}
.home-minimal .orbit-scene{height:min(calc(var(--scene-base-height) + var(--scene-extra-height,132px)),var(--available-scene-height,100svh))}
.home-minimal .orbit-scene.motion-enabled{margin-bottom:0}
.hero{flex:none;position:relative;display:flex;justify-content:center;align-items:center;width:100%;isolation:isolate}
.hero::before{content:'';position:absolute;z-index:-1;inset:0;background:url(terrain.svg) center bottom/cover no-repeat;opacity:.32;pointer-events:none}
.orbit-scene{position:relative;width:min(760px,100%);height:472px;min-width:0;margin:0;isolation:isolate;touch-action:pan-y}
.scene-aura{position:absolute;inset:4% 8% 12%;border-radius:50%;background:radial-gradient(ellipse,#1d81ed1c,transparent 68%);pointer-events:none}
.orbit-canvas{position:absolute;width:100%;height:100%;inset:0;z-index:1;filter:drop-shadow(0 0 9px #2189ff42);opacity:0;transition:opacity .6s}.orbit-ready .orbit-canvas{opacity:1}
.orbit-fallback{position:absolute;left:50%;top:50%;width:66%;aspect-ratio:1;transform:translate(-50%,-50%);perspective:850px;transform-style:preserve-3d}.orbit-fallback span{position:absolute;inset:0;border-radius:50%;border:3px solid #85c3ff66;transform:rotate(-25deg) scaleY(.33)}.orbit-fallback span:nth-child(2){transform:rotate(62deg) scaleY(.48)}.orbit-fallback span:nth-child(3){transform:rotate(105deg) scaleY(.54)}.orbit-ready .orbit-fallback{display:none}
.orbit-ground{position:absolute;bottom:4%;height:18%;width:85%;left:7.5%;border-radius:50%;pointer-events:none}
.future-note{flex:none;margin-top:auto;padding:22px 24px 32px;text-align:center;font-size:clamp(14px,1.25vw,18px);font-weight:500;line-height:1.6;letter-spacing:.45px;color:#91badf;position:relative;z-index:4}.future-note-mobile{display:none}
.future-copy{white-space:nowrap}
.motion-toggle{position:absolute;z-index:6;right:18px;bottom:0;display:flex;align-items:center;gap:7px;background:#051326e6;border:1px solid #245079;color:#c8e3f9;font-size:11px;padding:8px 12px;border-radius:30px;min-height:32px}.pause-glyph{font-size:12px}
.minimal-control:not(:focus-visible){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;margin:-1px!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.minimal-control:focus-visible{right:18px!important;left:auto!important;bottom:0!important}
.eyebrow{text-transform:uppercase;letter-spacing:2.8px;font-size:9px;line-height:1.85;color:#99cbf6;font-weight:500}
.service-dialog{width:min(520px,calc(100% - 36px));padding:44px 34px 34px;border:1px solid #346692;border-radius:14px;background:linear-gradient(130deg,#0c2745,#031224);color:var(--text);box-shadow:0 20px 100px #000a}.service-dialog::backdrop{background:#010711c9;backdrop-filter:blur(7px)}.service-dialog h2{font-size:27px;letter-spacing:-.8px;margin-top:18px}.service-dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin-top:16px}.dialog-close{position:absolute;right:12px;top:12px;background:transparent;border:1px solid #315275;border-radius:6px;display:grid;place-items:center;width:36px;height:36px}.dialog-close:hover{background:#234568}.contact-phone{display:block;width:fit-content;font-size:25px;letter-spacing:-.6px;font-weight:600;margin:24px 0;color:#98cbff}.contact-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 21px;border:1px solid #298cff;background:linear-gradient(130deg,#128cff,#0065e9);border-radius:5px;font-size:13px;font-weight:700}.button svg{width:20px;height:20px}.button-outline{background:#03102155;border-color:#337abd}
@media(min-width:1600px){.orbit-scene{width:min(820px,100%)}}
@media(max-width:1000px){.page-motto{font-size:clamp(12px,3.4vw,17px);margin-top:10px;letter-spacing:0}.orbit-scene{--scene-extra-height:144px}.future-note{font-size:clamp(11px,3.2vw,14px)}}
@media(max-width:1000px){.page-intro{width:min(650px,100%);padding:26px 20px 10px}.page-intro h1{font-size:clamp(23px,5.5vw,34px);line-height:1.28;letter-spacing:-.3px}.orbit-scene{width:min(650px,100%)}.future-note{font-size:14px;padding:18px 18px 26px;letter-spacing:.1px}.future-note-desktop{display:none}.future-note-mobile{display:inline}.service-dialog{padding:40px 23px 25px}.service-dialog h2{font-size:24px}.service-dialog .contact-phone{font-size:22px}.contact-actions{flex-wrap:wrap}.contact-actions .button{flex:1;padding-inline:16px;font-size:12px}}
@media(max-width:370px){.page-intro{padding:22px 14px 8px}.page-intro h1{font-size:22px}.future-note{font-size:13px}}
@media(max-width:1000px){.home-minimal .future-note{font-size:clamp(11px,3.2vw,14px)}}
@media(max-width:1000px){.intro-copy-desktop{display:none}.intro-copy-mobile{display:inline}}
@media(min-width:1001px){
  .site-intro[data-desktop-intro="true"] .intro-text.intro-moving{transform:translateY(var(--intro-exit-y,0px)) scale(.96);opacity:0;transition:transform .8s cubic-bezier(.22,.68,.12,1),opacity .8s ease}
  .site-intro[data-desktop-intro="true"] .intro-text.intro-dismissed{visibility:hidden}
  .desktop-fullscreen .page-intro,.desktop-fullscreen .future-note{display:none}
  .desktop-fullscreen .home-minimal{height:100svh;min-height:100svh}
  .desktop-fullscreen .hero{height:100svh;flex:1}
  .desktop-fullscreen .home-minimal .orbit-scene{width:100%;height:100svh;margin:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Four verified contact methods fit the same card on desktop and mobile. */
.service-dialog { max-height: calc(100svh - 28px); overflow-y: auto; }
.service-dialog .contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.service-dialog .contact-actions .button { min-width: 0; padding-inline: 12px; gap: 8px; font-size: 12px; min-height: 48px; }
