/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#10181b;--ink-soft:#2b373a;--cream:#f5f2e9;--paper:#fffefa;--line:#d8d8d1;--muted:#687376;--green:#153d35;--green-deep:#0b2c27;--accent:#e3a62e;--accent-pale:#f3cf85;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}svg{flex:none}.container{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:30;background:var(--paper);border-bottom:1px solid #10181b1c;position:relative}.utility-bar{background:var(--green-deep);color:#d6dedb}.utility-inner{justify-content:space-between;align-items:center;gap:20px;min-height:32px;font-size:.68rem;display:flex}.utility-inner>span{color:var(--accent-pale);text-transform:uppercase;letter-spacing:.11em;font-weight:800}.utility-inner>div{align-items:center;gap:20px;display:flex}.utility-inner a:hover{color:#fff}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:34px;min-height:76px;display:grid}.wordmark{letter-spacing:-.045em;flex-direction:column;width:max-content;font-weight:900;line-height:.82;display:inline-flex}.wordmark span{font-size:1.55rem}.wordmark small{color:var(--green);letter-spacing:.35em;margin-top:7px;font-size:.54rem}.desktop-nav{align-items:center;gap:34px;font-size:.9rem;font-weight:700;display:flex}.desktop-nav a{border-bottom:2px solid #0000;padding:28px 0 25px}.desktop-nav a:hover,.desktop-nav a:focus-visible{border-color:var(--accent)}.header-quote{border:1px solid var(--ink);border-radius:999px;justify-self:end;align-items:center;gap:12px;min-height:42px;padding:0 18px;font-size:.86rem;font-weight:800;transition:all .2s;display:inline-flex}.header-quote:hover{background:var(--ink);color:#fff}.mobile-menu{justify-self:end;display:none;position:relative}.mobile-menu summary{border:1px solid var(--line);cursor:pointer;border-radius:50%;place-content:center;gap:4px;width:44px;height:44px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--ink);width:18px;height:2px;display:block}.mobile-menu nav{background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:230px;display:grid;position:absolute;top:52px;right:0;overflow:hidden;box-shadow:0 20px 50px #10181b2e}.mobile-menu nav a{border-bottom:1px solid var(--line);padding:16px 20px;font-weight:750}.mobile-menu nav a:last-child{border:0}.hero{background:var(--green-deep);color:#fff;position:relative;overflow:hidden}.hero-grid{opacity:.12;background-image:linear-gradient(#ffffff26 1px,#0000 1px),linear-gradient(90deg,#ffffff26 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0,#0000 72%);mask-image:linear-gradient(90deg,#000 0,#0000 72%)}.hero-layout{grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;min-height:690px;padding-block:84px;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.18em;margin:0 0 20px;font-size:.72rem;font-weight:900}.eyebrow.light{color:var(--accent-pale)}.hero h1{letter-spacing:-.055em;max-width:770px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,6.3vw,6.7rem);font-weight:400;line-height:.95}.hero h1 em{color:var(--accent-pale);font-weight:400}.hero-intro{color:#d6dedb;max-width:650px;margin:30px 0 0;font-size:1.09rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:34px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:13px;min-height:52px;padding:0 24px;font-size:.9rem;font-weight:850;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#f2b43b}.button-outline{color:#fff;border-color:#fff6}.button-outline:hover{color:var(--ink);background:#fff}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--green)}.text-link{border-bottom:1px solid;align-items:center;gap:10px;padding-block:10px;font-size:.89rem;font-weight:800;display:inline-flex}.light-link{color:#fff}.hero-points{color:#cad5d1;border-top:1px solid #ffffff29;flex-wrap:wrap;gap:24px;margin-top:48px;padding-top:24px;font-size:.78rem;font-weight:750;display:flex}.hero-points span{align-items:center;gap:8px;display:flex}.hero-points span:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px}.roof-visual{align-self:end;height:540px;position:relative}.project-hero{isolation:isolate;background:var(--green);border:1px solid #ffffff2e;border-radius:180px 8px 8px;margin:0;overflow:hidden;box-shadow:-32px 36px 70px #00000047}.project-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 50%,#0416127a);position:absolute;inset:0}.project-hero img{object-fit:cover;object-position:56% center;width:100%;height:100%;display:block}.project-hero .visual-label{z-index:2}.brand-visual{isolation:isolate;background:linear-gradient(145deg,#1a4b40,#0b2c27 72%);border:1px solid #ffffff2e;border-radius:180px 8px 8px;margin:0;overflow:hidden;box-shadow:-32px 36px 70px #00000047}.brand-visual:before{content:"";z-index:-1;opacity:.22;background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 76%);mask-image:linear-gradient(135deg,#000,#0000 76%)}.brand-visual:after{content:"";z-index:-1;border:1px solid #f3cf8552;border-radius:50%;width:390px;height:390px;position:absolute;top:-95px;right:-115px;box-shadow:0 0 0 60px #f3cf8509,0 0 0 120px #f3cf8505}.brand-monogram{color:#0000;-webkit-text-stroke:1px #f3cf856b;font-family:Georgia,Times New Roman,serif;font-size:clamp(11rem,18vw,15rem);line-height:.8;position:absolute;top:50%;left:42px;transform:translateY(-53%)}.brand-state{color:var(--accent-pale);letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.66rem;font-weight:900;position:absolute;top:42px;right:34px}.brand-rule{transform-origin:0;background:linear-gradient(90deg,#ffffff05,#ffffff57,#ffffff05);height:1px;position:absolute}.brand-rule-one{width:72%;top:41%;left:18%;transform:rotate(-22deg)}.brand-rule-two{width:60%;top:62%;left:28%;transform:rotate(-22deg)}.visual-label{background:var(--paper);width:185px;color:var(--ink);flex-direction:column;padding:18px 20px;display:flex;position:absolute;bottom:57px;right:6px;box-shadow:0 18px 40px #00000038}.visual-label span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.visual-label strong{margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.trust-strip{background:var(--accent);color:var(--ink)}.page-hero{background:var(--green-deep);color:#fff;align-items:center;min-height:520px;padding:105px 0;display:flex}.page-hero h1{letter-spacing:-.055em;max-width:850px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,7vw,6.8rem);font-weight:400;line-height:.95}.page-hero h1 em{color:var(--accent-pale);font-weight:400}.page-hero p:not(.eyebrow){color:#d6dedb;max-width:620px;margin:28px 0 30px;font-size:1.05rem;line-height:1.7}.compact-hero{background:var(--green-deep);color:#fff;padding:90px 0 78px}.compact-hero h1{letter-spacing:-.05em;max-width:900px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,5.8rem);font-weight:400;line-height:.98}.compact-hero h1 em{color:var(--accent-pale);font-weight:400}.compact-hero p:not(.eyebrow){color:#cbd7d3;max-width:620px;margin:24px 0 0;font-size:1rem;line-height:1.7}.service-detail-section{padding-top:55px}.service-detail-list{border-top:1px solid var(--line)}.service-detail{border-bottom:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:80px;padding:58px 0;display:grid}.detail-title{grid-template-columns:56px 1fr;align-items:start;gap:22px;display:grid}.detail-title>span{color:var(--green);letter-spacing:.13em;padding-top:9px;font-size:.72rem;font-weight:900}.detail-title h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.2vw,3.5rem);font-weight:400;line-height:1.03}.detail-content>p{color:var(--muted);margin:0 0 26px;font-size:1rem;line-height:1.75}.detail-content ul{grid-template-columns:1fr 1fr;gap:12px 24px;margin:0 0 32px;padding:0;list-style:none;display:grid}.detail-content li{color:var(--ink-soft);align-items:center;gap:10px;font-size:.88rem;display:flex}.detail-content li:before{content:"✓";width:20px;height:20px;color:var(--green);background:#dce9e4;border-radius:50%;place-content:center;font-size:.7rem;font-weight:900;display:grid}.roof-signs-section{background:var(--green);color:#fff;padding:105px 0}.signs-layout{grid-template-columns:.7fr 1.3fr;gap:86px;display:grid}.signs-layout h2,.faq-layout h2,.contact-info h2,.contact-form-wrap h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,4vw,4.2rem);font-weight:400;line-height:1.05}.signs-grid{border-top:1px solid #fff3;grid-template-columns:1fr 1fr;display:grid}.signs-grid article{border-bottom:1px solid #fff3;border-right:1px solid #fff3;min-height:225px;padding:28px 30px}.signs-grid article:nth-child(2n){border-right:0}.signs-grid span{color:var(--accent-pale);letter-spacing:.13em;font-size:.69rem;font-weight:900}.signs-grid h3{margin:38px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:400}.signs-grid p{color:#cbd7d3;margin:0;font-size:.88rem;line-height:1.65}.faq-layout{grid-template-columns:.65fr 1.35fr;gap:100px;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:25px 44px 25px 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:1.7rem;font-weight:300;position:absolute;top:20px;right:4px}.faq-list details[open] summary:after{content:"–"}.faq-list details p{color:var(--muted);margin:-3px 44px 25px 0;line-height:1.7}.quote-section{background:var(--cream);padding:70px 0 110px}.quote-layout{grid-template-columns:.65fr 1.35fr;align-items:start;gap:48px;display:grid}.quote-aside{background:var(--green);color:#fff;border-radius:var(--radius);padding:30px;position:sticky;top:30px}.quote-aside .eyebrow{color:var(--accent-pale)}.quote-aside ol{margin:0;padding:0;list-style:none}.quote-aside li{border-bottom:1px solid #ffffff29;grid-template-columns:42px 1fr;gap:10px;padding:22px 0;display:grid}.quote-aside li>span{color:var(--accent-pale);letter-spacing:.12em;font-size:.68rem;font-weight:900}.quote-aside li p{color:#cbd7d3;margin:0;font-size:.83rem;line-height:1.6}.quote-aside li strong{color:#fff;margin-bottom:4px;font-size:.88rem;display:block}.aside-note{background:#ffffff14;margin-top:26px;padding:20px}.aside-note strong{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:400}.aside-note p{color:#cbd7d3;margin:8px 0 0;font-size:.8rem;line-height:1.6}.quote-form,.contact-form-wrap{background:var(--paper);border-radius:var(--radius);border:1px solid #deded6;padding:42px;box-shadow:0 20px 60px #10181b0f}.form-progress{grid-template-columns:repeat(3,1fr);margin-bottom:46px;display:grid}.form-progress span{color:#909795;text-align:center;text-transform:uppercase;letter-spacing:.1em;border-top:2px solid #dadbd7;padding-top:19px;font-size:.7rem;font-weight:850;position:relative}.form-progress span.active{color:var(--green);border-color:var(--green)}.form-progress i{border:2px solid var(--paper);background:#c7cac6;border-radius:50%;width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #c7cac6}.form-progress span.active i{background:var(--accent);box-shadow:0 0 0 1px var(--green)}.quote-form fieldset{border:0;margin:0;padding:0}.quote-form legend{letter-spacing:-.035em;padding:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.3vw,3rem);line-height:1.05}.form-caption{color:var(--muted);margin:12px 0 28px;font-size:.88rem;line-height:1.6}.choice-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.choice{border:1px solid var(--line);cursor:pointer;min-height:58px;color:var(--ink-soft);border-radius:6px;align-items:center;gap:10px;padding:11px 14px;font-size:.86rem;font-weight:700;transition:all .2s;display:flex}.choice:hover,.choice.active{border-color:var(--green);background:#eef5f1}.choice input,.inline-choices input{accent-color:var(--green)}.field{flex-direction:column;flex:1;gap:8px;margin-top:22px;display:flex}.field-row{gap:18px;display:flex}.field.small{flex:.45}.field label,.label-text{color:var(--ink-soft);font-size:.8rem;font-weight:850}.field label span{color:var(--muted);font-weight:500}.field input,.field select,.field textarea{width:100%;min-height:51px;color:var(--ink);background:#fff;border:1px solid #cfd1cc;border-radius:5px;outline:none;padding:13px 14px}.field textarea{resize:vertical;min-height:115px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #153d351c}.service-note{border-left:3px solid var(--accent);background:var(--cream);margin-top:28px;padding:20px}.service-note strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.service-note p{color:var(--muted);margin:6px 0 0;font-size:.82rem;line-height:1.6}.inline-choices{flex-wrap:wrap;gap:18px;display:flex}.inline-choices label{align-items:center;gap:7px;font-weight:650;display:flex}.consent-copy{color:var(--muted);margin:24px 0 0;font-size:.72rem;line-height:1.55}.honey-field{clip:rect(1px,1px,1px,1px);width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.form-error{color:#842e25;background:#faece9;border-left:3px solid #a0382d;margin:22px 0 0;padding:12px 14px;font-size:.82rem;line-height:1.5}.form-actions{justify-content:flex-end;align-items:center;gap:18px;margin-top:32px;display:flex}.form-actions .button{cursor:pointer;border:0;min-width:170px}.form-actions .button:disabled,.contact-form button:disabled{cursor:wait;opacity:.6}.back-button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;color:var(--ink);background:0 0;padding:12px 4px;font-size:.82rem;font-weight:800}.form-success{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:flex-start;min-height:520px;padding:50px;display:flex}.form-success>span{background:var(--accent);border-radius:50%;place-content:center;width:54px;height:54px;margin-bottom:28px;font-size:1.4rem;font-weight:900;display:grid}.form-success h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:400}.form-success>p:last-child{max-width:500px;color:var(--muted);line-height:1.7}.contact-section{padding:90px 0 110px}.contact-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px;display:grid}.contact-info>p:not(.eyebrow){max-width:520px;color:var(--muted);margin:24px 0 42px;line-height:1.75}.contact-fact{border-top:1px solid var(--line);grid-template-columns:52px 1fr;gap:14px;padding:25px 0;display:grid}.contact-fact>span{color:var(--green);letter-spacing:.13em;padding-top:4px;font-size:.68rem;font-weight:900}.contact-fact strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:400}.contact-fact p{color:var(--muted);margin:7px 0 0;font-size:.84rem;line-height:1.65}.contact-fact a{color:var(--green);margin-top:10px;font-size:.8rem;font-weight:850;display:inline-block}.contact-fact .contact-link{margin-top:0;font-size:.9rem}.contact-form-wrap{padding:38px}.contact-form-wrap h2{margin-bottom:8px;font-size:2.5rem}.contact-success{border-left:3px solid var(--green);color:var(--green-deep);background:#e7f1ec;margin:22px 0 0;padding:13px 15px;font-size:.82rem;line-height:1.5}.contact-form .button{cursor:pointer;border:0;margin-top:28px}.trust-layout{justify-content:space-between;align-items:center;gap:30px;min-height:86px;display:flex}.trust-layout>p{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900}.location-list{justify-content:flex-end;align-items:center;gap:18px;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:700;display:flex}.location-list i{background:var(--ink);opacity:.45;border-radius:50%;width:4px;height:4px}.section{padding-block:110px}.section-heading{margin-bottom:52px}.section-heading h2,.process-intro h2,.cta-card h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,4vw,4.4rem);font-weight:400;line-height:1.04}.split-heading{grid-template-columns:1.5fr .72fr;align-items:end;gap:60px;display:grid}.split-heading>p{color:var(--muted);margin:0 0 5px;line-height:1.7}.standards-section{background:var(--cream)}.recent-work-section{background:var(--paper)}.project-gallery{grid-template-rows:repeat(2,310px);grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.project-photo{border-radius:var(--radius);background:var(--cream);min-height:0;margin:0;position:relative;overflow:hidden}.project-photo img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.project-photo:hover img{transform:scale(1.025)}.project-photo-1{grid-row:1/3}.project-photo-2,.project-photo-3{display:none}.project-photo-4 img{object-position:center 58%}.project-photo-5 img{object-position:center 42%}.standards-grid{grid-template-columns:1.08fr .92fr;align-items:start;gap:28px;display:grid}.standards-card{background:var(--paper);border-radius:var(--radius);border:1px solid #deded6;overflow:hidden;box-shadow:0 22px 55px #10181b12}.standards-card-offset{margin-top:68px}.standard-graphic{aspect-ratio:1.42;background:var(--green);color:#fff;position:relative;overflow:hidden}.standard-graphic:before{content:"";opacity:.16;background-image:linear-gradient(#fff3 1px,#0000 1px),linear-gradient(90deg,#fff3 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0}.standard-index{color:var(--accent-pale);letter-spacing:.14em;font-size:.68rem;font-weight:900;position:absolute;top:25px;left:28px}.scope-sheet{background:#ffffff14;border:1px solid #ffffffb8;flex-direction:column;gap:11%;width:41%;height:54%;padding:18% 14% 0;display:flex;position:absolute;top:23%;left:30%;box-shadow:18px 18px #e3a62e1f}.scope-sheet i{background:#ffffff94;height:1px;display:block}.scope-sheet i:nth-child(2){width:82%}.scope-sheet i:nth-child(3){width:66%}.scope-sheet i:nth-child(4){width:76%}.scope-check{background:var(--accent);width:38px;height:38px;color:var(--ink);border-radius:50%;place-content:center;font-weight:900;display:grid;position:absolute;top:calc(77% - 19px);left:calc(71% - 19px)}.standard-graphic-communication{background:var(--green-deep)}.signal-ring{border:1px solid #f3cf8557;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signal-ring-one{aspect-ratio:1;width:46%}.signal-ring-two{aspect-ratio:1;width:72%}.signal-core{background:var(--accent);width:96px;height:96px;color:var(--green-deep);border-radius:50%;place-content:center;font-family:Georgia,Times New Roman,serif;font-size:3.2rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.standard-copy{grid-template-columns:38px 1fr;align-items:start;gap:16px;min-height:116px;padding:23px 26px;display:grid}.standard-copy>span{color:var(--green);letter-spacing:.13em;padding-top:4px;font-size:.7rem;font-weight:900}.standard-copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:400}.standard-copy p{color:var(--muted);margin:7px 0 0;font-size:.84rem;line-height:1.55}.service-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-right:1px solid var(--line);flex-direction:column;min-height:340px;padding:34px 38px;transition:all .25s;display:flex}.service-card:last-child{border-right:0}.service-card:hover{background:var(--cream)}.service-number{color:var(--green);letter-spacing:.12em;font-size:.73rem;font-weight:900}.service-card h3{letter-spacing:-.03em;margin:62px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:400}.service-card p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.7}.service-card a{align-items:center;gap:9px;width:max-content;margin-top:auto;font-size:.82rem;font-weight:850;display:flex}.process-section{background:var(--green);color:#fff}.process-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:100px;display:grid}.process-intro{position:sticky;top:40px}.process-intro>p:not(.eyebrow){color:#cbd7d3;max-width:420px;margin:24px 0 32px;line-height:1.75}.process-list{border-top:1px solid #ffffff2e;margin:0;padding:0;list-style:none}.process-list li{border-bottom:1px solid #ffffff2e;grid-template-columns:62px 1fr;gap:22px;padding:32px 0;display:grid}.process-list li>span{color:var(--accent-pale);letter-spacing:.13em;font-size:.72rem;font-weight:900}.process-list strong{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:400}.process-list p{color:#cbd7d3;margin:9px 0 0;font-size:.92rem;line-height:1.65}.cta-section{background:var(--cream);padding:52px 0}.cta-card{background:var(--accent);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:42px;min-height:250px;padding:48px 58px;display:flex}.site-footer{background:var(--ink);color:#fff;padding:80px 0 28px}.footer-grid{grid-template-columns:1.5fr .7fr .7fr;gap:70px;display:grid}.footer-wordmark small{color:var(--accent-pale)}.footer-grid>div:first-child>p{color:#aeb8b8;max-width:380px;margin:24px 0 0;line-height:1.7}.footer-grid h2{color:var(--accent-pale);text-transform:uppercase;letter-spacing:.15em;margin:0 0 20px;font-size:.68rem}.footer-grid>div:not(:first-child){flex-direction:column;align-items:flex-start;gap:12px;display:flex}.footer-grid a,.footer-grid>div:not(:first-child) p{color:#ced5d4;margin:0;font-size:.86rem;line-height:1.7}.footer-grid a:hover{color:#fff}.footer-bottom{color:#8e9a99;border-top:1px solid #ffffff1f;justify-content:space-between;margin-top:66px;padding-top:22px;font-size:.71rem;display:flex}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (width<=980px){.hero-layout{grid-template-columns:1fr;min-height:auto;padding-bottom:0}.hero-copy{max-width:750px}.roof-visual{justify-self:end;width:min(620px,100%);height:430px}.brand-visual,.project-hero{border-radius:135px 8px 0 0}.split-heading{grid-template-columns:1fr;gap:20px}.split-heading>p{max-width:600px}.service-card{padding-inline:26px}.process-layout{gap:55px}.service-detail{gap:45px}.signs-layout,.faq-layout{grid-template-columns:1fr;gap:44px}.quote-layout{grid-template-columns:.75fr 1.25fr;gap:28px}.contact-layout{gap:42px}}@media (width<=760px){.container{width:min(100% - 30px,1180px)}.header-inner{grid-template-columns:1fr auto;min-height:68px}.utility-inner{flex-direction:column;align-items:flex-start;gap:4px;padding-block:8px}.utility-inner>div{justify-content:space-between;gap:12px;width:100%;font-size:.64rem}.desktop-nav,.header-quote{display:none}.mobile-menu{display:block}.hero-layout{gap:28px;padding-top:68px}.hero h1{font-size:clamp(3.15rem,15vw,5rem)}.hero-intro{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .button,.hero-actions .text-link{justify-content:center;width:100%}.hero-points{gap:12px 20px}.roof-visual{width:100%;height:340px}.brand-visual,.project-hero{border-radius:92px 8px 0 0}.visual-label{bottom:38px;right:0}.trust-layout{flex-direction:column;align-items:flex-start;gap:11px;padding-block:22px}.location-list{flex-wrap:wrap;justify-content:flex-start;gap:9px 13px}.section{padding-block:76px}.section-heading{margin-bottom:34px}.standards-grid{grid-template-columns:1fr;gap:20px}.project-gallery{grid-template-rows:340px 210px 210px;grid-template-columns:1fr 1fr;gap:12px}.project-photo-1{grid-area:auto/1/auto/-1}.project-photo-2,.project-photo-3{display:block}.project-photo-4{grid-column:1/-1}.project-photo-5{display:none}.standards-card-offset{margin-top:0}.standard-graphic{aspect-ratio:1.28}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);min-height:270px}.service-card:last-child{border-bottom:0}.service-card h3{margin-top:34px}.process-layout{grid-template-columns:1fr;gap:52px}.process-intro{position:static}.cta-card{flex-direction:column;align-items:flex-start;padding:38px 26px}.cta-card .button{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:50px 28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.page-hero{min-height:470px;padding:75px 0}.compact-hero{padding:70px 0 62px}.service-detail-section{padding-top:20px}.service-detail{grid-template-columns:1fr;gap:28px;padding:44px 0}.detail-title{grid-template-columns:44px 1fr;gap:10px}.detail-content ul{grid-template-columns:1fr}.roof-signs-section{padding:76px 0}.signs-grid{grid-template-columns:1fr}.signs-grid article,.signs-grid article:nth-child(2n){border-right:0;min-height:190px}.faq-layout{gap:34px}.faq-list summary{font-size:1.1rem}.quote-section{padding:28px 0 74px}.quote-layout,.contact-layout{grid-template-columns:1fr}.quote-aside{position:static}.quote-form,.contact-form-wrap{padding:28px 20px}.choice-grid{grid-template-columns:1fr}.field-row{flex-direction:column;gap:0}.form-actions{justify-content:space-between}.form-actions .button{min-width:150px}.form-progress span{font-size:.6rem}.contact-section{padding:72px 0}.contact-layout{gap:50px}}@media (width<=420px){.hero-points span{width:calc(50% - 10px)}.visual-label{width:172px}.process-list li{grid-template-columns:46px 1fr;gap:12px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
