:root{--navy:#0b1e3d;--navy-2:#102b51;--cyan:#17d4ed;--cyan-dark:#00aeca;--ink:#10213a;--muted:#617087;--paper:#f7fbfd;--line:#dce7ed;--white:#fff;--radius:1.5rem;--shadow:0 1.25rem 4rem rgba(11,30,61,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:var(--ink);background:#fff;font-family:DM Sans,sans-serif;font-size:1rem;line-height:1.6;overflow-x:hidden}body,button,input,select,textarea{font-family:DM Sans,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Montserrat,sans-serif;line-height:1.08;letter-spacing:-.04em}a{color:inherit;text-decoration:none}.container{width:min(100% - 2rem,74rem);margin-inline:auto}.section{padding:5rem 0}.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}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--cyan);padding:.75rem 1rem;border-radius:.5rem;font-weight:700}.skip-link:focus{top:1rem}.eyebrow{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a9c1da}.eyebrow>span{width:1.5rem;height:2px;background:var(--cyan)}.eyebrow.dark{color:#4f6177}.eyebrow.light{color:#b6cbe0}.button{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.35rem;border:0;border-radius:.6rem;background:var(--cyan);color:var(--navy);font-weight:800;box-shadow:0 .65rem 1.75rem #17d4ed33;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s}.button:hover{transform:translateY(-2px);background:#4be1f2;box-shadow:0 .9rem 2rem #17d4ed4d}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f6b91d;outline-offset:3px}.button-small{min-height:2.75rem;padding:.65rem 1rem;font-size:.875rem}.site-header{position:absolute;inset:0 0 auto;z-index:20;height:5rem;color:#fff}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.75rem}.logo-placeholder{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px dashed rgba(255,255,255,.55);border-radius:50%;font-size:.6rem;font-weight:800;letter-spacing:.08em;color:var(--cyan)}.brand-name{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:800;line-height:1.05;letter-spacing:-.03em}.brand-name small{display:block;font-family:DM Sans,sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#b9ccdf}.menu-toggle{display:flex;width:2.8rem;height:2.8rem;padding:.75rem;flex-direction:column;justify-content:center;gap:.3rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:.5rem}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff}.nav-links{display:none;position:absolute;top:4.5rem;left:1rem;right:1rem;padding:1rem;background:#0b1e3dfa;border:1px solid rgba(255,255,255,.12);border-radius:1rem;box-shadow:var(--shadow)}.nav-links.open{display:grid;gap:.25rem}.nav-links>a:not(.button){display:flex;min-height:2.75rem;align-items:center;padding:.5rem;border-radius:.4rem;font-size:.9rem;font-weight:600}.nav-links>a:not(.button):hover{color:var(--cyan)}.hero{position:relative;min-height:46rem;padding:8.5rem 0 4rem;display:flex;align-items:center;background:linear-gradient(120deg,#08192f,#0b2344 62%,#0a2c52);color:#fff;overflow:hidden}.hero-glow{position:absolute;width:30rem;height:30rem;right:-10rem;top:-8rem;border-radius:50%;background:#17d4ed24;filter:blur(5rem)}.orbit-lines span{position:absolute;left:-8rem;top:10rem;width:37rem;height:22rem;border:1px solid rgba(23,212,237,.12);border-radius:50%;transform:rotate(-28deg)}.orbit-lines span+span{left:-2rem;top:8rem;width:28rem;height:17rem}.hero-grid{position:relative;display:grid;gap:3rem}.hero h1{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(2.7rem,12vw,5.2rem);font-weight:800}.hero h1 em{font-style:normal;color:var(--cyan)}.hero-lead{max-width:35rem;margin-bottom:2rem;color:#cfdeeb;font-size:1.1rem;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.text-link{display:inline-flex;min-height:2.75rem;align-items:center;gap:.55rem;padding:.35rem .25rem;font-size:.9rem;font-weight:700}.text-link:hover{color:var(--cyan)}.trust-row{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:2.25rem;padding-top:1.35rem;border-top:1px solid rgba(255,255,255,.13);color:#9eb4c8;font-size:.78rem}.trust-row b{color:#fff}.hero-visual{position:relative;min-height:24rem}.photo-placeholder{height:100%;min-height:24rem;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed rgba(255,255,255,.28);border-radius:8rem 1.25rem 1.25rem;background:linear-gradient(150deg,#ffffff1a,#17d4ed0a),repeating-linear-gradient(45deg,transparent,transparent 1.25rem,rgba(255,255,255,.025) 1.25rem,rgba(255,255,255,.025) 2.5rem);box-shadow:0 2rem 5rem #0003}.photo-placeholder span,.before-after-placeholder>span{margin-bottom:.75rem;padding:.35rem .7rem;border:1px dashed currentColor;border-radius:999px;color:var(--cyan);font-size:.65rem;font-weight:800;letter-spacing:.12em}.photo-placeholder strong{font-family:Montserrat,sans-serif;font-size:1.25rem}.photo-placeholder small{color:#9fb5ca}.result-tag{position:absolute;right:-.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;background:#fff;color:var(--navy);border-radius:.75rem;box-shadow:var(--shadow)}.result-tag .sparkle{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--cyan)}.result-tag small,.result-tag strong{display:block;line-height:1.25}.result-tag small{font-size:.65rem;color:var(--muted)}.result-tag strong{font-size:.85rem}.section-heading{display:grid;gap:1rem;margin-bottom:2.5rem}.section-heading h2,.area h2{font-size:clamp(2rem,7vw,3.6rem);color:var(--navy)}.section-heading>p{max-width:31rem;color:var(--muted)}.service-grid{display:grid;gap:1rem}.service-card{position:relative;min-height:22rem;padding:1.75rem;background:var(--paper);border:1px solid #edf3f6;border-radius:var(--radius);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s}.service-card:hover{transform:translateY(-.45rem);border-color:#17d4ed8c;box-shadow:var(--shadow)}.service-card.featured{background:var(--navy);color:#fff}.card-number{position:absolute;right:1.3rem;top:1rem;color:#d6e1e7;font-family:Montserrat,sans-serif;font-size:3.25rem;font-weight:800}.featured .card-number{color:#ffffff14}.icon-wrap{display:grid;place-items:center;width:3.8rem;height:3.8rem;margin-bottom:4rem;border-radius:1rem;background:#e4faff;color:#00a5c1}.featured .icon-wrap{background:var(--cyan);color:var(--navy)}.icon-wrap svg{width:2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:1.35rem}.service-card p{color:var(--muted)}.featured p{color:#acc0d4}.service-card a{position:absolute;left:1.75rem;bottom:1.6rem;font-size:.85rem;font-weight:800}.service-card a span{color:var(--cyan)}.why{background:var(--navy);color:#fff}.why-grid{display:grid;gap:3rem}.why-visual{position:relative;min-height:27rem}.before-after-placeholder{height:100%;min-height:27rem;padding:1.5rem;display:flex;justify-content:flex-end;flex-direction:column;border:1px dashed rgba(255,255,255,.27);border-radius:1.25rem;background:linear-gradient(135deg,#ffffff17,#17d4ed0f);overflow:hidden}.before-after-placeholder:after{content:"";position:absolute;inset:0 50% 0 0;background:#ffffff09;border-right:1px dashed rgba(255,255,255,.28);pointer-events:none}.before-after-placeholder>span,.before-after-placeholder>div{position:relative;z-index:1}.before-after-placeholder strong,.before-after-placeholder small{display:block}.before-after-placeholder small{color:#a9bed2}.local-stamp{position:absolute;right:-.4rem;top:-1.2rem;width:6rem;height:6rem;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--cyan);color:var(--navy);border-radius:50%;font-size:.62rem;line-height:1.1;letter-spacing:.08em}.local-stamp strong{font-family:Montserrat,sans-serif;font-size:.8rem}.local-stamp small{font-weight:800}.why-copy h2,.quote-copy h2{font-size:clamp(2rem,7vw,3.5rem)}.why-copy .intro{color:#afc2d4}.benefit-list{margin:2rem 0 0;padding:0;list-style:none}.benefit-list li{display:grid;grid-template-columns:2.3rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.12)}.benefit-list li>span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#17d4ed1f;color:var(--cyan);font-size:.7rem;font-weight:800}.benefit-list strong{font-size:1rem}.benefit-list strong small{color:#89a5bd;font-size:.7rem;font-weight:500}.benefit-list p{margin:.25rem 0 0;color:#91a9be;font-size:.85rem}.area{background:#f5fafc}.area-card{position:relative;display:grid;gap:1.5rem;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1rem 3.5rem #0b1e3d0f;overflow:hidden}.map-art{position:relative;min-height:15rem;background:#eaf7fa;border-radius:1rem;overflow:hidden}.ring{position:absolute;border:1px solid rgba(0,174,202,.25);border-radius:50%}.ring-one{width:18rem;height:10rem;left:-3rem;top:2rem;transform:rotate(25deg)}.ring-two{width:11rem;height:18rem;right:-2rem;top:-3rem;transform:rotate(40deg)}.map-pin{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:8px solid rgba(23,212,237,.25);border-radius:50%;background:var(--cyan);color:var(--navy);transform:translate(-50%,-50%);box-shadow:0 0 0 1rem #17d4ed14}.area-copy{align-self:center;padding:.5rem}.area-copy>p:not(.eyebrow){color:var(--muted)}.location-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.location-badges span{padding:.6rem .85rem;border:1px solid #b8dce3;border-radius:999px;background:#f4fdff;color:var(--navy);font-size:.82rem;font-weight:800}.quote{background:linear-gradient(130deg,#081a33,#0b2c52);color:#fff}.quote-grid{display:grid;gap:2.5rem}.quote-copy>p:not(.eyebrow){max-width:31rem;color:#adc1d3}.phone-card{display:inline-flex;align-items:flex-start;flex-direction:column;margin-top:1rem;padding:1rem 1.2rem;border:1px dashed rgba(23,212,237,.5);border-radius:.75rem;background:#17d4ed12}.phone-card span{font-size:.72rem;color:#a9c1d6;text-transform:uppercase;letter-spacing:.1em}.phone-card strong{color:var(--cyan);font-size:.9rem}.phone-card small{color:#859fb6}.quote-form{padding:1.5rem;background:#fff;color:var(--ink);border-radius:1.25rem;box-shadow:0 2rem 5rem #00000040}.form-row{display:grid;gap:1rem}.quote-form label{display:block;margin-bottom:1rem;font-size:.8rem;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:3rem;margin-top:.35rem;padding:.75rem .9rem;border:1px solid #cbd8df;border-radius:.5rem;background:#f9fcfd;color:var(--ink);font-size:1rem}.quote-form textarea{resize:vertical}.submit-button{width:100%;margin-top:.2rem}.form-note,.form-status{margin:.7rem 0 0;text-align:center;color:var(--muted);font-size:.75rem}.form-status{color:#007d91;font-weight:700}footer{padding:3rem 0 1.5rem;background:#061327;color:#fff}.footer-grid{display:grid;gap:1.5rem}.footer-grid>div:not(.brand)>span{color:#7894ad;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid p{margin:.2rem 0;font-size:.88rem}.socials{display:flex;gap:.5rem;margin-top:.4rem}.socials a{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #29435e;border-radius:50%;font-weight:800;text-transform:uppercase}.socials a:hover{border-color:var(--cyan);color:var(--cyan)}.footer-bottom{display:flex;flex-direction:column;gap:.25rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid #1c324a;color:#6e89a2;font-size:.72rem}.footer-bottom p{margin:0}@media(min-width:640px){.container{width:min(100% - 3rem,74rem)}.section{padding:6rem 0}.form-row{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}.footer-bottom{flex-direction:row;justify-content:space-between}}@media(min-width:768px){.menu-toggle{display:none}.nav-links{position:static;display:flex;align-items:center;gap:1.5rem;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.nav-links>a:not(.button){padding:0;font-size:.82rem}.section-heading{grid-template-columns:1.5fr 1fr;align-items:end}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}.hero-visual,.photo-placeholder{min-height:30rem}.why-grid{grid-template-columns:.9fr 1.1fr;align-items:center}.area-card{grid-template-columns:.9fr 1.1fr;padding:2.5rem}.area-copy{padding:1.5rem}.quote-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.quote-form{padding:2rem}}@media(min-width:1024px){.section{padding:7.5rem 0}.hero{min-height:48rem}.service-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-card:last-child{grid-column:auto}.why-grid,.quote-grid{gap:5rem}.area-card{grid-template-columns:1fr 1.15fr}.footer-brand{margin-right:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo-mark{position:relative;display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid rgba(23,212,237,.65);border-radius:50%;color:var(--cyan);font-family:Montserrat,sans-serif;font-size:1.15rem;font-style:normal}.logo-mark:before{content:"";position:absolute;width:3.1rem;height:1.25rem;border:1px solid rgba(23,212,237,.7);border-radius:50%;transform:rotate(-25deg)}.logo-mark b{position:relative;z-index:1}.logo-mark i{position:absolute;right:-.14rem;top:.27rem;width:.38rem;height:.38rem;border-radius:50%;background:var(--cyan);box-shadow:0 0 .75rem var(--cyan)}.photo-placeholder{position:relative;border-style:solid;background:#153456;overflow:hidden}.photo-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05142608,#05142657);pointer-events:none}.photo-placeholder img,.before-after-placeholder img{width:100%;height:100%;object-fit:cover}.stock-label{position:absolute;left:1rem;bottom:1rem;z-index:3;margin:0!important;padding:.35rem .65rem!important;border:0!important;border-radius:999px!important;background:#061327c2;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#d9e7f2!important;font-size:.62rem!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.before-after-placeholder{position:relative;padding:0;border-style:solid;background:#153456}.before-after-placeholder:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#051223f0);border:0}.before-after-placeholder>img{position:absolute;inset:0}.before-after-placeholder>div{position:relative;z-index:2;padding:1.5rem}.before-after-placeholder .stock-label{top:1rem;bottom:auto}.before-after-placeholder strong{font-size:1.1rem}.map-art{isolation:isolate}.map-art:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0b1e3d0a,#0b1e3d85);pointer-events:none}.map-art img{width:100%;height:100%;min-height:15rem;display:block;object-fit:cover}.map-location{position:absolute;left:1rem;bottom:1rem;z-index:2;display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#0b1e3dc7;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#fff;font-size:.72rem;font-weight:700}.map-location i{color:var(--cyan);font-style:normal}.logo-symbol{width:3.25rem;height:3.25rem;display:block;overflow:hidden;flex:0 0 auto}.logo-symbol img{width:13.75rem;height:6.35rem;max-width:none;display:block;transform:translate(-.05rem,-1.5rem);filter:drop-shadow(0 0 .45rem rgba(23,212,237,.15))}.honey-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.submit-button:disabled{cursor:wait;opacity:.65;transform:none}.form-note a,.form-status a{color:#007d91;text-decoration:underline;text-underline-offset:.15rem;font-weight:800}.modal-open{overflow:hidden}.estimate-modal[hidden]{display:none}.estimate-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#040f1fd1;-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem);overflow:auto}.estimate-card{position:relative;z-index:2;width:min(100%,32rem);padding:2rem;background:#fff;border-radius:1.5rem;box-shadow:0 2rem 6rem #00000059;text-align:center;animation:estimate-in .45s cubic-bezier(.2,.8,.2,1)}.modal-close{position:absolute;right:.8rem;top:.8rem;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:#edf5f8;color:var(--navy);font-size:1.6rem;line-height:1;cursor:pointer}.success-icon{display:grid;place-items:center;width:4rem;height:4rem;margin:0 auto 1.25rem;border-radius:50%;background:var(--cyan);color:var(--navy);font-size:1.7rem;font-weight:900;box-shadow:0 0 0 .65rem #dcfafe}.estimate-card .eyebrow{justify-content:center}.estimate-card h2{margin-bottom:.7rem;color:var(--navy);font-size:clamp(1.8rem,7vw,2.6rem)}.estimate-price{display:block;color:#00a9c2;font-family:Montserrat,sans-serif;font-size:clamp(2.5rem,12vw,4.2rem);line-height:1}.estimate-service{margin:.6rem 0 1.2rem;color:var(--navy);font-weight:800}.estimate-disclaimer{color:var(--muted);font-size:.82rem}.estimate-next{margin:1.25rem 0;padding:1rem;border-radius:.8rem;background:#f0f9fb;text-align:left}.estimate-next span{color:#007d91;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.estimate-next p{margin:.25rem 0 0;color:#405268;font-size:.85rem}.modal-done{width:100%}.confetti{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.confetti i{position:absolute;left:var(--x);top:-1rem;width:.55rem;height:1rem;background:var(--color);border-radius:.12rem;animation:confetti-fall var(--duration) var(--delay) ease-in forwards}@keyframes estimate-in{0%{opacity:0;transform:translateY(1rem) scale(.94)}to{opacity:1;transform:none}}@keyframes confetti-fall{0%{transform:translateY(-5vh) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(var(--rotation));opacity:.2}}
