:root{--navy:#0b1d2c;--navy-2:#102b40;--blue:#25aae1;--blue-dark:#087ba9;--blue-soft:#eaf7fc;--ink:#112531;--muted:#5e707a;--line:#d7e0e4;--soft:#f5f8f9;--white:#fff;--max:1240px;--header:84px;--hero-photo:url("https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=2400&q=85");--font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{margin-bottom:0;font-weight:600;line-height:1.04;letter-spacing:-.045em}
h1{font-size:clamp(3.4rem,6.7vw,7.2rem)}
h2{font-size:clamp(2.5rem,4.6vw,5rem)}
h3{font-size:clamp(1.35rem,2.1vw,2rem)}
.section-shell{width:min(calc(100% - 80px),var(--max));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 14px;background:#fff;color:#000;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.eyebrow{margin-bottom:18px;color:var(--blue-dark);font-size:.88rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:18px;padding:0 24px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:.88rem;font-weight:600;text-decoration:none;transition:background 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease}
.button:hover{border-color:var(--blue-dark);background:var(--blue-dark);transform:translateY(-2px)}
.button-small{min-height:44px;padding-inline:20px;font-size:.88rem}
.header-cta,.mobile-nav .button{border-color:var(--blue);background:var(--blue);color:#052033;font-weight:700}
.header-cta:hover,.mobile-nav .button:hover{border-color:#fff;background:#fff;color:var(--navy)}
.button-light{border-color:#fff;background:#fff;color:var(--navy)}
.button-light:hover{border-color:#fff;background:transparent;color:#fff}
.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none}
.text-link span{color:var(--blue-dark);font-size:1.1rem;transition:transform 180ms ease}
.text-link:hover span{transform:translateX(4px)}
.site-header{position:fixed;top:0;right:0;left:0;z-index:100;display:grid;min-height:var(--header);grid-template-columns:270px 1fr auto;gap:30px;align-items:center;padding-inline:max(32px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(139,215,246,.18);background:rgba(4,18,28,.58);box-shadow:0 10px 40px rgba(0,0,0,.08);backdrop-filter:blur(20px) saturate(140%);transition:min-height 220ms ease,background 220ms ease,box-shadow 220ms ease}
.site-header.scrolled{min-height:68px;background:rgba(4,18,28,.78);box-shadow:0 12px 36px rgba(0,0,0,.22)}
.header-brand{position:relative;display:flex;width:max-content;align-items:center;gap:6px;padding:7px 0;text-decoration:none}
.header-brand::after{position:absolute;top:calc(50% + 12px);right:0;left:57px;height:2px;background:var(--blue);content:"";transform:scaleX(0);transform-origin:left;transition:transform 260ms ease}
.header-brand-icon{width:51px;height:44px;object-fit:contain;transition:transform 260ms cubic-bezier(.2,.75,.25,1),filter 260ms ease}
.header-brand-wordmark{width:190px;height:auto;transition:filter 260ms ease}
.header-brand:hover::after,.header-brand:focus-visible::after{transform:scaleX(1)}
.header-brand:hover .header-brand-icon,.header-brand:focus-visible .header-brand-icon{filter:drop-shadow(0 0 10px rgba(37,170,225,.42));transform:translateY(-3px) rotate(-2deg) scale(1.06)}
.header-brand:hover .header-brand-wordmark,.header-brand:focus-visible .header-brand-wordmark{filter:brightness(1.08)}
.desktop-nav{display:flex;justify-content:center;gap:clamp(18px,2.6vw,38px)}
.desktop-nav a{position:relative;color:#c4d3dc;font-size:.9rem;font-weight:500;text-decoration:none}
.desktop-nav a::after{position:absolute;right:0;bottom:-4px;left:0;height:2px;background:var(--blue);content:"";transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}
.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1)}
.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;min-height:clamp(690px,78vh,860px);padding-top:var(--header);overflow:hidden;background:#03070a center 42%/cover no-repeat}
.hero::before{position:absolute;z-index:-2;inset:0;background:var(--hero-photo) center 42%/cover no-repeat;content:"";filter:saturate(.72) contrast(1.12)}
.hero::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(1,6,10,.96) 0%,rgba(2,8,12,.78) 40%,rgba(2,8,12,.38) 68%,rgba(1,5,8,.8) 100%),linear-gradient(180deg,rgba(1,5,8,.72) 0%,transparent 24%,transparent 72%,rgba(1,5,8,.94) 100%);content:""}
.hero-inner{display:grid;min-height:calc(clamp(690px,78vh,860px) - var(--header));grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:clamp(30px,4vw,64px);align-items:center;padding-block:clamp(72px,8vw,110px)}
.hero-copy{display:flex;min-width:0;flex-direction:column;justify-content:center}
.hero-copy .eyebrow{color:#79d8fb}
.hero-copy h1{max-width:760px;color:#fff;font-size:clamp(3.7rem,6.2vw,6.8rem);text-wrap:balance}
.hero-lede{max-width:650px;margin:30px 0 0;color:#d1dde3;font-size:clamp(1.06rem,1.35vw,1.25rem);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}
.hero-primary{border-color:var(--blue);background:var(--blue);color:#062033}
.hero-primary:hover{border-color:#fff;background:#fff;color:#071a27}
.hero .text-link{color:#fff}.hero .text-link span{color:#74d8fb}
.hero-brand{display:grid;min-width:0;place-items:center}
.hero-logo{width:min(680px,112%);filter:drop-shadow(0 16px 44px rgba(0,0,0,.52));transform:translate(3%,-1%)}
.hero-logo img{width:100%}
.service-rail{position:relative;border-top:2px solid rgba(76,202,248,.82);border-bottom:1px solid rgba(117,206,239,.2);background:linear-gradient(90deg,#071925 0%,#0b2637 46%,#0d3045 100%);color:#fff;box-shadow:0 18px 42px rgba(3,17,27,.16)}
.service-rail>div{display:grid;grid-template-columns:repeat(3,1fr)}
.service-rail a{position:relative;display:grid;min-height:96px;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 32px;border-right:1px solid rgba(137,210,239,.18);text-decoration:none;overflow:hidden;transition:background 220ms ease}
.service-rail a:first-child{border-left:1px solid rgba(137,210,239,.18)}
.service-rail a::before{position:absolute;inset:auto 0 0;height:3px;background:var(--blue);content:"";transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}
.service-rail a:hover{background:rgba(37,170,225,.11)}.service-rail a:hover::before{transform:scaleX(1)}
.service-rail strong{color:#fff;font-size:clamp(1.05rem,1.35vw,1.24rem);font-weight:600;letter-spacing:-.02em}.service-rail b{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(118,209,244,.36);border-radius:50%;color:#73d7fb;font-size:1.18rem;font-weight:500;transition:background 180ms ease,color 180ms ease,transform 180ms ease}.service-rail a:hover b{background:var(--blue);color:#061a28;transform:translateX(4px)}
.services,.pricing-overview,.estimator,.schedule,.detail-section,.soft-section,.service-hero,.principle,.closing{position:relative;overflow:hidden}
.services{padding-block:clamp(105px,10vw,150px);background:#fff}
.services::before{position:absolute;top:0;right:0;left:0;height:12px;background:linear-gradient(90deg,#087ba9 0%,#25aae1 55%,#76d8f8 100%);content:""}
.section-heading{margin-bottom:70px}
.section-heading .eyebrow{margin:0 0 16px;padding-top:0}
.section-heading h2{max-width:900px}
.section-heading>p:last-child{max-width:680px;margin:22px 0 0;color:var(--muted);font-size:1.05rem}
.services-intro{margin-bottom:58px}
.services-intro .eyebrow{margin:0 0 16px;padding:0;font-size:.95rem}
.services-intro h2{max-width:850px}
.services-intro>div>p:last-child{max-width:690px;margin:23px 0 0;color:var(--muted);font-size:1.08rem}
.service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-option{position:relative;display:flex;min-width:0;min-height:520px;flex-direction:column;padding:40px clamp(26px,3vw,42px);border:1px solid #bdcbd2;color:var(--ink);text-decoration:none;transition:background 220ms ease,border-color 220ms ease,box-shadow 220ms ease}
.service-option:hover{border-color:#80b4ca;box-shadow:0 12px 35px rgba(7,38,56,.07)}
.service-option:focus-visible{outline:2px solid var(--blue-dark);outline-offset:3px}
.service-option::before{position:absolute;top:-1px;right:0;left:0;height:4px;background:var(--blue);content:"";transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}
.service-option:hover,.service-option:focus-visible{background:linear-gradient(180deg,rgba(37,170,225,.075),transparent 46%);outline:0}
.service-option:hover::before,.service-option:focus-visible::before{transform:scaleX(1)}
.service-label{margin-bottom:28px;color:var(--blue-dark);font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-option h3{max-width:340px;margin-bottom:24px;color:var(--navy);font-size:clamp(2.15rem,3.1vw,3.45rem);font-weight:600;line-height:1;letter-spacing:-.055em}
.service-option>p{max-width:350px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.service-price{display:grid;gap:3px;margin-top:auto;padding-top:42px}
.service-price span{color:var(--muted);font-size:.92rem}
.service-price strong{color:var(--navy);font-size:clamp(2.35rem,3.8vw,4rem);font-weight:600;line-height:1}
.service-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:31px;padding-top:22px;border-top:1px solid var(--line);font-size:1rem;font-weight:600}
.service-link b{color:var(--blue-dark);font-size:1.35rem;font-weight:500;transition:transform 180ms ease}.service-option:hover .service-link b,.service-option:focus-visible .service-link b{transform:translateX(5px)}
.principle{padding-block:clamp(90px,10vw,150px);background:var(--blue);color:#062338}
.principle-inner{display:grid;grid-template-columns:.33fr 1fr;gap:34px 70px;align-items:start}
.principle .eyebrow{padding-top:14px;color:#034c69}
.principle h2{max-width:960px}
.principle>div>p:last-child{grid-column:2;max-width:680px;margin:0;font-size:1.08rem}
.pricing-overview{padding-block:clamp(110px,12vw,180px)}
.pricing-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;margin-bottom:70px}
.pricing-heading h2{grid-column:1/-1;max-width:850px}.pricing-heading>p:last-child{grid-column:2;max-width:650px;margin:0;color:var(--muted)}
.price-columns{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.price-columns>div{padding:42px 36px;border-right:1px solid var(--line)}.price-columns>div:first-child{padding-left:0}.price-columns>div:last-child{padding-right:0;border-right:0}
.price-columns h3{margin-bottom:28px;font-size:1.45rem}.price-columns dl{margin:0 0 28px}.price-columns dl div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.price-columns dt{color:var(--muted)}.price-columns dd{margin:0;font-weight:600;white-space:nowrap}.price-columns a{color:var(--blue-dark);font-size:.95rem;font-weight:600;text-underline-offset:5px}
.estimator{padding-block:clamp(110px,12vw,180px);background:var(--soft)}
.estimator-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(55px,8vw,120px);align-items:start}
.estimator-heading{position:sticky;top:110px}.estimator-heading h2{margin-bottom:28px;font-size:clamp(2.4rem,4.2vw,4.6rem)}.estimator-heading>p:not(.eyebrow,.credit-note){max-width:530px;color:var(--muted)}
.credit-note{display:grid;gap:5px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.credit-note strong{font-size:1.18rem}.credit-note span{color:var(--muted);font-size:.92rem}
.estimate-panel{border:1px solid #bac8ce;background:#fff;box-shadow:0 24px 70px rgba(23,51,65,.08)}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px;border-bottom:1px solid var(--line)}.panel-heading h3{font-size:1.3rem;letter-spacing:-.02em}.panel-heading span{color:var(--muted);font-size:.88rem}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;padding:34px}
.field,.range-field{display:grid;gap:9px}.field.full,.range-field.full{grid-column:1/-1}.field>span,.field>label,.range-field span{color:#415560;font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:52px;border:1px solid #c5d0d5;border-radius:0;outline:0;padding:13px 15px;background:#fff;color:var(--ink);transition:border-color 180ms ease,box-shadow 180ms ease}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-dark);box-shadow:0 0 0 3px rgba(37,170,225,.13)}.field input::placeholder,.field textarea::placeholder{color:#8b9aa1}.range-field span{display:flex;justify-content:space-between}.range-field output{color:var(--blue-dark)}input[type=range]{width:100%;accent-color:var(--blue-dark)}
.address-control{display:grid;grid-template-columns:1fr auto}.address-control button{min-width:150px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:600;cursor:pointer;transition:background 180ms ease,border-color 180ms ease}.address-control button:hover{border-color:var(--blue-dark);background:var(--blue-dark)}.address-control button:disabled{cursor:wait;opacity:.72}.address-field small{color:#6a7d87;font-size:.8rem}.address-field>p{margin:2px 0 0;color:var(--blue-dark);font-size:.88rem;font-weight:600}
.estimate-result{padding:34px;background:var(--navy);color:#fff}.result-cost{display:flex;align-items:end;justify-content:space-between;gap:20px}.result-cost span{color:#b4c6cf;font-size:.9rem}.result-cost strong{max-width:310px;color:#76d7fb;font-size:clamp(2.35rem,4.5vw,4.4rem);font-weight:600;line-height:1;text-align:right}
.estimate-breakdown{display:grid;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.16)}.estimate-breakdown div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}.estimate-breakdown dt{color:#b4c6cf}.estimate-breakdown dd{margin:0;color:#fff;font-weight:600;text-align:right}
.estimate-result .estimate-note{margin:15px 0 0;color:#9fb3be;font-size:.9rem;line-height:1.5}
.comparison-bars{display:grid;gap:12px;margin-block:27px}.comparison-bars div{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center}.comparison-bars span{color:#acbec8;font-size:.8rem;font-weight:600;text-transform:uppercase}.comparison-bars i{height:6px;background:rgba(255,255,255,.12)}.comparison-bars b{display:block;height:100%;background:var(--blue);transition:width 300ms ease}.comparison-bars div:nth-child(2) b{background:rgba(255,255,255,.5)}.estimate-result p{margin:0;color:#c4d1d8}.estimate-result p strong{color:#fff}
.process{padding-block:clamp(110px,12vw,180px)}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.process-line li{position:relative;padding:35px 28px 0 0}.process-line li::before{position:absolute;top:-6px;left:0;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--blue-dark);box-shadow:0 0 0 1px var(--blue-dark);content:""}.process-line li+li{padding-left:28px}.process-line li+li::before{left:28px}.process-line>li>span{display:block;margin-bottom:38px;color:#667b86;font-size:1rem;font-weight:700}.process-line h3{margin-bottom:13px;font-size:1.35rem;letter-spacing:-.025em}.process-line p{margin:0;color:var(--muted);font-size:1rem}
.schedule{padding-block:clamp(110px,12vw,180px);background:var(--blue-soft)}
.schedule-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,8vw,120px);align-items:start}.schedule-heading{padding-top:20px}.schedule-heading h2{margin-bottom:26px}.schedule-heading>p:last-child{max-width:500px;color:var(--muted)}
.schedule-form{display:grid;gap:20px;padding:clamp(30px,4.5vw,56px);border:1px solid #bddce7;background:rgba(255,255,255,.84);box-shadow:0 24px 70px rgba(23,86,112,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-button{justify-content:space-between;width:100%;margin-top:6px}
.faq{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(55px,8vw,120px);padding-block:clamp(110px,12vw,180px)}.faq-heading{position:sticky;top:110px;align-self:start}.faq-heading h2{font-size:clamp(2.4rem,4.2vw,4.5rem)}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;padding:28px 54px 28px 0;cursor:pointer;font-size:1.05rem;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{position:absolute;top:25px;right:8px;color:var(--blue-dark);content:"+";font-size:1.4rem;font-weight:400}.faq details[open] summary::after{content:"−"}.faq details p{max-width:760px;padding-bottom:28px;color:var(--muted)}
.closing{padding-block:clamp(80px,9vw,125px);background:var(--navy);color:#fff}.closing-inner{display:flex;align-items:end;justify-content:space-between;gap:60px}.closing .eyebrow{color:#72d6fa}.closing h2{max-width:900px;font-size:clamp(2.8rem,5.5vw,5.8rem)}
.site-footer{padding-block:42px;border-top:1px solid #2b4353;background:#071621;color:#fff}.footer-inner{display:grid;grid-template-columns:210px 1fr auto;gap:40px;align-items:center}.footer-inner img{width:190px}.footer-inner p{margin:0;color:#a6b7c0;font-size:.9rem}.footer-inner nav{display:flex;gap:22px}.footer-inner a{color:#d0dce2;font-size:.88rem;text-decoration:none}.footer-inner a:hover{color:#fff}
.request-dialog{width:min(calc(100% - 32px),620px);border:1px solid #29495b;border-radius:0;padding:clamp(32px,5vw,56px);background:var(--navy);color:#fff;box-shadow:0 40px 140px rgba(0,0,0,.5)}.request-dialog::backdrop{background:rgba(2,11,17,.7);backdrop-filter:blur(7px)}.request-dialog h2{margin-bottom:28px;font-size:clamp(2rem,5vw,4rem)}.dialog-close{position:absolute;top:18px;right:20px;border:0;background:transparent;color:#a8bbc6;font-size:2rem;cursor:pointer}.dialog-action{margin-top:26px;border-color:var(--blue);background:var(--blue);color:var(--navy)}#requestSummary{display:grid;border-top:1px solid #345061}.summary-row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #345061}.summary-row span{color:#adc0ca;font-size:.88rem}.summary-row strong{overflow-wrap:anywhere;font-weight:500}
/* Service pages */
.service-hero{padding:calc(var(--header) + clamp(90px,10vw,145px)) 0 clamp(95px,10vw,145px);background:linear-gradient(125deg,#f4fafc 0 62%,#e4f5fb 62%);overflow:hidden}
.service-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(70px,10vw,150px);align-items:end}.service-hero h1{max-width:880px;font-size:clamp(3.6rem,6.2vw,6.8rem)}.service-hero .hero-lede{max-width:720px}
.service-summary{padding:34px 0 10px;border-top:4px solid var(--blue-dark);border-bottom:1px solid #aecbd7}.service-summary>p{margin-bottom:2px;color:var(--muted);font-size:.95rem}.service-summary>strong{display:block;color:var(--navy);font-size:clamp(3.4rem,6vw,5.5rem);font-weight:600;line-height:1}.service-summary>span{display:block;margin-top:9px;color:var(--muted);font-size:.92rem}.service-summary ul{display:grid;gap:11px;margin:28px 0 0;padding:24px 0 0;border-top:1px solid #b7d1da;list-style:none}.service-summary li{position:relative;padding-left:21px;font-size:1rem}.service-summary li::before{position:absolute;top:.65em;left:0;width:8px;height:8px;border-radius:50%;background:var(--blue-dark);content:""}
.build-hero{background:linear-gradient(125deg,#f7f9fa 0 62%,#edf2f4 62%)}.web-hero{background:linear-gradient(125deg,#f8fbfc 0 62%,#e7f7fd 62%)}
.page-nav{position:sticky;top:66px;z-index:20;border-block:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.page-nav>div{display:flex;gap:clamp(25px,4vw,55px);overflow-x:auto}.page-nav a{padding:17px 0;color:var(--muted);font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap}.page-nav a:hover{color:var(--blue-dark)}
.detail-section{padding-block:clamp(105px,11vw,165px)}.detail-intro{margin-bottom:65px}.detail-intro .eyebrow{margin:0 0 16px;padding-top:0}.detail-intro h2{max-width:950px}.detail-intro>p:last-child{max-width:740px;margin:22px 0 0;color:var(--muted)}
.price-table{border-top:2px solid var(--navy)}.price-row{display:grid;grid-template-columns:.75fr 1.25fr 150px;gap:40px;align-items:start;padding:29px 0;border-bottom:1px solid var(--line)}.price-row>div strong{display:block;font-size:1.08rem}.price-row>div small{display:block;margin-top:4px;color:var(--muted);font-size:.9rem}.price-row>p{margin:0;color:var(--muted);font-size:1rem}.price-row>strong:last-child{text-align:right;font-size:1.08rem}.price-head{padding-block:15px;color:#667c87;font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.soft-section{padding-block:clamp(100px,11vw,160px);background:var(--soft)}.split-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(70px,10vw,150px)}.split-detail h2{font-size:clamp(2.5rem,4.4vw,4.7rem)}.clean-list{border-top:2px solid var(--navy)}.clean-list>div{display:grid;grid-template-columns:.45fr 1fr;gap:35px;padding:29px 0;border-bottom:1px solid var(--line)}.clean-list h3{font-size:1.05rem;letter-spacing:-.02em}.clean-list p{margin:0;color:var(--muted)}
.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,140px);border-top:2px solid var(--navy);padding-top:30px}.terms-grid dl{margin:0}.terms-grid dl div{display:flex;justify-content:space-between;gap:25px;padding:17px 0;border-bottom:1px solid var(--line)}.terms-grid dt{font-weight:600}.terms-grid dd{margin:0;color:var(--muted);text-align:right}.terms-grid>div p{color:var(--muted)}.terms-grid>div p+p{margin-top:24px}.terms-grid strong{color:var(--ink)}
.package-comparison{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.package-comparison article{display:flex;min-height:560px;flex-direction:column;padding:42px 34px;border-right:1px solid var(--line)}.package-comparison article:first-child{padding-left:0}.package-comparison article:last-child{padding-right:0;border-right:0}.package-comparison article.featured{background:var(--navy);color:#fff;padding-inline:38px}.package-comparison h3{font-size:1.6rem;letter-spacing:-.03em}.package-comparison article>strong{display:block;margin:25px 0 16px;color:var(--blue-dark);font-size:clamp(2.1rem,3.5vw,3.3rem);font-weight:600;line-height:1}.package-comparison article.featured>strong{color:#70d6fb}.package-comparison article>p:not(.eyebrow){color:var(--muted)}.package-comparison article.featured>p:not(.eyebrow){color:#c1d0d7}.package-comparison ul{display:grid;gap:11px;margin:27px 0 35px;padding:25px 0 0;border-top:1px solid var(--line);list-style:none}.package-comparison article.featured ul{border-color:#345061}.package-comparison li{position:relative;padding-left:20px;font-size:1rem}.package-comparison li::before{position:absolute;top:.65em;left:0;width:7px;height:7px;border-radius:50%;background:var(--blue-dark);content:""}.package-comparison article.featured li::before{background:#70d6fb}.package-comparison small{margin-top:auto;color:var(--muted);font-size:.86rem}.package-comparison article.featured small{color:#aec0ca}.compact-faq{padding-top:90px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity 650ms ease,transform 650ms cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:none}.mobile-brand-masthead{display:none}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-toggle{display:grid;width:44px;height:44px;place-content:center;gap:7px;border:1px solid rgba(255,255,255,.22);background:transparent;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;background:#fff;transition:transform 180ms ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{position:fixed;inset:66px 0 auto;display:grid;padding:20px 32px 30px;border-bottom:1px solid #284557;background:rgba(7,23,35,.98);transform:translateY(-130%);transition:transform 220ms ease}.mobile-nav.open{transform:translateY(0)}.mobile-nav>a:not(.button){padding:15px 0;border-bottom:1px solid #294453;color:#fff;text-decoration:none}.mobile-nav .button{margin-top:20px}.hero{grid-template-columns:1fr}.hero-copy{min-height:680px;padding:150px 50px 100px}.hero-brand{min-height:620px}.service-row{grid-template-columns:60px 1fr}.service-action{grid-column:2;gap:22px}.pricing-heading{grid-template-columns:1fr}.pricing-heading h2,.pricing-heading>p:last-child{grid-column:auto}.estimator-grid,.schedule-grid,.faq,.split-detail{grid-template-columns:1fr}.estimator-heading,.faq-heading{position:static}.process-line{grid-template-columns:1fr 1fr;gap:45px 0}.service-hero-grid{grid-template-columns:1fr}.service-summary{max-width:560px}.package-comparison{grid-template-columns:1fr}.package-comparison article,.package-comparison article:first-child,.package-comparison article:last-child{min-height:auto;padding:38px 0;border-right:0;border-bottom:1px solid var(--line)}.package-comparison article.featured{margin-inline:-28px;padding-inline:28px}.clean-list{margin-top:10px}.footer-inner{grid-template-columns:180px 1fr}.footer-inner nav{grid-column:1/-1}}
@media(max-width:720px){.section-shell{width:min(calc(100% - 34px),var(--max))}.site-header{min-height:70px;padding-inline:17px}.header-brand{width:158px}.hero{min-height:auto}.hero-copy{min-height:620px;padding:125px 20px 80px}.hero-copy h1{font-size:clamp(3rem,15vw,5.4rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-brand{min-height:480px}.hero-brand::after{inset:17px}.trust-inner{grid-template-columns:1fr}.trust-inner p,.trust-inner p:first-child,.trust-inner p:last-child{padding:18px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.trust-inner p:last-child{border-bottom:0}.section-heading,.principle-inner,.detail-intro{grid-template-columns:1fr;gap:16px}.section-heading>p:last-child,.principle>div>p:last-child,.detail-intro>p:last-child{grid-column:auto}.service-row{grid-template-columns:1fr;gap:18px;padding-block:42px}.service-index{display:none}.service-action{grid-column:auto}.price-columns{grid-template-columns:1fr}.price-columns>div,.price-columns>div:first-child,.price-columns>div:last-child{padding:34px 0;border-right:0;border-bottom:1px solid var(--line)}.field-grid,.form-row{grid-template-columns:1fr}.field.full,.range-field.full{grid-column:auto}.field-grid,.estimate-result{padding:24px}.panel-heading{align-items:flex-start;flex-direction:column;padding:24px}.result-cost{align-items:flex-start;flex-direction:column}.process-line{grid-template-columns:1fr}.process-line li,.process-line li+li{padding:30px 0 0 0}.process-line li+li::before{left:0}.process-line>li>span{margin-bottom:20px}.closing-inner{align-items:flex-start;flex-direction:column}.closing .button{width:100%}.footer-inner{grid-template-columns:1fr}.footer-inner nav{flex-wrap:wrap;grid-column:auto}.summary-row{grid-template-columns:1fr;gap:3px}.service-hero{padding-top:135px;background:#f4fafc}.service-hero h1{font-size:clamp(3.2rem,14vw,5.3rem)}.page-nav{top:66px}.page-nav>div{width:100%;padding-inline:17px}.price-row,.price-head{grid-template-columns:1fr;gap:10px}.price-head{display:none}.price-row>strong:last-child{text-align:left;color:var(--blue-dark);font-size:1.15rem}.clean-list>div{grid-template-columns:1fr;gap:10px}.terms-grid{grid-template-columns:1fr}.package-comparison article.featured{margin-inline:-17px;padding-inline:17px}}
@media(max-width:720px){
  :root{--header:64px}
  html{scroll-padding-top:76px}
  body{padding-bottom:64px;font-size:16px;line-height:1.58}
  .section-shell{width:calc(100% - 40px)}
  .site-header,.site-header.scrolled{min-height:64px;padding-inline:18px}
  .header-brand{width:148px}
  .menu-toggle{width:42px;height:42px;border:0}
  .menu-toggle span{width:23px}
  .mobile-nav{inset:64px 0 0;display:flex;height:calc(100dvh - 64px);flex-direction:column;align-items:stretch;padding:24px 20px 110px;background:rgba(7,23,35,.995);overflow-y:auto;transform:translateY(-110%)}
  .mobile-nav>a:not(.button){padding:19px 4px;border-bottom:1px solid #294453;font-size:1.05rem;font-weight:600}
  .mobile-nav .button{min-height:56px;margin-top:28px;font-size:1rem}
  h2{font-size:clamp(2.25rem,10.5vw,3.3rem)}
  .eyebrow{margin-bottom:13px;font-size:.82rem;letter-spacing:.08em}
  .hero{display:flex;min-height:auto;flex-direction:column;padding-top:64px}
  .hero-copy{min-height:auto;padding:62px 20px 56px}
  .hero-copy h1{font-size:clamp(2.85rem,13vw,4.3rem);line-height:.98}
  .hero-lede{margin-top:23px;font-size:1.02rem;line-height:1.58}
  .hero-actions{width:100%;gap:18px;margin-top:30px}
  .hero-actions .button{width:100%;min-height:54px}
  .hero-actions .text-link{padding-block:5px}
  .hero-brand{min-height:350px}
  .hero-brand::after{inset:16px}
  .hero-logo{width:min(350px,86%)}
  .trust-inner{padding-block:8px}
  .trust-inner p,.trust-inner p:first-child,.trust-inner p:last-child{gap:1px;padding:16px 0}
  .trust-inner strong{font-size:1rem}.trust-inner span{font-size:.88rem}
  .services,.pricing-overview,.estimator,.process,.schedule,.faq,.detail-section,.soft-section{padding-block:78px}
  .section-heading,.pricing-heading,.detail-intro{gap:12px;margin-bottom:38px}
  .section-heading .eyebrow,.detail-intro .eyebrow{padding-top:0}
  .section-heading>p:last-child,.pricing-heading>p:last-child,.detail-intro>p:last-child{font-size:1rem}
  .service-row{gap:14px;padding-block:34px}
  .service-copy h3{margin-bottom:14px;font-size:1.65rem;line-height:1.08}
  .service-copy>p:last-child{font-size:1rem}
  .service-action{gap:18px;padding-block:2px 0}
  .service-action>span{font-size:.95rem}
  .principle{padding-block:72px}
  .principle-inner{gap:12px}
  .principle h2{font-size:2.55rem}
  .principle>div>p:last-child{font-size:1rem}
  .price-columns>div,.price-columns>div:first-child,.price-columns>div:last-child{padding:30px 0}
  .price-columns h3{margin-bottom:17px}
  .price-columns dl{margin-bottom:22px}
  .price-columns dl div{padding:13px 0}
  .estimator-heading{margin-bottom:35px}
  .estimator-heading h2{font-size:2.55rem}
  .credit-note{margin-top:25px}
  .estimate-panel{box-shadow:0 14px 40px rgba(23,51,65,.07)}
  .panel-heading{gap:5px;padding:20px;flex-direction:column}
  .field-grid{gap:19px;padding:20px}
  .field input,.field select,.field textarea{min-height:52px;font-size:1rem}
  .address-control{grid-template-columns:1fr}
  .address-control button{min-height:52px}
  .estimate-result{padding:24px 20px}
  .result-cost{gap:8px}
  .result-cost strong{max-width:none;font-size:3.2rem;text-align:left}
  .estimate-breakdown{margin-top:22px}
  .estimate-breakdown div{align-items:flex-start}
  .comparison-bars div{grid-template-columns:66px 1fr}
  .process .section-heading{margin-bottom:42px}
  .process-line{gap:0;border-top:0}
  .process-line li,.process-line li+li{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:24px 0;border-top:1px solid var(--line)}
  .process-line li::before,.process-line li+li::before{top:22px;left:0}
  .process-line>li>span{margin:0;padding-left:20px;font-size:.9rem}
  .process-line h3{font-size:1.22rem}
  .schedule-heading{padding-top:0;margin-bottom:34px}
  .schedule-form{gap:18px;padding:22px 20px;box-shadow:0 14px 40px rgba(23,86,112,.07)}
  .faq{gap:34px}
  .faq-heading h2{font-size:2.55rem}
  .faq summary{padding:23px 45px 23px 0;font-size:1.04rem;line-height:1.35}
  .faq summary::after{top:18px}
  .faq details p{padding-bottom:23px}
  .closing{padding-block:68px}
  .closing-inner{gap:30px}
  .closing h2{font-size:2.75rem}
  .site-footer{padding-block:34px}
  .footer-inner{gap:22px}
  .footer-inner img{width:170px}
  .footer-inner nav{display:grid;gap:12px}
  .footer-inner a{font-size:.95rem}
  .service-hero{padding:112px 0 66px;background:#f4fafc}
  .service-hero-grid{gap:42px}
  .service-hero h1{font-size:clamp(2.8rem,12.5vw,4.1rem);line-height:.98}
  .service-summary{padding-top:26px}
  .service-summary>strong{font-size:4rem}
  .page-nav{top:64px}
  .page-nav>div{width:100%;gap:28px;padding-inline:20px;scroll-snap-type:x proximity}
  .page-nav a{padding:14px 0;font-size:.9rem;scroll-snap-align:start}
  .detail-intro h2{font-size:2.55rem}
  .price-table{border-top-width:2px}
  .price-row{gap:8px;padding:23px 0}
  .price-row>div strong{font-size:1.08rem}
  .price-row>div small{font-size:.9rem}
  .price-row>p{font-size:.98rem}
  .price-row>strong:last-child{margin-top:4px;font-size:1.25rem}
  .split-detail{gap:36px}
  .split-detail h2{font-size:2.55rem}
  .clean-list>div{gap:8px;padding:24px 0}
  .clean-list h3{font-size:1.12rem}
  .terms-grid{gap:38px}
  .terms-grid dl div{align-items:flex-start;flex-direction:column;gap:2px}
  .terms-grid dd{text-align:left}
  .package-comparison article,.package-comparison article:first-child,.package-comparison article:last-child{padding:32px 0}
  .package-comparison article.featured{margin-inline:-20px;padding:34px 20px}
  .package-comparison h3{font-size:1.5rem}
  .package-comparison article>strong{font-size:2.55rem}
  .compact-faq{padding-top:72px}
  .request-dialog{max-height:calc(100dvh - 30px);overflow-y:auto;padding:30px 22px}
  body{padding-bottom:0}
  .mobile-brand-masthead{position:relative;display:grid;min-height:245px;overflow:hidden;place-items:center;background:radial-gradient(circle at 50% 48%,#15384f 0,#0d293d 40%,#071827 82%);text-decoration:none}
  .mobile-brand-masthead::before{position:absolute;inset:14px;border:1px solid rgba(111,208,245,.17);content:""}
  .mobile-brand-masthead img{position:relative;z-index:1;width:min(340px,82%)}
  .site-header,.site-header.scrolled{position:sticky;top:0}
  .mobile-nav{position:absolute;top:64px;right:0;bottom:auto;left:0}
  .hero{padding-top:0}
  .hero-copy{padding-top:54px}
  .hero-brand{display:none}
  .service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .service-directory::-webkit-scrollbar,.price-columns::-webkit-scrollbar,.package-comparison::-webkit-scrollbar,.clean-list::-webkit-scrollbar{display:none}
  .service-row{display:flex;min-height:410px;flex-direction:column;padding:28px 0;border-top:1px solid var(--line);scroll-snap-align:start}
  .service-action{margin-top:auto}
  .price-columns{display:grid;grid-auto-columns:78vw;grid-auto-flow:column;gap:24px;border-block:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none}
  .price-columns>div,.price-columns>div:first-child,.price-columns>div:last-child{padding:28px 0;border-top:1px solid var(--line);border-right:0;border-bottom:1px solid var(--line);scroll-snap-align:start}
  .service-hero{padding-top:58px}
  .service-summary ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .service-summary li{padding:0 10px;border-right:1px solid #b7d1da;font-size:.86rem;line-height:1.35}
  .service-summary li:first-child{padding-left:18px}.service-summary li:last-child{padding-right:0;border-right:0}
  .service-summary li::before{top:.48em;width:6px;height:6px}
  .package-comparison{display:grid;grid-auto-columns:86vw;grid-auto-flow:column;gap:20px;border-block:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none}
  .package-comparison article,.package-comparison article:first-child,.package-comparison article:last-child,.package-comparison article.featured{min-height:540px;margin:0;padding:32px 20px;border:1px solid var(--line);scroll-snap-align:start}
  .package-comparison article:first-child{padding-left:20px}.package-comparison article:last-child{padding-right:20px}
  .clean-list{display:grid;grid-auto-columns:82vw;grid-auto-flow:column;gap:20px;border-top:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none}
  .clean-list>div{display:block;min-height:180px;padding:24px 20px;border:1px solid var(--line);scroll-snap-align:start}
  .clean-list h3{margin-bottom:12px}
  .footer-inner nav{display:flex;gap:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:1050px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:40px}
  .hero-copy{min-height:auto;padding:0}
  .hero-brand{min-height:auto}
  .hero-logo{width:min(510px,112%)}
  .service-rail a{padding-inline:20px}
}
@media(max-width:720px){
  .home-page .site-header,.home-page .site-header.scrolled{position:fixed;top:0}
  .header-brand{width:max-content;gap:5px;padding-block:6px}
  .header-brand::after{top:calc(50% + 10px);right:0;bottom:auto;left:45px}
  .header-brand-icon{width:40px;height:36px}
  .header-brand-wordmark{width:145px}
  .hero{min-height:auto;padding-top:64px;background-position:58% center}
  .hero::before{background-position:58% center}
  .hero::after{background:linear-gradient(180deg,rgba(1,6,10,.66) 0%,rgba(1,6,10,.85) 38%,rgba(1,6,10,.97) 100%),linear-gradient(90deg,rgba(1,6,10,.76),rgba(1,6,10,.38),rgba(1,6,10,.8))}
  .hero-inner{display:flex;min-height:auto;width:calc(100% - 40px);flex-direction:column;gap:44px;padding-block:48px 58px}
  .hero-brand{display:grid;order:-1;width:100%;min-height:auto;padding:2px 6px 0}
  .hero-logo{width:min(390px,calc(100% + 20px));max-width:none;transform:translate(0,-1%)}
  .hero-copy{width:100%;min-height:auto;padding:0}
  .hero-copy h1{max-width:360px;font-size:clamp(3rem,13vw,4.15rem);line-height:.98}
  .hero-lede{margin-top:22px;color:#d6e0e5;font-size:1.02rem;line-height:1.58}
  .hero-actions{align-items:stretch;gap:17px;margin-top:30px}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{align-self:flex-start}
  .service-rail>div{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-rail a{display:flex;min-height:94px;justify-content:center;padding:14px 8px;border-right:1px solid rgba(137,210,239,.18);text-align:center}
  .service-rail a:first-child{border-left:0}.service-rail a:last-child{border-right:0}
  .service-rail b{display:none}.service-rail strong{font-size:.92rem;line-height:1.24}
  .services{padding-block:76px}
  .services-intro{display:block;margin-bottom:40px}
  .services-intro>div{grid-column:auto}
  .services-intro .eyebrow{margin:0 0 14px;font-size:.9rem}
  .services-intro h2{font-size:clamp(2.55rem,11vw,3.35rem)}
  .services-intro>div>p:last-child{margin-top:18px;font-size:1rem}
  .service-directory{display:grid;grid-template-columns:1fr;gap:14px}
  .service-option,.service-option:first-child,.service-option:last-child{min-height:0;padding:32px 24px;border:1px solid #bdcbd2}
  .service-option h3{max-width:330px;margin-bottom:18px;font-size:clamp(2.35rem,11vw,3.15rem)}
  .service-option>p{font-size:1rem}
  .service-label{margin-bottom:20px;font-size:.84rem}
  .service-price{margin-top:30px;padding-top:0}
  .service-price strong{font-size:3.1rem}
  .service-link{margin-top:25px;padding-top:19px}
}
/* Keep the bold type and color palette, with more room for reading. */
h1,h2{line-height:1.1;letter-spacing:-.035em}
.service-option h3{line-height:1.08;letter-spacing:-.035em}
.service-hero .hero-lede{color:#415560}
.dialog-note{margin:21px 0 0;color:#c4d1d8;font-size:1rem;line-height:1.55}
.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.dialog-actions .button{flex:1 1 210px;min-height:52px;margin:0}
.dialog-secondary{border-color:#617d8e;background:transparent;color:#fff}
.dialog-secondary:hover{border-color:#fff;background:#213d4f;color:#fff}
@media(max-width:720px){
  .mobile-brand-masthead{min-height:154px}
  .mobile-brand-masthead img{width:min(270px,76%)}
  .service-hero{padding-top:46px}
  .section-heading>*,.detail-intro>*{grid-column:1}
  .hero-copy h1,.service-hero h1{line-height:1.06}
  .eyebrow{font-size:.875rem}
  .dialog-actions{display:grid}
  .dialog-actions .button{width:100%}
}
