@font-face{font-family:Geist;src:url('../fonts/geist-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url('../fonts/geist-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url('../fonts/geist-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Geist;src:url('../fonts/geist-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Geist;src:url('../fonts/geist-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-700.ttf') format('truetype');font-weight:700;font-display:swap}

:root{--bg:#07111f;--raised:#0d1b2b;--surface:rgba(17,34,52,.76);--solid:#122438;--text:#f5f8fc;--muted:#bdcada;--subtle:#91a5bb;--blue:#28a9e8;--blue-strong:#1686c2;--green:#8bc34a;--border:rgba(190,214,236,.15);--glass-shadow:0 18px 60px rgba(0,0,0,.24);--radius:1.25rem;--max:76rem}
*{box-sizing:border-box} [x-cloak]{display:none!important} html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--text);font-family:"Inter","Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}svg{flex:none}.site-container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.section{padding:5rem 0}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:#86d8ff;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700}.eyebrow:before{content:"";width:1.3rem;height:2px;background:var(--blue);box-shadow:0 0 12px var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:1.35rem}h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 1rem}h3{line-height:1.2;letter-spacing:-.02em}.lead{font-size:clamp(1rem,1.7vw,1.2rem);color:var(--muted);max-width:46rem}.muted{color:var(--muted)}.section-head{max-width:47rem;margin-bottom:2.4rem}.section-head p{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.9rem 1.2rem;border-radius:.8rem;border:1px solid transparent;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#04111c;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 12px 32px rgba(40,169,232,.22)}.btn-primary:hover{background:#63c8f7;box-shadow:0 14px 40px rgba(40,169,232,.32)}.btn-ghost{border-color:var(--border);background:rgba(255,255,255,.04);color:var(--text)}.btn-ghost:hover{background:rgba(255,255,255,.09)}.glass{background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--glass-shadow);border-radius:var(--radius)}
.site-header{position:sticky;top:0;z-index:40;background:rgba(7,17,31,.82);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:-.04em;font-size:1.2rem}.brand-logo{width:3.3rem;height:3.3rem;object-fit:contain;display:block;flex:none}.nav-links{display:flex;align-items:center;gap:1.8rem;color:var(--muted);font-size:.92rem}.nav-links a:hover,.text-link:hover{color:#8bdcff}.nav-actions{display:flex;align-items:center;gap:.65rem}.call-btn{white-space:nowrap}.menu-toggle{display:none;border:1px solid var(--border);border-radius:.7rem;background:var(--surface);color:white;padding:.65rem}.mobile-panel{padding:.4rem 1rem 1rem;border-top:1px solid var(--border);background:rgba(7,17,31,.97)}.mobile-panel a{display:block;padding:.8rem .2rem;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06)}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:5.4rem 0 4.2rem;background:radial-gradient(ellipse at 78% 35%,rgba(19,111,159,.22),transparent 38%),linear-gradient(115deg,#07111f,#0a1b2c 62%,#0a2031)}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,17,31,.94) 0%,rgba(7,17,31,.72) 48%,rgba(7,17,31,.17)),url('../images/hero-interior.jpg') center right/cover no-repeat;opacity:.83}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 18rem;align-items:center;gap:2.2rem}.hero-brand{margin:0;width:100%;padding:0;text-align:center;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}.hero-brand img{width:100%;height:auto;object-fit:contain}.hero-brand figcaption{margin-top:.4rem;color:var(--muted);font-size:.85rem}.hero-note{grid-column:1/-1}.hero-copy{max-width:54rem}.hero h1 span{color:#72d1ff;text-shadow:0 0 36px rgba(40,169,232,.24)}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin:1.7rem 0 1.5rem}.badges{display:flex;gap:.65rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);background:rgba(12,29,46,.72);padding:.5rem .75rem;border-radius:999px;color:#e2edf7;font-size:.82rem}.badge svg{color:#71d4a5;width:1rem}.hero-note{margin-top:2.6rem;color:#aec3d5;font-size:.9rem}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.trust-card{display:flex;align-items:center;gap:.85rem;padding:1.1rem}.icon-box{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.9rem;background:rgba(40,169,232,.12);border:1px solid rgba(40,169,232,.18);color:#77d2ff}.icon-box svg{width:1.3rem}.trust-card strong{display:block;font-size:.95rem}.trust-card small{color:var(--subtle)}
.services-bg{background:linear-gradient(180deg,rgba(13,27,43,.9),rgba(7,17,31,0))}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.service-card{overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);border-color:rgba(40,169,232,.48);box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 28px rgba(40,169,232,.09)}.service-image{height:180px;overflow:hidden;background:linear-gradient(135deg,#122b3f,#1b526c)}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover .service-image img{transform:scale(1.04)}.service-body{padding:1.25rem}.service-body p{color:var(--muted);font-size:.94rem;min-height:4.6rem}.text-link{display:inline-flex;align-items:center;gap:.4rem;color:#75d2ff;font-weight:700;font-size:.9rem}.text-link svg{width:1rem;transition:transform .2s}.text-link:hover svg{transform:translateX(3px)}.primary-service{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}.primary-service .glass{padding:2rem}.check-list{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.7rem;color:var(--muted)}.check-list li{display:flex;gap:.6rem;align-items:flex-start}.check-list svg{width:1.15rem;color:#6ed9a5;margin-top:.2rem}.feature-art{border-radius:var(--radius);overflow:hidden;min-height:340px;border:1px solid var(--border);box-shadow:var(--glass-shadow)}.feature-art img{width:100%;height:100%;object-fit:cover}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.about-card{padding:1.6rem}.about-card p{color:var(--muted)}.area-pill{display:inline-block;border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:999px;padding:.55rem .8rem;color:#c9d7e5;margin:.25rem .25rem 0 0;font-size:.88rem}.faq-list{display:grid;gap:.7rem}.faq-item{overflow:hidden}.faq-question{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:transparent;color:var(--text);border:0;font-weight:650;cursor:pointer}.faq-question svg{color:#78d2fc;transition:transform .2s}.faq-question[aria-expanded="true"] svg{transform:rotate(180deg)}.faq-answer{padding:0 1.25rem 1.1rem;color:var(--muted)}.faq-cta{margin-top:1.5rem;padding:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.contact-banner{position:relative;overflow:hidden;padding:2.3rem;background:radial-gradient(ellipse at 90% 20%,rgba(40,169,232,.18),transparent 40%),var(--surface)}.contact-banner p{color:var(--muted)}
.site-footer{padding:2.8rem 0 1.2rem;border-top:1px solid var(--border);background:#050d17}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-bottom:2rem}.footer-grid p,.footer-grid a{color:var(--muted)}.footer-grid a:hover{color:#8bdcff}.footer-links{display:grid;gap:.5rem}.footer-bottom{border-top:1px solid var(--border);padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--subtle);font-size:.83rem}.mobile-call{display:none}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(2,8,15,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:1rem}.modal{width:min(100%,38rem);max-height:min(92vh,54rem);overflow:auto;padding:1.5rem;position:relative}.modal-close{position:absolute;right:1rem;top:1rem;border:1px solid var(--border);background:rgba(255,255,255,.05);color:white;border-radius:.65rem;padding:.45rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.38rem}.field.full{grid-column:1/-1}.field label{font-size:.88rem;font-weight:600;color:#e2edf7}.field input,.field select,.field textarea{width:100%;padding:.8rem .85rem;border:1px solid rgba(190,214,236,.22);border-radius:.7rem;background:#0a1725;color:var(--text);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,169,232,.15)}.field textarea{min-height:115px;resize:vertical}.form-note{color:var(--subtle);font-size:.82rem}.page-hero{padding:4rem 0 2.5rem;background:radial-gradient(ellipse at 80% 0,rgba(40,169,232,.16),transparent 45%),var(--raised)}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:1.3rem;align-items:start}.contact-info{padding:1.5rem}.contact-info .info-row{display:flex;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--border)}.service-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}.service-detail-copy{padding:2rem}.service-detail-image{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);min-height:340px}.service-detail-image img{width:100%;height:100%;object-fit:cover}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.nav-links,.nav-actions .call-btn{display:none}.menu-toggle{display:inline-flex}.hero-inner{grid-template-columns:1fr}.hero-brand{width:min(14rem,45vw);justify-self:start}.trust-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-service,.service-detail,.contact-layout{grid-template-columns:1fr}.feature-art,.service-detail-image{min-height:290px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.mobile-call{display:flex;position:fixed;z-index:35;left:.65rem;right:.65rem;bottom:calc(.55rem + env(safe-area-inset-bottom));justify-content:center;box-shadow:0 12px 35px rgba(40,169,232,.25)}.site-container{width:min(calc(100% - 1.25rem),var(--max))}.section{padding:3.7rem 0}.nav-wrap{height:66px}.hero{padding:4.2rem 0 3rem}.hero-brand{width:min(10rem,42vw)}.hero:before{background:linear-gradient(90deg,rgba(7,17,31,.95),rgba(7,17,31,.82)),url('../images/hero-interior.jpg') center/cover no-repeat}.hero-actions .btn{width:100%}.trust-grid,.service-grid,.about-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.trust-card{padding:.85rem}.service-image{height:190px}.service-body p{min-height:0}.primary-service .glass,.service-detail-copy{padding:1.35rem}.feature-art,.service-detail-image{min-height:230px}.faq-cta{align-items:flex-start}.faq-cta .btn{width:100%}.contact-banner{padding:1.5rem}.footer-grid{gap:1.4rem}.field.full{grid-column:auto}.modal{padding:1.2rem}.page-hero{padding:3rem 0 2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}





/* Light theme */
:root{--bg:#f4f8fb;--raised:#e9f0f5;--surface:rgba(255,255,255,.88);--solid:#fff;--text:#102233;--muted:#43586b;--subtle:#62788b;--blue:#0876a8;--blue-strong:#075d86;--green:#3f7c28;--border:rgba(24,56,79,.14);--glass-shadow:0 18px 50px rgba(27,58,81,.1)}
body{background:var(--bg);color:var(--text)}
.site-header{background:rgba(248,251,253,.88);border-color:var(--border)}
.nav-links,.mobile-panel a{color:var(--muted)}
.mobile-panel{background:rgba(248,251,253,.98);border-color:var(--border)}
.menu-toggle{color:var(--text);background:rgba(255,255,255,.82)}
.hero{background:linear-gradient(120deg,#eef7fb,#f9fcfe 65%,#e5f2f8)}
.hero:before{background:linear-gradient(90deg,rgba(244,248,251,.96) 0%,rgba(244,248,251,.86) 50%,rgba(244,248,251,.44)),url('../images/hero-interior.jpg') center right/cover no-repeat;opacity:.72}
.hero h1 span{color:#0876a8;text-shadow:none}
.eyebrow{color:#0876a8}
.hero-note{color:#526a7d}
.badge{background:rgba(255,255,255,.9);color:#263c4f;border-color:rgba(24,56,79,.14)}
.badge svg{color:#3f7c28}
.btn-primary{background:#0876a8;color:#fff}
.btn-primary:hover{background:#075d86}
.btn-ghost{color:var(--text);background:rgba(255,255,255,.72);border-color:var(--border)}
.icon-box{background:rgba(8,118,168,.09);border-color:rgba(8,118,168,.16);color:#0876a8}
.text-link{color:#0876a8}
.services-bg{background:linear-gradient(180deg,#eaf2f7,rgba(244,248,251,0))}
.area-pill{background:rgba(255,255,255,.74);color:#344c60}
.faq-question svg{color:#0876a8}
.site-footer{background:#e7eff4;border-color:var(--border)}
.footer-grid p,.footer-grid a{color:#43586b}
.footer-bottom{color:#62788b}
.field input,.field select,.field textarea{background:#fff;color:#102233;border-color:rgba(24,56,79,.22)}
.field input::placeholder,.field textarea::placeholder{color:#718699}
.form-note{color:#526a7d}
.modal-close{background:#fff;color:#102233;border-color:var(--border)}
@media(max-width:600px){.hero:before{background:linear-gradient(90deg,rgba(244,248,251,.96),rgba(244,248,251,.84)),url('../images/hero-interior.jpg') center/cover no-repeat}}





/* Refined typography */
h1,h2,h3,.brand,.btn,.eyebrow{font-family:"Geist","Inter",ui-sans-serif,system-ui,sans-serif;font-optical-sizing:auto}
h1{font-weight:700;letter-spacing:-.045em;line-height:1.02}
h2{font-weight:650;letter-spacing:-.035em;line-height:1.12}
h3{font-weight:600;letter-spacing:-.015em}
.lead{line-height:1.7}
.service-body p,.faq-answer,.about-card p{line-height:1.65}
.brand{font-weight:700;letter-spacing:-.035em}.faq-question{list-style:none}
.faq-question::-webkit-details-marker{display:none}
.faq-question span{transition:transform .2s;color:#0876a8}
details[open]>.faq-question span{transform:rotate(180deg)}
/* Polished responsive navigation */
.site-header{box-shadow:0 6px 26px rgba(18,45,66,.06)}
.nav-wrap{gap:1.25rem}
.nav-links{gap:.25rem}
.nav-links a{padding:.55rem .8rem;border-radius:.7rem;font-weight:600;transition:background .18s,color .18s}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(8,118,168,.09);color:#075d86}
.nav-actions{gap:.75rem}
.call-btn{padding:.78rem 1rem;border-radius:.8rem}
.menu-toggle{width:46px;height:46px;display:none;align-items:center;justify-content:center;border:1px solid rgba(24,56,79,.14);border-radius:.9rem;background:#fff;color:#102233;box-shadow:0 4px 14px rgba(18,45,66,.07);transition:background .18s,border-color .18s,transform .18s}
.menu-toggle:hover{background:#eaf4f9;border-color:rgba(8,118,168,.3);transform:translateY(-1px)}
.mobile-panel{position:absolute;top:calc(100% + .4rem);left:0;right:0;width:min(calc(100% - 1.5rem),30rem);margin-inline:auto;padding:.65rem;display:grid;gap:.25rem;background:rgba(255,255,255,.97);border:1px solid rgba(24,56,79,.13);border-radius:1rem;box-shadow:0 22px 55px rgba(16,34,51,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mobile-panel a{padding:.85rem 1rem;border:0;border-radius:.7rem;font-weight:600;color:#31495d;transition:background .18s,color .18s}
.mobile-panel a:hover,.mobile-panel a:focus-visible{background:rgba(8,118,168,.09);color:#075d86}
@media(max-width:900px){.menu-toggle{display:inline-flex}.nav-wrap{height:76px}}
@media(max-width:600px){.nav-wrap{height:66px}.mobile-panel{width:calc(100% - 1rem);top:calc(100% + .25rem)}}.menu-toggle .menu-icon-close{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-open{display:none}
.menu-toggle[aria-expanded="true"] .menu-icon-close{display:block}
.mobile-panel[hidden]{display:none!important}.menu-toggle{transition:background .18s,border-color .18s,transform .2s cubic-bezier(.2,.8,.2,1)}
.menu-toggle[aria-expanded="true"]{transform:rotate(90deg)}
.mobile-panel.is-opening{animation:menuDrop .22s cubic-bezier(.2,.8,.2,1) both}
.mobile-panel.is-closing{animation:menuLift .16s ease both;pointer-events:none}
@keyframes menuDrop{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes menuLift{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-5px) scale(.99)}}
@media(prefers-reduced-motion:reduce){.mobile-panel.is-opening,.mobile-panel.is-closing{animation-duration:.01ms}.menu-toggle{transition:none}}.fade-in-text{opacity:0;transform:translateY(12px);transition:opacity .72s ease var(--fade-delay,0ms),transform .72s cubic-bezier(.2,.7,.2,1) var(--fade-delay,0ms)}
.fade-in-text.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.fade-in-text{opacity:1;transform:none;transition:none}}