:root{--ink-950:#07111f;--ink-900:#0b1828;--ink-800:#152437;--steel-700:#3d4a59;--steel-500:#667384;--steel-300:#aeb8c4;--steel-200:#d6dde5;--steel-100:#edf1f5;--concrete-50:#f6f7f7;--white:#fff;--blue-700:#0756a6;--blue-600:#0875d1;--blue-500:#1198f5;--focus:#54b8ff;--shadow-soft:0 18px 50px #07111f1a;--shadow-blue:0 12px 34px #0875d147;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--container:76rem}*{box-sizing:border-box}.service-gallery{background:var(--white)}.service-gallery-heading{max-width:44rem;margin-bottom:2.5rem}.service-gallery-heading p:last-child,.service-gallery-group>p{color:var(--steel-700);max-width:48rem}.service-gallery-group+.service-gallery-group{border-top:1px solid var(--steel-200);margin-top:3.5rem;padding-top:2.5rem}.service-gallery-grid{gap:1.25rem;margin-top:1.5rem;display:grid}.service-gallery-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery-sample{grid-template-columns:repeat(4,minmax(0,1fr))}.service-gallery-card{border:1px solid var(--steel-200);border-radius:var(--radius-md);background:var(--white);color:var(--ink-950);cursor:pointer;text-align:left;padding:0;overflow:hidden}.service-gallery-card:hover{border-color:var(--blue-600);box-shadow:var(--shadow-soft)}.service-gallery-image{aspect-ratio:4/3;background:var(--concrete-50);place-items:center;display:grid}.service-gallery-sample .service-gallery-image{aspect-ratio:1/1.1;background:var(--white);padding:.75rem}.service-gallery-image img{object-fit:contain;width:100%;height:100%;min-height:0}.service-gallery-caption{justify-content:space-between;gap:.5rem;padding:.8rem 1rem;font-size:.88rem;font-weight:700;display:flex}.service-gallery-caption>span:last-child{color:var(--blue-700);font-weight:500}.service-gallery-dialog{border-radius:var(--radius-md);width:min(70rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink-950);border:0;padding:0}.service-gallery-dialog::backdrop{background:#07111fd9}.service-gallery-preview{padding:1rem}.service-gallery-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.service-gallery-toolbar h3{margin:0}.service-gallery-preview>img{object-fit:contain;width:100%;height:auto;max-height:calc(100dvh - 10rem)}@media (max-width:700px){.service-gallery-showcase{grid-template-columns:1fr}.service-gallery-sample{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery-grid{gap:.75rem}.service-gallery-caption{padding:.65rem;font-size:.8rem}}html{scroll-behavior:smooth}body{color:var(--ink-950);background:var(--concrete-50);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--white);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111ff0;border-bottom:1px solid #ffffff1a;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:5rem;display:flex}.brand{align-self:stretch;place-items:center;width:6.5rem;display:grid;overflow:hidden}.brand img{object-fit:cover;object-position:center;border-radius:.35rem;width:5.6rem;height:4.6rem}.primary-nav{color:var(--steel-100);align-items:center;gap:1.4rem;font-size:.93rem;font-weight:650;display:flex}.primary-nav>a{text-decoration:none;transition:color .16s}.primary-nav>a:hover{color:var(--blue-500)}.nav-phone{color:#9ed8ff;white-space:nowrap}.menu-toggle{border-radius:var(--radius-sm);background:0 0;border:1px solid #ffffff3d;width:2.75rem;height:2.75rem;padding:.65rem;display:none}.menu-toggle span:not(.sr-only){background:var(--white);height:2px;margin:.28rem 0;display:block}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3.15rem;padding:.78rem 1.2rem;font-weight:750;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--white);background:linear-gradient(135deg, var(--blue-600), var(--blue-500));box-shadow:var(--shadow-blue)}.button-primary:hover{background:linear-gradient(135deg, var(--blue-700), var(--blue-600))}.button-secondary{color:var(--ink-900);background:var(--white);border-color:var(--steel-300)}.button-ghost{color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07111f33;border-color:#ffffffb8}.button-ghost:hover{background:#07111f8c}.button-light{color:var(--blue-700);background:var(--white)}.text-link{color:var(--blue-700);text-underline-offset:.25rem;font-weight:750}.hero{min-height:min(54rem,100svh - 5rem);color:var(--white);background:var(--ink-950);align-items:center;padding:clamp(6rem,12vw,11rem) 0;display:grid;position:relative;overflow:hidden}.hero-image{z-index:0;object-fit:cover;object-position:center}.hero-shade{z-index:1;background:radial-gradient(circle,#040a1257,#040a12b8 78%),linear-gradient(#040a122e,#040a1259);position:absolute;inset:0}.hero-grid{z-index:2;text-align:left;position:relative}.hero-copy{max-width:49rem}.eyebrow{color:var(--blue-600);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .85rem;font-size:.76rem;font-weight:850}h1,h2,h3{letter-spacing:-.035em;margin:0;line-height:1.08}h1{max-width:13ch;font-size:clamp(2.75rem,6vw,5.7rem)}h2{max-width:18ch;font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.35rem}.hero .eyebrow{color:#75c5ff}.hero-lede{max-width:50ch;color:var(--steel-100);margin:1.5rem 0 0;font-size:clamp(1.05rem,2vw,1.25rem)}.button-row{flex-wrap:wrap;justify-content:flex-start;gap:.8rem;margin-top:2rem;display:flex}.section{padding:clamp(4.5rem,8vw,7.5rem) 0}.section-heading{max-width:48rem;margin-bottom:2.5rem}.section-heading>p:last-child{color:var(--steel-700);font-size:1.08rem}.service-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.service-card{min-height:26rem;color:var(--white);background:var(--ink-900);border:1px solid var(--steel-200);border-radius:var(--radius-md);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:block;position:relative;overflow:hidden;box-shadow:0 1px #07111f08}.service-card:hover{border-color:var(--blue-500);box-shadow:var(--shadow-soft);transform:translateY(-5px)}.service-card-image{z-index:0;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.service-card:hover .service-card-image{transform:scale(1.045)}.service-card-shade{z-index:1;background:linear-gradient(#07111f0f,#07111feb 82%);position:absolute;inset:0}.service-card-content{z-index:2;flex-direction:column;padding:1.5rem;display:flex;position:absolute;inset:0}.card-index{color:#9ed8ff;font-size:.8rem;font-weight:850}.service-card-copy{gap:.75rem;margin-top:auto;display:grid}.service-card-copy>span{color:var(--steel-100)}.service-card-copy strong{color:#9ed8ff;font-size:.92rem}.work-section{background:var(--steel-100)}.work-heading{grid-template-columns:1fr 1fr;align-items:end;gap:1rem 4rem;max-width:none;display:grid}.work-heading .eyebrow{grid-column:1/-1}.work-heading>p:last-child{margin:0}.work-grid{grid-template-columns:.9fr 1.1fr;gap:1rem;display:grid}.work-card{border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;min-height:27rem;padding:2rem;display:flex;overflow:hidden}.work-card-residential{color:var(--ink-950);background:linear-gradient(145deg, var(--white), #dbe6ef);border:1px solid var(--steel-200)}.work-card-commercial{color:var(--white);background:radial-gradient(circle at 85% 15%, #1198f566, transparent 28%), var(--ink-900)}.work-number{opacity:.55;margin:0;font-weight:850}.work-card h3{font-size:clamp(2rem,4vw,3.25rem)}.work-card ul{flex-wrap:wrap;gap:.55rem;padding:0;list-style:none;display:flex}.work-card li{border:1px solid;border-radius:999px;padding:.45rem .75rem;font-size:.86rem}.section-dark{color:var(--white);background:var(--ink-950)}.section-dark .eyebrow{color:var(--blue-500)}.split-panel{grid-template-columns:.8fr 1.2fr;align-items:end;gap:4rem;display:grid}.split-panel>p{color:var(--steel-200);margin:0;font-size:1.22rem}.process-heading{max-width:46rem;margin-bottom:2.5rem}.process-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);margin:0;padding:0;list-style:none;display:grid}.process-step{background:var(--ink-800);border-radius:var(--radius-md);border:1px solid #ffffff24;flex-direction:column;justify-content:space-between;min-height:11rem;padding:1.5rem;display:flex;position:relative}.process-step:not(:last-child):after{content:"→";color:var(--blue-500);font-size:1.75rem;line-height:1;position:absolute;top:50%;right:calc(clamp(1.5rem,4vw,3.5rem)/-1.38889);transform:translateY(-50%)}.process-number{aspect-ratio:1;width:2.35rem;color:var(--white);background:var(--blue-600);border-radius:50%;place-items:center;font-size:.82rem;font-weight:850;display:grid}.process-label{max-width:14ch;color:var(--white);font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:800;line-height:1.25}.license-section{color:var(--ink-950);background:var(--white);border-bottom:1px solid var(--steel-200);padding:2rem 0}.license-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;display:grid}.license-mark{aspect-ratio:1;width:4.5rem;color:var(--white);background:linear-gradient(145deg, var(--ink-900), var(--blue-600));clip-path:polygon(50% 0,100% 100%,78% 100%,50% 42%,22% 100%,0 100%);place-items:center;font-weight:900;display:grid}.license-inner h2{font-size:clamp(1.6rem,3vw,2.35rem)}.license-inner p:last-child{color:var(--steel-700);margin-bottom:0}.faq-section{background:linear-gradient(135deg, var(--steel-100), #dfe9f2);border-top:1px solid var(--steel-200);border-bottom:1px solid var(--steel-200)}.faq-layout,.faq-page-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.faq-page-intro{position:sticky;top:8rem}.faq-page-intro>p:last-child{color:var(--steel-700)}.faq-list{border-top:1px solid var(--steel-300)}.faq-item{border-bottom:1px solid var(--steel-300)}.faq-item summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.25rem 0;font-weight:800;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-index{color:var(--blue-600);letter-spacing:.08em;font-size:.76rem}.faq-toggle{width:2rem;height:2rem;color:var(--blue-700);background:var(--steel-100);border-radius:50%;place-items:center;font-size:1.25rem;transition:transform .16s,background .16s;display:grid}.faq-item[open] .faq-toggle{color:var(--white);background:var(--blue-600);transform:rotate(45deg)}.faq-answer{color:var(--steel-700);padding:0 3rem 1.25rem}.faq-answer p{margin:0}.areas-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.sticky-heading{position:sticky;top:8rem}.area-list{border-top:1px solid var(--steel-300);display:grid}.area-item{border-bottom:1px solid var(--steel-300);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;display:flex}.area-list span{font-size:1.15rem;font-weight:750}.area-list small{color:var(--steel-500)}.cta-section{color:var(--white);background:linear-gradient(115deg, var(--blue-700), var(--blue-500))}.cta-section .eyebrow{color:var(--white);opacity:.8}.cta-inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.cta-copy{color:#ffffffdb;max-width:58ch;margin-bottom:0}.site-footer{color:var(--steel-200);background:var(--ink-950);padding:4rem 0 1.5rem}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:2rem;display:grid}.footer-grid h2{color:var(--white);letter-spacing:.08em;text-transform:uppercase;font-size:.88rem}.footer-grid ul{padding:0;list-style:none}.footer-grid li{margin:.55rem 0}.footer-grid a{text-underline-offset:.2rem}.footer-intro{max-width:34ch}.site-footer .text-link,.site-footer .eyebrow{color:var(--blue-500)}.footer-bottom{border-top:1px solid #ffffff1f;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.25rem;font-size:.86rem;display:flex}.footer-legal{gap:1rem;display:flex}.interior-page{padding:clamp(4.5rem,8vw,8rem) 0}.contact-layout{grid-template-columns:.75fr 1.25fr;align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.contact-intro{position:sticky;top:8rem}.contact-intro>p{color:var(--steel-700);font-size:1.1rem}.contact-details{gap:1rem;margin-top:2.5rem;display:grid}.contact-details div{border-top:1px solid var(--steel-300);padding-top:1rem}.contact-details dt{color:var(--steel-500);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.contact-details dd{margin:.2rem 0 0;font-weight:700}.contact-form{background:var(--white);border:1px solid var(--steel-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);gap:1.25rem;padding:clamp(1.25rem,4vw,2.5rem);display:grid}.form-heading{border-bottom:1px solid var(--steel-200);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1rem;display:flex}.form-heading h2{font-size:1.6rem}.form-heading p{color:var(--steel-500);margin:0;font-size:.82rem}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-field-wide{grid-column:1/-1}.contact-form label{min-width:0;color:var(--ink-800);align-content:start;gap:.4rem;font-size:.88rem;font-weight:750;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink-950);background:var(--concrete-50);border:1px solid var(--steel-300);border-radius:var(--radius-sm);padding:.8rem .9rem}:is(.contact-form input:user-invalid,.contact-form select:user-invalid,.contact-form textarea:user-invalid){border-color:#b42318;box-shadow:0 0 0 2px #b423181a}.contact-form textarea{resize:vertical}.contact-form .button{justify-self:start}.form-note,.form-status{color:var(--steel-500);margin:0;font-size:.82rem}.required-mark{color:#b42318}.field-optional,.field-hint{color:var(--steel-500);font-size:.78rem;font-weight:500}.project-week-range{color:var(--ink-800);font-size:.875rem;font-weight:500}.project-week-range:empty{display:none}.contact-verification{min-width:0;min-height:65px}.contact-verification p:empty{display:none}.bot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status:empty{display:none}.form-status{color:#8a1c13;border-radius:var(--radius-sm);background:#fff1f0;padding:.8rem 1rem}.form-status.is-success{color:#17633a;background:#edf9f1}.legal-content{max-width:50rem}.legal-content h1{margin-bottom:.5rem}.legal-content h2{letter-spacing:-.02em;max-width:none;margin-top:2.5rem;font-size:1.55rem}.legal-date{color:var(--steel-500)}.interior-hero{color:var(--white);background:radial-gradient(circle at 80% 20%, #1198f547, transparent 24%), var(--ink-950);padding:clamp(5rem,10vw,9rem) 0}.interior-hero h1{max-width:15ch}.interior-hero>.container>p:last-child{max-width:48rem;color:var(--steel-200);font-size:1.15rem}.service-detail-list{gap:clamp(4rem,8vw,7rem);display:grid}.service-row{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.service-row:nth-child(2n) .service-row-image{order:2}.service-row-image{border-radius:var(--radius-lg);min-height:28rem;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.service-row-image img{object-fit:cover}.service-row h2{margin-bottom:1rem}.service-row p{color:var(--steel-700)}.service-hero{min-height:42rem;color:var(--white);background:var(--ink-950);align-items:end;padding:8rem 0 4rem;display:grid;position:relative;overflow:hidden}.service-hero>img{object-fit:cover}.service-hero-shade{z-index:1;background:linear-gradient(90deg,#040a12e6,#040a1266 65%,#040a121f);position:absolute;inset:0}.service-hero-copy{z-index:2;position:relative}.service-hero-copy>p{max-width:42rem;color:var(--steel-100);font-size:1.2rem}.breadcrumbs{color:var(--steel-200);flex-wrap:wrap;gap:.55rem;margin-bottom:2rem;font-size:.82rem;display:flex}.breadcrumbs a{text-underline-offset:.2rem}.service-detail-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,6rem);display:grid}.detail-lede{color:var(--steel-700);margin-top:0;font-size:1.25rem}.application-list{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0;list-style:none;display:grid}.application-list li{background:var(--white);border:1px solid var(--steel-200);border-radius:var(--radius-sm);padding:.85rem 1rem}.area-directory{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.area-directory article{background:var(--white);border:1px solid var(--steel-200);border-radius:var(--radius-md);padding:1.5rem;scroll-margin-top:7rem}.area-directory h2{font-size:1.8rem}.area-directory article>p:last-child{color:var(--steel-700)}@media (max-width:960px){.menu-toggle{display:block}.primary-nav{background:var(--ink-900);border-bottom:1px solid #ffffff1a;align-items:stretch;gap:0;padding:1rem;display:none;position:absolute;inset:5rem 0 auto}.primary-nav.is-open{display:grid}.primary-nav>a{padding:.9rem .5rem}.nav-phone{display:none}.nav-cta{margin-top:.75rem}.service-grid{grid-template-columns:repeat(2,1fr)}.work-heading{grid-template-columns:1fr}.work-heading .eyebrow{grid-column:auto}.license-inner{grid-template-columns:auto 1fr}.license-inner .button{grid-column:2;justify-self:start}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.container{width:min(calc(100% - 1.25rem), var(--container))}.header-inner{min-height:4.5rem}.primary-nav{max-height:calc(100vh - 4.5rem);top:4.5rem;overflow-y:auto}.brand{width:5.5rem}.brand img{width:4.8rem;height:3.8rem}.hero{min-height:calc(100svh - 4.5rem);padding:5rem 0 3rem}.hero-shade{background:linear-gradient(#040a1247 0%,#040a129e 35%,#040a12ed 100%)}.hero-image{object-position:60% center}h1{font-size:clamp(2.55rem,13vw,4rem)}.button-row .button{width:100%}.service-grid,.split-panel,.areas-layout,.work-grid,.footer-grid,.contact-layout,.form-grid,.service-row,.service-detail-grid,.area-directory,.faq-layout,.faq-page-layout{grid-template-columns:1fr}.service-row:nth-child(2n) .service-row-image{order:initial}.service-row-image{min-height:21rem}.service-card{min-height:24rem}.split-panel{gap:1.5rem}.process-flow{grid-template-columns:1fr;gap:2.75rem}.process-step{min-height:8.5rem}.process-step:not(:last-child):after{content:"↓";top:auto;bottom:-2.3rem;right:50%;transform:translate(50%)}.sticky-heading{position:static}.license-inner{grid-template-columns:1fr}.license-inner .button{grid-column:auto;justify-self:stretch}.contact-intro{position:static}.form-heading{flex-direction:column;align-items:start}.faq-page-intro{position:static}.faq-answer{padding-left:0;padding-right:0}.cta-inner,.footer-bottom{flex-direction:column;align-items:stretch}.cta-inner .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
