[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{color:inherit}
:root{--background:#fff;--foreground:#202020;--card:#fff;--card-foreground:#202020;--popover:#fff;--popover-foreground:#202020;--primary:#b72c25;--primary-foreground:#fff;--secondary:#f5f5f5;--secondary-foreground:#202020;--muted:#f5f5f5;--muted-foreground:#626262;--accent:#f8eeee;--accent-foreground:#92231e;--destructive:#b72c25;--border:#dedede;--input:#d3d3d3;--ring:#b72c25;--radius:.4rem;--ink:#202020;--red:#b72c25}

@font-face{font-family:Nimbus;src:url('/fonts/NimbusSans-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Nimbus;src:url('/fonts/NimbusSans-Bold.otf') format('opentype');font-weight:700 900;font-display:swap}
:root{--ink:#1d1d1d;--red:#b72c25;--body:#5b5b5b;--warm:#f6f6f6;--paper:#ffffff;--line:#dddddd;--primary:var(--red);--ring:var(--red);--foreground:var(--ink);--card-foreground:var(--ink);--popover-foreground:var(--ink);--accent:#f3f3f3;--accent-foreground:var(--ink);--muted-foreground:var(--body)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Nimbus,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}
a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}img{display:block;max-width:100%}p{color:var(--body)}
h1,h2,h3{font-weight:700;line-height:1.1;letter-spacing:-.045em}h1 em,h2 em{font-style:normal;color:var(--red)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.shell{width:min(1180px,calc(100% - 88px));margin-inline:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:7px;background:var(--red);color:#fff;font-size:.96rem;font-weight:700;line-height:1.4;transition:background .18s,transform .18s}
.button:hover{background:#93231e}.button svg{flex-shrink:0}.button.white{background:#fff;color:var(--ink)}.button.white:hover{background:var(--warm)}.button.secondary{background:var(--warm);border-color:var(--line);color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-size:.94rem;font-weight:700;line-height:1.6;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;background:none;border:0;padding:0}
.text-link:hover{color:var(--red)}.text-link svg{flex-shrink:0}.eyebrow{color:var(--red);font-size:.74rem;font-weight:700;letter-spacing:.08em;line-height:1.5;margin-bottom:18px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;padding:12px 18px;background:#fff}.skip-link:focus{top:10px}
/* Familiar branding, short navigation, and a clear way to get in touch. */
.header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;min-height:85px;gap:30px}
.brand{display:block;position:relative;flex-shrink:0;overflow:hidden;width:210px;height:72px}.brand img{position:absolute;width:246px;max-width:none;height:auto;left:-17px;top:-20px}
.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:.92rem;white-space:nowrap}.desktop-nav a{padding-block:12px}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.mobile-menu a[aria-current=page]{color:var(--red)}
.nav-phone{display:none}.nav-cta{font-size:.88rem;min-height:44px;padding:11px 18px}.menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:44px;border:0;padding:8px;background:none;color:var(--ink)}.mobile-menu{display:none}
/* Illustration and headline share the stage, without a photo or boxed hero. */
.hero{background:#fff;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:45px;align-items:center;padding-block:55px 43px}
.hero-copy,.hero-visual{min-width:0}.hero-location{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:.8rem;margin-bottom:23px;line-height:1.45}
.hero-location>span{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--red);border-radius:3px;width:28px;height:28px;flex-shrink:0;font-weight:700;font-size:.74rem;transform:rotate(-6deg);color:var(--red)}
.hero h1{font-size:clamp(3.25rem,6.3vw,5.15rem);line-height:1.01;letter-spacing:-.057em}.hero h1 em{white-space:nowrap}
.hero-description{max-width:40ch;color:var(--body);font-size:1.13rem;line-height:1.6;letter-spacing:-.006em;margin-top:23px}
.hero-actions{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;margin-top:26px}.hero-call{display:inline-flex;align-items:center;gap:9px;font-size:.92rem;white-space:nowrap}.hero-call:hover{color:var(--red)}
.hero-reassurance{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;margin:23px 0 0;font-size:.77rem;color:var(--body)}.hero-reassurance li{display:inline-flex;align-items:center;gap:5px}.hero-reassurance svg{flex-shrink:0;color:var(--red)}
.hero-visual{position:relative;align-self:center;padding-top:23px}.hero-illustration{display:block;width:100%;height:auto}

/* An open service menu: the breadth is visible without opening six disclosures. */
.services{padding-block:58px 56px;scroll-margin-top:23px}
.section-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:29px}.section-intro h2{font-size:2.65rem}.section-intro>p{font-size:1.03rem;line-height:1.55;max-width:28ch}
.service-menu{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:35px}.service-menu>li{min-width:0;border-top:1px solid var(--line)}
.service-option{width:100%;height:100%;text-align:left;padding:24px 0 25px;color:var(--ink);background:transparent;border:0;border-radius:0}
.service-title{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:1.21rem;font-weight:700;letter-spacing:-.025em;line-height:1.3}.service-title svg{flex-shrink:0;color:var(--red);transition:transform .18s}
.service-description{display:block;max-width:32ch;color:var(--body);font-size:.91rem;line-height:1.55;margin-top:10px}.service-option:hover .service-title{color:var(--red)}.service-option:hover .service-title svg{transform:translate(2px,-2px)}
.other-project{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:23px}.other-project p{font-size:.91rem;color:var(--ink)}.other-project p span{color:var(--body)}.other-project .text-link{font-size:.9rem;flex-shrink:0}
/* A richer color break makes the short estimate form easy to spot. */
.estimate-section{background:var(--ink);color:var(--paper);padding-block:60px;scroll-margin-top:84px}
.estimate-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:90px;align-items:center}
.estimate-intro .eyebrow{color:#ffffff;font-size:.71rem;margin-bottom:22px}.estimate-intro h2{font-size:clamp(2.4rem,3.6vw,3.3rem);line-height:1.08;margin-bottom:23px}.estimate-intro h2 em{color:#ffffff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:4px;text-underline-offset:8px}.estimate-intro>p{max-width:360px;color:#f1f1f1;font-size:1.02rem;line-height:1.7}.estimate-intro p.estimate-aside{font-size:.88rem;margin-top:13px;color:#dddddd}
.estimate-process{max-width:355px;margin-top:23px}.estimate-process summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-size:.91rem;font-weight:700;padding-block:12px;border-bottom:1px solid #686868}.estimate-process summary::-webkit-details-marker{display:none}.estimate-process summary svg{flex-shrink:0;color:#ffffff}.estimate-process[open] summary svg{transform:rotate(45deg)}.estimate-process ol{margin:15px 0 0;padding-left:20px;color:#f1f1f1;font-size:.9rem}.estimate-process li{padding:4px 0 4px 5px}.estimate-process summary:focus-visible,.estimate-call:focus-visible{outline-color:#ffffff}
.estimate-call{display:inline-flex;gap:12px;align-items:center;margin-top:25px;font-size:.86rem;line-height:1.5;color:#f1f1f1}.estimate-call svg{color:#ffffff;flex-shrink:0}.estimate-call strong{display:block;font-size:1.17rem;letter-spacing:.015em;font-weight:700;color:#ffffff;margin-top:2px}
.estimate-card{min-width:0;padding:30px 32px 25px;scroll-margin-top:108px;background:var(--paper);border-radius:10px;color:var(--ink)}.form-heading{margin-bottom:24px}.form-heading h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.03em}.form-heading p{font-size:.87rem;margin-top:7px;line-height:1.5}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.estimate-card label,.field{display:block;min-width:0;font-size:.82rem;font-weight:700;margin-bottom:20px;color:var(--ink)}.field label{margin-bottom:0}
.estimate-card input,.estimate-card textarea,.project-select{display:block;width:100%;margin-top:8px;padding:12px 13px;min-height:48px;border:1px solid #c8c8c8;border-radius:5px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.4;font-weight:400;box-shadow:none;resize:vertical}.estimate-card input:focus,.estimate-card textarea:focus{outline:2px solid var(--red);outline-offset:2px}.estimate-card input::placeholder,.estimate-card textarea::placeholder{color:#767676;font-size:.875rem}.project-select{display:flex;align-items:center;justify-content:space-between;height:48px;padding:10px 12px;gap:7px;font-size:.875rem}.project-select>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 18px)}[data-slot=select-item]{font-size:.875rem;padding:11px 12px}
.extra-details{margin-bottom:22px}.extra-details summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;font-size:.85rem;min-height:34px;color:var(--body)}.extra-details summary::-webkit-details-marker{display:none}.extra-details summary>svg{margin-left:auto;color:var(--red);flex-shrink:0}.extra-details summary>span{font-size:.78rem}.extra-details[open] summary>svg{transform:rotate(45deg)}.extra-details>div{padding-top:18px}.extra-details label:last-child{margin-bottom:0}.submit-button{width:100%;justify-content:space-between;padding-inline:18px}
.form-fineprint{font-size:.71rem;line-height:1.6;margin-top:13px;color:var(--body)}.form-fineprint a{text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-error{color:#a0211b;font-size:.88rem;margin-bottom:15px}.form-success{padding-block:35px;min-height:327px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.form-success>svg{color:var(--red);margin-bottom:18px}.form-success h3{font-size:2rem;margin-bottom:17px}.form-success>p{font-size:1rem;line-height:1.7;margin-bottom:21px}.form-success .text-link{font-size:.88rem}.reset-form{display:block;border:0;background:transparent;color:var(--body);padding:10px 0;margin-top:18px;font-size:.85rem;text-decoration:underline}
/* The founder and local area tell one story instead of repeating separate pitches. */
.local-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:100px;align-items:center;padding-block:70px;scroll-margin-top:100px}.local-story{min-width:0}.local-story h2{font-size:clamp(2rem,3.1vw,2.7rem);line-height:1.15;margin-bottom:24px}.local-story>p:not(.eyebrow){font-size:1rem;line-height:1.75;max-width:460px;margin-bottom:16px}.local-story .text-link{margin-top:7px}
.area-panel{padding:32px 35px;background:var(--warm);border-radius:8px;min-width:0}.area-heading{display:flex;align-items:center;gap:17px;margin-bottom:20px}.area-heading p{font-size:.67rem;font-weight:700;letter-spacing:.12em;color:var(--red);margin-bottom:5px}.area-heading h3{font-size:1.9rem;line-height:1.2}
.area-panel>p{font-size:.95rem;line-height:1.7;max-width:34ch}.area-panel ul{list-style:none;padding:20px 0;margin:20px 0;border-top:1px solid #d5d5d5;border-bottom:1px solid #d5d5d5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 19px}.area-panel li{font-size:.95rem;color:var(--ink)}.area-panel p.area-question{font-size:.84rem;line-height:1.65}.area-question .text-link{font-size:.87rem;margin-top:4px}
.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:85px;border-top:1px solid var(--line);padding-block:46px 60px}.faq-intro h2{font-size:2rem;line-height:1.15}.faq-intro p{font-size:.91rem;margin-top:17px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;font-size:.97rem;font-weight:700;line-height:1.55;padding-block:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{color:var(--red);flex-shrink:0}.faq-list details[open] summary{color:var(--red)}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details>p{max-width:740px;font-size:.95rem;line-height:1.8;padding:0 20px 23px 0}
/* A small smile, and the number worth keeping. */
footer{background:var(--warm);border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-block:36px}.footer-top h2{font-size:2rem;line-height:1.13}.footer-top h2 em{color:var(--red)}.footer-top>div{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.footer-top>div a{display:flex;align-items:center;gap:12px;font-size:.9rem}.footer-top>div a:first-child{font-size:1.55rem;font-weight:700;letter-spacing:-.02em}.footer-top>div a:hover{color:var(--red)}.footer-top svg{color:var(--red);flex-shrink:0}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-block:14px 18px;font-size:.72rem;color:var(--body)}.footer-bottom>.brand{width:166px;height:61px}.footer-bottom>.brand img{width:202px;top:-14px;left:-16px}.footer-bottom>p{font-size:.69rem;line-height:1.6;margin-right:auto}.footer-bottom>p strong{color:var(--ink);font-weight:400}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 20px}.mobile-contact{display:none}
/* The founder portrait belongs on his own page. */
.founder-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:92px;align-items:start;padding-block:64px 72px}.founder-story{min-width:0}.founder-story h1{font-size:clamp(3.4rem,6vw,5rem);line-height:1;margin-bottom:28px}.founder-story>p:not(.eyebrow){font-size:1rem;line-height:1.8;margin-bottom:20px;max-width:560px}.founder-story p.founder-deck{font-size:1.35rem;line-height:1.45;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:27px}.founder-story p.founder-signoff{font-weight:700;color:var(--ink);margin-top:26px}.founder-photo{margin-top:4px}.founder-photo img{width:100%;height:440px;object-fit:cover;object-position:center 29%;border-radius:7px;background:var(--warm)}.founder-photo figcaption{padding-top:15px;font-size:.8rem;line-height:1.7}.founder-photo strong{display:block;font-size:.97rem}.founder-photo span{display:block;color:var(--body)}
.closing{padding-block:46px;background:var(--warm);border-top:1px solid var(--line)}.closing .shell{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 70px}.closing .eyebrow{grid-column:1/-1;color:var(--body);margin-bottom:15px}.closing h2{font-size:2.6rem}.closing-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px 24px}.closing-actions .button{background:var(--red);color:#fff}.closing-actions .button:hover{background:#93231e}.closing-actions>a:not(.button){display:flex;align-items:center;gap:9px;font-size:.9rem}.closing-actions>a:not(.button) svg{color:var(--red)}

.utility-page{max-width:900px;margin:0 auto;padding:65px 28px 100px}.utility-page>.eyebrow{margin-top:70px}.utility-page>h1{font-size:3.2rem;margin:15px 0 30px}.utility-page>h2{font-size:1.5rem;margin:35px 0 15px}.utility-page>p{margin:18px 0;line-height:1.8}.utility-page p a{text-decoration:underline;color:var(--red)}.utility-page>.button{margin:10px 0 30px}.empty-inbox{padding:35px;background:#f5f5f5;margin-top:20px}.empty-inbox h2{font-size:1.5rem;margin-bottom:15px}.inquiry-list{display:grid;gap:25px}.inquiry-list article{padding:25px;border:1px solid #dedede;border-radius:5px}.inquiry-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.inquiry-title h2{font-size:1.6rem}.inquiry-title time{font-size:.875rem;color:#626262}.inquiry-contact{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:var(--red)}.inquiry-list .message{white-space:pre-wrap;margin-top:20px}.inquiry-list .attribution{font-size:.875rem;margin-top:20px}.muted{color:#626262}

@media(max-width:1100px){
 .shell{width:calc(100% - 64px)}.hero-grid{gap:26px}.hero h1{font-size:clamp(3.1rem,6.2vw,4.5rem)}.hero-description{font-size:1.06rem}.hero-actions{gap:17px}.hero-actions .button{padding-inline:18px}.hero-reassurance{gap:8px 13px;font-size:.72rem}.service-menu{column-gap:26px}.service-title{font-size:1.1rem;gap:9px}.service-description{font-size:.88rem}.estimate-grid{gap:45px}.estimate-card{padding:27px 25px 24px}.local-section{gap:50px}.area-panel{padding:29px}.founder-section{gap:60px}.faq-section{gap:55px}.footer-bottom{flex-wrap:wrap;gap:10px 25px}.footer-bottom>div{margin-left:auto}
}
@media(max-width:850px){
 .shell{width:calc(100% - 48px)}.nav{min-height:78px;gap:14px}.brand{width:194px;height:70px}.brand img{width:234px;left:-17px;top:-19px}.desktop-nav,.nav-cta{display:none}.nav-phone{display:inline-flex;align-items:center;justify-content:center;width:42px;height:44px;margin-left:auto}.nav-phone>span{display:none}.menu-toggle{display:flex}.mobile-menu{display:flex;flex-direction:column;padding:8px 24px 16px;background:var(--paper);border-top:1px solid var(--line)}.mobile-menu a{padding:12px 0;font-size:.94rem}
 .hero-grid{padding-block:40px 34px;gap:22px;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.hero-location{font-size:.71rem;gap:8px;margin-bottom:19px}.hero-location>span{width:25px;height:25px;font-size:.68rem}.hero h1{font-size:clamp(2.65rem,6.1vw,3.3rem)}.hero-description{font-size:1rem;line-height:1.6;margin-top:20px}.hero-actions{gap:15px;margin-top:21px}.hero-actions .button{font-size:.89rem;padding-inline:16px;gap:12px}.hero-call{font-size:.86rem}.hero-reassurance{margin-top:19px;font-size:.72rem}
 .services{padding-block:45px}.section-intro h2{font-size:2.25rem}.section-intro>p{font-size:.94rem}.service-menu{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px}.service-title{font-size:1.16rem}.service-description{font-size:.9rem}.other-project{align-items:flex-start;flex-direction:column;gap:8px}.estimate-grid{gap:32px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.estimate-intro h2{font-size:2.35rem}.estimate-card{padding:25px 22px}.form-heading h3{font-size:1.4rem}.field-row{grid-template-columns:1fr;gap:0}.estimate-section{padding-block:45px}.estimate-intro>p{font-size:.97rem}.local-section{gap:35px;padding-block:55px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.local-story h2{font-size:2.1rem}.local-story>p:not(.eyebrow){font-size:.94rem}.local-story .text-link{font-size:.87rem}.area-panel{padding:27px 24px}.area-heading{gap:14px}.area-heading h3{font-size:1.55rem}.area-panel>p,.area-panel li{font-size:.87rem}.area-panel ul{gap:10px 15px}.faq-section{gap:35px;padding-block:35px 48px}.faq-intro h2{font-size:1.8rem}.faq-list summary{font-size:.93rem}.footer-top h2{font-size:1.8rem}.footer-top>div a:first-child{font-size:1.35rem}.founder-section{gap:40px}.founder-photo img{height:370px}.founder-story h1{font-size:3.6rem}.closing-actions{flex-direction:column;align-items:flex-start}.closing h2{font-size:2.3rem}
}
@media(max-width:620px){
 html{scroll-padding-top:90px}.shell{width:calc(100% - 40px)}.nav{min-height:74px;gap:12px}.mobile-menu{padding-inline:20px}
 .hero-grid{grid-template-columns:1fr;padding-block:31px 24px;gap:20px}.hero-location{font-size:.74rem;gap:10px;margin-bottom:20px}.hero h1{font-size:clamp(2.8rem,12vw,4.2rem);line-height:1.02}.hero-description{font-size:1.02rem;max-width:37ch;margin-top:21px}.hero-actions{gap:15px 18px;margin-top:22px}.hero-actions .button{font-size:.89rem;min-height:48px;padding:12px 17px;gap:12px}.hero-call{font-size:.85rem;gap:7px}.hero-call svg{width:15px}.hero-reassurance{font-size:.73rem;gap:7px 13px;margin-top:19px}.hero-visual{width:calc(100% + 24px);max-width:none;margin:0 -12px;padding-top:0}
 .services{padding-block:37px 40px}.section-intro{display:block;margin-bottom:23px}.section-intro h2{font-size:2.1rem}.section-intro>p{font-size:.92rem;line-height:1.65;margin-top:12px;max-width:none}.section-intro>p br{display:none}.section-intro>p br:after{content:' '}.service-menu{column-gap:23px}.service-option{padding-block:21px 22px}.service-title{font-size:1.07rem;line-height:1.3;gap:9px;align-items:flex-start;min-height:44px}.service-title svg{width:15px;height:15px;margin-top:4px}.service-description{font-size:.84rem;line-height:1.6;margin-top:9px}.other-project{padding-top:20px;gap:7px}.other-project p{font-size:.85rem}.other-project .text-link{font-size:.85rem}
 .estimate-section{padding-block:39px 40px;scroll-margin-top:74px}.estimate-grid{display:block}.estimate-intro .eyebrow{font-size:.67rem;margin-bottom:18px}.estimate-intro h2{font-size:clamp(2.25rem,9.3vw,3rem);margin-bottom:20px}.estimate-intro>p{font-size:.98rem;line-height:1.7;max-width:38ch}.estimate-intro p.estimate-aside{font-size:.84rem;margin-top:11px}.estimate-process{max-width:100%;margin-top:19px}.estimate-process summary{font-size:.86rem}.estimate-call{margin-top:19px;font-size:.81rem;gap:11px}.estimate-call strong{font-size:1.1rem}.estimate-card{margin-top:29px;padding:25px 22px 23px;border-radius:8px}.form-heading{margin-bottom:22px}.form-heading h3{font-size:1.35rem;line-height:1.25}.form-heading p{font-size:.81rem}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}.estimate-card label,.field{font-size:.78rem;margin-bottom:18px}.field label{margin-bottom:0}.estimate-card input,.estimate-card textarea{padding:12px 10px;font-size:1rem}.estimate-card input::placeholder{font-size:.81rem}.project-select{font-size:.82rem;padding:10px;gap:5px}.extra-details{margin-bottom:20px}.extra-details summary{font-size:.81rem;min-height:36px}.extra-details summary>span{font-size:.74rem}.submit-button{font-size:.88rem}.form-fineprint{font-size:.69rem}
 .local-section{grid-template-columns:1fr;padding-block:43px;gap:29px}.local-story .eyebrow{font-size:.67rem;margin-bottom:17px}.local-story h2{font-size:2.1rem;margin-bottom:20px}.local-story>p:not(.eyebrow){font-size:.97rem;line-height:1.75;max-width:42ch;margin-bottom:14px}.local-story .text-link{font-size:.88rem}.area-panel{padding:27px 25px}.area-heading h3{font-size:1.7rem}.area-heading{margin-bottom:19px;gap:17px}.area-panel>p{font-size:.94rem;max-width:34ch}.area-panel ul{gap:12px 18px;margin-block:20px;padding-block:20px}.area-panel li{font-size:.94rem}.area-panel p.area-question{font-size:.85rem}.area-question .text-link{font-size:.86rem}
 .faq-section{grid-template-columns:1fr;gap:25px;padding-block:32px 40px}.faq-intro h2{font-size:1.85rem}.faq-intro p{font-size:.88rem;margin-top:12px}.faq-list summary{font-size:.93rem;padding-block:19px}.faq-list details>p{font-size:.92rem;line-height:1.75;padding:0 15px 21px 0}
 footer{padding-bottom:70px}.footer-top{display:block;padding-block:30px}.footer-top h2{font-size:1.75rem;line-height:1.15}.footer-top>div{margin-top:25px;gap:9px}.footer-top>div a:first-child{font-size:1.45rem}.footer-top>div a{font-size:.86rem}.footer-bottom{display:flex;align-items:flex-start;justify-content:flex-start;gap:9px 15px;padding-block:15px 23px}.footer-bottom>.brand{width:155px;height:57px}.footer-bottom>.brand img{width:191px;top:-13px}.footer-bottom>p{align-self:center;margin:0;font-size:.65rem;flex:1;min-width:130px}.footer-bottom>div{margin:10px 0 0;width:100%;gap:13px 22px;font-size:.72rem}
 .mobile-contact{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;position:fixed;z-index:35;inset:auto 0 0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.mobile-contact[hidden]{display:none}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;font-size:.83rem;border-radius:5px;font-weight:700}.mobile-contact a:last-child{background:var(--red);color:#fff}
 .founder-section{display:flex;flex-direction:column;gap:32px;padding-block:38px 47px}.founder-story h1{font-size:3.6rem;margin-bottom:24px}.founder-story p.founder-deck{font-size:1.25rem;line-height:1.5;margin-bottom:23px}.founder-story>p:not(.eyebrow){font-size:.97rem;line-height:1.8}.founder-story .eyebrow{font-size:.7rem}.founder-photo{width:100%;max-width:390px;margin:0}.founder-photo img{height:390px}.founder-photo figcaption{padding-top:14px}.closing{padding-block:35px}.closing .shell{display:block}.closing h2{font-size:2.2rem}.closing-actions{margin-top:23px;gap:18px}.closing .eyebrow{font-size:.7rem}.utility-page{padding:35px 22px 90px}.utility-page>h1{font-size:2.5rem}.inquiry-title{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:370px){
 .shell{width:calc(100% - 32px)}.brand{width:175px}.brand img{width:218px;top:-16px}.nav{gap:9px}.hero-location{font-size:.67rem;gap:8px}.hero-location>span{width:24px;height:24px;font-size:.66rem}.hero h1{font-size:clamp(2.45rem,12vw,2.8rem)}.hero-actions{gap:14px}.hero-actions .button{font-size:.82rem;padding:12px 13px;gap:8px}.hero-call{font-size:.78rem;gap:5px}.hero-reassurance{font-size:.69rem;gap:6px 11px}.section-intro h2{font-size:1.95rem}.service-menu{column-gap:20px}.service-title{font-size:1rem;gap:6px}.service-title svg{width:13px;height:13px;flex-shrink:0}.service-description{font-size:.81rem}.other-project p span{display:block}.field-row{grid-template-columns:1fr;gap:0}.estimate-card{padding:23px 21px}.estimate-intro h2{font-size:2.2rem}.local-story h2{font-size:1.85rem}.area-panel{padding:24px 21px}.area-panel li{font-size:.87rem}.area-heading h3{font-size:1.55rem}.footer-top h2{font-size:1.6rem}.mobile-contact{padding-inline:12px}.mobile-contact a{font-size:.8rem}
}
/* Original Ferman trade icons act as scan points, always beside a text label. */
.trade-icon{display:block;width:56px;height:56px;flex-shrink:0;object-fit:contain;user-select:none}
.hero-visual{padding-top:0}
.service-menu{column-gap:36px}
.service-option{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:18px;padding:28px 0;min-height:135px}
.service-copy{display:block;min-width:0}
.service-title{display:block;font-size:1.12rem;line-height:1.3;min-height:0;letter-spacing:-.02em}
.service-description{font-size:.9rem;line-height:1.6;margin-top:8px;max-width:29ch}
.service-option:hover .service-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.form-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.form-heading .trade-icon{width:44px;height:44px}.form-heading h3{font-size:1.4rem;line-height:1.25}
.story-signpost{display:flex;align-items:center;gap:15px;margin-bottom:20px}.story-signpost .trade-icon{width:53px;height:53px}.story-signpost .eyebrow{margin:0;font-size:.7rem;line-height:1.65;letter-spacing:.07em}
.local-story>p:not(.eyebrow){max-width:43ch}
.area-heading>.trade-icon{width:62px;height:62px}.area-panel ul{margin-top:18px}
@media(max-width:1100px){.service-option{grid-template-columns:48px minmax(0,1fr);gap:14px;padding-block:26px}.service-option>.trade-icon{width:48px;height:48px}.service-title{font-size:1.05rem}.service-description{font-size:.87rem}}
@media(max-width:850px){.service-menu{column-gap:30px}.service-option{grid-template-columns:50px minmax(0,1fr);gap:16px;min-height:125px}.service-option>.trade-icon{width:50px;height:50px}.service-title{font-size:1.1rem}.service-description{font-size:.88rem}.form-heading{gap:11px}.form-heading h3{font-size:1.25rem}.form-heading .trade-icon{width:39px;height:39px}.story-signpost{gap:12px}.story-signpost .trade-icon{width:49px;height:49px}.area-heading>.trade-icon{width:54px;height:54px}}
@media(max-width:620px){.service-menu{column-gap:26px}.service-option{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-block:23px 24px;min-height:0}.service-option>.trade-icon{width:46px;height:46px}.service-copy{margin-top:14px;width:100%}.service-title{font-size:1.03rem;line-height:1.3;min-height:2.6em}.service-description{font-size:.84rem;line-height:1.6;margin-top:7px;max-width:22ch}.other-project{flex-direction:row;align-items:center;gap:12px}.other-project p{max-width:20ch}.other-project .text-link{font-size:.83rem;gap:7px}.form-heading{margin-bottom:23px}.form-heading h3{font-size:1.26rem}.form-heading .trade-icon{width:40px;height:40px}.story-signpost{margin-bottom:18px;gap:13px}.story-signpost .trade-icon{width:49px;height:49px}.story-signpost .eyebrow{font-size:.67rem}.area-heading>.trade-icon{width:56px;height:56px}}
@media(max-width:370px){.service-menu{column-gap:20px}.service-option>.trade-icon{width:43px;height:43px}.service-title{font-size:.98rem}.service-description{font-size:.81rem}.other-project{flex-direction:column;align-items:flex-start;gap:7px}.other-project p{max-width:none}.form-heading h3{font-size:1.18rem}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Quiet supporting details keep the single page useful without visual clutter. */
.area-panel p.area-codes{display:flex;flex-wrap:wrap;gap:2px 8px;max-width:none;color:var(--body);font-size:.8rem;font-weight:400;letter-spacing:0;margin:0 0 18px;text-transform:none}.area-codes span{white-space:nowrap}
.about-will{max-width:460px;margin-top:18px}.about-will summary{display:flex;justify-content:space-between;align-items:center;gap:15px;font-weight:700;font-size:.91rem;cursor:pointer;list-style:none;padding:9px 0}.about-will summary::-webkit-details-marker{display:none}.about-will summary svg{color:var(--red)}.about-will[open] summary svg{transform:rotate(45deg)}.about-will p{font-size:.94rem;padding-top:9px}
.field-error{display:block;color:#a0211b;font-weight:400;font-size:.78rem;margin-top:6px}.field-help{display:block;font-weight:400;font-size:.78rem}.required-mark{color:var(--red)}.estimate-card select.project-select{display:block;font:inherit;font-weight:400;font-size:.86rem;padding-right:28px}.estimate-card select:focus{outline:2px solid var(--red);outline-offset:2px}.field-row .wide-field{grid-column:1/-1}.form-loading{min-height:325px;display:flex;flex-direction:column;justify-content:center}.form-loading p{font-size:.94rem}.form-loading noscript{margin-top:15px}
.footer-details{padding-block:0 25px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-details details{scroll-margin-top:110px;border-top:1px solid var(--line)}.footer-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-block:12px;font-size:.8rem;font-weight:700;list-style:none}.footer-details summary::-webkit-details-marker{display:none}.footer-details summary span{color:var(--red)}.footer-details details[open] summary span{transform:rotate(45deg)}.footer-details p{font-size:.82rem;margin:0 0 13px;line-height:1.7}.footer-details p a{text-decoration:underline}#about{scroll-margin-top:110px}
@media(max-width:600px){.footer-details{grid-template-columns:1fr;gap:0}.area-heading h3{font-size:1.6rem}.area-panel p.area-codes{font-size:.77rem}}
