@font-face{font-family:Bricolage;src:url('../assets/fonts/font-3.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Manrope;src:url('../assets/fonts/font-9.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--forest:#17352f;--forest-2:#244c43;--paper:#f7f0de;--paper-2:#fffaf0;--orange:#e7672e;--orange-dark:#bd481b;--ink:#1f2421;--muted:#58635e;--line:#cdbf9e;--sage:#c7d2bd;--white:#fff;--shadow:0 18px 42px rgba(31,36,33,.16);--display:'Bricolage',Georgia,serif;--body:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--forest)}
body{margin:0;background:var(--paper-2);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased}
::selection{background:var(--orange);color:#fff}
::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--forest);border:3px solid var(--paper);border-radius:10px}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
h1,h2,h3{font-family:var(--display);line-height:1.03;letter-spacing:-.035em;text-wrap:balance;margin:0 0 .55em}
h1{font-size:clamp(2.75rem,6vw,5.65rem);font-weight:760}
h2{font-size:clamp(2rem,4vw,3.7rem);font-weight:720}
h3{font-size:clamp(1.25rem,2vw,1.65rem)}
p{max-width:72ch;margin:0 0 1.15em}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:999;transform:translateY(-180%);background:var(--orange);color:#fff;padding:.7rem 1rem;border-radius:10px}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,250,240,.96);border-bottom:1px solid rgba(31,36,33,.14)}
.header-shell{max-width:1480px;margin:auto;min-height:78px;padding:0 clamp(1rem,3vw,3rem);display:flex;align-items:center;gap:clamp(1rem,2vw,2.25rem)}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;white-space:nowrap}.brand strong,.brand small{display:block}.brand strong{font:760 1.17rem/1 var(--display);letter-spacing:-.02em}.brand small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.28rem;color:var(--muted)}
.brand-glyph{width:34px;height:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;transform:skewY(-7deg)}.brand-glyph span{background:var(--orange);border-radius:2px}.brand-glyph span:nth-child(2){transform:translateY(4px)}.brand-glyph span:nth-child(3){transform:translateY(8px)}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(.85rem,2vw,1.6rem);font-weight:650;font-size:.89rem}.primary-nav>a,.nav-services>a{text-decoration:none;padding:1.7rem 0;position:relative}.primary-nav>a:after,.nav-services>a:after{content:"";position:absolute;left:0;right:100%;bottom:1.15rem;height:2px;background:var(--orange);transition:right .25s ease}.primary-nav>a:hover:after,.primary-nav>a:focus-visible:after,.nav-services>a:hover:after{right:0}
.nav-services{position:relative;display:flex;align-items:center;gap:.25rem}.submenu-toggle{width:28px;height:28px;border:0;background:none;cursor:pointer;position:relative}.submenu-toggle span:before,.submenu-toggle span:after{content:"";position:absolute;width:7px;height:2px;background:var(--ink);top:13px}.submenu-toggle span:before{right:12px;transform:rotate(40deg)}.submenu-toggle span:after{right:7px;transform:rotate(-40deg)}
.submenu{position:absolute;top:calc(100% - .2rem);left:-1rem;width:300px;padding:.65rem;background:var(--paper-2);box-shadow:var(--shadow);border-radius:14px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s ease}.submenu a{display:block;padding:.7rem .8rem;text-decoration:none;border-radius:8px;font-size:.88rem}.submenu a:hover,.submenu a:focus-visible{background:var(--paper);color:var(--orange-dark)}.nav-services:hover .submenu,.nav-services:focus-within .submenu,.nav-services.open .submenu{opacity:1;visibility:visible;transform:none}
.header-action,.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.78rem 1.2rem;border-radius:10px;background:var(--orange);color:#fff;text-decoration:none;font-weight:750;box-shadow:0 8px 22px rgba(189,72,27,.2);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.header-action:hover,.button:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(189,72,27,.28)}
.button-dark{background:var(--forest);box-shadow:0 8px 22px rgba(23,53,47,.2)}.button-dark:hover{background:#0c2722}.menu-toggle{display:none;margin-left:auto;border:0;background:none;align-items:center;gap:.7rem;font-weight:700}.menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{display:block;width:24px;height:2px;background:var(--ink);position:relative}.menu-toggle i:before,.menu-toggle i:after{content:"";position:absolute;left:0}.menu-toggle i:before{top:-7px}.menu-toggle i:after{top:7px}
.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);grid-template-rows:minmax(620px,76vh) auto;background:var(--paper);position:relative;overflow:hidden}
.hero-copy{padding:clamp(4.5rem,8vw,8rem) clamp(1.5rem,5vw,5.5rem) 5rem;display:flex;flex-direction:column;justify-content:center;position:relative}.hero-copy:before{content:"";position:absolute;left:clamp(1.5rem,5vw,5.5rem);top:clamp(2rem,5vw,4rem);width:110px;height:1px;background:var(--line)}.hero h1{font-size:clamp(3.3rem,6vw,5.7rem);max-width:10ch}.hero h1 span{color:var(--orange-dark)}.hero-copy>p{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:44ch;color:#35423d}.hero-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:.8rem}.text-link{font-weight:750;color:var(--forest);text-decoration-color:var(--orange)}.text-link:hover{color:var(--orange-dark)}.service-note{font-size:.78rem!important;letter-spacing:.04em;text-transform:uppercase;margin-top:2.2rem;color:var(--muted)!important}
.hero-visual{position:relative;min-width:0}.photo{margin:0;overflow:hidden}.hero-photo,.hero-photo img{width:100%;height:100%}.hero-photo img{object-fit:cover;object-position:60% center}.callout{position:absolute;background:var(--paper-2);padding:.65rem .8rem .7rem;border-radius:9px;box-shadow:var(--shadow);min-width:136px;font-size:.75rem}.callout:after{content:"";position:absolute;background:var(--paper-2);width:14px;height:14px;transform:rotate(45deg)}.callout b,.callout small{display:block}.callout b{font-family:var(--display);font-size:1rem}.callout small{color:var(--muted)}.callout span{position:absolute;height:1px;background:var(--paper-2);width:75px}.callout-roof{top:16%;left:4%}.callout-roof:after{right:-7px;top:18px}.callout-roof span{right:-68px;top:24px;transform:rotate(-12deg);transform-origin:left}.callout-wall{top:43%;right:4%}.callout-wall:after{left:-7px;top:20px}.callout-wall span{left:-72px;top:26px}.callout-base{bottom:17%;left:9%}.callout-base:after{right:-7px;top:20px}.callout-base span{right:-70px;top:26px;transform:rotate(9deg);transform-origin:left}
.variable-rail{grid-column:1/-1;background:var(--forest);color:#fff;display:grid;grid-template-columns:repeat(5,1fr);padding:0 clamp(1rem,3vw,3rem)}.variable-rail div{padding:1rem clamp(.7rem,1.6vw,1.5rem);border-right:1px solid rgba(255,255,255,.2)}.variable-rail div:last-child{border:0}.variable-rail b,.variable-rail span{display:block}.variable-rail b{font:650 .86rem var(--display)}.variable-rail span{font-size:.72rem;color:#cfe0d8;margin-top:.2rem}
.section,.page-shell,.article-shell{max-width:1320px;margin:auto;padding-left:clamp(1.25rem,4vw,4rem);padding-right:clamp(1.25rem,4vw,4rem)}.section{padding-top:clamp(4.5rem,8vw,8rem);padding-bottom:clamp(4.5rem,8vw,8rem)}.section-intro{padding-bottom:clamp(3.5rem,6vw,6rem)}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.split-copy h2{max-width:12ch}.split-copy p{font-size:1.05rem}
.services-ledger{padding-top:2rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.4rem}.section-heading h2{max-width:15ch}.section-heading p{max-width:34ch;color:var(--muted)}
.ledger{border-top:1px solid var(--line)}.ledger-row{display:grid;grid-template-columns:54px 1fr 28px;gap:1rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s ease}.ledger-row:hover{color:var(--orange-dark)}.ledger-index{font:600 .72rem var(--body);color:var(--muted)}.ledger-row b,.ledger-row small{display:block}.ledger-row b{font:650 clamp(1.35rem,2vw,2rem) var(--display)}.ledger-row small{max-width:72ch;color:var(--muted);margin-top:.2rem}.ledger-row i{width:22px;height:22px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);justify-self:end}
.process-stage{max-width:1500px;margin:2rem auto;display:grid;grid-template-columns:1.05fr .95fr;background:var(--forest);color:#fff}.process-photo .photo,.process-photo img{height:100%}.process-photo img{object-fit:cover}.process-copy{padding:clamp(3rem,6vw,6rem)}.process-copy h2{max-width:11ch}.process-list{list-style:none;padding:0;margin:2.3rem 0 0}.process-list li{display:grid;grid-template-columns:1fr 1.6fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.25)}.process-list b{font-family:var(--display)}.process-list span{color:#d3e2db}
.estimate-factors{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}.factor-title{position:sticky;top:110px;height:max-content}.factor-title h2{max-width:10ch}.factor-title img{width:56px;height:56px;margin-top:2rem;opacity:.68}.factor-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.factor-grid p{padding:1.4rem 1.2rem;margin:0;border-bottom:1px solid var(--line)}.factor-grid p:nth-child(odd){border-right:1px solid var(--line)}.factor-grid b{display:block;font-family:var(--display);font-size:1.25rem;margin-bottom:.35rem}
.area-section{max-width:1500px;background:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,6vw,7rem)}.area-copy h2{max-width:11ch}.city-cloud{display:grid;grid-template-columns:1fr 1fr}.city-cloud a{padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none;font:650 1.15rem var(--display)}.city-cloud a:nth-child(odd){padding-right:1.2rem}.city-cloud a:nth-child(even){padding-left:1.2rem;border-left:1px solid var(--line)}.city-cloud span{display:block;font:400 .75rem var(--body);color:var(--muted);margin-top:.25rem}
.article-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2rem}.article-strip article{border-top:1px solid var(--line);padding-top:1rem}.article-strip img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}.article-strip h3{margin-top:1.15rem}.article-strip h3 a{text-decoration:none}.article-strip p{font-size:.9rem;color:var(--muted)}
.cta-band{max-width:1500px;margin:2rem auto 0;padding:clamp(3rem,6vw,6rem);background:var(--orange);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:3rem}.cta-band h2{max-width:15ch}.cta-band p{color:#fff0e8}.cta-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.light{color:#fff;text-decoration-color:#fff}
.site-footer{background:var(--forest);color:#fff;padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4rem) 1.5rem}.footer-shell{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(2rem,5vw,5rem)}.brand-light small{color:#cfe0d8}.footer-brand p{color:#cfe0d8;margin-top:1.2rem}.footer-shell h2{font-size:1rem;letter-spacing:0;margin-bottom:1.2rem}.footer-shell>div:not(:first-child) a{display:block;color:#d5e1dc;text-decoration:none;padding:.25rem 0;font-size:.86rem}.footer-shell a:hover{color:#fff}.footer-phone{font:700 1.3rem var(--display);color:#fff}.hours{font-size:.82rem}.footer-bottom{max-width:1320px;margin:4rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;color:#b9cdc4;font-size:.75rem}.mobile-call{display:none}
.breadcrumbs{padding-top:1.25rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0;font-size:.75rem;color:var(--muted)}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--line)}
.detail-hero,.location-hero,.article-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3.5rem,7vw,7rem) 0}.detail-hero h1,.location-hero h1,.article-hero h1{font-size:clamp(3rem,6vw,5.4rem)}.detail-hero>div>p,.location-hero>div>p,.article-hero>div>p{font-size:1.12rem}.detail-photo img,.article-photo img{aspect-ratio:5/4;object-fit:cover;border-radius:16px}
.scope-note{background:var(--forest);color:#fff;padding:1.5rem clamp(1.25rem,3vw,2.5rem);display:flex;align-items:center;gap:1rem;border-radius:14px}.scope-note img{width:38px;height:38px;filter:invert(1)}.scope-note p{margin:0}
.content-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);padding:clamp(4rem,7vw,7rem) 0}.content-pair h2{font-size:clamp(1.8rem,3vw,2.8rem)}.check-list,.plain-list,.factor-list{padding:0;list-style:none}.check-list li,.plain-list li,.factor-list li{padding:.7rem 0 .7rem 1.7rem;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"";position:absolute;left:0;top:1rem;width:10px;height:6px;border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg)}.plain-list li:before,.factor-list li:before{content:"";position:absolute;left:.15rem;top:1.22rem;width:8px;height:1px;background:var(--orange)}
.image-explain{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-bottom:clamp(4rem,7vw,7rem)}.image-explain img{aspect-ratio:4/3;object-fit:cover;border-radius:16px}.faq-block{padding-bottom:clamp(4rem,7vw,7rem);max-width:920px}.faq-block.wide{margin:auto}.faq-block details{border-top:1px solid var(--line);padding:1rem 0}.faq-block details:last-child{border-bottom:1px solid var(--line)}.faq-block summary{font:650 1.08rem var(--display);cursor:pointer;list-style:none;position:relative;padding-right:2.5rem}.faq-block summary:after{content:"+";position:absolute;right:.3rem;top:-.2rem;font:500 1.6rem var(--display);color:var(--orange)}.faq-block details[open] summary:after{content:"−"}.faq-block details p{margin:.8rem 2.5rem 0 0;color:var(--muted)}
.guide-link{padding:clamp(2.5rem,5vw,4.5rem);background:var(--paper);border-radius:16px}.guide-link span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.guide-link h2{font-size:clamp(1.7rem,3vw,2.8rem);margin-top:.55rem}.guide-link h2 a{text-decoration-color:var(--orange)}.related-links{padding:4rem 0}.related-links h2{font-size:1.3rem}.related-links div{display:flex;flex-wrap:wrap;gap:.6rem}.related-links a{padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.82rem}.related-links a:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.location-plate{background:var(--forest);color:#fff;min-height:340px;border-radius:16px;padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.location-plate:before{content:"";position:absolute;inset:1.5rem;border:1px solid rgba(255,255,255,.25);border-radius:10px}.location-plate b,.location-plate span,.location-plate small{position:relative}.location-plate b{font:700 clamp(3rem,7vw,6rem) var(--display);color:#ff9666}.location-plate span{max-width:24ch;color:#d5e1dc}.location-plate small{margin-top:2rem;text-transform:uppercase;letter-spacing:.1em}.local-context{max-width:840px;padding:0 0 4rem}.local-context h2{max-width:14ch}.location-process{padding:clamp(3rem,5vw,5rem);background:var(--paper);border-radius:16px;margin-bottom:5rem}.location-process ol{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(4,1fr)}.location-process li{padding:1rem;border-left:1px solid var(--line)}.location-process b,.location-process span{display:block}.location-process b{font-family:var(--display)}.location-process span{font-size:.8rem;color:var(--muted);margin-top:.35rem}
.index-hero{padding:clamp(4rem,8vw,8rem) 0;display:flex;align-items:end;justify-content:space-between;gap:3rem}.index-hero h1{max-width:11ch}.index-hero p{font-size:1.08rem;max-width:42ch}.index-hero.compact{padding-bottom:4rem}.blog-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;padding-bottom:6rem}.blog-grid article{grid-column:span 6;padding-bottom:2rem;border-bottom:1px solid var(--line)}.blog-grid article:first-child{grid-column:span 12;display:grid;grid-template-columns:1.15fr .85fr;column-gap:2rem}.blog-grid article:first-child .article-image{grid-row:1/6}.article-image img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.blog-grid article>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-dark);margin-top:1rem}.blog-grid h2{font-size:clamp(1.6rem,3vw,2.6rem)}.blog-grid h2 a{text-decoration:none}.blog-grid p{color:var(--muted)}
.byline{display:flex;gap:1.2rem;font-size:.78rem;color:var(--muted);margin-top:2rem}.article-layout{display:grid;grid-template-columns:240px minmax(0,740px);gap:clamp(2rem,6vw,6rem);align-items:start;padding-bottom:7rem}.article-layout aside{position:sticky;top:110px;border-top:1px solid var(--line);padding-top:1rem}.article-layout aside span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem}.article-layout aside a{display:block;padding:.35rem 0;text-decoration:none;font-size:.8rem;color:var(--muted)}.article-layout aside a:hover{color:var(--orange-dark)}.article-body{min-width:0}.article-body>section{scroll-margin-top:110px;margin-bottom:3.5rem}.article-body h2{font-size:clamp(1.8rem,3vw,2.65rem)}.article-body p,.article-body li{font-size:1.04rem}.article-body li{margin:.55rem 0}.table-wrap{max-width:100%;overflow:auto;margin:1.4rem 0}.article-body table{width:100%;border-collapse:collapse;min-width:560px}.article-body th,.article-body td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line);vertical-align:top}.article-body th{font-family:var(--display);background:var(--paper)}.article-next{background:var(--paper);padding:2rem;border-radius:14px}
.service-directory{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:6rem}.service-directory article{background:var(--paper-2);padding:clamp(1.5rem,4vw,3rem)}.service-directory span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-dark)}.service-directory h2{font-size:clamp(1.55rem,3vw,2.45rem);margin-top:.6rem}.service-directory h2 a{text-decoration:none}.service-directory p{color:var(--muted)}.area-directory{max-width:920px;margin:0 auto 6rem}.directory-note{margin-bottom:2rem}.area-directory>a{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.area-directory b,.area-directory small{display:block}.area-directory b{font:650 1.35rem var(--display)}.area-directory small,.area-directory em{font-size:.78rem;color:var(--muted);font-style:normal}.prose{max-width:760px;margin:0 auto 6rem}.prose h2{font-size:clamp(1.6rem,3vw,2.5rem);margin-top:2.5rem}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);margin-bottom:6rem}.contact-layout section{background:var(--paper);padding:clamp(2rem,5vw,4rem);border-radius:16px}.contact-number{display:block;font:700 clamp(2rem,4vw,3.8rem) var(--display);color:var(--orange-dark);margin:1rem 0 1.5rem}.estimate-sheet{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:6rem}.estimate-sheet section,.estimate-call{background:var(--paper-2);padding:clamp(2rem,4vw,3.5rem)}.estimate-sheet h2{font-size:1.8rem}.estimate-call{grid-column:1/-1;background:var(--forest);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem}.estimate-call h2{max-width:16ch}
.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:3rem}.error-page strong{font:800 clamp(5rem,18vw,13rem)/.8 var(--display);color:var(--orange)}.error-page h1{font-size:clamp(2.2rem,5vw,4rem)}
@media(max-width:1040px){.header-action{display:none}.hero{grid-template-columns:1fr 1.15fr}.hero-copy{padding-left:2rem;padding-right:2rem}.hero h1{font-size:clamp(3rem,6vw,4.7rem)}.footer-shell{grid-template-columns:1.4fr 1fr 1fr}.footer-shell>div:last-child{grid-column:2/-1}.article-layout{grid-template-columns:200px 1fr}}
@media(max-width:820px){body{padding-bottom:58px}.menu-toggle{display:flex}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper-2);padding:1rem;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:0}.primary-nav.open{display:flex}.primary-nav>a,.nav-services>a{padding:.75rem}.nav-services{display:grid;grid-template-columns:1fr 44px}.submenu-toggle{width:44px;height:44px;justify-self:end}.submenu{display:none;position:static;grid-column:1/-1;width:auto;box-shadow:none;opacity:1;visibility:visible;transform:none;background:var(--paper);padding:.5rem}.nav-services.open .submenu{display:block}.hero{display:block}.hero-copy{min-height:560px;padding:5rem 1.5rem 3rem}.hero-visual{height:520px}.variable-rail{grid-template-columns:repeat(2,1fr)}.variable-rail div:last-child{grid-column:1/-1}.split-copy,.process-stage,.estimate-factors,.area-section,.detail-hero,.location-hero,.article-hero,.content-pair,.image-explain,.contact-layout{grid-template-columns:1fr}.process-photo{min-height:480px}.factor-title{position:static}.article-strip{grid-template-columns:1fr}.section-heading,.index-hero,.cta-band{align-items:flex-start;flex-direction:column}.city-cloud{grid-template-columns:1fr}.city-cloud a:nth-child(even){padding-left:0;border-left:0}.footer-shell{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-shell>div:last-child{grid-column:auto}.mobile-call{display:flex;position:fixed;z-index:90;left:0;right:0;bottom:0;height:58px;background:var(--orange);color:#fff;align-items:center;justify-content:center;text-decoration:none;font-weight:750}.location-process ol{grid-template-columns:1fr 1fr}.blog-grid{display:block}.blog-grid article,.blog-grid article:first-child{display:block;margin-bottom:2rem}.article-layout{grid-template-columns:1fr}.article-layout aside{position:static;background:var(--paper);padding:1rem;border-radius:12px}.article-layout aside a{display:inline;margin-right:.8rem}.service-directory{grid-template-columns:1fr}.estimate-sheet{grid-template-columns:1fr}.estimate-call{grid-column:auto;align-items:flex-start;flex-direction:column}}
@media(max-width:540px){h1{font-size:2.8rem}.header-shell{min-height:70px}.brand strong{font-size:1rem}.brand-glyph{width:30px;height:30px}.hero-copy{min-height:500px}.hero h1{font-size:3.2rem}.hero-visual{height:420px}.callout{min-width:118px;padding:.55rem;font-size:.67rem}.callout span{display:none}.callout-roof{left:3%}.callout-wall{right:3%}.variable-rail{grid-template-columns:1fr 1fr}.section{padding-top:4rem;padding-bottom:4rem}.factor-grid{grid-template-columns:1fr}.factor-grid p:nth-child(odd){border-right:0}.process-list li{grid-template-columns:1fr}.footer-shell{grid-template-columns:1fr}.footer-shell>div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:.4rem}.location-process ol{grid-template-columns:1fr}.location-process li{border-left:0;border-top:1px solid var(--line)}.location-plate{min-height:280px}.article-hero,.detail-hero,.location-hero{padding-top:3rem}.article-hero h1,.detail-hero h1,.location-hero h1{font-size:2.75rem}.byline{display:block}.cta-band{padding:3rem 1.5rem}}
@keyframes field-note-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.callout{animation:field-note-in .55s cubic-bezier(.2,.75,.25,1) both}.callout-roof{animation-delay:.08s}.callout-wall{animation-delay:.2s}.callout-base{animation-delay:.32s}
@media(max-width:820px){.menu-toggle{min-width:44px;min-height:44px;justify-content:center}}
@media(max-width:540px){.article-strip img{width:100%;height:200px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
