@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--navy:#081326;--deep:#0b1830;--panel:#10223c;--ink:#ecf5ff;--muted:#a7b9cd;--teal:#18dbc7;--blue:#7c92ff;--line:rgba(202,228,255,.15);--radius:22px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65}body::before{content:'';position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 85% 10%,rgba(41,89,149,.17),transparent 40%),radial-gradient(ellipse at 0% 70%,rgba(0,207,188,.07),transparent 40%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5.2rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.3rem}p{color:var(--muted)}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.skip{position:absolute;top:-60px;left:12px;background:white;color:#111;padding:9px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,18,37,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{min-height:86px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand img{width:43px;height:43px}.brand strong{font:700 1.09rem/1.1 'Space Grotesk',sans-serif;display:block}.brand small{font-size:.69rem;letter-spacing:.19em;color:var(--teal);font-weight:700}.nav-links{margin-left:auto;display:flex;align-items:center;gap:29px}.nav-links>a{font-size:.91rem;font-weight:700;color:#c1cede;transition:color .2s}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--teal)}.nav-links .nav-cta{background:var(--teal);color:#092239;padding:12px 18px;border-radius:11px}.nav-links .nav-cta:hover{color:#092239;background:#70f5e5}.menu-toggle{display:none;margin-left:auto;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:11px;background:transparent;color:white;font-size:1.5rem}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--teal);font-size:.76rem;letter-spacing:.17em;font-weight:800;text-transform:uppercase}.eyebrow:before{content:'';width:22px;height:2px;background:var(--teal)}.accent{color:var(--teal)}.hero{position:relative;overflow:hidden;padding:100px 0 90px}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:60px}.hero p.lead,.page-intro p{max-width:590px;font-size:1.12rem}.hero h1{margin:22px 0 24px}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{border:1px solid transparent;border-radius:12px;padding:14px 23px;display:inline-flex;justify-content:center;align-items:center;gap:10px;font-weight:800;line-height:1.3;transition:transform .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--teal);color:#05263b}.btn-primary:hover{background:#77f6e8}.btn-ghost{background:rgba(255,255,255,.055);border-color:var(--line);color:white}.btn-ghost:hover{border-color:var(--teal)}.hero-visual{position:relative;min-height:510px}.photo{width:100%;height:100%;object-fit:cover}.hero-photo{height:500px;border-radius:35px;overflow:hidden;border:1px solid #426180;box-shadow:0 32px 80px #020b19;position:relative;background:linear-gradient(135deg,#18385b,#0d253c)}.hero-photo img{filter:saturate(.8);opacity:.86}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,18,38,.5),transparent 50%)}.float-card{position:absolute;bottom:5px;left:-28px;background:#112c44;border:1px solid #286e79;box-shadow:0 18px 50px #0007;padding:19px 24px;border-radius:16px;display:flex;gap:15px;align-items:center;max-width:260px}.float-card .symbol{background:#0b5e63;color:var(--teal);width:45px;height:45px;display:grid;place-items:center;border-radius:12px;font-size:1.5rem}.float-card strong{display:block;font-size:.97rem}.float-card span{display:block;color:#abc1d2;font-size:.78rem}.hero-micro{display:flex;gap:27px;flex-wrap:wrap;margin-top:31px;color:#cad8e7;font-size:.86rem}.hero-micro span:before{content:'✓';margin-right:8px;color:var(--teal)}.section{padding:88px 0}.section-sm{padding:56px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}.section-head h2{max-width:650px;margin:12px 0 0}.section-head p{max-width:420px;margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card,.info-card,.price-card,.contact-card,.quote-panel{border:1px solid var(--line);background:linear-gradient(145deg,#142943,#0d1b31);border-radius:var(--radius);padding:30px;transition:transform .22s,border-color .22s}.service-card:hover,.price-card:hover{transform:translateY(-5px);border-color:#30a8a3}.icon-tile{display:grid;place-items:center;width:55px;height:55px;border-radius:14px;background:#143d4c;border:1px solid #236673;color:var(--teal);font-size:1.6rem;margin-bottom:25px}.service-card h3,.price-card h3{margin-bottom:11px}.service-card p{margin-bottom:21px;font-size:.95rem}.text-link{color:var(--teal);font-weight:800;font-size:.92rem}.text-link:hover{text-decoration:underline}.strip{background:#0c2135;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{text-align:center;padding:25px 14px}.stat strong{display:block;font:700 clamp(1.65rem,3vw,2.4rem) 'Space Grotesk';color:white}.stat span{color:var(--muted);font-size:.89rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.rounded-img{width:100%;aspect-ratio:1.13;object-fit:cover;border-radius:27px;border:1px solid var(--line);background:#102943}.checklist{list-style:none;padding:0;margin:24px 0}.checklist li{padding:9px 0 9px 32px;position:relative;color:#cbdae8}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:900}.cta-band{background:linear-gradient(110deg,#113e4a,#15315e 75%,#17294d);border:1px solid #267580;border-radius:30px;padding:48px 55px;display:flex;justify-content:space-between;align-items:center;gap:28px}.cta-band h2{font-size:clamp(1.7rem,3vw,2.7rem);margin-bottom:10px}.cta-band p{margin-bottom:0}.page-intro{padding:83px 0 57px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#0d2840,#0a162b 75%)}.page-intro h1{margin:16px 0 18px;font-size:clamp(2.7rem,5vw,4.6rem)}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:31px}.filter-btn{border:1px solid var(--line);background:#11253b;color:#b8c7d9;border-radius:30px;padding:10px 18px;font-weight:800}.filter-btn.active,.filter-btn:hover{color:#082a39;background:var(--teal)}.service-card[hidden]{display:none}.feature-img{height:215px;object-fit:cover;width:100%;border-radius:14px;margin-bottom:22px;background:#153149}.note{font-size:.88rem;color:#a5bad0}.price-card .price{font:700 2rem 'Space Grotesk';color:var(--teal);margin:20px 0 14px}.price-card ul{list-style:none;padding:0;margin:17px 0 27px}.price-card li{color:#c5d6e6;border-bottom:1px solid var(--line);padding:11px 0}.price-card li:before{content:'✓';color:var(--teal);margin-right:10px}.price-card.featured{border-color:#28a9a9;background:linear-gradient(145deg,#154455,#142341)}.price-card .tag{color:#081d2d;background:var(--teal);font-weight:900;border-radius:7px;font-size:.7rem;padding:5px 9px;display:inline-block;margin-bottom:17px}.faq{max-width:860px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:18px 6px}.faq summary{cursor:pointer;font:700 1.05rem 'Space Grotesk';list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';color:var(--teal);font-size:1.6rem}.faq details[open] summary:after{content:'−'}.faq details p{margin:13px 28px 6px 0}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:27px}.contact-card{margin-bottom:17px}.contact-card h3{margin-bottom:7px}.contact-card p{margin-bottom:0}.contact-card a{color:var(--teal);overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:.86rem;font-weight:800;color:#e4f0fc}.field input,.field select,.field textarea{width:100%;padding:13px 15px;border-radius:10px;border:1px solid #365069;background:#071b30;color:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #18dbc722}.field textarea{resize:vertical;min-height:130px}.form-message{margin:16px 0 0;font-size:.88rem}.footer{border-top:1px solid var(--line);margin-top:65px;padding:54px 0 25px;background:#071224}.footer-top{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:35px}.footer h4{font-size:1rem;margin-bottom:16px}.footer p,.footer a,.footer li{font-size:.88rem;color:#aabed2}.footer a:hover{color:var(--teal)}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:9px 0}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;margin-top:35px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8fa8c0;font-size:.81rem}.reveal{opacity:0;transform:translateY(19px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}.pill{display:inline-block;padding:6px 12px;border:1px solid #296b78;background:#0d3543;color:#6df6e3;border-radius:30px;font-size:.77rem;font-weight:800}.breadcrumbs{color:#8eafc6;font-size:.85rem;margin-bottom:12px}.breadcrumbs a{color:#b9d8e7}.service-footnote{margin-top:28px;font-size:.92rem}.about-block p{max-width:670px}.mini-feature{padding:22px;border-left:2px solid var(--teal);background:#122840;border-radius:0 15px 15px 0;margin-bottom:15px}.mini-feature strong{display:block}.mini-feature p{margin:3px 0 0}.back-top{position:fixed;right:22px;bottom:22px;border:1px solid #37878c;border-radius:50%;width:43px;height:43px;background:#0c3a49;color:white;display:none;z-index:30}.back-top.show{display:block}@media(max-width:930px){.hero-grid,.split,.contact-layout{grid-template-columns:1fr;gap:35px}.hero{padding:65px 0}.hero-visual{max-width:700px;min-height:420px}.hero-photo{height:410px}.float-card{left:12px}.nav-links{gap:17px}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{width:min(var(--max),calc(100% - 32px))}.nav{min-height:73px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:22px;background:#0a1a31;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav-links.open{display:flex}.nav-links>a{padding:9px 12px}.nav-links .nav-cta{text-align:center}.hero{padding:45px 0 70px}.hero-visual{min-height:350px}.hero-photo{height:340px}.grid-3,.grid-2,.stat-row,.footer-top,.form-grid{grid-template-columns:1fr}.section{padding:64px 0}.section-head{display:block}.section-head p{margin-top:16px}.cta-band{padding:30px 25px;display:block}.cta-band .btn{margin-top:24px}.page-intro{padding:57px 0 40px}.float-card{bottom:-15px}.footer{margin-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Server-submitted contact form */
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.form-error{color:#ffb8bd!important}.form-success{color:#72ecdc!important}
#contact-form button[disabled]{opacity:.65;cursor:not-allowed;transform:none}

/* HCR fix: keep the Contact navigation button readable in every state. */
.nav-links > a.nav-cta,
.nav-links > a.nav-cta:link,
.nav-links > a.nav-cta:visited,
.nav-links > a.nav-cta[aria-current="page"] {
  color: #092239;
  background-color: var(--teal);
  opacity: 1;
  -webkit-text-fill-color: #092239;
}
.nav-links > a.nav-cta:hover,
.nav-links > a.nav-cta:focus-visible {
  color: #092239;
  background-color: #70f5e5;
  -webkit-text-fill-color: #092239;
}
