:root{--navy-950:#07142b;--navy-900:#0b1e3d;--navy-800:#123469;--blue-500:#78a9f4;--blue-100:#e9f1ff;--red-600:#bb2638;--red-500:#d02b3f;--paper:#f4f1e9;--paper-light:#fbfaf6;--white:#fff;--ink:#0a1730;--ink-soft:#4b596d;--line:rgba(10,23,48,.14);--line-light:hsla(0,0%,100%,.16);--shadow-sm:0 14px 40px rgba(7,20,43,.1);--shadow-lg:0 28px 80px rgba(7,20,43,.18);--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--display:Georgia,"Times New Roman",serif;--body:"Avenir Next","Trebuchet MS",sans-serif;--utility:"Franklin Gothic Medium","Arial Narrow",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:radial-gradient(circle at 100% 0,rgba(120,169,244,.14),transparent 28rem),var(--paper-light);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.65;margin:0;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}img,svg{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.98;text-wrap:balance}h1{font-size:clamp(2.7rem,10vw,6.7rem)}h2{font-size:clamp(2.15rem,7vw,4.7rem)}h3{font-size:clamp(1.35rem,4vw,2rem)}::-moz-selection{background:var(--red-600);color:var(--white)}::selection{background:var(--red-600);color:var(--white)}:focus-visible{outline:3px solid var(--blue-500);outline-offset:4px}.page-shell{min-height:100vh;overflow:clip;padding-bottom:4.6rem}.container{margin-inline:auto;width:min(1180px,calc(100% - 2rem))}.section{padding-block:clamp(4.5rem,10vw,8.5rem)}.about-eyebrow,.eyebrow,.footer-label,.hero-eyebrow,.image-label,.mobile-menu-label{align-items:center;color:var(--red-600);display:flex;font-family:var(--utility);font-size:.76rem;font-weight:700;gap:.55rem;letter-spacing:.13em;line-height:1.2;text-transform:uppercase}.about-eyebrow:before,.eyebrow:before,.hero-eyebrow:before{background:currentColor;content:"";height:.18rem;width:1.5rem}.lead,.section-copy{color:var(--ink-soft);font-size:clamp(1.02rem,2.4vw,1.22rem);line-height:1.7;max-width:42rem}.section-heading{display:grid;gap:1.3rem;margin-bottom:clamp(2.4rem,6vw,4.25rem)}.section-heading h2{max-width:13ch}.section-heading-split>p,.section-heading>p{color:var(--ink-soft);max-width:35rem}.section-heading.compact{align-content:start}.section-heading.compact h2{font-size:clamp(2rem,6vw,3.6rem)}.text-link{align-items:center;color:var(--red-600);display:inline-flex;font-family:var(--utility);font-size:.83rem;font-weight:700;letter-spacing:.07em;min-height:2.75rem;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.text-link:after{content:"→";margin-left:.65rem;transition:transform .18s ease}.text-link:hover:after{transform:translate(.3rem)}.topbar{background:#07142bf5;border-bottom:1px solid var(--line-light);box-shadow:0 8px 30px #07142b1f;color:var(--white);position:sticky;top:0;z-index:50}@supports (backdrop-filter:blur(18px)){.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07142be0}}.topbar-inner{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:5rem}.brand{align-items:center;display:inline-flex;gap:.55rem;min-width:0}.brand-logo{filter:drop-shadow(0 .35rem .75rem rgba(0,0,0,.35));flex:0 0 auto;height:3.55rem;-o-object-fit:contain;object-fit:contain;width:3.55rem}.brand-copy{display:flex;flex-direction:column;line-height:1;min-width:0}.brand-kicker{color:#ffffffb3;font-family:var(--utility);font-size:clamp(.53rem,2.2vw,.67rem);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.brand-name{font-family:var(--display);font-size:clamp(.88rem,3.8vw,1.1rem);font-weight:700;letter-spacing:.02em;margin-top:.22rem;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.desktop-nav,.phone-link{display:none}.topbar-actions{align-items:center;display:flex;gap:.55rem}.button{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-family:var(--utility);font-size:.83rem;font-weight:700;justify-content:center;letter-spacing:.035em;line-height:1.1;min-height:3rem;padding:.75rem 1.15rem;text-align:center;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--red-600);box-shadow:0 10px 26px #bb263847;color:var(--white)}.button-solid:hover{background:#a91f31;box-shadow:0 14px 30px #bb263857}.button-outline{background:#ffffff0f;border-color:#ffffff59;color:var(--white)}.button-outline:hover{background:#ffffff1f;border-color:#ffffffb3}.button-secondary{background:var(--white);border-color:var(--line);box-shadow:var(--shadow-sm);color:var(--ink)}.header-cta{display:none}.menu-toggle{background:#ffffff14;border:1px solid hsla(0,0%,100%,.2);border-radius:50%;cursor:pointer;display:grid;gap:.28rem;height:2.85rem;place-content:center;width:2.85rem}.menu-toggle span{background:var(--white);border-radius:99px;height:2px;transition:transform .18s ease,opacity .18s ease;width:1.1rem}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(.38rem) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-.38rem) rotate(-45deg)}.mobile-menu{background:var(--navy-950);border-top:1px solid transparent;left:0;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .26s ease,opacity .18s ease,visibility .18s ease;visibility:hidden;z-index:45}.mobile-menu-open{border-color:var(--line-light);max-height:calc(100dvh - 5rem);min-height:calc(100dvh - 5rem);opacity:1;visibility:visible}.mobile-menu-inner{display:grid;padding-block:1.5rem 2rem}.mobile-menu-label{color:var(--blue-500);margin-bottom:.7rem}.mobile-menu-inner>a{align-items:center;border-bottom:1px solid var(--line-light);display:flex;font-family:var(--display);font-size:1.45rem;min-height:3.45rem}.mobile-menu-inner>a:after{color:var(--blue-500);content:"→";margin-left:auto}.mobile-menu-inner .mobile-menu-estimate{background:var(--red-600);border:0;border-radius:var(--radius-sm);color:var(--white);font-family:var(--utility);font-size:.9rem;margin-top:1rem;padding-inline:1rem}.home-hero{align-items:end;background:var(--navy-950);color:var(--white);display:grid;min-height:min(48rem,calc(100svh - 5rem));overflow:hidden;position:relative}.home-hero:before{background:linear-gradient(180deg,#07142b14 15%,#07142be6 78%),linear-gradient(90deg,rgba(7,20,43,.86),transparent 85%);content:"";inset:0;position:absolute;z-index:1}.home-hero:after{background:linear-gradient(90deg,var(--red-600),var(--blue-500));bottom:0;content:"";height:3px;left:0;position:absolute;right:0;z-index:2}.home-hero-image{filter:saturate(.9) contrast(1.04);height:100%;inset:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;position:absolute;width:100%}.home-hero-inner{display:grid;gap:clamp(2.5rem,7vw,5rem);padding-block:clamp(5rem,18vw,8rem) 2.2rem;position:relative;z-index:3}.home-hero-copy{animation:hero-rise .7s ease both;max-width:40rem}.home-hero .eyebrow{color:#b7d3ff;margin-bottom:1.25rem}.home-hero h1{font-size:clamp(2.85rem,10.5vw,5.25rem);max-width:12ch;text-shadow:0 12px 45px rgba(0,0,0,.3)}.home-hero .lead{color:#ffffffd1;margin-top:1.35rem;max-width:35rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}.hero-actions .button{flex:1 1 12rem}.home-proof-row{animation:hero-rise .7s ease .18s both;border-top:1px solid var(--line-light);display:grid;gap:.8rem;padding-top:1.3rem}.home-proof-row span{align-items:baseline;color:#ffffffd1;display:grid;font-size:.84rem;grid-template-columns:2rem 1fr;line-height:1.35}.home-proof-row small{color:var(--blue-500);font-family:var(--utility);font-size:.68rem;letter-spacing:.1em}.home-trust-strip{background:var(--paper);border-bottom:1px solid var(--line)}.home-trust-grid{display:grid;grid-template-columns:repeat(2,1fr)}.home-trust-grid p{border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--navy-800);display:grid;font-family:var(--utility);font-size:.7rem;font-weight:700;letter-spacing:.08em;min-height:4.3rem;place-items:center;text-align:center;text-transform:uppercase}.home-trust-grid p:nth-child(2n){border-right:0}.home-local-summary{background:linear-gradient(135deg,rgba(120,169,244,.11),transparent 52%),var(--paper-light)}.local-summary-panel{display:grid;gap:2.5rem}.local-summary-header h2{margin-top:1rem;max-width:13ch}.local-summary-copy{align-content:center;color:var(--ink-soft);display:grid;font-size:1.04rem;gap:1.15rem}.home-services{background:radial-gradient(circle at 92% 5%,rgba(120,169,244,.2),transparent 20rem),var(--navy-950);color:var(--white);position:relative}.home-services .eyebrow,.home-services .text-link{color:#a9caff}.home-services .section-heading-split>p,.home-services .section-heading>p{color:#ffffff9e}.home-service-list{border-top:1px solid var(--line-light)}.home-service-row{align-items:center;border-bottom:1px solid var(--line-light);display:grid;gap:.6rem .8rem;grid-template-columns:2rem 1fr 2rem;padding-block:1.2rem;transition:padding .18s ease,background-color .18s ease}.home-service-row small{color:var(--blue-500);font-family:var(--utility);font-size:.65rem}.home-service-row span{font-family:var(--display);font-size:clamp(1.3rem,5vw,2rem);font-weight:700;letter-spacing:-.025em;line-height:1.05}.home-service-row p{color:#ffffff94;font-size:.88rem;grid-column:2/-1;line-height:1.5;max-width:35rem}.home-service-row b{color:var(--blue-500);font-size:1.35rem;font-weight:400;transition:transform .18s ease}.home-service-row:hover{background:#ffffff0a;padding-inline:.75rem}.home-service-row:hover b{transform:translate(.35rem)}.project-showcase{background:var(--paper)}.project-preview-grid{display:grid;gap:.85rem;grid-auto-columns:min(84vw,24rem);grid-auto-flow:column;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:.8rem;scroll-snap-type:inline mandatory;scrollbar-color:var(--navy-800) transparent}.project-preview-grid .project-photo-card{align-self:start}.project-photo-card{background:var(--navy-900);border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--white);cursor:pointer;display:block;min-width:0;overflow:hidden;padding:0;position:relative;scroll-snap-align:start}.project-photo-media{aspect-ratio:4/3;overflow:hidden}.project-photo-media img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease,filter .5s ease;width:100%}.project-photo-card:hover img{filter:saturate(1.08);transform:scale(1.035)}.home-faq{background:var(--paper-light)}.faq-layout{display:grid;gap:2rem}.faq-grid{border-top:1px solid var(--line)}.faq-card{border-bottom:1px solid var(--line)}.faq-card summary{align-items:center;cursor:pointer;display:flex;font-family:var(--display);font-size:clamp(1.2rem,4vw,1.55rem);font-weight:700;gap:1rem;line-height:1.15;list-style:none;min-height:5rem}.faq-card summary::-webkit-details-marker{display:none}.faq-card summary:after{color:var(--red-600);content:"+";font-family:var(--utility);font-size:1.5rem;margin-left:auto}.faq-card[open] summary:after{content:"−"}.faq-card p{color:var(--ink-soft);max-width:45rem;padding:0 2rem 1.4rem 0}.page-title{font-size:clamp(3rem,11vw,6rem);margin-top:1rem}.estimate-page,.services-page{position:relative}.estimate-page:before,.service-area-page:before,.services-page:before{background:#78a9f41a;border-radius:0 0 0 100%;content:"";height:38rem;position:absolute;right:0;top:0;width:min(38rem,70vw);z-index:-1}.services-intro-grid{align-items:center;display:grid;gap:2.4rem}.services-hero-copy{display:grid;gap:1.2rem}.services-photo{background:var(--navy-900);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.services-photo:after{background:linear-gradient(transparent,#07142bd1);content:"";height:35%;inset:auto 0 0;position:absolute}.services-photo img{aspect-ratio:4/4.5;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.services-photo p{bottom:1rem;color:#ffffffc7;font-size:.75rem;left:1rem;position:absolute;right:1rem;z-index:2}.services-list-heading{margin-top:clamp(5rem,10vw,8rem)}.simple-service-list{border-top:1px solid var(--line);display:grid}.simple-service-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:.5rem .85rem;grid-template-columns:2rem 1fr 2rem;padding-block:1.3rem;transition:padding .18s ease,background-color .18s ease}.simple-service-number{color:var(--red-600);font-family:var(--utility);font-size:.7rem}.simple-service-copy{display:grid;gap:.3rem}.simple-service-copy strong{font-family:var(--display);font-size:clamp(1.35rem,5vw,2.2rem);line-height:1.05}.simple-service-copy small{color:var(--ink-soft);font-size:.86rem;line-height:1.45;max-width:40rem}.simple-service-row b{color:var(--red-600);font-size:1.3rem;font-weight:400}.simple-service-row:hover{background:var(--white);padding-inline:.75rem}.service-area-services{background:#ffffff85;border:1px solid var(--line);border-radius:var(--radius-md);margin-top:clamp(4rem,10vw,7rem);padding:clamp(1.25rem,4vw,2rem)}.service-area-chip-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.service-area-chip-row a{align-items:center;background:var(--white);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;min-height:2.75rem;padding:.55rem .9rem;transition:border-color .18s ease,color .18s ease}.service-area-chip-row a:hover{border-color:var(--red-600);color:var(--red-600)}.projects-hero{align-items:end;background:var(--navy-950);color:var(--white);display:grid;min-height:clamp(28rem,58vw,42rem);overflow:hidden;position:relative}.projects-hero-image,.projects-hero-shade{height:100%;inset:0;position:absolute;width:100%}.projects-hero-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.projects-hero-shade{background:linear-gradient(180deg,#07142b14,#07142be6),linear-gradient(90deg,rgba(7,20,43,.75),transparent)}.projects-hero-content{padding-block:4rem;position:relative;z-index:2}.hero-copy-rule{border-left:3px solid var(--red-500);max-width:55rem;padding-left:1.2rem}.hero-eyebrow{color:#b7d3ff;margin-bottom:1rem}.projects-hero h1{font-size:clamp(2.7rem,9vw,6rem);max-width:13ch}.projects-section{background:var(--paper)}.projects-heading h2{max-width:12ch}.project-marquee{margin-inline:calc((100vw - min(1180px,calc(100vw - 2rem)))/-2);overflow:hidden;padding-block:1rem 2rem}.project-marquee-track{animation:gallery-scroll 50s linear infinite;display:flex;gap:.85rem;width:-moz-max-content;width:max-content}.project-marquee:focus-within .project-marquee-track,.project-marquee:hover .project-marquee-track{animation-play-state:paused}.project-marquee-card{background:var(--navy-900);border:0;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:0;width:clamp(14rem,56vw,24rem)}.project-marquee-card img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%}.project-gallery{display:none}.lightbox{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#030a18f5;color:var(--white);display:grid;gap:.25rem;grid-template-columns:3rem minmax(0,1fr) 3rem;inset:0;padding:4.5rem .5rem 1rem;position:fixed;z-index:100}.lightbox-panel{display:grid;gap:.8rem;justify-items:center;max-height:calc(100dvh - 6rem)}.lightbox-panel img{border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:calc(100dvh - 8.5rem);max-width:100%;-o-object-fit:contain;object-fit:contain}.lightbox-panel figcaption{color:#ffffffb3;font-size:.78rem}.lightbox-close,.lightbox-nav{align-items:center;background:#ffffff14;border:1px solid hsla(0,0%,100%,.24);border-radius:999px;color:var(--white);cursor:pointer;display:inline-flex;justify-content:center;min-height:2.75rem;min-width:2.75rem}.lightbox-close{font-size:.75rem;gap:.4rem;padding-inline:.8rem;position:absolute;right:1rem;top:1rem}.lightbox-close span{font-size:1.25rem}.lightbox-nav{font-size:1.2rem}.about-page{padding-block:clamp(4rem,10vw,8rem)}.about-panel{border-bottom:1px solid var(--line);display:grid;gap:2.5rem;padding-block:clamp(2rem,6vw,5rem)}.about-panel:first-child{padding-top:0}.about-statement{align-content:start;display:grid;gap:1rem}.about-statement h1,.about-statement h2{font-size:clamp(2.7rem,9vw,5.7rem);max-width:11ch}.about-copy{color:var(--ink-soft);display:grid;gap:1rem}.about-copy>p:not(.about-eyebrow){max-width:46rem}.about-photo-card{background:var(--navy-950);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:1.2rem;overflow:hidden;position:relative}.about-photo-card:before{border:1px solid hsla(0,0%,100%,.16);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.about-photo-card img{height:auto;width:100%}.estimate-layout{display:grid;gap:2.5rem}.estimate-intro{align-content:start;display:grid;gap:1.2rem}.estimate-intro h1{font-size:clamp(2.8rem,10vw,5.8rem);max-width:11ch}.estimate-proof-list{display:grid;gap:.5rem;list-style:none;margin:.5rem 0 0;padding:0}.estimate-proof-list li{align-items:center;color:var(--ink-soft);display:flex;font-size:.9rem;gap:.7rem}.estimate-proof-list li:before{background:var(--navy-800);border-radius:50%;color:var(--white);content:"✓";display:grid;flex:0 0 auto;font-size:.65rem;height:1.35rem;place-items:center;width:1.35rem}.estimate-contact-card{background:var(--blue-100);border-left:3px solid var(--red-600);display:grid;gap:.2rem;margin-top:1rem;padding:1rem 1.1rem}.estimate-contact-card p,.estimate-contact-card span{color:var(--ink-soft);font-size:.78rem}.estimate-contact-card a{font-family:var(--display);font-size:1.55rem;font-weight:700;width:-moz-fit-content;width:fit-content}.estimate-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:grid;gap:1.1rem;padding:clamp(1.1rem,4vw,2rem)}.form-grid{display:grid;gap:1rem}.estimate-form label{display:grid;gap:.45rem}.estimate-form label>span{font-family:var(--utility);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.estimate-form input,.estimate-form select,.estimate-form textarea{background:#fcfcfa;border:1px solid rgba(10,23,48,.2);border-radius:.6rem;color:var(--ink);min-height:3.25rem;padding:.75rem .85rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;width:100%}.estimate-form textarea{min-height:9rem;resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{background:var(--white);border-color:var(--navy-800);box-shadow:0 0 0 4px #78a9f43d;outline:0}.estimate-form input.field-invalid{background:#bb26380a;border-color:var(--red-600);box-shadow:0 0 0 3px #bb263824}.estimate-form input.field-invalid:focus{border-color:var(--red-600);box-shadow:0 0 0 4px #bb263829}.field-error{color:var(--red-600);font-size:.78rem;font-weight:700}.estimate-submit{margin-top:.35rem;width:100%}.estimate-submit:disabled{cursor:wait;opacity:.65;transform:none}.form-status{border-radius:.55rem;font-size:.84rem;padding:.8rem}.form-status-pending{background:var(--blue-100);color:var(--navy-800)}.form-status-success{background:#e3f5ea;color:#175e3a}.form-status-error{background:#fce8eb;color:#8c1829}.service-area-page{padding-block:clamp(4rem,10vw,8rem);position:relative}.service-area-hero{display:grid;gap:1.2rem}.service-area-hero h1{font-size:clamp(2.8rem,9vw,5.6rem);max-width:14ch}.service-area-grid{display:grid;gap:.85rem;margin-top:clamp(3rem,7vw,5rem)}.service-area-card{align-content:end;background:radial-gradient(circle at 85% 0,rgba(120,169,244,.34),transparent 9rem),linear-gradient(135deg,var(--navy-800),var(--navy-950));border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--white);display:grid;gap:.55rem;min-height:16rem;overflow:hidden;padding:1.4rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.service-area-card:after{color:var(--blue-500);content:"↗";font-size:1.2rem;position:absolute;right:1.3rem;top:1.3rem}.service-area-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service-area-card>span,.service-area-proof>span{color:#a9caff;font-family:var(--utility);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.service-area-card>strong,.service-area-proof>strong{font-family:var(--display);font-size:clamp(1.9rem,7vw,3.2rem);line-height:1}.service-area-card p,.service-area-proof p{color:#ffffffa8;font-size:.86rem;line-height:1.5}.service-area-detail{display:grid;gap:2rem}.service-area-hero-copy{align-content:center;display:grid;gap:1.2rem}.service-area-hero-copy h1{font-size:clamp(2.8rem,9vw,5.6rem)}.service-area-proof{align-content:end;background:radial-gradient(circle at 80% 10%,rgba(120,169,244,.3),transparent 10rem),var(--navy-950);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--white);display:grid;gap:.75rem;min-height:18rem;padding:1.5rem}.service-area-content{border-top:1px solid var(--line);display:grid;gap:2rem;margin-top:clamp(4rem,10vw,7rem);padding-top:clamp(3rem,7vw,5rem)}.service-area-content h2{font-size:clamp(2rem,6vw,3.6rem);margin-top:1rem;max-width:13ch}.service-area-service-list{border-top:1px solid var(--line);display:grid}.service-area-service-list a{border-bottom:1px solid var(--line);display:grid;gap:.25rem;padding-block:1rem}.service-area-service-list span{color:var(--red-600);font-family:var(--utility);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.service-area-service-list strong{font-family:var(--display);font-size:1.25rem}.service-area-service-list p{color:var(--ink-soft);font-size:.84rem}.site-footer{background:radial-gradient(circle at 8% 65%,rgba(120,169,244,.15),transparent 22rem),var(--navy-950);color:var(--white)}.footer-cta{border-bottom:1px solid var(--line-light);display:grid;gap:1.5rem;padding-block:clamp(3.5rem,8vw,6rem)}.footer-cta .eyebrow{color:#a9caff;margin-bottom:1rem}.footer-cta h2{font-size:clamp(2.2rem,7vw,4.5rem);max-width:12ch}.footer-cta-actions{display:flex;flex-wrap:wrap;gap:.7rem}.footer-cta-actions .button{flex:1 1 12rem}.footer-grid{display:grid;gap:2.4rem;padding-block:3.5rem}.footer-logo-column{align-items:start;display:flex}.footer-logo{height:auto;width:min(12rem,48vw)}.footer-label{color:#a9caff;margin-bottom:.8rem}.footer-grid p{color:#ffffff9e;font-size:.82rem;max-width:28rem}.footer-grid a{align-items:center;color:#fffc;display:inline-flex;min-height:2rem}.footer-grid a:hover{color:var(--white)}.footer-description{margin-top:.5rem}.footer-socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.footer-social-link{border:1px solid var(--line-light);border-radius:999px;display:inline-flex;gap:.5rem;min-height:2.75rem!important;padding:.5rem .8rem}.footer-social-link svg{fill:currentColor;height:1rem;width:1rem}.footer-bottom{border-top:1px solid var(--line-light);display:grid;gap:.3rem;padding-block:1.3rem}.footer-bottom p{color:#ffffff70;font-size:.68rem}.mobile-cta{background:var(--navy-950);border-top:1px solid hsla(0,0%,100%,.18);bottom:0;box-shadow:0 -10px 32px #07142b3d;display:grid;grid-template-columns:.8fr 1.2fr;left:0;position:fixed;right:0;z-index:40}.mobile-cta a{color:var(--white);display:grid;font-family:var(--utility);font-size:.82rem;font-weight:700;letter-spacing:.05em;min-height:4.6rem;place-items:center;text-transform:uppercase}.mobile-cta a+a{background:var(--red-600)}.menu-open .mobile-cta{display:none}.image-grid{display:grid;gap:1rem}.image-placeholder{background:var(--navy-900);border-radius:var(--radius-md);color:var(--white);display:grid;min-height:18rem;padding:1.3rem;place-items:end start}.image-copy{max-width:24rem}@keyframes hero-rise{0%{opacity:0;transform:translateY(1.2rem)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-scroll{to{transform:translate(calc(-50% - .425rem))}}@media(min-width:640px){.container{width:min(1180px,calc(100% - 3rem))}.header-cta{display:inline-flex}.home-proof-row{grid-template-columns:repeat(3,1fr)}.home-trust-grid{grid-template-columns:repeat(4,1fr)}.home-trust-grid p{border-bottom:0}.home-trust-grid p:nth-child(2n){border-right:1px solid var(--line)}.home-trust-grid p:last-child{border-right:0}.form-grid,.service-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{gap:.8rem;grid-template-columns:3.5rem minmax(0,1fr) 3.5rem;padding-inline:1rem}}@media(min-width:760px){.page-shell{padding-bottom:0}.about-panel,.local-summary-panel,.section-heading-split,.service-area-content{gap:clamp(3rem,8vw,7rem);grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr)}.section-heading-split{align-items:end}.section-heading-split>.text-link,.section-heading-split>p{justify-self:end}.hero-actions .button{flex:0 0 auto}.home-hero-inner{padding-bottom:3rem}.home-service-row{gap:1.25rem;grid-template-columns:2.5rem minmax(12rem,.75fr) minmax(18rem,1.25fr) 2rem}.home-service-row p{grid-column:auto}.project-preview-grid{gap:1rem;grid-auto-flow:unset;grid-template-columns:repeat(12,1fr);overflow:visible}.project-photo-card-1{grid-column:1/8}.project-photo-card-2{grid-column:8/13}.project-photo-card-3{grid-column:4/11}.project-photo-card-1 .project-photo-media{aspect-ratio:5/4}.project-photo-card-2 .project-photo-media{aspect-ratio:4/5}.project-photo-card-3 .project-photo-media{aspect-ratio:16/9}.faq-layout{gap:clamp(3rem,8vw,7rem);grid-template-columns:minmax(15rem,.7fr) minmax(22rem,1.3fr)}.estimate-layout,.service-area-detail,.services-intro-grid{gap:clamp(3rem,7vw,6rem);grid-template-columns:minmax(0,1fr) minmax(20rem,.82fr)}.services-photo{transform:translateY(2rem)}.simple-service-row{gap:1.2rem;grid-template-columns:3rem 1fr 3rem;padding-block:1.65rem}.simple-service-copy{align-items:center;gap:2rem;grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr)}.about-copy{font-size:1.02rem}.project-marquee{display:none}.project-gallery{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery .project-photo-card:nth-child(3n+1){grid-row:span 2}.project-gallery .project-photo-card:nth-child(3n+1) .project-photo-media{height:100%;min-height:28rem}.footer-cta{align-items:end;grid-template-columns:minmax(0,1fr) auto}.footer-cta-actions .button{flex:0 0 auto}.footer-grid{grid-template-columns:minmax(9rem,.55fr) 1.25fr .8fr .8fr}.footer-bottom{grid-template-columns:1fr auto}.mobile-cta{display:none}}@media(min-width:980px){.topbar-inner{min-height:5.7rem}.brand-logo{height:4.3rem;width:4.3rem}.desktop-nav{align-items:center;display:flex;font-family:var(--utility);font-size:.75rem;font-weight:700;gap:clamp(1rem,2vw,1.8rem);letter-spacing:.05em;margin-left:auto;text-transform:uppercase}.desktop-nav a{align-items:center;color:#ffffffad;display:inline-flex;min-height:2.75rem;position:relative}.desktop-nav a:after{background:var(--red-500);bottom:.25rem;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .18s ease}.desktop-nav a.router-link-active,.desktop-nav a:hover{color:var(--white)}.desktop-nav a.router-link-active:after,.desktop-nav a:hover:after{transform:scaleX(1)}.phone-link{align-items:center;color:#fffc;display:inline-flex;font-family:var(--utility);font-size:.78rem;font-weight:700;min-height:2.75rem}.menu-toggle,.mobile-menu{display:none}.home-hero{min-height:min(50rem,calc(100svh - 5.7rem))}.home-hero:before{background:linear-gradient(90deg,rgba(7,20,43,.92),rgba(7,20,43,.5) 38%,rgba(7,20,43,.08) 66%,transparent 78%),linear-gradient(180deg,transparent 55%,rgba(7,20,43,.72))}.home-hero-image{-o-object-position:54% 42%;object-position:54% 42%}.home-hero-inner{align-items:end;grid-template-columns:minmax(0,1fr) 21rem;padding-block:7rem 3rem}.home-proof-row{border-left:1px solid var(--line-light);border-top:0;grid-template-columns:1fr;padding-left:1.5rem;padding-top:0}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.service-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-area-card:nth-child(2),.service-area-card:nth-child(3){transform:translateY(2rem)}.service-area-card:nth-child(2):hover,.service-area-card:nth-child(3):hover{transform:translateY(calc(2rem - 4px))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.project-marquee{overflow-x:auto}}
