@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.topbar{background:var(--royal);color:#fff;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:.55rem 2rem;font-size:.78rem;display:flex}.top-contact{gap:1.5rem;display:flex}.top-contact a:hover,.site-footer a:hover{color:var(--accent-gold)}:root{--header-h:140px;--topbar-h:42px;--bar-h:0px}.site-header{border-bottom:5px solid var(--accent-gold);padding:1rem 2rem}.logo-wrap{flex:0 0 210px;align-items:center;width:210px;height:55px;display:flex;overflow:visible}.logo-wrap img{object-fit:contain;width:200px;height:55px;transform:none}.main-nav>.socials{white-space:nowrap;flex:none;align-items:center}.main-nav{flex:1;justify-content:center;gap:1.4rem}.socials{align-items:center;gap:.65rem;margin-top:0;display:flex}.socials a{color:#fff;background:0 0;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s,color .2s;display:inline-flex;overflow:hidden}.socials a:hover,.socials a:focus-visible{background:var(--accent-gold);color:var(--navy)}.socials a:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.socials svg{stroke-width:2px;width:18px;height:18px}.homeadvisor-mark{font-size:12px;font-weight:800;line-height:1}.homeadvisor-social-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.pages-dropdown{position:relative}.pages-dropdown>button{font:inherit;color:inherit;padding:.5rem .75rem}.pages-menu{border:1px solid var(--gray-light);z-index:50;background:#fff;min-width:170px;padding:.5rem;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0000001f}.pages-menu a{white-space:nowrap;padding:.65rem .75rem;display:block}.pages-dropdown:hover .pages-menu,.pages-dropdown:focus-within .pages-menu{display:block}.footer-brand img{object-fit:contain;transform:none}.main-nav>.socials{margin-left:.5rem}.button-primary{background:var(--royal)}.hero{background:linear-gradient(90deg,#fffffffa 0%,#ffffffe6 48%,#fff0 100%);min-height:620px}.video-hero{isolation:isolate;background:var(--royal);min-height:clamp(620px,100svh - 126px,860px);color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.video-hero-media,.video-hero-scrim{width:100%;height:100%;position:absolute;inset:0}.video-hero-media{z-index:-2;object-fit:cover;object-position:center}.video-hero-scrim{z-index:-1;background:linear-gradient(90deg,#05121deb 0%,#0c273cbd 42%,#0c273c40 78%,#0c273c66 100%)}.video-hero-content{width:100%;padding-top:7rem;padding-bottom:7rem}.video-hero h1{letter-spacing:-.06em;color:#fff;max-width:720px;font-size:clamp(3.4rem,8vw,7.5rem)}.video-hero h1 i{color:var(--accent-gold)}.video-hero .hero-text{color:#ffffffd6;max-width:560px;margin:1.5rem 0 2rem;font-size:clamp(1rem,1.5vw,1.25rem)}.video-hero .eyebrow{color:var(--accent-gold)}.video-hero .text-link{color:#fff}.video-hero .hero-proof{color:#ffffffbf}.video-hero .hero-proof strong{color:#fff}@media (prefers-reduced-motion:reduce){.video-hero-media{animation:none}}@media (max-width:768px){.video-hero{align-items:flex-end;min-height:700px}.video-hero-media{object-position:center}.video-hero-scrim{background:linear-gradient(#05121d33,#05121de0 68%)}.video-hero-content{padding-top:5rem;padding-bottom:4rem}.video-hero h1{font-size:clamp(3.1rem,15vw,5rem)}}.hero-visual .image-frame{box-shadow:18px 18px 0 var(--accent-gold)}.trust-bar{background:var(--royal);color:#fff;border-top:8px solid var(--accent-gold);border-bottom:8px solid var(--accent-gold)}.proof-strip{border-bottom:1px solid var(--gray-light);background:var(--offwhite);grid-template-columns:repeat(4,1fr);display:grid}.proof-strip>div{border-right:1px solid var(--gray-light);flex-direction:column;gap:.2rem;padding:1.25rem 2rem;display:flex}.proof-strip>div:last-child{border-right:0}.proof-strip strong{color:var(--royal);font-size:.92rem}.proof-strip span{color:var(--gray-mid);font-size:.78rem}.services-index,.projects-index{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem)}.services-directory{border-top:1px solid var(--gray-light)}.services-directory>a{border-bottom:1px solid var(--gray-light);grid-template-columns:70px 1fr auto;align-items:center;gap:1.5rem;padding:1.5rem 0;transition:padding .2s,background .2s;display:grid}.services-directory>a:hover{background:var(--offwhite);padding-left:1rem;padding-right:1rem}.services-directory>a>span{color:var(--accent-gold);letter-spacing:.1em;font-weight:800}.services-directory h3{color:var(--royal);margin-bottom:.25rem;font-style:normal}.services-directory p{color:var(--gray-mid)}.service-hero{background:var(--royal);color:#fff;border-bottom:8px solid var(--accent-gold);padding:clamp(4rem,8vw,8rem) 0}.service-hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.service-hero h1{margin:.75rem 0 1.25rem;font-size:clamp(3rem,7vw,6.5rem)}.service-hero h1 i,.service-hero .eyebrow{color:var(--accent-gold)}.service-hero p:not(.eyebrow){color:#fffc;max-width:520px;font-size:1.1rem}.service-hero-image{aspect-ratio:4/3;box-shadow:18px 18px 0 var(--accent-gold);position:relative;overflow:hidden}.service-hero-image img{object-fit:cover}.button-row{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.service-hero .text-link{color:#fff}.service-intro{grid-template-columns:1fr 1fr;gap:5rem;padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid}.service-intro h2{margin-top:.75rem}.service-bullets{grid-template-columns:1fr 1fr;align-content:start;gap:1rem;display:grid}.service-bullets li{border-left:3px solid var(--accent-gold);background:var(--offwhite);color:var(--royal);padding:1.1rem 1.2rem;font-weight:700;list-style:none}.process-section{background:var(--offwhite);padding:clamp(4rem,8vw,8rem) 0}.process-grid{border-top:1px solid #d8dedf;grid-template-columns:repeat(5,1fr);margin-top:3rem;display:grid}.process-step{border-right:1px solid #d8dedf;margin-right:1rem;padding:1.5rem 1rem 0 0}.process-step:last-child{border-right:0}.process-step span{color:var(--accent-gold);letter-spacing:.1em;font-weight:800}.process-step h3{color:var(--royal);margin:.9rem 0 .5rem;font-style:normal}.process-step p{color:var(--gray-mid);font-size:.9rem}.service-faq{grid-template-columns:1fr 1.3fr;gap:5rem;padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid}.faq-list details{border-top:1px solid var(--gray-light);padding:1rem 0}.faq-list details:last-child{border-bottom:1px solid var(--gray-light)}.faq-list summary{cursor:pointer;color:var(--royal);justify-content:space-between;gap:1rem;font-weight:800;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list details p{color:var(--gray-mid);padding-top:.75rem}.service-cta,.contact-band{background:var(--royal);color:#fff;border-top:8px solid var(--accent-gold);padding:clamp(4rem,8vw,7rem) 0}.service-cta .section-shell,.contact-band .section-shell{justify-content:space-between;align-items:center;gap:3rem;display:flex}.service-cta h2,.contact-band h2{margin-top:.7rem}.service-cta h2 i,.contact-band h2 i{color:var(--accent-gold)}.about-grid,.contact-layout{grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);display:grid}.about-copy{color:var(--gray-mid);font-size:1.15rem}.about-project-photos{background:var(--offwhite);padding:clamp(4rem,8vw,8rem) 0}.about-photo-heading{max-width:560px;margin-bottom:2.5rem}.about-photo-heading h2{margin:.7rem 0 1rem}.about-photo-heading h2 i{color:var(--accent-gold)}.about-photo-heading>p:last-child{color:var(--gray-mid);font-size:1.08rem}.about-photo-grid{grid-template-columns:1.35fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.about-photo{background:var(--white);flex-direction:column;margin:0;display:flex}.about-photo img{object-fit:cover;width:100%;height:100%;min-height:360px;display:block}.about-photo-wide img{object-position:center}.about-photo figcaption{color:var(--royal);border-top:3px solid var(--accent-gold);padding:1rem 1.15rem;font-size:.9rem;font-weight:700}@media (max-width:768px){.about-photo-grid{grid-template-columns:1fr}.about-photo img{min-height:260px;max-height:360px}}.about-copy p+p{margin-top:1.25rem}.about-copy ul{color:var(--royal);grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem;font-weight:700;display:grid}.about-copy li{border-top:2px solid var(--accent-gold);padding-top:.65rem;list-style:none}.contact-band-links,.contact-details{flex-direction:column;gap:.8rem;display:flex}.contact-band-links a,.contact-details a{color:var(--accent-gold);font-size:1.2rem;font-weight:800}.contact-band-links span,.contact-details span{color:#ffffffb8}.contact-layout{align-items:start}.contact-info h2{margin:.75rem 0 1.2rem}.contact-info>p:not(.eyebrow){color:var(--gray-mid);max-width:440px;font-size:1.1rem}.contact-details{margin-top:2rem}.contact-details span{color:var(--gray-mid)}.contact-details a{color:var(--royal)}.mega-menu-services{min-width:720px}.mega-menu-portfolio{min-width:640px}.mega-menu-intro{border-right:1px solid var(--gray-light);padding-right:2rem}.mega-menu-intro h2{color:var(--royal);margin:.5rem 0 .75rem;font-size:1.65rem;font-style:normal}.mega-menu-intro p{color:var(--gray-mid);font-size:.9rem}.mega-menu-intro .eyebrow{color:var(--royal)}.menu-feature-link,.mega-menu-links a,.mega-project-links a{color:var(--royal);justify-content:space-between;align-items:center;gap:.8rem;font-weight:800;display:flex}.menu-feature-link{color:var(--accent-gold);margin-top:1.25rem}.mega-menu-links,.mega-project-links{grid-template-columns:1fr 1fr;align-content:start;gap:.4rem;display:grid}.mega-menu-links a,.mega-project-links a{padding:.65rem .75rem;font-size:.9rem}.mega-menu-links a:hover,.mega-project-links a:hover{background:var(--offwhite)}.mobile-call{display:none}.service-card{border:1px solid #d9d9d9;border-bottom:5px solid var(--accent-gold);background:#fff}.service-card strong,.project-meta p,.contact-list a{color:var(--royal)}.spotlight{background:linear-gradient(135deg,var(--royal),var(--navy));border-left:12px solid var(--accent-gold);border-radius:0}.project-card{border-bottom:4px solid var(--accent-gold);border-radius:0}.page-hero{background:linear-gradient(120deg,var(--royal),var(--navy));color:#fff;border-bottom:8px solid var(--accent-gold);padding:4rem 0}.page-hero h1{max-width:800px;margin:.6rem 0}.page-hero>.section-shell>p:last-child{color:#ffffffd1;max-width:650px;font-size:1.15rem}.page-hero .eyebrow{color:var(--accent-gold)}.footer-main{grid-template-columns:2fr 1fr 1.35fr 1.4fr;gap:3rem;max-width:1200px;margin:auto;padding:4rem 2rem;display:grid}.footer-main>div{flex-direction:column;gap:.6rem;display:flex}.footer-main h3{color:var(--accent-gold);font-style:normal}.footer-main p,.footer-main span{color:#c8d0d8}.footer-grid{grid-template-columns:2fr 1fr 1.4fr;gap:4rem;max-width:1200px;margin:auto;padding:4rem 2rem;display:grid}.footer-grid>div{flex-direction:column;gap:.65rem;display:flex}.footer-grid h3{color:var(--accent-gold);font-style:normal}.footer-grid p{color:#c8d0d8}.footer-logo{filter:brightness(0)invert();margin-bottom:1rem}.socials{gap:1.2rem;margin-top:1rem;display:flex}.footer-bottom{color:#b8c0c8;border-top:1px solid #fff3;justify-content:space-between;max-width:1200px;margin:auto;padding:1.25rem 2rem;font-size:.85rem;display:flex}.service-detail-grid,.location-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin-top:5rem;display:grid}.service-detail-grid>p{color:var(--gray-mid);font-size:1.25rem}.location-card{background:var(--offwhite);border-left:8px solid var(--accent-gold);padding:3rem}.location-card h2{margin:1rem 0 1.5rem}.map-placeholder{background:repeating-linear-gradient(45deg,#dce7df 0 2px,#cfe0d2 2px 35px);flex-direction:column;justify-content:flex-end;gap:1rem;min-height:350px;padding:2rem;display:flex}.map-grid{color:var(--royal);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.map-grid span{letter-spacing:3px;font-size:1.2rem}.map-grid strong{font-size:5rem;font-style:italic}.map-placeholder a{color:var(--royal);font-weight:700}.contact-list{flex-direction:column;gap:.8rem;font-size:1.1rem;display:flex}.project-grid-large{grid-template-columns:repeat(2,1fr)}@media (max-width:1100px){.menu-button{display:flex}.main-nav{z-index:60;background:var(--royal);color:#fff;flex-direction:column;justify-content:center;align-items:stretch;gap:.4rem;padding:6rem 2rem 2rem;display:none;position:fixed;inset:0}.main-nav>a,.nav-mega-item>button{padding:.8rem 0;font-size:1.8rem}.main-nav>.socials{margin-top:1rem}.nav-mega-item{position:static}.main-nav.is-open{display:flex}.mega-menu{width:auto;min-width:0;box-shadow:none;background:0 0;border:0;grid-template-columns:1fr;margin:0;padding:.4rem 0 1rem;display:none;position:static;transform:none}.nav-mega-item:focus-within .mega-menu,.nav-mega-item:hover .mega-menu{display:grid}.mega-menu-intro{display:none}.mega-menu-links,.mega-project-links{grid-template-columns:1fr 1fr}.mega-menu-links a,.mega-project-links a{color:#fff;padding:.5rem 0}.nav-cta{align-self:flex-start;margin-top:1rem}}@media (max-width:768px){.topbar{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.55rem 1rem}.top-contact{flex-wrap:wrap;gap:.8rem}.site-header{padding:1rem}.footer-main,.footer-grid,.service-detail-grid,.location-grid,.service-hero-grid,.service-intro,.service-faq,.about-grid,.contact-layout{grid-template-columns:1fr;gap:2.5rem;padding-top:3rem;padding-bottom:3rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.75rem}.project-grid-large{grid-template-columns:1fr}.logo-wrap{width:180px}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip>div{padding:1rem}.process-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.process-step{border-right:0;margin-right:0;padding-right:0}.service-bullets{grid-template-columns:1fr}.service-hero-image{box-shadow:10px 10px 0 var(--accent-gold)}.service-cta .section-shell,.contact-band .section-shell{flex-direction:column;align-items:flex-start}.mega-menu-links,.mega-project-links{grid-template-columns:1fr}.mobile-call{z-index:80;background:var(--accent-gold);color:var(--royal);justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1rem;font-weight:800;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 25px #0003}}.site-header{z-index:40;border-bottom:1px solid var(--gray-light);background:var(--white);justify-content:space-between;align-items:center;gap:2rem;padding:1rem 2rem;display:flex;position:sticky;top:0}@media (max-width:768px){.site-header{padding:1rem}}.brand{letter-spacing:1px;white-space:nowrap;align-items:center;gap:.75rem;font-size:1rem;font-weight:700;display:flex}.brand b{font-style:italic;font-weight:700}.brand-mark{background:var(--navy);width:2rem;height:2rem;color:var(--white);border-radius:2px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.main-nav{align-items:center;gap:2rem;display:flex}.main-nav a{font-size:.95rem;font-weight:500;transition:opacity .2s}.main-nav a:hover{opacity:.7}@media (max-width:768px){.main-nav{background:var(--white);border-bottom:1px solid var(--gray-light);flex-direction:column;gap:1rem;max-height:0;padding:1.5rem;transition:max-height .3s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.main-nav.is-open{max-height:300px}}.menu-button{z-index:50;font-size:1.5rem;display:none}@media (max-width:768px){.menu-button{display:block}}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:4rem 2rem;display:grid}@media (max-width:768px){.hero{grid-template-columns:1fr;gap:2rem;padding:2rem}}.hero-copy{flex-direction:column;gap:1.5rem;display:flex}.eyebrow{letter-spacing:2px;color:var(--gray-mid);text-transform:uppercase;align-items:center;gap:.75rem;font-size:.85rem;font-weight:600;display:flex}.eyebrow-line{background:var(--gray-mid);width:2rem;height:1px;display:inline-block}.hero h1{color:var(--black)}.hero h1 i{font-style:italic;font-weight:700}.hero-text{color:var(--gray-mid);font-size:1.1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}@media (max-width:640px){.hero-actions{flex-direction:column;width:100%}}.button{white-space:nowrap;border-radius:2px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:inline-flex}.button span{font-size:.85em}.button-primary{background:var(--navy);color:var(--white)}.button-primary:hover{background:var(--royal)}.button-light{background:var(--white);color:var(--navy);border:2px solid var(--navy)}.button-light:hover{background:var(--offwhite)}.text-link{color:var(--navy);align-items:center;gap:.5rem;font-weight:600;transition:opacity .2s;display:inline-flex}.text-link:hover{opacity:.7}.hero-proof{flex-direction:column;gap:.25rem;display:flex}.hero-proof strong{color:var(--navy);font-size:1.25rem}.hero-proof span{color:var(--gray-mid);font-size:.85rem}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.image-frame{aspect-ratio:4/5;background:var(--gray-light);width:100%;position:relative;overflow:hidden}.image-frame img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-stamp{background:var(--white);letter-spacing:1px;border:2px solid var(--navy);padding:.75rem 1rem;font-size:.75rem;font-weight:700;line-height:1.3;position:absolute;bottom:1rem;left:1rem;transform:rotate(-8deg);box-shadow:0 4px 12px #0000001a}.hero-stamp span{color:var(--navy);display:block}.hero-stamp b{margin-top:.25rem;font-weight:700;display:block}.hero-caption{color:var(--white);text-shadow:0 1px 3px #0000004d;flex-direction:column;align-items:flex-end;gap:.5rem;font-size:.8rem;display:flex;position:absolute;bottom:1rem;right:1rem}.hero-caption span{letter-spacing:1px;font-weight:600}.trust-bar{background:var(--offwhite);text-align:center;letter-spacing:1px;color:var(--navy);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:3rem 2rem;font-size:.9rem;font-weight:600;display:grid}.section-shell{max-width:1200px;margin:0 auto;padding:4rem 2rem}@media (max-width:640px){.section-shell{padding:2rem}}.section-heading{grid-template-columns:1fr 1fr;align-items:flex-start;gap:2rem;margin-bottom:3rem;display:grid}.section-heading.light{color:var(--white)}@media (max-width:768px){.section-heading{grid-template-columns:1fr}}.section-heading h2{margin-bottom:.5rem}.section-heading p{color:var(--gray-mid);font-size:1rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.service-card{background:var(--offwhite);border-radius:4px;flex-direction:column;gap:1rem;padding:2rem;transition:all .3s;display:flex}.service-card:hover{background:var(--gray-light);transform:translateY(-4px)}.service-number{color:var(--navy);letter-spacing:1px;font-size:1.5rem;font-weight:700;display:inline-block}.service-card h3{color:var(--black);font-size:1.25rem}.service-card p{color:var(--gray-mid);flex:1}.service-card a{color:var(--navy);align-self:flex-start;font-weight:600;transition:opacity .2s}.service-card a:hover{opacity:.7}.spotlight{background:var(--navy);color:var(--white);border-radius:8px;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;max-width:1200px;margin:3rem auto;padding:3rem;display:grid}@media (max-width:768px){.spotlight{grid-template-columns:1fr;margin:2rem;padding:2rem}}.spotlight-image{aspect-ratio:4/5}.spotlight-copy{flex-direction:column;gap:1.5rem;display:flex}.spotlight-copy p{color:var(--white);opacity:.95}.work-section{background:var(--offwhite)}.filter-row{flex-wrap:wrap;gap:1rem;margin:2rem 0 3rem;display:flex}.filter{border:2px solid var(--gray-light);background:var(--white);cursor:pointer;border-radius:2px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.filter:hover{border-color:var(--navy);color:var(--navy)}.filter.active{background:var(--navy);color:var(--white);border-color:var(--navy)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.project-card{background:var(--white);text-align:left;border-radius:4px;flex-direction:column;gap:1rem;padding:0;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.project-image{aspect-ratio:4/5}.project-meta{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.project-meta span{color:var(--gray-mid);letter-spacing:1px;text-transform:uppercase;font-size:.8rem;font-weight:600}.project-meta h3{color:var(--black)}.project-meta p{color:var(--gray-mid);font-size:.9rem}.project-meta p b{font-weight:700}.process-section{background:var(--navy);color:var(--white);padding:3rem 0}.process-section .section-heading{color:var(--white)}.process-section .eyebrow{color:#ffffffb3}.process-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.process-step{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;gap:1rem;padding:2rem;display:flex}.process-step span{letter-spacing:2px;font-size:1.5rem;font-weight:700}.process-step h3{color:var(--white)}.process-step p{color:#fffc}.faq-section{background:var(--offwhite)}.faq-list{flex-direction:column;gap:1rem;display:flex}.faq-item{border-bottom:1px solid var(--gray-light)}.faq-item button{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:1.5rem 0;font-size:1rem;font-weight:600;transition:opacity .2s;display:flex}.faq-item button:hover{opacity:.7}.faq-item p{color:var(--gray-mid);padding:0 0 1.5rem;line-height:1.7}.contact-section{background:var(--offwhite)}.contact-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2rem}.footer-cta,.location-map-card,.split-copy,.mission-grid{grid-template-columns:1fr}.footer-cta{align-items:start;padding:2rem 1.25rem}.footer-cta .button{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;padding:2.5rem 1.25rem}.services-grid-seven,.gallery-grid{grid-template-columns:1fr 1fr}.home-banner,.portfolio-intro{flex-direction:column;align-items:flex-start;margin-left:1rem;margin-right:1rem;padding:2rem}.location-map-card{grid-template-columns:1fr;gap:1.5rem}.location-map-frame iframe{height:280px}.split-copy,.mission-grid{gap:2rem}.mission-number{font-size:5rem}}.contact-copy{color:var(--gray-mid);margin:1rem 0;font-size:1rem}.phone-link{color:var(--navy);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:1.25rem;font-weight:700;transition:opacity .2s;display:inline-flex}.phone-link:hover{opacity:.7}.estimate-form{flex-direction:column;gap:1.5rem;display:flex}.estimate-form label{flex-direction:column;gap:.5rem;font-weight:600;display:flex}.estimate-form input,.estimate-form textarea{border:1px solid var(--gray-light);border-radius:2px;padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}:is(.estimate-form input,.estimate-form textarea):focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #2c52821a}.footer-cta{border-bottom:1px solid #ffffff26;grid-template-columns:1fr 2fr auto;align-items:center;gap:2rem;max-width:1200px;margin:0 auto;padding:2.25rem 2rem;display:grid}.footer-brand{width:180px;height:52px;display:block;overflow:hidden}.footer-brand img{object-fit:contain;filter:brightness(0)invert();width:180px;height:52px}.footer-cta p{color:#c8d0d8;font-size:1.05rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}.socials a{border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;min-width:30px;height:30px;font-weight:700;display:inline-flex}.services-grid-seven{grid-template-columns:repeat(4,1fr)}.center-link{justify-content:center;margin-top:2.5rem;display:flex}.home-banner{background:var(--black);color:#fff;border-top:8px solid var(--accent-gold);justify-content:space-between;align-items:center;gap:2rem;max-width:1200px;margin:3rem auto 0;padding:3rem;display:flex}.home-banner .eyebrow{color:var(--accent-gold)}.home-banner h2{margin-top:.7rem}.portfolio-intro{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.portfolio-intro p:last-child{color:var(--gray-mid)}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.gallery-tile{background:var(--black);min-height:260px;position:relative;overflow:hidden}.gallery-tile img{object-fit:cover;width:100%;height:100%;min-height:260px;transition:transform .3s}.gallery-tile:hover img{opacity:.72;transform:scale(1.06)}.gallery-tile div{color:#fff;background:linear-gradient(#0000,#000000e6);justify-content:space-between;align-items:center;padding:1.25rem;display:flex;position:absolute;inset:auto 0 0}.gallery-tile span{font-size:1.3rem;font-style:italic;font-weight:700}.gallery-tile b{color:var(--accent-gold);font-size:.8rem}.location-page{padding-top:3rem}.location-map-card{background:0 0;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:2.5rem;display:grid}.location-map-frame{border:1px solid var(--royal);background:var(--offwhite);grid-area:1/1;overflow:hidden}.location-map-frame iframe{width:100%;height:420px;display:block}.location-info{grid-area:1/2;padding:1rem 0}@media (max-width:768px){.location-map-card{grid-template-columns:minmax(0,1fr);gap:1.5rem}.location-info{grid-area:1/1}.location-map-frame{border-radius:14px;grid-area:2/1;width:100%}.location-map-frame iframe{height:320px}}.location-info h2{margin:.75rem 0 1rem;font-style:italic}.location-info>p:not(.eyebrow){color:var(--gray-mid)}.location-details{color:var(--royal);flex-direction:column;gap:.55rem;margin-top:1.5rem;display:flex}.location-details a{color:var(--royal);font-weight:700}.location-directions{color:var(--accent-gold);margin-top:1.75rem;font-weight:800;display:inline-flex}.town-chip-list,.coverage-list{flex-wrap:wrap;gap:10px;display:flex}.town-chip{white-space:nowrap;color:#0b2545;background:#f6f8fb;border:1px solid #dde3ea;border-left:3px solid #c9a227;border-radius:0;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:600;display:inline-flex}.town-chip svg{color:#c9a227;flex:none}.town-chip-link span{text-underline-offset:3px;text-decoration:underline}.worked-town-county{border-top:1px solid #c9a227;padding:28px 0}.worked-town-heading{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.worked-town-heading h2{color:var(--royal);margin:0}.worked-town-heading span{color:var(--gray-mid)}.coverage-list{flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.coverage-list span{border:1px solid var(--royal);color:var(--royal);background:#fff;padding:.7rem 1rem;font-weight:600;transition:background-color .18s,color .18s}.coverage-list span:hover{background:var(--royal);color:#fff}.split-copy,.mission-grid{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}.split-copy>div:last-child,.mission-grid p{color:var(--gray-mid);font-size:1.2rem}.split-copy p+p,.mission-grid p+a{margin-top:1.5rem}.mission-number{color:var(--accent-gold);font-size:8rem;font-weight:800;line-height:1}.faq-page{max-width:900px}.faq-page details{border-bottom:1px solid var(--gray-light);padding:1.5rem 0}.faq-page summary{cursor:pointer;justify-content:space-between;font-size:1.15rem;font-weight:700;list-style:none;display:flex}.faq-page summary::-webkit-details-marker{display:none}.faq-page summary span{color:var(--accent-gold);font-size:1.5rem}.faq-page details p{color:var(--gray-mid);max-width:700px;padding-top:1rem}.site-footer{background:var(--black);color:var(--white);padding:3rem 0}.footer-inner{flex-direction:column;gap:1rem;display:flex}.footer-inner p{color:#ffffffb3;font-size:.9rem}.mobile-call{background:var(--navy);color:var(--white);z-index:30;border-radius:2px;padding:1rem 1.5rem;font-weight:600;display:none;position:fixed;bottom:1rem;right:1rem}@media (max-width:640px){.mobile-call{align-items:center;gap:.5rem;display:flex}}.mobile-call span{font-size:.85rem}.lightbox{z-index:60;background:#000000f2;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow:auto}.lightbox img{object-fit:cover;object-position:center;width:min(78vw,760px);max-width:100%;height:min(78vh,760px)}.lightbox-close{background:var(--white);width:2.5rem;height:2.5rem;color:var(--black);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:var(--gray-light)}.lightbox-label{background:var(--white);color:var(--black);border-radius:4px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex;position:absolute;bottom:2rem;left:2rem}.lightbox-label span{color:var(--gray-mid);letter-spacing:1px;text-transform:uppercase;font-size:.8rem;font-weight:600}.lightbox-label strong{font-size:1.1rem;font-weight:700}.lightbox-label small{color:var(--gray-mid);font-size:.9rem}.site-header{z-index:70;position:relative}.site-header .main-nav>a,.site-header .nav-mega-item>button{color:var(--royal);transition:color .18s;position:relative}.site-header .main-nav>a:after,.site-header .nav-mega-item>button:after{content:"";background:var(--accent-gold);opacity:0;height:1px;transition:left .18s,right .18s,opacity .18s;position:absolute;bottom:-.45rem;left:50%;right:50%}.site-header .main-nav>a:hover,.site-header .main-nav>a:focus-visible,.site-header .main-nav>a.is-active,.site-header .nav-mega-item:hover>button,.site-header .nav-mega-item:focus-within>button{color:var(--accent-gold)}.site-header .main-nav>a.is-active:after,.site-header .nav-mega-item.is-active>button:after{opacity:1;left:0;right:0}.site-header .nav-mega-item.is-active>button{color:var(--accent-gold)}.topbar .top-contact{align-items:center;gap:1.15rem}.topbar .utility-socials{opacity:1;gap:.45rem;margin:0}.topbar .utility-socials a{opacity:1;cursor:pointer;border:0;border-radius:0;width:20px;height:20px}.topbar .utility-socials a:hover{opacity:1;color:inherit}.topbar .utility-socials a img{object-fit:contain;filter:none;width:32px;height:32px;display:block}.topbar .utility-socials .homeadvisor-mark{color:var(--white);opacity:1}.site-header .main-nav>.socials{display:none}.nav-mega-item{position:static}.nav-mega-item>button{white-space:nowrap}.mega-menu-services,.mega-menu-company,.mega-menu-portfolio{position:absolute;top:100%;left:0;transform:translateY(8px)}.mega-menu-services,.mega-menu-portfolio{width:100vw;min-width:0;max-width:100vw}.mega-menu-services{grid-template-columns:30% 45% 25%;min-height:300px;padding:0}.mega-menu-portfolio{grid-template-columns:30% 70%;min-height:240px;padding:0}.nav-mega-item.is-open .mega-menu-services,.nav-mega-item.is-open .mega-menu-company,.nav-mega-item.is-open .mega-menu-portfolio,.nav-mega-item:hover .mega-menu-services,.nav-mega-item:hover .mega-menu-company,.nav-mega-item:hover .mega-menu-portfolio,.nav-mega-item:focus-within .mega-menu-services,.nav-mega-item:focus-within .mega-menu-company,.nav-mega-item:focus-within .mega-menu-portfolio{transform:translateY(0)}.mega-menu-company{border-top:1px solid var(--royal);opacity:0;visibility:hidden;pointer-events:none;z-index:71;background:#fff;grid-template-columns:30% 70%;width:min(960px,100%);min-height:300px;padding:0;transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s ease-out;position:absolute;box-shadow:0 12px 24px #08182f29}.mega-menu-company .mega-menu-intro{background:var(--royal);color:#fff;border:0;padding:2rem}.mega-menu-company .mega-menu-intro h2{color:#fff;margin:.8rem 0 1rem;font-style:normal}.mega-menu-company .mega-menu-intro p{color:#fffc}.mega-menu-company .mega-menu-intro .eyebrow,.mega-menu-company .menu-feature-link{color:var(--accent-gold)}.mega-company-links{padding:2rem clamp(1.5rem,3vw,3rem)}.mega-company-links h3{color:var(--royal);margin-bottom:1rem;font-style:normal}.mega-company-links a:hover{color:var(--accent-gold)}.mega-company-links a>span{flex-direction:column;gap:.25rem;display:flex}.mega-company-links a svg{transition:transform .18s}.mega-company-links a:hover svg{transform:translate(4px)}@media (max-width:1023px){.mega-menu-company{display:none!important}}@media (max-width:768px){.topbar{flex-direction:column;justify-content:center;align-items:stretch;gap:4px;padding:8px 16px}.topbar-service{font-size:12px;line-height:1.3;display:block}.topbar .top-contact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:1.3;display:flex}.top-contact>a:first-child{visibility:visible!important;display:inline!important}.topbar .utility-socials{display:flex}}.site-header .main-nav>a:hover:after,.site-header .main-nav>a:focus-visible:after,.site-header .nav-mega-item:hover>button:after,.site-header .nav-mega-item.is-open>button:after{opacity:1;left:0;right:0}.mega-menu-services{background:var(--white);border-top:1px solid var(--royal);opacity:0;visibility:hidden;pointer-events:none;grid-template-columns:28% 46% 26%;width:100vw;max-height:420px;padding:0;transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s ease-out;display:grid;position:absolute;top:100%;left:0;transform:translateY(8px);box-shadow:0 12px 24px #08182f29}.nav-mega-item.is-open .mega-menu-services,.nav-mega-item:hover .mega-menu-services,.nav-mega-item:focus-within .mega-menu-services{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mega-menu-services .mega-menu-intro{background:var(--royal);color:#fff;border:0;padding:2rem clamp(1.5rem,4vw,4rem)}.mega-menu-services .mega-menu-intro h2{color:#fff;margin:.8rem 0 1rem;font-size:clamp(1.5rem,2.4vw,2.3rem);font-style:normal}.mega-menu-services .mega-menu-intro p{color:#ffffffc7}.mega-menu-services .mega-menu-intro .eyebrow{color:var(--accent-gold)}.mega-menu-services .mega-menu-expertise{padding:2rem clamp(1.5rem,3vw,3.25rem)}.mega-menu-services .mega-menu-expertise h3{color:var(--royal);margin-bottom:1rem;font-style:normal}.mega-menu-services .mega-menu-links{grid-template-columns:1fr 1fr;gap:.2rem 2rem;display:grid}.mega-menu-services .mega-menu-links a{color:var(--royal);justify-content:space-between;align-items:center;padding:.7rem 0;font-weight:600;display:flex;position:relative}.mega-menu-services .mega-menu-links a:before{content:"";background:var(--accent-gold);width:0;height:1px;transition:width .18s;position:absolute;bottom:.35rem;left:0}.mega-menu-services .mega-menu-links a:hover{color:var(--accent-gold)}.mega-menu-services .mega-menu-links a:hover:before{width:calc(100% - 1.5rem)}.mega-menu-services .mega-menu-links a svg{transition:transform .18s}.mega-menu-services .mega-menu-links a:hover svg{transform:translate(4px)}.mega-menu-services .mega-menu-links .is-specialty{font-weight:800}.mega-menu-services .mega-menu-feature{border-left:1px solid var(--gray-light);flex-direction:column;gap:.6rem;padding:2rem;display:flex}.mega-menu-services .mega-menu-feature .eyebrow{color:var(--accent-gold)}.mega-menu-services .mega-menu-feature img{object-fit:cover;width:100%;height:145px;margin:.25rem 0 .2rem}.mega-menu-services .mega-menu-feature strong{color:var(--royal)}.mega-menu-services .mega-menu-feature a{color:var(--accent-gold);font-weight:700}@media (max-width:1023px){.mega-menu-services{display:none!important}}.site-header-wrapper{top:calc(-1 * var(--topbar-h));z-index:50;background:var(--white);position:sticky}.site-header-wrapper .site-header{z-index:50;background:var(--white);position:relative}.site-header-wrapper .topbar{z-index:50;position:relative}.site-header .main-nav>a,.site-header .nav-mega-item>button{color:var(--royal);opacity:1}.site-header .nav-mega-item>button svg{transition:transform .18s}.site-header .nav-mega-item.is-open>button svg{transform:rotate(180deg)}.site-header .main-nav{justify-content:center;margin-inline:auto}.site-header .main-nav>a:last-child{margin-right:0}.utility-socials a{color:#fff;opacity:.7;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.utility-socials a img{object-fit:contain;width:16px;height:16px}.utility-socials a:hover{color:inherit;opacity:1}.utility-socials a:hover img{filter:none}.homeadvisor-mark{letter-spacing:-.04em;color:inherit;font-size:.62rem;font-weight:800;line-height:1}.mega-panel{z-index:40;border-top:1px solid var(--royal);opacity:1;visibility:visible;pointer-events:auto;background:#fff;width:100%;display:grid;position:absolute;top:100%;left:0;right:0;transform:none;box-shadow:0 18px 36px #08182f33}.mega-panel-services{grid-template-columns:30% 45% 25%;min-height:300px}.mega-panel-company,.mega-panel-portfolio{grid-template-columns:30% 70%;min-height:250px}.mega-panel-intro{background:var(--royal);color:#fff;padding:2rem clamp(1.5rem,4vw,4rem)}.mega-panel-intro h2{color:#fff;margin:.8rem 0 1rem;font-style:normal}.mega-panel-intro p{color:#fffc}.mega-panel-intro .eyebrow,.mega-panel-intro a{color:var(--accent-gold)}.mega-panel-intro a,.mega-panel-feature a{justify-content:space-between;gap:.75rem;margin-top:1.25rem;font-weight:700;display:flex}.mega-panel-links,.mega-company-links,.mega-project-links{padding:2rem clamp(1.5rem,3vw,3rem)}.mega-panel-links{grid-template-columns:1fr 1fr;align-content:start;gap:.2rem 2rem;display:grid}.mega-panel-links h3,.mega-company-links h3{color:var(--royal);grid-column:1/-1;margin-bottom:.6rem;font-style:normal}.mega-panel-links a,.mega-project-links a{color:var(--royal);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;font-weight:600;display:flex}.mega-panel-links a:hover,.mega-project-links a:hover,.mega-company-links a:hover{color:var(--accent-gold)}.mega-panel-feature{border-left:1px solid var(--gray-light);flex-direction:column;gap:.6rem;padding:2rem;display:flex}.mega-panel-feature .eyebrow{color:var(--accent-gold)}.mega-panel-feature img{object-fit:cover;width:100%;height:145px}.mega-panel-feature strong{color:var(--royal)}.mega-panel-feature a{color:var(--accent-gold)}.mega-company-links a{color:var(--royal);border-bottom:1px solid var(--gray-light);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.mega-company-links a span{flex-direction:column;gap:.25rem;display:flex}.mega-company-links small{color:var(--gray-mid);font-size:.78rem;font-weight:400}.mega-project-links{grid-template-columns:1fr 1fr;align-content:start;gap:1rem 2rem;display:grid}.mega-project-links a{border-bottom:1px solid var(--gray-light)}body{padding-bottom:6rem}.sticky-ctas{z-index:80;opacity:0;pointer-events:none;flex-direction:column;gap:8px;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(12px)}.sticky-ctas.is-visible,.sticky-ctas.is-contact{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-ctas a{white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.8rem 1.2rem;font-size:.86rem;font-weight:800;display:inline-flex;box-shadow:0 8px 22px #08182f2e}.sticky-estimate{color:#fff;background:#0b2545}.sticky-estimate:hover{background:#123b68}.sticky-phone{color:#0b2545;background:#c9a227}.sticky-phone:hover{background:#d7b33e}.home-hero-primary{color:#0b2545;background:#c9a227;font-weight:700}.home-hero-primary:hover{color:#0b2545;background:#d7b33e}.mobile-phone-label{display:none}@media (max-width:1023px){.mega-panel{display:none}body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.sticky-ctas{width:100%;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);opacity:1;pointer-events:auto;background:#0b2545;flex-direction:row;gap:0;inset:auto 0 0;transform:none}.sticky-ctas a{min-height:56px;box-shadow:none;flex:1}.sticky-estimate{color:#fff;background:#0b2545}.sticky-phone{color:#0b2545;background:#c9a227}.desktop-phone-label{display:none}.mobile-phone-label{display:inline}}.about-photo-hero{background:var(--navy);color:#fff;align-items:center;height:70vh;min-height:420px;max-height:760px;display:flex;position:relative;overflow:hidden}.about-photo-hero>img{object-fit:cover;object-position:center 55%;width:100%;height:100%;position:absolute;inset:0}.about-photo-hero-overlay{background:#08182f8c;position:absolute;inset:0}.about-photo-hero-content{z-index:1;padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem);position:relative}.about-photo-hero-content .eyebrow{color:var(--accent-gold);letter-spacing:.16em}.about-photo-hero-content .eyebrow span{color:#ffffff73;margin:0 .35rem}.about-photo-hero h1{color:#fff;letter-spacing:-.045em;max-width:850px;margin-top:1rem;font-size:clamp(2.8rem,6vw,6rem);font-weight:300;line-height:1.02}.about-grid-section,.about-who-section{border-bottom:1px solid var(--gray-light);background:#fff}.about-grid-layout,.about-who-layout{grid-template-columns:1fr 1fr;min-height:520px;display:grid}.about-grid-layout>*,.about-who-layout>*{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,5vw,5rem)}.about-grid-title{border-right:1px solid var(--gray-light)}.about-grid-title h1,.about-who-copy h2{max-width:430px;color:var(--royal);letter-spacing:-.045em;font-size:clamp(2.4rem,4.7vw,5rem);font-weight:300;line-height:1.02}.about-grid-title h1 span{color:#6d8aa5}.about-grid-copy{color:#475569;max-width:610px;font-size:1.08rem;line-height:1.85}.about-grid-copy p+p{margin-top:1.7rem}.about-who-layout{grid-template-columns:1fr 1fr;min-height:620px}.about-who-copy{border-left:1px solid var(--gray-light);border-right:0;flex-direction:column;grid-column:2;justify-content:center;display:flex}.about-who-copy h2{margin-bottom:2rem;font-size:clamp(2.4rem,4.4vw,4.5rem)}.about-who-copy p{color:#475569;max-width:500px;font-size:1.04rem;line-height:1.8}.about-who-copy p+p{margin-top:1.4rem}.about-who-photo{grid-area:1/1;margin:0;padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,5vw,5rem) clamp(2.5rem,5vw,5rem) 0}.about-who-photo img{object-fit:cover;width:100%;height:100%;min-height:450px;display:block;transform:none}.about-impact{background:var(--navy);color:#fff;padding:clamp(4rem,8vw,7rem) 0}.about-impact-heading h2{color:#fff;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:300}.about-impact-heading p{color:#ffffffb3;margin-top:.8rem}.about-impact-stats{border-top:1px solid #ffffff3d;border-bottom:1px solid #ffffff3d;grid-template-columns:repeat(4,1fr);margin-top:3.5rem;display:grid}.about-impact-stats>div{border-right:1px solid #ffffff3d;flex-direction:column;justify-content:center;gap:.7rem;min-height:155px;padding:1.5rem 2rem;display:flex}.about-impact-stats>div:last-child{border-right:0}.about-impact-stats strong{color:var(--accent-gold);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:300;line-height:1}.about-impact-stats span{color:#ffffffb3;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.about-impact-footer{justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;display:flex}.about-impact-footer p{color:#ffffffc2}.about-impact-footer>div{align-items:center;gap:1.5rem;display:flex}.about-impact-footer .button-primary{white-space:nowrap}.about-impact-phone{color:var(--accent-gold);white-space:nowrap;font-weight:800}@media (max-width:768px){.about-photo-hero{height:50vh;min-height:320px;max-height:560px}.about-photo-hero h1{font-size:clamp(2.5rem,11vw,4rem)}.about-grid-layout,.about-who-layout{grid-template-columns:1fr;min-height:0}.about-grid-layout>*,.about-who-layout>*{padding:3.5rem 1.25rem}.about-grid-title{border-right:0;border-bottom:1px solid var(--gray-light)}.about-grid-copy{font-size:1rem}.about-who-layout{flex-direction:column;display:flex}.about-who-photo{order:1;padding:1.25rem}.about-who-copy{border-left:0;border-right:0;border-top:1px solid var(--gray-light);order:2}.about-who-photo img{min-height:300px;max-height:420px}.about-impact-stats{grid-template-columns:1fr 1fr}.about-impact-stats>div:nth-child(2){border-right:0}.about-impact-stats>div:nth-child(-n+2){border-bottom:1px solid #ffffff3d}.about-impact-footer{flex-direction:column;align-items:flex-start}.about-impact-footer>div{flex-direction:column;align-items:flex-start;gap:1rem}}.services-compact-hero{background:var(--navy);color:#fff;align-items:center;height:85vh;min-height:560px;display:flex;position:relative;overflow:hidden}.services-compact-hero>img{object-fit:cover;object-position:60% center}.services-compact-overlay{background:linear-gradient(90deg,#0b2545cc 0%,#0b254559 100%);position:absolute;inset:0}.services-compact-content{z-index:1;padding-top:5rem;padding-bottom:5rem;position:relative}.services-compact-content .eyebrow{color:var(--accent-gold)}.services-compact-content h1{color:#fff;letter-spacing:-.045em;max-width:900px;margin:.7rem 0 1rem;font-size:clamp(2.6rem,5.5vw,5.4rem);font-weight:300;line-height:1.02}.services-compact-content>p:not(.eyebrow){color:#ffffffd1;max-width:760px;font-size:1.08rem;line-height:1.65}.services-hero-phone{color:var(--accent-gold);margin-top:1.25rem;font-size:1.25rem;font-weight:800;display:inline-block}.services-grid-section{background:#fff;padding:96px 0}.services-grid-heading{max-width:700px;margin-bottom:2.5rem}.services-grid-heading h2{color:var(--royal);letter-spacing:-.045em;margin-top:.65rem;font-size:clamp(2.4rem,4.8vw,4.6rem);font-weight:300;line-height:1.04}.services-grid-heading h2 i{color:var(--accent-gold)}.services-card-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.service-overview-card{min-width:0;color:var(--royal);background:#fff;border:1px solid #d9dee6;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.service-overview-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0b25451f}.service-overview-card.is-featured{grid-column:span 2}.service-overview-image{aspect-ratio:16/8;background:#e8edf1;overflow:hidden}.service-overview-card:not(.is-featured) .service-overview-image{aspect-ratio:16/9}.service-overview-image img{object-fit:cover;width:100%;height:100%;display:block}.service-overview-copy{flex-direction:column;flex:1;align-items:flex-start;padding:1.35rem;display:flex;position:relative}.service-overview-number{color:var(--accent-gold);letter-spacing:.12em;font-size:.75rem;font-weight:800}.service-overview-copy h3{margin:.7rem 0 .45rem;font-size:1.5rem}.service-overview-copy p{max-width:42rem;color:var(--gray-mid);line-height:1.6}.service-overview-copy strong{color:var(--accent-gold);align-items:center;gap:.5rem;margin-top:auto;padding-top:1.2rem;font-size:.84rem;display:inline-flex}.services-process{background:var(--offwhite);padding:clamp(4.5rem,8vw,7rem) 0}.services-section-heading h2{color:var(--royal);letter-spacing:-.045em;margin-top:.65rem;font-size:clamp(2.5rem,4.8vw,4.5rem);font-weight:300;line-height:1.05}.services-process-grid{border-top:1px solid #d6dce4;border-bottom:1px solid #d6dce4;grid-template-columns:repeat(5,1fr);margin-top:3rem;display:grid}.services-process-step{border-right:1px solid #d6dce4;min-height:220px;padding:1.5rem 1.2rem}.services-process-step:last-child{border-right:0}.services-process-step>span{color:#c9a22773;font-size:3.5rem;font-weight:300;line-height:1}.services-process-step h3{color:var(--royal);margin:1.35rem 0 .55rem;font-size:1.08rem}.services-process-step p,.services-why-grid p{color:var(--gray-mid);line-height:1.65}.services-why{background:#fff;padding:clamp(4.5rem,8vw,7rem) 0}.services-why h2{max-width:750px}.services-why-grid{border-top:1px solid #d6dce4;border-bottom:1px solid #d6dce4;grid-template-columns:repeat(4,1fr);margin-top:3rem;display:grid}.services-why-grid>div{border-right:1px solid #d6dce4;min-height:170px;padding:1.5rem}.services-why-grid>div:last-child{border-right:0}.services-why-grid h3{color:var(--royal);margin-bottom:.7rem;font-size:1.05rem}.services-cta-band{background:var(--navy);color:#fff;padding:clamp(4rem,7vw,6.5rem) 0}.services-cta-band .section-shell{justify-content:space-between;align-items:center;gap:3rem;display:flex}.services-cta-band h2{color:#fff;max-width:650px;margin-top:.6rem;font-size:clamp(2.4rem,4.5vw,4.4rem);font-weight:300;line-height:1.05}.services-cta-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.5rem;display:flex}.services-cta-phone{color:var(--accent-gold);white-space:nowrap;font-size:1.4rem;font-weight:800}@media (max-width:1023px){.services-card-grid{grid-template-columns:repeat(2,1fr)}.service-overview-card.is-featured{grid-column:span 2}.services-process-grid{grid-template-columns:repeat(3,1fr)}.services-process-step:nth-child(3){border-right:0}.services-process-step:nth-child(-n+3){border-bottom:1px solid #d6dce4}.services-why-grid{grid-template-columns:repeat(2,1fr)}.services-why-grid>div:nth-child(2){border-right:0}.services-why-grid>div:nth-child(-n+2){border-bottom:1px solid #d6dce4}}@media (max-width:768px){.services-compact-hero{height:70vh;min-height:420px}.services-compact-hero>img{object-position:70% center}.services-compact-content{padding-top:4rem;padding-bottom:4rem}.services-compact-content h1{font-size:clamp(2.4rem,11vw,4rem)}.services-grid-section{padding:56px 0}.services-card-grid{grid-template-columns:1fr}.service-overview-card.is-featured{grid-column:auto}.services-process-grid,.services-why-grid{grid-template-columns:1fr}.services-process-step,.services-why-grid>div{border-bottom:1px solid #d6dce4;border-right:0;min-height:0}.services-process-step:last-child,.services-why-grid>div:last-child{border-bottom:0}.services-cta-band .section-shell{flex-direction:column;align-items:flex-start}.services-cta-actions{flex-direction:column;justify-content:flex-start;align-items:flex-start}}.footer-bottom{grid-template-columns:1fr 1.35fr 1.8fr;align-items:start;gap:2rem;max-width:1200px;display:grid}.footer-bottom>span{min-width:0}@media (max-width:768px){.footer-bottom{grid-template-columns:1fr;gap:.75rem}}.masonry-page-hero{color:#fff;background:var(--navy);align-items:center;min-height:60vh;display:flex;position:relative;overflow:hidden}.masonry-page-hero>img{object-fit:cover;object-position:center 58%}.masonry-page-hero-overlay{background:linear-gradient(90deg,#08182fcc,#08182f59);position:absolute;inset:0}.masonry-page-hero-content{z-index:1;padding-top:3rem;padding-bottom:3rem;position:relative}.masonry-page-hero h1{color:#fff;letter-spacing:-.05em;max-width:850px;margin:.65rem 0 1rem;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:300;line-height:1.02}.masonry-page-hero-content>p:not(.eyebrow){color:#ffffffdb;max-width:650px;font-size:1.2rem}.masonry-hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.masonry-phone{color:var(--accent-gold);font-size:1.25rem;font-weight:800}.masonry-intro,.masonry-builds,.masonry-cost,.masonry-projects,.masonry-faq{background:#fff;padding:64px 0}.masonry-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2rem clamp(2rem,5vw,4rem);display:grid}.masonry-two-column h2,.masonry-section-heading h2,.masonry-new-jersey h2{color:var(--royal);letter-spacing:-.035em;margin-top:.6rem;font-size:40px;font-weight:300;line-height:1.15}.masonry-intro h2{font-size:clamp(2rem,3.2vw,3.25rem)}.masonry-two-column>p,.masonry-two-column>div{max-width:65ch;color:var(--gray-mid);font-size:18px;line-height:1.75}.masonry-two-column>div p+p{margin-top:1rem}.masonry-section-heading{max-width:760px;margin:0 0 24px}.masonry-build-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.masonry-build-card{background:#fff;border:1px solid #dfe3e8;flex-direction:column;min-height:0;padding:32px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.masonry-build-card:hover{border-color:#c9a227;transform:translateY(-2px);box-shadow:0 10px 24px #0b25451a}.masonry-build-icon{color:#c9a227;flex:none;margin-bottom:1.5rem}.masonry-build-card h3,.masonry-signs-grid h3,.masonry-project-card h3{color:var(--royal);font-size:1.2rem;font-style:normal}.masonry-build-card p,.masonry-signs-grid p,.masonry-project-card p{color:var(--gray-mid);margin-top:.55rem;line-height:1.65}.masonry-signs{background:var(--offwhite);padding:64px 0}.masonry-signs-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px 40px;display:grid}.masonry-signs-grid article{border-top:2px solid var(--accent-gold);padding-top:0}.masonry-cost{background:var(--offwhite)}.masonry-new-jersey{color:#fff;background:var(--navy);padding:64px 0}.masonry-new-jersey h2{color:#fff;max-width:800px}.masonry-new-jersey>.section-shell>p:last-child{color:#fffc;max-width:65ch;margin-top:1.5rem;font-size:1.1rem;line-height:1.8}.masonry-project-grid{align-items:start;gap:24px;display:grid}.masonry-project-grid-1{grid-template-columns:minmax(0,560px);justify-content:center}.masonry-project-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.masonry-project-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.masonry-project-card{flex-direction:column;height:100%;display:flex}.masonry-project-card>div{aspect-ratio:4/3;background:var(--offwhite);margin-bottom:1rem;position:relative;overflow:hidden}.masonry-project-card img{object-fit:cover;transition:transform .25s}.masonry-project-card:hover img{transform:scale(1.03)}.masonry-faq-inner{grid-template-columns:.8fr 1.2fr;align-items:start;gap:2rem clamp(2rem,5vw,4rem);display:grid}.masonry-faq-list details{border-bottom:1px solid #d6dce4}.masonry-faq-list details:first-child{border-top:1px solid #d6dce4}.masonry-faq-list summary{cursor:pointer;min-height:56px;color:var(--royal);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 0;font-size:1.1rem;font-weight:700;line-height:1.4;list-style:none;display:flex}.masonry-faq-list summary::-webkit-details-marker{display:none}.masonry-faq-list summary:after{content:"+";color:var(--accent-gold);flex:none;margin-top:.1rem;font-size:1.5rem;font-weight:400;line-height:1}.masonry-faq-list details[open] summary:after{content:"−"}.roofing-service-page{background:var(--white);color:var(--black)}.roofing-service-page a{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--accent-gold);-webkit-text-decoration-color:var(--accent-gold);-webkit-text-decoration-color:var(--accent-gold);text-decoration-color:var(--accent-gold);text-underline-offset:3px}.roofing-service-page .page-hero a{text-decoration:none}.roofing-chip-row{flex-wrap:wrap;gap:.65rem;padding-top:1.25rem;padding-bottom:1.25rem;display:flex}.roofing-chip-row span{border:1px solid var(--border);background:var(--offwhite);color:var(--gray-mid);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.86rem;display:inline-flex}.roofing-chip-row span:before{content:"";background:var(--accent-gold);border-radius:50%;flex:none;width:.45rem;height:.45rem}.roofing-service-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:3rem;padding-top:2rem;padding-bottom:3rem;display:grid}.roofing-toc{position:sticky;top:7rem}.roofing-eyebrow{color:var(--accent-gold);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.roofing-toc ol,.roofing-toc-mobile ol{border-left:2px solid var(--border);margin:1rem 0 0;padding:0;list-style:none}.roofing-toc li a{color:var(--gray-mid);border-left:2px solid #0000;gap:.55rem;margin-left:-2px;padding:.38rem 0 .38rem 1rem;font-size:.9rem;line-height:1.35;text-decoration:none;display:flex}.roofing-toc li a span{color:var(--gray-mid);font-variant-numeric:tabular-nums}.roofing-toc li a.is-active{border-left-color:var(--accent-gold);color:var(--navy);font-weight:700}.roofing-toc-mobile{border:1px solid var(--border);border-radius:.75rem;margin-bottom:1rem;padding:1rem 1.1rem;display:none}.roofing-toc-mobile summary{cursor:pointer;color:var(--navy);font-weight:700;list-style:none}.roofing-toc-mobile summary::-webkit-details-marker{display:none}.roofing-toc-mobile summary:after{content:"⌄";float:right;color:var(--accent-gold)}.roofing-chapter{border-top:1px solid var(--border);padding:2.5rem 0 3rem;scroll-margin-top:7rem}.roofing-chapter:first-child{border-top:0;padding-top:0}.roofing-chapter>p,.roofing-chapter>.roofing-faq{max-width:48rem}.roofing-chapter p{color:var(--gray-mid);margin:0 0 1rem;font-size:1.05rem;line-height:1.75}.roofing-chapter h2{color:var(--navy);letter-spacing:-.035em;margin:.25rem 0 .8rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}.roofing-chapter h3{color:var(--navy);font-size:1.25rem}.roofing-chapter-number{color:#c9a22740;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:800;line-height:.9;display:block}.roofing-gold-bar{background:var(--accent-gold);width:3rem;height:3px;margin-bottom:1.5rem}.roofing-service-figure{border:1px solid var(--border);border-radius:1rem;margin:1.5rem 0 0;overflow:hidden;box-shadow:0 4px 18px #08182f14}.roofing-service-figure img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.roofing-service-figure figcaption{color:var(--gray-mid);padding:.65rem .8rem;font-size:.85rem}.roofing-figure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.roofing-figure-grid .roofing-service-figure{margin-top:1.5rem}.roofing-stepper{margin-top:2rem}.roofing-step{grid-template-columns:40px minmax(0,1fr) minmax(220px,.85fr);align-items:start;gap:1rem 1.25rem;padding:0 0 2rem;display:grid;position:relative}.roofing-step:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:40px;bottom:0;left:19px}.roofing-step-number{z-index:1;background:var(--accent-gold);width:40px;height:40px;color:var(--navy);border-radius:50%;place-items:center;font-weight:800;display:grid}.roofing-step-copy{padding-top:.4rem}.roofing-step-copy p{margin-top:.45rem}.roofing-step .roofing-service-figure{grid-area:1/3;margin-top:0}.roofing-inline-link{margin-top:1rem!important}.roofing-callout{border:1px solid var(--border);border-left:4px solid var(--accent-gold);background:var(--offwhite);border-radius:.75rem;max-width:48rem;margin-top:1.75rem;padding:1.25rem 1.35rem}.roofing-callout>div{color:var(--accent-gold);align-items:center;gap:.65rem;display:flex}.roofing-callout>div p{color:var(--navy)}.roofing-callout ul{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.roofing-callout li{color:var(--navy);align-items:flex-start;gap:.6rem;display:flex}.roofing-callout li svg{color:var(--accent-gold);flex:none;margin-top:.2rem}.roofing-comparison{max-width:62rem;margin:1.5rem 0}.roofing-comparison table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:.75rem;width:100%;overflow:hidden}.roofing-comparison th,.roofing-comparison td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:1rem}.roofing-comparison thead th{background:var(--navy);color:var(--white)}.roofing-comparison tbody tr:nth-child(2n){background:var(--offwhite)}.roofing-comparison tbody tr:last-child th,.roofing-comparison tbody tr:last-child td{border-bottom:0}.roofing-comparison tbody th{color:var(--navy);font-weight:700}.roofing-comparison-cards{display:none}.roofing-faq details{border-bottom:1px solid var(--border)}.roofing-faq details:first-child{border-top:1px solid var(--border)}.roofing-faq summary{cursor:pointer;color:var(--navy);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 0;font-weight:700;line-height:1.4;list-style:none;display:flex}.roofing-faq summary::-webkit-details-marker{display:none}.roofing-faq summary:after{content:"+";color:var(--accent-gold);font-size:1.4rem;font-weight:400}.roofing-faq details[open] summary:after{content:"−"}.roofing-faq details p{padding:0 2rem 1rem 0}.roofing-related-services{padding-top:1rem;padding-bottom:4rem}.roofing-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.link-card{border:1px solid var(--border);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;min-height:6rem;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;text-decoration:none!important}.link-card:hover{border-color:var(--accent-gold);transform:translateY(-2px);box-shadow:0 10px 22px #08182f1f}.link-card strong,.link-card small{display:block}.link-card strong{color:var(--navy);font-size:1.1rem}.link-card small{color:var(--gray-mid);margin-top:.3rem}.link-card-navy{background:var(--navy);border-color:#ffffff26}.link-card-navy strong{color:var(--white)}.link-card-navy small{color:#ffffffb3}.link-card-arrow{border:1px solid var(--accent-gold);width:40px;height:40px;color:var(--navy);border-radius:50%;flex:none;place-items:center;display:grid}.link-card-navy .link-card-arrow{color:var(--white);border-color:#ffffff4d}.link-card:hover .link-card-arrow{border-color:var(--accent-gold);background:var(--accent-gold);color:var(--navy)}.link-card:focus-visible,.roofing-toc a:focus-visible,.roofing-toc-mobile a:focus-visible,.roofing-faq summary:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.link-card{transition:none}.link-card:hover{transform:none}}@media (max-width:1023px){.roofing-service-layout{display:block}.roofing-toc{display:none}.roofing-toc-mobile{display:block}}@media (max-width:700px){.roofing-service-layout{padding-top:1rem}.roofing-chapter{padding:2.5rem 0}.roofing-step{grid-template-columns:40px minmax(0,1fr);gap:.75rem 1rem;display:grid}.roofing-step .roofing-service-figure{grid-area:auto/2}.roofing-step-copy{padding-top:.35rem}.roofing-figure-grid,.roofing-related-grid{grid-template-columns:1fr}.roofing-comparison table{display:none}.roofing-comparison-cards{gap:.75rem;display:grid}.roofing-comparison-cards article{border:1px solid var(--border);background:var(--offwhite);border-radius:.75rem;padding:1rem}.roofing-comparison-cards h3{margin-bottom:.8rem}.roofing-comparison-cards p{margin-bottom:.65rem;font-size:.95rem}.roofing-comparison-cards strong{color:var(--navy);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem;font-size:.78rem;display:block}}.masonry-faq-list details p{max-width:700px;color:var(--gray-mid);padding:0 0 1.25rem;line-height:1.7}.masonry-cta{color:#fff;background:var(--navy);padding:64px 0}.masonry-cta h2{color:#fff;letter-spacing:-.045em;max-width:760px;margin:.75rem 0 1.5rem;font-size:clamp(2.5rem,5vw,5rem);font-weight:300;line-height:1.04}@media (max-width:1023px){.masonry-build-grid,.masonry-project-grid-3,.masonry-project-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.masonry-signs-grid{grid-template-columns:1fr}.masonry-two-column,.masonry-faq-inner{gap:2rem}.masonry-two-column h2,.masonry-section-heading h2,.masonry-new-jersey h2{font-size:28px;line-height:1.2}}@media (max-width:639px){.masonry-page-hero{min-height:45vh}.masonry-page-hero-content{padding-top:2rem;padding-bottom:2rem}.masonry-page-hero>img{object-position:55% center}.masonry-intro,.masonry-builds,.masonry-signs,.masonry-cost,.masonry-projects,.masonry-faq,.masonry-new-jersey,.masonry-cta{padding:40px 0}.masonry-two-column,.masonry-faq-inner{grid-template-columns:1fr;gap:2rem}.masonry-build-grid,.masonry-signs-grid,.masonry-project-grid-2,.masonry-project-grid-3{grid-template-columns:1fr}.masonry-project-grid-1{grid-template-columns:minmax(0,1fr)}.masonry-build-card{min-height:0}.masonry-signs-grid{gap:24px}.masonry-signs-grid article{padding-bottom:1rem}}@media (prefers-reduced-motion:reduce){.sticky-ctas{transition:none}}.mobile-nav-overlay{display:none}@media (max-width:1023px){.site-header .menu-button{width:48px;height:48px;color:var(--royal);background:0 0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex!important}body.nav-open{overflow:hidden}body.nav-open .sticky-ctas{display:none}.mobile-nav-overlay{inset:var(--header-h) 0 0;z-index:9999;width:100vw;height:calc(100dvh - var(--header-h));max-height:calc(100dvh - var(--header-h));overscroll-behavior:contain;color:var(--royal);background:#fff;flex-direction:column;display:flex;position:fixed;overflow-y:auto}.mobile-nav-top{border-bottom:1px solid var(--gray-light);background:#fff;flex:0 0 76px;justify-content:space-between;align-items:center;min-height:76px;padding:0 1.25rem;display:flex}.mobile-nav-top>a{align-items:center;height:100%;display:flex}.mobile-nav-top img{object-fit:contain;width:184px;height:52px}.mobile-nav-close{width:48px;height:48px;color:var(--royal);background:0 0;justify-content:center;align-items:center;display:inline-flex}.mobile-nav-links{background:#fff;flex:none}.mobile-nav-row{border-bottom:1px solid var(--gray-light);width:100%;min-height:56px;color:var(--royal);text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.25rem;font-size:1.05rem;font-weight:700;display:flex}.mobile-nav-row svg{flex:none;transition:transform .18s}.mobile-nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-nav-sublinks{border-bottom:1px solid var(--gray-light);background:#f8f9fb}.mobile-nav-sublinks a{min-height:52px;color:var(--royal);border-bottom:1px solid #e5e8ed;align-items:center;padding:0 1.25rem 0 2rem;font-size:.96rem;display:flex}.mobile-nav-sublinks a:last-child{border-bottom:0}.mobile-nav-contact{border-bottom:1px solid var(--gray-light);grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem 1.25rem;display:grid}.mobile-nav-contact-us{color:var(--accent-gold);font-weight:800}.mobile-nav-socials{flex-direction:column;gap:.7rem;display:flex}.mobile-nav-socials a{color:var(--gray-mid);font-size:.92rem}.mobile-nav-bottom{padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));background:#fff;flex-direction:column;gap:.45rem;margin-top:auto;display:flex}.mobile-nav-bottom a:first-child{color:var(--royal);font-size:1.55rem;font-weight:800}.mobile-nav-bottom a:last-child{color:var(--gray-mid);font-size:.92rem}.mobile-nav-overlay a:focus-visible,.mobile-nav-overlay button:focus-visible{outline:2px solid var(--accent-gold);outline-offset:-2px}.main-nav.is-open{display:none}.site-header{background:#fff;height:76px;min-height:76px}.site-header-wrapper{top:calc(-1 * var(--topbar-h))}.menu-button{z-index:10000;position:relative}}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.-top-2{top:calc(var(--spacing) * -2)}.right-6{right:calc(var(--spacing) * 6)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:0}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.-z-20{z-index:calc(20 * -1)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1{height:var(--spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.min-h-\[36rem\]{min-height:36rem}.min-h-\[240px\]{min-height:240px}.w-3{width:calc(var(--spacing) * 3)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-1{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-\[minmax\(210px\,1fr\)\]{grid-auto-rows:minmax(210px,1fr)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#0b2545\]\/15{border-color:#0b254526;border-color:lab(14.1821% .289604 -23.4347/.15)}.border-\[\#0b2545\]\/30{border-color:#0b25454d;border-color:lab(14.1821% .289604 -23.4347/.3)}.border-\[\#c9a227\]{border-color:#c9a227}.border-transparent{border-color:#0000}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.border-white\/25{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.bg-\[\#0b2545\]{background-color:#0b2545}.bg-\[\#08182f\]{background-color:#08182f}.bg-\[\#c9a227\]{background-color:#c9a227}.bg-\[\#f5f6f8\]{background-color:#f5f6f8}.bg-\[var\(--accent-gold\)\]{background-color:var(--accent-gold)}.bg-\[var\(--royal\)\]{background-color:var(--royal)}.bg-white{background-color:var(--color-white)}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.object-center{object-position:center}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#0b2545\]{color:#0b2545}.text-\[\#0b2545\]\/70{color:#0b2545b3;color:lab(14.1821% .289604 -23.4347/.7)}.text-\[\#c9a227\]{color:#c9a227}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-white\/40{text-decoration-color:#fff6}@supports (color:color-mix(in lab, red, red)){.decoration-white\/40{-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[fill\,fill-opacity\]{transition-property:fill,fill-opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}@media (hover:hover){.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-b:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (hover:hover){.hover\:border-\[\#c9a227\]:hover{border-color:#c9a227}.hover\:bg-\[\#c9a227\]:hover{background-color:#c9a227}.hover\:bg-\[\#c9a227\]\/10:hover{background-color:#c9a2271a;background-color:lab(68.7657% 6.51506 63.7506/.1)}.hover\:text-\[\#0b2545\]:hover{color:#0b2545}.hover\:text-\[\#c9a227\]:hover{color:#c9a227}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-white:hover{-webkit-text-decoration-color:var(--color-white);-webkit-text-decoration-color:var(--color-white);-webkit-text-decoration-color:var(--color-white);text-decoration-color:var(--color-white)}}.focus-visible\:border-\[\#c9a227\]:focus-visible{border-color:#c9a227}.focus-visible\:bg-\[\#c9a227\]:focus-visible{background-color:#c9a227}.focus-visible\:text-\[\#0b2545\]:focus-visible{color:#0b2545}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-\[\#c9a227\]:focus-visible{outline-color:#c9a227}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:mt-16{margin-top:calc(var(--spacing) * 16)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[7rem_1fr_1\.4fr\]{grid-template-columns:7rem 1fr 1.4fr}.md\:items-baseline{align-items:baseline}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:py-9{padding-block:calc(var(--spacing) * 9)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:aspect-auto{aspect-ratio:auto}.lg\:min-h-\[36rem\]{min-height:36rem}.lg\:min-h-\[500px\]{min-height:500px}.lg\:max-w-none{max-width:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:py-20{padding-block:calc(var(--spacing) * 20)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--royal:#0b2545;--navy:#08182f;--black:#111;--white:#fff;--offwhite:#f5f6f8;--gray-light:#d9dfe7;--gray-mid:#667085;--accent-gold:#c9a227;--background:var(--white);--foreground:var(--black);--primary:var(--navy);--primary-foreground:var(--white);--secondary:var(--royal);--secondary-foreground:var(--white);--muted:var(--gray-light);--muted-foreground:var(--gray-mid);--border:var(--gray-light);--radius:.5rem}html,body{width:100%;height:auto;min-height:100%}body{background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-variation-settings:"wdth" 75;letter-spacing:-.5px;font-style:italic;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,6vw,4.5rem)}h2{font-size:clamp(1.75rem,4vw,3.5rem)}h3{font-size:1.25rem}p{line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;height:auto;display:block}.masonry-intro,.masonry-builds,.masonry-signs,.masonry-cost,.masonry-new-jersey,.masonry-projects,.masonry-faq,.masonry-cta{padding:56px 0!important}.masonry-two-column,.masonry-faq-inner,.masonry-signs-grid,.masonry-build-grid,.masonry-project-grid{align-content:start!important;align-items:start!important}.masonry-two-column,.masonry-faq-inner{gap:1.5rem 4rem!important}.masonry-signs-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:min-content!important;gap:28px 40px!important}.masonry-intro>*,.masonry-cost>*,.masonry-faq>*,.masonry-projects>*{height:auto!important;min-height:0!important}.masonry-section-heading{margin:0 0 20px!important}.masonry-project-grid{flex-wrap:wrap!important;gap:24px!important;display:flex!important}.masonry-project-card{flex:0 340px!important;height:auto!important}@media (max-width:768px){.masonry-intro,.masonry-builds,.masonry-signs,.masonry-cost,.masonry-new-jersey,.masonry-projects,.masonry-faq,.masonry-cta{padding:36px 0!important}}.service-areas-hub{background:#fff;padding:56px 0}.service-areas-intro{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:40px;display:flex}.service-areas-intro p:last-child{color:var(--gray-mid);margin:0}.service-areas-intro a{color:var(--royal);font-weight:700}.service-area-county{margin-top:40px}.service-area-county h2{color:var(--royal);margin:0 0 20px;font-size:32px;font-weight:300}.service-area-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.service-area-card{color:var(--royal);border:1px solid #d6dce4;padding:24px;transition:transform .18s,border-color .18s}.service-area-card:hover{border-color:var(--accent-gold);transform:translateY(-2px)}.service-area-card h3{margin:8px 0 28px;font-size:24px}.service-area-card strong{color:var(--accent-gold);font-size:14px}.service-area-empty{color:var(--gray-mid);padding:24px 0}.service-area-map{border:1px solid #d6dce4;margin-top:56px}.service-area-map iframe{border:0;width:100%;min-height:420px;display:block}.location-service-areas-link{color:var(--royal);margin:24px 0;font-weight:700;display:inline-block}.town-hero{color:#fff;background:var(--navy);align-items:center;min-height:45vh;display:flex;position:relative;overflow:hidden}.town-hero>img{object-fit:cover;object-position:center}.town-hero-overlay{background:linear-gradient(90deg,#0b2545cc,#0b254559);position:absolute;inset:0}.town-hero-content{z-index:1;padding:56px 0;position:relative}.town-hero h1{color:#fff;max-width:800px;margin:8px 0 16px;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.05}.town-hero-content>p:not(.eyebrow){color:#ffffffdb;max-width:700px;font-size:18px;line-height:1.6}.town-hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:24px;display:flex}.town-phone,.town-cta a[href^=tel\:]{color:var(--accent-gold);font-size:20px;font-weight:800}.town-intro,.town-services,.town-work,.town-notes,.town-faq,.town-nearby,.town-cta{padding:56px 0}.town-intro,.town-work,.town-faq{background:#fff}.town-services,.town-notes,.town-nearby{background:var(--offwhite)}.town-two-column,.town-faq-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem 4rem;display:grid}.town-two-column h2,.town-section-heading h2,.town-faq-grid h2,.town-cta h2{color:var(--royal);margin:0 0 20px;font-size:40px;font-weight:300;line-height:1.15}.town-two-column p,.town-two-column li{color:var(--gray-mid);font-size:18px;line-height:1.75}.town-two-column ul{margin:0;padding-left:20px}.town-section-heading{margin-bottom:20px}.town-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.town-service-card{min-height:180px;color:var(--royal);background:#fff;border:1px solid #d6dce4;flex-direction:column;padding:24px;display:flex}.town-service-card:first-child{grid-column:span 2}.town-service-card:hover{border-color:var(--accent-gold)}.town-service-icon{color:var(--accent-gold);margin-bottom:20px}.town-service-card h3{margin:0 0 8px;font-size:20px}.town-service-card p{color:var(--gray-mid);margin:0;line-height:1.6}.town-service-card strong{color:var(--accent-gold);margin-top:auto;padding-top:20px;font-size:14px}.town-project-card{max-width:560px;color:var(--royal);display:block}.town-project-card>div{aspect-ratio:4/3;margin-bottom:16px;position:relative;overflow:hidden}.town-project-card img{object-fit:cover}.town-project-card h3{margin:0 0 4px;font-size:24px}.town-project-card p{color:var(--gray-mid);margin:0}.town-notes h3{color:var(--royal);margin:0 0 16px;font-size:22px}.town-notes small{color:var(--royal);margin-top:24px;font-weight:700;display:block}.town-faq-list details{border-bottom:1px solid #d6dce4}.town-faq-list details:first-child{border-top:1px solid #d6dce4}.town-faq-list summary{cursor:pointer;min-height:56px;color:var(--royal);align-items:center;gap:12px;padding:14px 0;font-weight:700;list-style:none;display:flex}.town-faq-list summary::-webkit-details-marker{display:none}.town-faq-list summary>span:nth-child(2){flex:1}.town-faq-icon{border:1px solid var(--accent-gold);width:24px;height:24px;color:var(--accent-gold);flex:0 0 24px;place-items:center;display:grid}.town-faq-list details p{color:var(--gray-mid);margin:0 0 16px 36px;line-height:1.65}.town-nearby .section-shell>div{flex-wrap:wrap;gap:12px;display:flex}.town-nearby a{color:var(--royal);background:#fff;border:1px solid #d6dce4;padding:12px 16px}.town-cta{color:#fff;background:var(--navy)}.town-cta .section-shell{justify-content:space-between;align-items:center;gap:2rem;display:flex}.town-cta h2{color:#fff}.town-cta .section-shell>div:last-child{flex-wrap:wrap;align-items:center;gap:24px;display:flex}@media (max-width:1023px){.service-area-grid,.town-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.service-areas-hub,.town-intro,.town-services,.town-work,.town-notes,.town-faq,.town-nearby,.town-cta{padding:36px 0}.service-areas-intro,.town-cta .section-shell{display:block}.service-areas-intro p:last-child{margin-top:16px}.service-area-grid,.town-two-column,.town-faq-grid,.town-service-grid{grid-template-columns:1fr}.town-service-card:first-child{grid-column:auto}.town-hero{min-height:40vh}.town-hero-content{padding:36px 0}.town-hero h1{font-size:40px}.town-cta .section-shell>div:last-child{margin-top:24px}}.project-filter-chips{flex-wrap:wrap;gap:10px;margin:0 0 32px;display:flex}.project-filter-chips a{color:var(--royal);border:1px solid #d6dce4;padding:10px 14px}.project-filter-chips a:hover,.project-filter-chips a.active{border-color:var(--accent-gold);color:var(--royal);background:#c9a2271a}.project-filter-empty{color:var(--gray-mid);padding:48px 0}.project-filter-intro{max-width:800px;color:var(--gray-mid);margin:-8px 0 32px;line-height:1.7}.project-image.image-frame{aspect-ratio:4/3;background:0 0;position:relative;overflow:hidden}.project-image.image-frame img{object-fit:cover}.project-card{transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0b25451f}.before-after-slider{--split:50%;isolation:isolate;aspect-ratio:16/9;background:#dfe4e8;width:100%;position:relative;overflow:hidden}.before-after-slider>img,.before-after-slider-before img{object-fit:cover}.before-after-slider-before{inset:0 calc(100% - var(--split)) 0 0;z-index:1;position:absolute;overflow:hidden}.before-after-slider-before img{width:100vw;max-width:none}.before-after-range{z-index:3;cursor:ew-resize;position:absolute;inset:0}.before-after-range input{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0}.before-after-slider:after{content:"";z-index:2;top:0;bottom:0;left:var(--split);pointer-events:none;background:#fff;width:2px;position:absolute;box-shadow:0 0 0 1px #0b254559}.before-after-label{z-index:2;color:#fff;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#0b2545d1;padding:7px 10px;font-size:12px;position:absolute;top:16px}.before-after-label.before{left:16px}.before-after-label.after{right:16px}.project-single-photo{max-width:900px;margin:0 auto;animation:.5s both project-photo-fade}@keyframes project-photo-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sticky-estimate,.sticky-estimate *{color:#fff!important}.project-detail-hero{background:#fff;padding:56px 0 0}.project-detail-hero-image{aspect-ratio:4/3;width:min(900px,100%);margin:0 auto 32px;position:relative;overflow:hidden}.project-detail-hero-image img,.project-before-after img,.project-photo-button img{object-fit:cover}.project-detail-hero .eyebrow,.project-detail-hero h1{max-width:900px;margin-left:auto;margin-right:auto}.project-detail-hero h1{color:var(--royal);margin-top:8px;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.05}.project-detail-section{background:#fff;align-items:start;padding:56px 0;scroll-margin-top:96px}.project-jump-links{flex-wrap:wrap;gap:12px;margin:24px 0 32px;display:flex}.project-jump-links a{border:1px solid var(--navy);color:var(--navy);border-radius:0;padding:10px 16px;font-size:14px}.project-detail-lede{max-width:900px;color:var(--gray-mid);margin:24px auto 0;font-size:20px;line-height:1.75}.project-detail-job-text{max-width:850px;color:var(--gray-mid);margin:0 0 28px;font-size:19px;line-height:1.75}.project-detail-section figcaption{color:var(--gray-mid);padding-top:10px;line-height:1.45}.project-detail-muted{background:var(--offwhite)}.project-detail-copy{max-width:900px}.project-detail-copy p{max-width:72ch;color:var(--gray-mid);font-size:20px;line-height:1.75}.project-detail-section h2{color:var(--royal);margin:8px 0 28px;font-size:40px;font-weight:300;line-height:1.15}.project-before-after{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-before-after>div{aspect-ratio:4/3;position:relative;overflow:hidden}.project-before-after span{color:#fff;background:#0b2545d9;padding:8px 12px;font-weight:700;position:absolute;bottom:16px;left:16px}.project-scope-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;max-width:850px;margin:0;padding:0;list-style:none;display:grid}.project-scope-list li{color:var(--gray-mid);align-items:flex-start;gap:12px;line-height:1.6;display:flex}.project-scope-list svg{color:var(--accent-gold);flex:none}.project-signs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;display:grid}.project-signs-grid article{border-top:2px solid var(--accent-gold);padding-top:16px}.project-signs-grid h3{color:var(--royal);font-size:20px}.project-signs-grid p{color:var(--gray-mid);margin-top:8px;line-height:1.7}.project-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-compare-grid article{background:#fff;border:1px solid #d6dce4;padding:24px}.project-compare-grid h3{color:var(--royal);margin:0 0 10px;font-size:24px}.project-compare-grid p{color:var(--gray-mid);margin:0;line-height:1.7}.button-estimate{white-space:nowrap;color:#c9a227;background:#0b2545;border:1px solid #c9a227;border-radius:0;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;display:inline-flex}.button-estimate:hover{color:#c9a227;background:#16365c}.project-phone{white-space:nowrap;color:#0b2545;background:#c9a227;border:1px solid #c9a227;border-radius:0;align-items:center;min-height:48px;padding:12px 20px;display:inline-flex}.project-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.project-photo-button{aspect-ratio:4/3;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.project-photo-button:focus-visible{outline:2px solid var(--accent-gold);outline-offset:4px}.project-lightbox{z-index:1000;background:#040f1eeb;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.project-lightbox img{object-fit:contain}.project-lightbox-close{z-index:1;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;width:40px;height:40px;font-size:28px;position:absolute;top:24px;right:24px}.project-detail-faq{grid-template-columns:.8fr 1.2fr;align-items:start;gap:1.5rem 4rem;display:grid}.project-detail-faq details{border-bottom:1px solid #d6dce4}.project-detail-faq details:first-child{border-top:1px solid #d6dce4}.project-detail-faq summary{cursor:pointer;color:var(--royal);align-items:flex-start;gap:12px;padding:16px 0;font-weight:700;list-style:none;display:flex}.project-detail-faq summary::-webkit-details-marker{display:none}.project-detail-faq summary span:first-child{color:var(--accent-gold);flex:none;padding-top:2px;display:flex}.project-detail-faq summary span:last-child{flex:1}.project-detail-faq details p{color:var(--gray-mid);margin:0 0 16px 30px;line-height:1.7}.project-more-links{flex-wrap:wrap;gap:12px;display:flex}.project-more-links a{color:var(--royal);background:#fff;border:1px solid #d6dce4;padding:12px 16px}.project-detail-cta{color:#fff;background:var(--navy);padding:56px 0}.project-detail-cta .section-shell{justify-content:space-between;align-items:center;gap:2rem;display:flex}.project-detail-cta h2{color:#fff;margin:8px 0 0;font-size:40px;font-weight:300}.project-detail-cta .section-shell>div:last-child{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.project-phone{color:var(--accent-gold);font-size:20px;font-weight:800}@media (max-width:768px){.project-detail-hero,.project-detail-section,.project-detail-cta{padding:36px 0}.project-detail-hero-image{margin-bottom:24px}.project-before-after,.project-scope-list,.project-signs-grid,.project-compare-grid,.project-detail-faq{grid-template-columns:1fr}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-detail-cta .section-shell{display:block}.project-detail-cta .section-shell>div:last-child{margin-top:24px}}.paving-service-hero{color:#fff;background:var(--navy);align-items:end;min-height:56vh;display:flex;position:relative;overflow:hidden}.paving-service-hero>img{object-fit:cover}.paving-hero-overlay{background:linear-gradient(90deg,#0b2545d1,#0b254547);position:absolute;inset:0}.paving-service-hero .section-shell{z-index:1;padding:56px 0;position:relative}.paving-service-hero h1{color:#fff;max-width:850px;margin:8px 0 0;font-size:clamp(42px,6vw,80px);font-weight:300;line-height:1.05}.paving-service-section,.paving-service-cta{padding:56px 0}.paving-muted{background:var(--offwhite)}.paving-copy{max-width:900px}.paving-copy>p:last-child,.paving-two-column>div>p:not(.eyebrow){color:var(--gray-mid);font-size:19px;line-height:1.75}.paving-feature{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:48px;display:grid}.paving-feature img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.paving-feature h2,.paving-service-section h2,.paving-service-cta h2{color:var(--royal);margin:0 0 18px;font-size:40px;font-weight:300;line-height:1.15}.paving-feature p{color:var(--gray-mid);font-size:18px;line-height:1.7}.paving-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.paving-card-grid article,.paving-check{background:#fff;border:1px solid #d6dce4;padding:24px}.paving-card-grid h3,.paving-sign-grid h3,.paving-check h3{color:var(--royal);margin:0 0 10px;font-size:22px}.paving-card-grid p,.paving-sign-grid p,.paving-check p{color:var(--gray-mid);margin:0;line-height:1.65}.paving-sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.paving-sign-grid article{border-top:2px solid var(--accent-gold)}.paving-sign-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:16px}.paving-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.paving-two-column strong,.paving-steps strong{min-width:36px;color:var(--accent-gold);display:inline-flex}.paving-process-images{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.paving-process-images img{aspect-ratio:4/3;object-fit:cover;width:100%}.paving-two-column details,.paving-faq details{border-bottom:1px solid #d6dce4}.paving-two-column summary,.paving-faq summary{cursor:pointer;color:var(--royal);padding:16px 0;font-weight:700}.paving-two-column details p,.paving-faq details p{color:var(--gray-mid);line-height:1.65}.paving-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.paving-gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.paving-gallery-grid figcaption{color:var(--gray-mid);padding-top:10px;line-height:1.4}.paving-faq{margin-top:48px}.paving-service-cta{color:#fff;background:var(--navy)}.paving-service-cta .section-shell{justify-content:space-between;align-items:center;gap:24px;display:flex}.paving-service-cta h2{color:#fff}.paving-service-cta .section-shell>div:last-child{flex-wrap:wrap;align-items:center;gap:20px;display:flex}@media (max-width:1023px){.paving-card-grid,.paving-sign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.paving-service-hero .section-shell,.paving-service-section,.paving-service-cta{padding:36px 0}.paving-feature,.paving-two-column{grid-template-columns:1fr;gap:24px}.paving-card-grid,.paving-sign-grid,.paving-gallery-grid,.paving-process-images{grid-template-columns:1fr}.paving-service-cta .section-shell{display:block}.paving-service-cta .section-shell>div:last-child{margin-top:24px}}.link-card{box-sizing:border-box;border:1px solid #d9d9d9;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-width:0;max-width:100%;min-height:6rem;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;display:flex}.link-card>span:first-child{flex-direction:column;gap:.35rem;min-width:0;display:flex}.link-card strong{color:var(--navy);font-size:1.125rem;font-weight:600}.link-card small{color:var(--gray-mid);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.link-card-navy{background:var(--navy);border-color:#ffffff26}.link-card-navy strong{color:#fff}.link-card-navy small{color:#ffffffb3}.link-card-arrow{border:1px solid var(--accent-gold);height:40px;color:var(--navy);border-radius:999px;flex:0 0 40px;place-items:center;display:grid}.link-card-navy .link-card-arrow{color:#fff;border-color:#ffffff4d}.link-card:hover,.link-card:focus-visible{border-color:var(--accent-gold);transform:translateY(-.125rem);box-shadow:0 1rem 2rem #08182f1f}.link-card:hover .link-card-arrow,.link-card:focus-visible .link-card-arrow{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--navy)}.link-card:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.link-card{transition:none}.link-card:hover,.link-card:focus-visible{transform:none}}.roofing-page .section-shell{box-sizing:border-box;width:100%}.site-header-wrapper[data-site-header]{background:var(--white)}@media (min-width:1024px){.site-header-wrapper{top:0}}.roofing-toc{top:calc(var(--header-h) + 16px)}.roofing-chapter{scroll-margin-top:calc(var(--header-h) + 16px)}.project-detail-section{scroll-margin-top:calc(var(--header-h,0px) + var(--bar-h,0px) + 16px)}.roofing-town-nav{top:var(--header-h,0px);z-index:35;background:#fff;border-bottom:1px solid #d9e0e8;width:100%;position:sticky;box-shadow:0 8px 18px #0b25450f}.masonry-steps-page .steps-projects>.roofing-town-nav{width:100vw;margin-left:calc(50% - 50vw)}.project-category-content{position:relative}.roofing-town-nav a{transition:background-color .15s,color .15s,border-color .15s}.areas-map a:focus-visible path{stroke:#fff;stroke-width:2px}.areas-project-link,.home-service-areas-link{color:#0b2545;background:#fff;transition:background-color .15s,color .15s}.areas-project-link:hover,.areas-project-link:focus-visible,.home-service-areas-link:hover,.home-service-areas-link:focus-visible{color:#0b2545;background:#c9a227}.areas-project-link:focus-visible,.home-service-areas-link:focus-visible{outline-offset:3px;outline:2px solid #c9a227}.home-service-card-gradient{background:linear-gradient(#08182f00 30%,#08182fad 58%,#08182feb 100%)}.steps-project,.siding-project-section{scroll-margin-top:calc(var(--header-h,0px) + var(--bar-h,0px) + 16px)}@media (prefers-reduced-motion:reduce){.roofing-town-nav a{transition:none}}.roofing-town-nav .section-shell{scrollbar-width:none;overscroll-behavior-x:contain;width:100%;max-width:none;padding:.5rem clamp(1rem,2vw,2rem);overflow:auto hidden}.roofing-town-nav .section-shell::-webkit-scrollbar{display:none}.roofing-town-nav ul{gap:.5rem;width:max-content;min-width:100%;margin:0;padding:0;list-style:none;display:flex}.roofing-town-nav li{flex:none}.roofing-town-nav a{border:1px solid var(--border);min-height:44px;color:var(--navy);white-space:nowrap;border-radius:999px;align-items:center;padding:.6rem .8rem;font-size:.875rem;text-decoration:none;display:inline-flex}.roofing-town-nav a:hover:not(.is-active){border-color:var(--accent-gold);background:var(--offwhite);color:var(--navy)}.roofing-town-nav a:focus-visible,.roofing-town-nav a.is-active{border-color:var(--accent-gold);background:var(--accent-gold);color:var(--navy)}.roofing-town-nav a:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.roofing-town-section{scroll-margin-top:calc(var(--header-h,0px) + var(--bar-h,0px) + 16px);padding:3.5rem 0 5rem}.roofing-town-section.is-muted{background:var(--offwhite)}.roofing-section-heading{margin-bottom:2rem}.roofing-town-label{background:var(--accent-gold);color:var(--navy);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.875rem;font-weight:700;display:inline-flex}.roofing-section-heading h2{max-width:54rem;margin:.9rem 0 1rem}.roofing-tags{flex-wrap:wrap;gap:.5rem;display:flex}.roofing-tags span{color:var(--gray-mid);border:1px solid #d9d9d9;border-radius:999px;padding:.4rem .75rem;font-size:.8rem}.roofing-section-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:3rem;display:grid}.roofing-mosaic,.roofing-copy{min-width:0}.roofing-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.roofing-gallery .project-photo-button{aspect-ratio:4/3}.roofing-gallery .project-photo-button:first-child{aspect-ratio:16/10;grid-column:1/-1}.roofing-gallery .project-photo-button img{transition:transform .3s}.roofing-gallery .project-photo-button:hover img{transform:scale(1.05)}.roofing-eyebrow{color:var(--accent-gold);letter-spacing:.18em;margin:2rem 0 .8rem;font-size:.875rem;font-weight:600}.roofing-paragraphs{gap:1rem;line-height:1.75;display:grid}.roofing-work-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.roofing-work-list li{align-items:flex-start;gap:.6rem;line-height:1.5;display:flex}.roofing-work-list svg{color:var(--accent-gold);flex:none;margin-top:.15rem}.roofing-link-cards{gap:.75rem;margin-top:1.5rem;display:grid}.roofing-closing{padding-top:4rem;padding-bottom:5rem}.roofing-service-links{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (max-width:1023px){.roofing-section-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width:767px){.roofing-town-nav{top:var(--header-h,0px);position:sticky}.roofing-town-nav:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0,#fff);width:1.5rem;position:absolute;top:0;bottom:1px;right:0}.roofing-town-nav .section-shell{scrollbar-width:none;scroll-snap-type:x proximity;overflow-x:auto}.roofing-town-nav .section-shell::-webkit-scrollbar{display:none}.roofing-town-nav ul{width:max-content}.roofing-town-nav li{scroll-snap-align:start}}@media (max-width:768px){.roofing-town-section{padding:2.5rem 0 3.5rem}.roofing-service-links{grid-template-columns:1fr}.roofing-gallery{gap:.5rem}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.roofing-gallery .project-photo-button img{transition:none}.roofing-gallery .project-photo-button:hover img{transform:none}}.siding-project-section,.siding-faq{padding-top:80px;padding-bottom:80px}.siding-project-section h2,.siding-faq h2,.service-content h2{font-family:var(--font-serif);color:var(--navy);border-bottom:3px solid var(--accent-gold);margin:0 0 32px;padding-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:300}.fact-strip{background:#d9dfe6;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:40px;display:grid}.fact-strip span{color:var(--gray-mid);background:#fff;flex-direction:column;gap:7px;padding:20px;display:flex}.fact-strip b{color:var(--navy);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.siding-gallery .project-photo-grid{grid-template-columns:repeat(3,1fr)}.siding-captions{color:var(--gray-mid);grid-template-columns:repeat(3,1fr);gap:24px;font-size:14px;display:grid}.siding-story{grid-template-columns:1.2fr 1fr 1fr;gap:32px;margin-top:48px;display:grid}.siding-story h3,.service-content h3{color:var(--navy)}.siding-story li,.service-content li{margin:10px 0}.siding-faq{max-width:900px}.siding-faq details,.service-content details{border-bottom:1px solid #d9dfe6;padding:20px 0}.siding-faq summary,.service-content summary{cursor:pointer;color:var(--navy);font-weight:700}.on-page-chips{flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto;padding:24px;display:flex}.on-page-chips a{color:var(--navy);border:1px solid #d9dfe6;padding:9px 14px;font-size:14px}.service-content{max-width:900px;padding-top:48px;padding-bottom:80px}.service-card-grid,.icon-row-grid,.materials-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0 72px;display:grid}.service-card-grid article,.materials-grid article{background:#fff;border:1px solid #d9dfe6;padding:24px}.icon-row-grid article{gap:16px;display:flex}.icon-row-grid article>span{background:var(--accent-gold);width:36px;height:36px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.service-content a{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--accent-gold);-webkit-text-decoration-color:var(--accent-gold);-webkit-text-decoration-color:var(--accent-gold);text-decoration-color:var(--accent-gold);text-underline-offset:4px;font-weight:700}.split-copy{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:72px;display:grid}.timeline{counter-reset:steps;gap:16px;margin:28px 0 72px;padding:0;list-style:none;display:grid}.timeline li{counter-increment:steps;border-left:3px solid var(--accent-gold);background:#fff;padding:14px 20px}.timeline li:before{content:counter(steps,decimal-leading-zero);color:var(--gray-mid);letter-spacing:.1em;margin-bottom:4px;font-size:12px;display:block}@media (max-width:700px){.fact-strip,.siding-story,.service-card-grid,.icon-row-grid,.materials-grid,.split-copy,.siding-gallery .project-photo-grid,.siding-captions{grid-template-columns:1fr}.siding-project-section,.siding-faq{padding-top:56px;padding-bottom:56px}}.project-cta-band{background:var(--navy);color:#fff;padding:80px 0}.project-cta-inner{grid-template-columns:minmax(0,640px) auto;justify-content:space-between;align-items:center;gap:40px;display:grid}.project-cta-band h2{color:#fff;font-family:var(--font-serif);margin:0 0 16px;font-size:clamp(1.9rem,4vw,2.75rem);font-style:italic;line-height:1.2}.project-cta-band p{color:#ffffffd9;margin:0;font-size:18px;line-height:1.7}.estimate-button{border-radius:3px;justify-content:center;align-items:center;gap:12px;width:auto;min-height:56px;padding:0 32px;font-size:18px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 18px #00000029}.estimate-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000038}.estimate-button:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px}.estimate-button svg{width:20px;height:20px;transition:transform .2s}.estimate-button:hover svg{transform:translate(4px)}.estimate-button-dark{background:var(--accent-gold);color:var(--navy)!important}.estimate-button-light{background:var(--navy);color:#fff!important}.estimate-button-light svg{color:var(--accent-gold)}.site-footer .socials a{background:#fff;border:0;border-radius:50%;width:36px;height:36px;padding:5px}.site-footer .socials a img{object-fit:contain;width:100%;height:100%}.site-footer .socials a:hover{background:#fff}.button-estimate,.button-primary{font-weight:700;color:#fff!important}.project-detail-cta{display:none}@media (max-width:767px){.project-cta-band{padding:56px 0}.project-cta-inner{flex-direction:column;align-items:stretch;gap:28px;display:flex}.estimate-button{width:100%;max-width:360px}.project-cta-band p{font-size:18px}}.page-hero-shared{background:#fff;padding:64px 24px}.page-hero-inner{max-width:900px;margin:0 auto}.page-hero-shared .eyebrow{letter-spacing:.14em;color:var(--gray-mid);margin:0 0 10px;font-size:13px}.page-hero-image{aspect-ratio:4/3;width:100%;position:relative;overflow:hidden}.page-hero-image img{object-fit:cover}.page-hero-shared h1{color:var(--navy);font-family:var(--font-serif);margin:40px 0 24px;font-size:clamp(2.25rem,5vw,4rem);font-style:italic;font-weight:300;line-height:1.15}.page-hero-intro{color:var(--gray-mid);margin:0 0 36px;font-size:20px;line-height:1.75}.page-hero-actions{flex-wrap:wrap;gap:14px;padding-bottom:64px;display:flex}.related-services{margin-top:64px}.related-services h2{font-family:var(--font-serif);color:var(--navy);border-bottom:3px solid var(--accent-gold);padding-bottom:14px;font-style:italic}.related-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.related-service-card{min-height:220px;color:var(--navy);background:#fff;border:1px solid #d9dfe6;border-radius:12px;flex-direction:column;gap:12px;padding:28px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 4px 12px #08182f0d}.related-service-card:hover{border-color:var(--accent-gold);transform:translateY(-2px)}.related-service-icon{background:var(--navy);width:44px;height:44px;color:var(--accent-gold);border-radius:4px;place-items:center;display:grid}.related-service-icon svg{width:22px}.related-service-card strong{font-size:18px}.related-service-card>span:not(.related-service-icon){color:var(--gray-mid);font-size:14px}.related-service-card b{color:var(--accent-gold);align-items:center;gap:6px;margin-top:auto;display:flex}.related-service-card b svg{width:16px;transition:transform .2s}.related-service-card:hover b svg{transform:translate(4px)}.socials a{cursor:pointer}.socials a:hover{color:inherit;background:0 0}.socials a img{object-fit:contain;width:100%;height:100%;display:block}.socials a:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.topbar .utility-socials a,.topbar .utility-socials a img{width:32px;height:32px}.topbar .utility-socials a{border:0;border-radius:0}.topbar .utility-socials a:hover img{filter:none}.mobile-nav-socials{flex-direction:row;gap:8px}.mobile-nav-socials a{width:36px;height:36px;display:inline-flex}.mobile-nav-socials img{object-fit:contain;width:100%;height:100%}@media (max-width:1023px){.related-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.walkway-project-ribbon-section{padding:64px 0}.walkway-project-ribbon{border-bottom:3px solid var(--accent-gold);background:var(--navy);color:#fff;justify-content:space-between;align-items:center;max-width:640px;min-height:64px;margin:0 auto;padding:0 24px;font-size:18px;font-weight:600;transition:transform .2s;display:flex;box-shadow:0 8px 18px #08182f29}.walkway-project-ribbon:hover{transform:translateY(-2px)}.walkway-project-ribbon span{background:var(--accent-gold);width:36px;height:36px;color:var(--navy);border-radius:50%;place-items:center;transition:transform .2s;display:grid}.walkway-project-ribbon:hover span{transform:translate(4px)}@media (max-width:639px){.walkway-project-ribbon-section{padding:64px 16px}.page-hero-shared{padding:40px 24px}.page-hero-intro{font-size:18px}.related-services-grid{grid-template-columns:1fr}.topbar .utility-socials a,.topbar .utility-socials a img{width:36px;height:36px}.top-contact{white-space:nowrap}.page-hero-actions{padding-bottom:64px}}.hero-button{border-radius:3px;align-items:center;gap:12px;min-height:56px;padding:0 32px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 18px #08182f29;color:var(--white)!important}.hero-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #08182f33}.hero-button:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px}.hero-button-navy{background:var(--navy);color:var(--white)!important}.hero-button-gold{background:var(--accent-gold);color:var(--navy)!important}.hero-button svg{box-sizing:content-box;background:var(--accent-gold);width:16px;height:16px;color:var(--navy);border-radius:50%;padding:7px;transition:transform .2s}.hero-button-gold svg{background:var(--navy);color:var(--white)}.hero-button:hover svg{transform:translate(4px)}.steps-actions{margin-bottom:56px}.steps-hero{padding:88px 0 64px}.steps-hero h1{max-width:960px;margin-bottom:24px;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.12}.steps-hero p:not(.eyebrow){max-width:680px;margin-bottom:36px;font-size:18px;line-height:1.7}@media (max-width:639px){.socials a{width:36px;height:36px}.topbar{padding:.5rem 1rem}.top-contact{gap:.45rem}.top-contact>a:first-child{display:none}.top-contact{margin-left:auto}.steps-hero{padding:56px 0 48px}}.masonry-steps-page h1{max-width:920px;font-size:clamp(42px,6vw,84px);font-weight:300;line-height:1.05}.steps-hero,.steps-banner,.steps-info{padding:96px 0}.steps-hero{background:var(--offwhite)}.steps-hero p:not(.eyebrow),.steps-info>p,.steps-project-copy>p{max-width:760px;color:var(--gray-mid);font-size:18px;line-height:1.7}.steps-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.button-secondary{border:1px solid var(--navy);color:var(--navy);padding:13px 22px;display:inline-flex}.steps-banner{background:var(--offwhite)}.steps-banner .section-shell,.steps-project{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.steps-banner-photo{min-height:440px;position:relative}.steps-banner-photo img,.steps-slider>img,.steps-slider-before img,.steps-single-photo img,.steps-detail img{object-fit:cover}.steps-banner-photo>span,.steps-chip{z-index:2;background:var(--navy);color:#fff;letter-spacing:.08em;padding:8px 12px;font-size:12px;position:absolute}.steps-banner-photo>span{top:18px;left:18px}.steps-banner-photo figcaption{z-index:2;color:#fff;position:absolute;bottom:14px;left:18px}.steps-banner h2,.steps-projects>h2,.steps-info h2,.steps-cta h2{color:var(--royal);font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.1}.steps-projects{padding-top:96px}.steps-town-chips{z-index:4;background:#fff;gap:10px;padding:16px 0;display:flex;position:sticky;top:0;overflow-x:auto}.steps-town-chips a{border:1px solid var(--navy);color:var(--navy);flex:none;padding:10px 16px}.steps-project{scroll-margin-top:calc(var(--header-h,0px) + var(--bar-h,0px) + 16px);border-top:1px solid #d9dfe6;padding:96px 0}.socials a img.homeadvisor-social-image,.utility-socials a img.homeadvisor-social-image,.mobile-nav-socials a img.homeadvisor-social-image,.topbar .utility-socials a img.homeadvisor-social-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.steps-project.reverse>.steps-project-media{order:2}.steps-slider,.steps-single-photo{aspect-ratio:4/3;background:#e9edf1;border-radius:12px;width:100%;position:relative;overflow:hidden}.steps-slider-before{inset:0 calc(100% - var(--split)) 0 0;z-index:1;position:absolute;overflow:hidden}.steps-slider-before img{width:100%;max-width:none}.steps-slider input{z-index:3;opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;position:absolute;inset:0}.steps-slider:after{content:"";left:var(--split);z-index:2;pointer-events:none;background:#fff;width:3px;position:absolute;top:0;bottom:0}.steps-chip{top:16px}.steps-chip.before{left:16px}.steps-chip.after{right:16px}.steps-single-photo{animation:.5s both steps-fade}.steps-single-photo figcaption,.steps-detail figcaption{color:var(--gray-mid);padding-top:10px}.steps-single-photo figcaption span{color:var(--navy);margin-right:8px;font-size:12px;font-weight:700}.steps-detail{width:42%;margin-top:18px}.steps-detail>div{aspect-ratio:1;border-radius:12px;position:relative;overflow:hidden}.steps-project-copy h3{color:var(--royal);margin:8px 0 24px;font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.12}.steps-facts{border-block:1px solid #d9dfe6;grid-template-columns:repeat(3,1fr);margin-bottom:30px;display:grid}.steps-facts span{color:var(--gray-mid);border-right:1px solid #d9dfe6;padding:14px 12px;font-size:14px}.steps-facts span:last-child{border:0}.steps-facts b{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;display:block}.steps-project-copy h4{color:var(--navy);margin:24px 0 8px;font-size:18px}.steps-signs{color:var(--gray-mid);gap:8px;padding:0;list-style:none;display:grid}.steps-signs li:before{content:"✓";color:var(--accent-gold);margin-right:10px;font-weight:700}.steps-materials{gap:10px;display:grid}.steps-materials p{background:var(--offwhite);color:var(--gray-mid);margin:0;padding:12px 14px;line-height:1.5}.steps-materials b{color:var(--navy);display:block}.steps-tip{border-left:3px solid var(--accent-gold);background:var(--offwhite);color:var(--gray-mid);margin-top:20px;padding:16px;line-height:1.6}.steps-decision-grid,.steps-four-grid,.steps-material-table{grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0 96px;display:grid}.steps-decision-grid div,.steps-four-grid div,.steps-material-table div{border:1px solid #d9dfe6;padding:22px}.steps-decision-grid b,.steps-four-grid h3,.steps-material-table b{color:var(--navy);margin-bottom:10px;display:block}.steps-decision-grid span,.steps-four-grid p,.steps-material-table span{color:var(--gray-mid);line-height:1.6}.steps-four-grid{grid-template-columns:repeat(4,1fr)}.steps-material-table span{font-size:15px;display:block}.steps-faq{max-width:900px;margin-top:24px}.steps-faq details{border-bottom:1px solid #d9dfe6}.steps-faq summary{cursor:pointer;color:var(--navy);padding:18px 0;font-weight:700}.steps-faq p{color:var(--gray-mid);line-height:1.7}.steps-cta{background:var(--navy);color:#fff;padding:72px 0}.steps-cta h2{color:#fff}.steps-cta p{line-height:1.7}@keyframes steps-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:768px){.steps-hero,.steps-banner,.steps-info{padding:64px 0}.steps-banner .section-shell,.steps-project{grid-template-columns:1fr;gap:32px}.steps-banner-photo{min-height:340px}.steps-project{padding:64px 0}.steps-project.reverse>.steps-project-media{order:0}.steps-slider{aspect-ratio:4/5}.steps-facts,.steps-decision-grid,.steps-four-grid,.steps-material-table{grid-template-columns:1fr}.steps-facts span{border-bottom:1px solid #d9dfe6;border-right:0}.steps-facts span:last-child{border-bottom:0}.steps-four-grid,.steps-decision-grid,.steps-material-table{margin-bottom:64px}.steps-detail{width:55%}}.walls-gallery{grid-template-columns:1.25fr 1fr;gap:12px;display:grid}.walls-gallery figure{margin:0}.walls-gallery figure:first-child{grid-row:span 2}.walls-gallery .steps-single-photo{aspect-ratio:4/5}.walls-gallery figure:not(:first-child) .steps-single-photo{aspect-ratio:1}.walls-gallery figcaption{color:var(--gray-mid);padding-top:8px;font-size:14px;line-height:1.4}.walls-page .steps-town-chips span{color:var(--navy);border:1px solid #d9dfe6;flex:none;padding:10px 16px;font-size:14px}.walls-page .steps-banner-photo{border-radius:16px;overflow:hidden;box-shadow:0 18px 40px #0b254529}@media (max-width:768px){.walls-gallery{grid-template-columns:1fr}.walls-gallery figure:first-child{grid-row:auto}.walls-gallery .steps-single-photo,.walls-gallery figure:not(:first-child) .steps-single-photo{aspect-ratio:4/3}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
