/* Original shared design: quiet editorial layout, locally available type only. */
:root{color-scheme:light;--brand:#164e46;--text:#182f2b;--link:#185f54;--button:#164e46;--button-text:#fff;--paper:#faf9f5;--surface:#f0f2ec;--line:#d7ded5;--muted:#4e625a;--radius:1.15rem}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
a{color:var(--link);text-underline-offset:.22em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.15em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #a34715;outline-offset:5px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.6rem,5.5vw,5.3rem);font-weight:650;max-width:16ch}
h2{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:620;margin-bottom:1.3rem}
h3{font-size:1.25rem;font-weight:650}
p+p{margin-top:1rem}
ul{padding-left:1.4rem}
.shell{width:min(100% - 3rem,76rem);margin-inline:auto}
.reading-width{max-width:52rem}
.skip-link{position:fixed;top:1rem;left:1rem;transform:translateY(-200%);z-index:100;background:white;padding:.7rem 1rem;border:2px solid var(--brand)}
.skip-link:focus{transform:none}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:6.5rem;padding-block:1rem}
.brand{display:flex;gap:.7rem;align-items:center;color:var(--text);font-weight:750;line-height:1.2;letter-spacing:-.025em;text-decoration:none;font-size:1.12rem;max-width:19rem;flex-shrink:0}
.brand-mark{display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:50% 50% 12% 50%;width:2.6rem;height:2.6rem;flex:none;font-family:Georgia,serif;font-size:1.5rem}
.brand:has(.brand-logo){max-width:min(var(--logo-width),calc(100% - 7rem));flex-shrink:1}
.brand-logo{width:var(--logo-width);height:auto}
.nav-list{display:flex;gap:.5rem 1.3rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:0}
.nav-list a{font-size:.92rem;font-weight:600;text-decoration:none;display:inline-block;padding-block:.5rem}
.nav-list a[aria-current=page],.site-footer a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.nav-item{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}
.submenu-toggle{border:1px solid var(--line);border-radius:.4rem;background:transparent;color:var(--text);min-width:2rem;min-height:2rem;line-height:1}
.submenu-toggle{display:none}
.nav-enhanced .submenu-toggle{display:inline-block}
.submenu-toggle[aria-expanded=true]{background:var(--surface)}
.submenu{list-style:none;margin:.5rem 0;padding:.6rem;border:1px solid var(--line);background:var(--paper);border-radius:.65rem;width:100%}
.submenu a{display:block;padding:.6rem .75rem}
.submenu a:hover{background:var(--surface);border-radius:.3rem}
.nav-enhanced .submenu{position:absolute;top:100%;right:0;min-width:15rem;max-width:22rem;box-shadow:0 16px 40px #182f2b12}
.nav-enhanced .submenu-toggle[aria-expanded=false]+.submenu{display:none}
.menu-toggle{border:1px solid var(--line);border-radius:.6rem;background:transparent;min-height:2.75rem;padding:.5rem .85rem;color:var(--text);flex:none}
.button,.nav-list a.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:3.2rem;padding:.85rem 1.4rem;background:var(--button);color:var(--button-text);border:1px solid transparent;border-radius:.55rem;text-decoration:none;font-size:1rem;font-weight:650;line-height:1.35;text-align:center;transition:transform .15s ease}
.button:hover{transform:translateY(-2px);text-decoration:underline}
.nav-list a.button-small{min-height:2.7rem;padding:.65rem 1rem;font-size:.9rem}
.disclosure{font-size:.79rem;background:#e9eee7;border-bottom:1px solid var(--line)}
.disclosure .shell{display:flex;gap:1rem;padding-block:.7rem;align-items:baseline}
.disclosure strong{white-space:nowrap;font-weight:700}
.hero{padding:clamp(3.3rem,7vw,6.5rem) 0;background:linear-gradient(120deg,#f0f2ec,var(--paper) 75%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:3rem;align-items:center}
.hero-with-image .hero-grid{grid-template-columns:1.1fr 1fr}
.hero-copy{min-width:0}
.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.15em;font-weight:750;color:var(--link);margin-bottom:1.6rem}
.intro{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.5;max-width:44ch;margin-top:1.6rem}
.leader{max-width:58ch;margin-top:1.3rem;color:var(--muted)}
.leader:empty{display:none}
.hero .button{margin-top:2rem}
.hero-image{position:relative}
.hero-image img{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:var(--radius) var(--radius) 4rem var(--radius);background:var(--surface)}
figcaption{font-size:.75rem;color:var(--muted);margin-top:.6rem}
.content-section{padding:clamp(2.8rem,6vw,5rem) 0;border-bottom:1px solid var(--line)}
.content-section p{max-width:70ch}
.content-section h2+p{margin-top:.5rem}
.card-grid,.usp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;list-style:none;padding:0;margin:1.8rem 0 0}
.collection-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;list-style:none;padding:0;margin:1.8rem 0 0}
.collection-links a{display:inline-block;padding-block:.5rem;font-weight:650}
@media(min-width:701px){.grid-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.grid-columns-2,.grid-columns-3,.grid-columns-4{grid-template-columns:minmax(0,1fr)}}
.link-card{position:relative;background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}
.card-link{display:block;height:100%;padding:1.8rem 3rem 1.8rem 1.8rem;text-decoration:none;color:var(--text)}
.card-link:hover h3{text-decoration:underline}
.card-link .section-image{margin-bottom:1.3rem}
.card-link .section-image img{aspect-ratio:3/2;object-fit:cover}
.link-card:focus-within{outline:3px solid #a34715;outline-offset:3px}
.link-card p{font-size:.95rem;color:var(--muted);margin-top:.8rem}
.card-arrow{position:absolute;right:1.3rem;top:1.6rem;color:var(--link);font-size:1.5rem}
.usp-grid{counter-reset:usp}
.usp-grid li{counter-increment:usp;border-top:2px solid var(--brand);padding:1.3rem .5rem 0 0}
.usp-grid li:before{content:counter(usp,decimal-leading-zero);display:block;font-size:.85rem;letter-spacing:.08em;color:var(--link);margin-bottom:1rem;font-weight:700}
.usp-grid h3{margin-bottom:.8rem}
.faq-list{border-top:1px solid var(--line);margin-top:1.8rem}
.faq-list details{border-bottom:1px solid var(--line);padding:1.3rem 0}
.faq-list summary{font-weight:650;font-size:1.08rem;cursor:pointer;padding-right:1rem}
.faq-list details>div{padding-top:1rem;color:var(--muted)}
.section-offer,.section-cta{background:var(--surface)}
.section-offer .button,.section-cta .button{margin-top:1.4rem}
.section-image img{border-radius:var(--radius);width:100%}
.table-scroll{max-width:100%;overflow-x:auto;margin-top:1.5rem;border:1px solid var(--line);border-radius:.6rem}
.table-scroll table{width:100%;min-width:36rem;border-collapse:collapse;text-align:left}
.table-scroll th,.table-scroll td{padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
.table-scroll thead{background:var(--brand);color:#fff}
.table-scroll tbody th{width:28%;background:var(--surface);font-weight:650}
.table-scroll tbody tr:last-child>*{border-bottom:0}
.contact-band{background:var(--brand);color:white;padding:3.5rem 0}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.contact-inner h2{max-width:22ch;margin:0}
.button-light{background:var(--paper);color:var(--brand);flex:none}
.site-footer{padding:3.5rem 0;background:#edf0e9;font-size:.9rem}
.footer-grid{display:flex;flex-wrap:wrap;gap:2.5rem 4rem;justify-content:space-between}
.footer-identity{max-width:25rem;flex:2 1 18rem;color:var(--muted)}
.footer-brand{font-size:1.35rem;font-weight:750;color:var(--text);margin-bottom:1rem;letter-spacing:-.03em}
.footer-column{flex:1 1 10rem;max-width:22rem}
.footer-column h2{font-size:.9rem;letter-spacing:0;margin:0 0 1rem;font-weight:750}
.footer-column ul{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}
.footer-column a{text-decoration:none}
.footer-column a:hover{text-decoration:underline}
.notice{padding:1.8rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:.5rem}
.notice h2{font-size:1.5rem}
.notice .button{margin-top:1.3rem}
.parent-navigation{padding-block:1rem;font-size:.95rem}
.page-layout{display:grid;gap:2rem;align-items:start}
.page-content{min-width:0}
.page-content .shell{width:100%}
.page-sidebar{min-width:0;padding-block:2.8rem}
.sidebar-offer{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.sidebar-offer figure{margin-bottom:1rem}
.sidebar-offer .button{margin-top:1.3rem;max-width:100%}
.footer-identity address{font-style:normal;margin-block:1rem}
@media(min-width:1101px){.page-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem)}}
@media(min-width:1101px){.sidebar-offer.is-sticky{position:sticky;top:1.5rem}.page-sidebar{align-self:stretch}}
@media(max-width:900px){.brand:has(.brand-logo){max-width:min(var(--mobile-logo-width),calc(100% - 7rem))}.brand-logo{width:var(--mobile-logo-width)}}
@media(max-width:480px){.card-link{padding:1.5rem 2.8rem 1.5rem 1.5rem}}
form{display:grid;gap:1.2rem;max-width:45rem}
form label{display:block;font-weight:650}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form select,form textarea{width:100%;min-height:3rem;padding:.75rem;border:1px solid #7d8f83;border-radius:.4rem;background:white;color:var(--text)}
form textarea{min-height:10rem;resize:vertical}
form input[type=checkbox],form input[type=radio]{width:1.2rem;height:1.2rem;accent-color:var(--brand);vertical-align:middle}
form button[type=submit]{justify-self:start;background:var(--button);color:var(--button-text);border:0;padding:.9rem 1.4rem;border-radius:.5rem;font-weight:650;min-height:3rem}
form [aria-invalid=true]{border-color:#9e2e19!important}
form [role=alert]{color:#8f2817}
form button:disabled{cursor:wait;opacity:.65}
@media(min-width:901px){.menu-toggle{display:none!important}}
@media(max-width:1100px){.header-inner{gap:1rem}.brand{max-width:14rem}.nav-list{gap:.5rem .85rem}}
@media(max-width:900px){.shell{width:calc(100% - 2.5rem)}.header-inner{flex-wrap:wrap;min-height:5.2rem}.brand{max-width:calc(100% - 7rem)}#site-navigation{width:100%}.nav-list{display:grid;align-items:start;justify-content:stretch;gap:.4rem;padding-bottom:.7rem}.nav-item>a{flex:1}.nav-list a{padding:.65rem}.nav-item>.button{flex:initial}.nav-enhanced #site-navigation:not(.is-open){display:none}.nav-enhanced .submenu{position:static;box-shadow:none;max-width:none;margin:.25rem 0 .5rem .6rem;min-width:0;width:calc(100% - .6rem)}.nav-list .button{width:100%}.disclosure .shell{display:block}.disclosure strong{display:block;margin-bottom:.2rem}.hero-with-image .hero-grid{grid-template-columns:1fr;gap:2rem}.hero-image{max-width:40rem}.hero-image img{aspect-ratio:3/2}.contact-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.shell{width:calc(100% - 2rem)}h1{font-size:2.55rem}.hero{padding-block:3rem}.button{max-width:100%;gap:1rem}.hero .button{width:100%}.contact-band{padding:2.8rem 0}.notice{padding:1.2rem}.footer-grid{gap:2rem}.brand{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.menu-toggle,.submenu-toggle,.contact-band{display:none!important}.nav-enhanced #site-navigation,.nav-enhanced .submenu-toggle[aria-expanded=false]+.submenu{display:block}.hero,.content-section,.site-footer{padding-block:1.5rem}.hero-grid{display:block!important}.hero-image{max-width:25rem}.button{border:1px solid currentColor}.site-header{position:static}}

/* ===== Matcher layout (rc5 roofer-first, research/target-picture.md). Scoped to body.matcher; non-matcher sites are unchanged. ===== */
.matcher{--green-900:#0e302b;--green-800:#123f39;--green-700:#164e46;--green-100:#e6eee9;--cream:#f7f3ea;--paper:#fff;--line:#e2dccf;--ink:#15211e;--muted:#55635e;--clay:#c2471b;--clay-hover:#a33a14;--focus:#1a6dff;--font-display:Charter,"Bitstream Charter","Iowan Old Style","Sitka Text",Cambria,Georgia,serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:14px;--r-ctl:10px;--shadow:0 1px 2px rgb(14 48 43/.06),0 24px 48px -24px rgb(14 48 43/.35);--bar-h:64px;--brand:var(--green-700);--link:var(--green-700);--text:var(--ink);--surface:var(--cream)}
.matcher{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--font-body);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.matcher h1,.matcher h2,.matcher h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;line-height:1.1;color:inherit}
.matcher h1{font-size:clamp(2.2rem,4.4vw,3.6rem);max-width:18ch}
.matcher h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:1rem;max-width:22ch}
.matcher h3{font-size:1.2rem;margin-bottom:.35rem}
.matcher a{color:var(--green-700)}
.matcher :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.matcher .shell{width:min(100% - 2.5rem,76rem)}
.matcher svg{flex:none}
.matcher .kicker{font:700 .78rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}
.matcher .btn,.matcher .button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.3rem;border-radius:var(--r-ctl);background:var(--clay);color:#fff!important;font:700 1rem/1.1 var(--font-body);text-decoration:none;border:0;white-space:nowrap;transform:none}
.matcher .btn:hover,.matcher .button:hover{background:var(--clay-hover);text-decoration:none}
.matcher .btn-lg{min-height:56px;padding:0 1.8rem;font-size:1.08rem}
.matcher .button span[aria-hidden]{display:none}
/* Header */
.m-header{background:var(--paper);border-bottom:1px solid var(--line)}
.m-header-inner{display:flex;align-items:center;gap:1.25rem;min-height:76px}
.m-brand{display:flex;align-items:center;gap:.65rem;color:var(--ink)!important;text-decoration:none;margin-right:auto;min-width:0}
.m-mark{width:36px;height:36px}
.m-brand b{display:block;font:700 1.1rem/1.15 var(--font-display);white-space:nowrap}
.m-brand small{display:block;font-size:.74rem;color:var(--muted);white-space:nowrap}
.m-header .nav-list{gap:.5rem 1.15rem;flex-wrap:nowrap}
.m-header .nav-list a{white-space:nowrap;color:var(--ink);font-weight:500;font-size:.95rem;text-decoration:none}
.m-header .nav-list a:hover,.m-header .nav-list a[aria-current=page]{color:var(--clay)}
.m-phone,.m-hero-phone,.m-aside-phone,.m-card-phone,.m-close-phone{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none!important;line-height:1.1}
.m-phone{color:var(--ink)!important}
.m-phone svg{width:38px;height:38px;padding:9px;border-radius:50%;background:var(--green-100);color:var(--green-700)}
.m-phone small,.m-hero-phone small,.m-aside-phone small{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.m-phone strong{display:block;font-size:1.12rem;white-space:nowrap}
.m-header .menu-toggle{display:none;min-width:44px;min-height:44px;border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink);font-size:1.2rem;padding:0}
@media(min-width:960px){.matcher .m-header{position:sticky;top:0;z-index:50;box-shadow:0 8px 18px -14px rgb(14 48 43/.45)}html:has(body.matcher){scroll-padding-top:6.5rem}}
@media(min-width:960px) and (max-width:1239px){.m-brand small,.m-phone small{display:none}.m-header .nav-list{gap:.5rem .85rem}.m-header .nav-list a{font-size:.9rem}.m-header-cta{display:none!important}}
/* Hero */
.matcher .m-hero{position:relative;overflow:hidden;background:var(--green-900);color:#fff;padding:clamp(2.5rem,6vw,4.75rem) 0 clamp(2.75rem,6vw,4.5rem)}
.m-hero-photo{position:absolute;inset:0}
.m-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:right center}
.m-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(10 36 32/.92) 0%,rgb(10 36 32/.78) 30%,rgb(10 36 32/.25) 55%,rgb(10 36 32/0) 75%)}
.matcher .m-hero:not(.m-hero--photo){background:radial-gradient(120% 140% at 85% -10%,#1f5a50 0%,var(--green-900) 55%,#0b2824 100%)}
.m-hero-grid{position:relative;display:grid;gap:3rem;align-items:center}
.m-hero--form .m-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.m-hero--card .m-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.matcher .m-hero h1{color:#fff}
.matcher .m-hero--home h1{font-size:clamp(2.5rem,5.2vw,4.2rem);line-height:1.02;max-width:12ch}
.matcher .m-hero .eyebrow{display:flex;align-items:center;gap:.55rem;font:700 .8rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#f0b48f;margin-bottom:1rem}
.matcher .m-hero .eyebrow::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--clay)}
.m-claim,.matcher .m-hero .support{font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.5;color:#e4ede8;margin-top:1.1rem;max-width:38ch}
.m-points{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.5rem}
.m-points li{display:flex;align-items:center;gap:.6rem;font-weight:600}
.m-points svg{width:22px;height:22px;padding:3px;border-radius:50%;background:var(--clay);color:#fff}
.m-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.8rem}
.m-hero-phone{color:#fff!important}
.m-hero-phone svg,.m-close-phone svg{width:44px;height:44px;padding:11px;border-radius:50%;border:1.5px solid rgb(255 255 255/.5)}
.m-hero-phone small{color:#bcd0c7}
.m-hero-phone strong{font-size:1.3rem;white-space:nowrap}
.m-hero-cta{margin-top:1.6rem}
.matcher .m-hero a:not(.btn){color:#fff}
.matcher .m-hero :focus-visible{outline-color:#fff}
.matcher .m-hero .parent-navigation a{color:#fff}
/* Cards inside the hero */
.m-form-card,.m-hero-card{position:relative;background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:0 30px 60px -28px rgb(0 0 0/.6);padding:1.6rem 1.6rem 1.4rem;border-top:5px solid var(--clay);scroll-margin-top:6rem}
.matcher .m-hero .m-form-card a:not(.btn),.matcher .m-hero .m-hero-card a:not(.btn){color:var(--green-700)}
.matcher .m-hero .m-form-card :focus-visible,.matcher .m-hero .m-hero-card :focus-visible{outline-color:var(--focus)}
.m-card-label{font:700 1.45rem/1.15 var(--font-display)}
.m-card-claim{font-size:.98rem;color:var(--muted);margin-top:.4rem;line-height:1.45}
.matcher .m-card-btn{display:flex;width:100%;margin-top:1.2rem}
.m-card-phone{margin-top:.9rem;color:var(--ink)!important;font-size:.98rem;justify-content:center;width:100%}
.m-card-phone svg,.m-aside-phone svg{width:20px;height:20px;color:var(--green-700)}
.m-card-checks{list-style:none;padding:1rem 0 0;margin:1.1rem 0 0;border-top:1px solid var(--line);display:grid;gap:.55rem}
.m-card-checks li{display:flex;gap:.55rem;font-size:.92rem;line-height:1.35}
.m-card-checks svg{width:18px;height:18px;color:var(--green-700);margin-top:.1rem}
.m-card-checks a{font-weight:600}
/* Inquiry fragment restyle (field names and behavior untouched) */
.matcher .inquiry{max-width:none;margin:0;padding:0;border:0;background:none;color:var(--ink)}
.matcher .inquiry h2{font-size:1.6rem;margin:0;max-width:none}
.matcher .inquiry>p{font-size:.95rem;color:var(--muted);margin:.35rem 0 .4rem;line-height:1.45}
.matcher .inquiry-status{padding:.45rem .7rem;border-left:3px solid var(--green-700);background:var(--green-100);font-size:.85rem;line-height:1.4}
.matcher .inquiry-status:not(.has-state){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.matcher .inquiry fieldset{margin-top:.9rem;display:grid;grid-template-columns:1fr 1fr;column-gap:.75rem}
.matcher .inquiry fieldset>*{grid-column:1/-1}
.matcher .inquiry fieldset>.inquiry-field:not(.inquiry-field--wide){grid-column:auto}
.matcher .inquiry legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.matcher .inquiry-field{gap:.25rem;margin-bottom:.7rem}
.matcher .inquiry label{font-weight:600;font-size:.9rem}
.matcher .inquiry :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){min-height:50px;padding:.65rem .8rem;border:1.5px solid #8b9792;border-radius:var(--r-ctl);font-size:1rem;color:var(--ink);background:#fff}
.matcher .inquiry textarea{min-height:4.5rem;height:4.5rem}
.matcher .inquiry :is(input,select,textarea):focus{border-color:var(--green-700);outline:3px solid rgb(22 78 70/.2);outline-offset:0}
.matcher .inquiry [aria-invalid=true]{border-color:#a51c26!important}
.matcher .inquiry button{border-radius:var(--r-ctl);background:var(--green-700);color:#fff;font-weight:700}
.matcher .inquiry [data-inquiry-submit]{width:100%;min-height:56px;background:var(--clay);font-size:1.08rem;margin-top:.3rem}
.matcher .inquiry [data-inquiry-submit]:hover{background:var(--clay-hover)}
@media(max-width:480px){.matcher .inquiry fieldset{grid-template-columns:1fr}.matcher .inquiry fieldset>.inquiry-field{grid-column:1/-1}}
/* Trust bar */
.m-proof{background:var(--paper);border-bottom:1px solid var(--line)}
.m-proof ul{list-style:none;margin:0;padding:1.4rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.75rem}
.m-proof li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;line-height:1.3}
.m-proof svg{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--green-100);color:var(--green-700)}
.m-proof a{color:var(--ink)!important;text-decoration-color:var(--line);text-underline-offset:.2em}
/* Sections */
.m-sec{padding:clamp(3.5rem,7vw,5.5rem) 0}
.m-sec--tint{background:var(--cream)}
.m-head{margin-bottom:2rem}
.m-head h2{margin:0}
.matcher .content-section{padding:clamp(3.5rem,7vw,5.5rem) 0;border:0}
.matcher .content-section:nth-of-type(even){background:var(--cream)}
.matcher .content-section p{max-width:68ch}
.matcher .content-section>.shell>p:first-of-type{font-size:1.08rem;color:var(--muted)}
.matcher .reading-width{max-width:none}
.matcher .reading-width>*{max-width:48rem}
.matcher .content-section.section-cta{background:var(--green-100)!important;text-align:left}
.matcher .section-cta .shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 3rem;align-items:center}
.matcher .section-cta .shell>*{grid-column:1}
.matcher .section-cta .button{grid-column:2;grid-row:1/span 4;min-height:56px;padding:0 1.8rem}
.matcher .section-cta h2{margin:0}
.matcher .source-link{font-size:.88rem;margin-top:.8rem}.matcher .source-link span{color:var(--muted);margin-left:.4rem}
.matcher .m-sources{margin-top:1.4rem;font-size:.82rem;color:var(--muted)}
.matcher .m-sources summary{cursor:pointer;font-weight:600;color:var(--muted);width:max-content;max-width:100%}
.matcher .m-sources ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}
.matcher .m-sources a{color:var(--muted)}
.matcher .last-checked{margin-top:.4rem;font-size:.8rem}
/* Cost cards */
.matcher .content-section.section-top{background:var(--cream);padding:clamp(3rem,6vw,4.5rem) 0}
.m-costs{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.m-costs li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.7rem;box-shadow:var(--shadow)}
.m-cost-label{font:700 .78rem/1.3 var(--font-body)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)!important}
.m-cost-figure{font:700 clamp(1.7rem,3vw,2.4rem)/1.1 var(--font-display)!important;color:var(--green-900)!important;margin:.4rem 0 .7rem!important}
.m-costs li>p:not([class]){font-size:.95rem;color:var(--muted)}
/* Feature list (usps) */
.matcher .usp-grid{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.1rem}
.matcher .usp-grid.grid-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.matcher .usp-grid li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.5rem 1.4rem;border-top:4px solid var(--green-700)}
.matcher .content-section:nth-of-type(odd) .usp-grid li{background:var(--cream)}
.matcher .usp-grid li::before{content:none}
.matcher .usp-grid p{color:var(--muted);font-size:.98rem}
.matcher .usp-grid .how{font-size:.9rem;color:var(--ink);margin-top:.6rem}
.matcher .how b{display:inline-block;font:700 .7rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-right:.35rem}
/* Steps */
.m-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;counter-reset:s}
.m-steps li{counter-increment:s;position:relative;background:var(--cream);border-radius:var(--r);padding:1.7rem 1.6rem}
.m-steps li::before{content:counter(s);display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--clay);color:#fff;font:700 1.1rem/1 var(--font-body);margin-bottom:1rem}
.m-steps p{color:var(--muted)}
.m-how-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:2rem}
.m-how-cta span{color:var(--muted)}
.m-how-cta span a{font-weight:700;color:var(--ink)}
.m-steps--compact{grid-template-columns:1fr;gap:1rem}
.m-steps--compact li{display:grid;grid-template-columns:2.25rem 1fr;gap:.9rem;align-items:start;background:none;padding:0}
.m-steps--compact li::before{width:2.25rem;height:2.25rem;margin:0;font-size:.95rem}
.m-steps--compact h3{font-size:1.08rem;margin:.3rem 0 .15rem}
.m-steps--compact p{font-size:.95rem}
/* Tables */
.matcher .table-scroll{margin-top:1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.matcher .table-scroll thead{background:var(--green-800);color:#fff}
.matcher .table-scroll tbody th{background:var(--cream)}
.matcher .section-table table{font-size:.94rem}
@media(max-width:640px){
  .matcher .table-scroll{overflow:visible;border:0;border-radius:0;background:none}
  .matcher .table-scroll :is(table,thead,tbody,tr,th,td){display:block;width:auto;min-width:0}
  .matcher .table-scroll thead{border-radius:.6rem;padding:.7rem 1rem}
  .matcher .table-scroll thead th{padding:0;border:0;font-size:.82rem}
  .matcher .table-scroll thead th+th{font-weight:400;color:#d6e3dc}
  .matcher .table-scroll tbody tr{margin-top:.7rem;border:1px solid var(--line);border-radius:.6rem;overflow:hidden;background:var(--paper)}
  .matcher .table-scroll tbody th{padding:.75rem 1rem;border-bottom:1px solid var(--line)}
  .matcher .table-scroll tbody th p,.matcher .table-scroll td p{margin:0}
  .matcher .table-scroll td{padding:.75rem 1rem;border:0}
}
/* FAQ */
.matcher .faq-list{margin-top:1.4rem;display:grid;gap:.75rem;border:0}
.matcher .faq-list details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:0}
.matcher .faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.3rem;font:700 1.1rem/1.3 var(--font-display)}
.matcher .faq-list summary::-webkit-details-marker{display:none}
.matcher .faq-list summary::after{content:"+";flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--green-100);color:var(--green-700);font:700 1.2rem/1 var(--font-body)}
.matcher .faq-list details[open] summary::after{content:"−"}
.matcher .faq-list details>div{padding:0 1.3rem 1.2rem;color:var(--muted)}
/* Towns, lists, images */
.permit-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}
.permit-list li{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line)}
.permit-list a{font-weight:700;color:var(--ink)!important}
.permit-list p{font-size:.93rem;color:var(--muted);max-width:none!important}
.permit-list small{display:block;font-size:.76rem;margin-top:.15rem}
.town-row{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.town-row a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.05rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)!important;font-size:.95rem;font-weight:600;text-decoration:none}
.town-row a:hover{border-color:var(--clay);color:var(--clay)!important}
.town-row a[aria-current=page]{background:var(--green-700);border-color:var(--green-700);color:#fff!important}
.town-row-all{margin-top:1rem;font-weight:700}
.matcher .collection-links{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}
.matcher .collection-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 1.2rem;border-radius:var(--r-ctl);background:var(--green-700);color:#fff!important;font-weight:700;text-decoration:none}
.text-list{margin:.6rem 0 1rem;padding-left:1.25rem}
.list-lead{margin-top:1rem;font-weight:600}
.list-lead+.text-list{margin-top:.35rem}
.text-list li{margin:.4rem 0;padding-left:.2rem}
.matcher .text-list{max-width:66ch}
.matcher .text-list li::marker{color:var(--clay)}
.photo-credit{font-size:.78rem;line-height:1.45;color:var(--muted);margin-top:.55rem}
.photo-credit a{color:inherit}
.matcher figure.section-image{margin:0}
.matcher figure.section-image img{display:block;width:100%;height:auto;border-radius:var(--r)}
@media(min-width:960px){
  .matcher section.section-image>.shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:repeat(4,auto) 1fr;column-gap:3.5rem;align-items:start}
  .matcher section.section-image figure{grid-column:1;grid-row:1/span 5}
  .matcher section.section-image>.shell>:not(figure){grid-column:2}
}
@media(max-width:959px){.matcher section.section-image h2{margin-bottom:1rem}.matcher section.section-image>.shell>p{margin-top:1rem}}
/* Persona (About and contact only) */
.persona{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.5rem;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;max-width:46rem}
.persona img{width:112px;height:112px;border-radius:50%;object-fit:cover}
.persona .role{font-size:.9rem;color:var(--green-700);font-weight:600;margin:.1rem 0 .5rem}
.persona .note{font-size:.78rem;color:var(--muted);margin-top:.5rem}
/* Form pages */
.m-sec--form{background:var(--cream)}
.m-form-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3rem;align-items:start}
.m-sec--form .m-form-card{border-top-color:var(--clay);box-shadow:var(--shadow)}
.m-form-aside h2{font-size:1.5rem}
.m-aside-phone{margin-top:1.6rem;color:var(--ink)!important}
.m-aside-phone strong{display:block;font-size:1.3rem}
/* Slots: roofer, reviews, gallery (render only with real data) */
.m-roofer,.m-reviews{background:var(--cream)}
.m-roofer h2{margin-bottom:.4rem}
.m-roofer-licence small{display:block;color:var(--muted);font-size:.8rem}
.m-roofer-photos,.m-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;margin-top:1.2rem}
.m-roofer-photos img,.m-gallery-grid img{width:100%;height:auto;border-radius:var(--r)}
.m-roofer-photos figcaption,.m-gallery-grid figcaption{font-size:.85rem;margin-top:.35rem}
.m-roofer-photos figcaption small,.m-gallery-grid figcaption small{display:block;color:var(--muted)}
.m-review-list{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}
.m-review-list li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.m-review-list blockquote{margin:0;font-size:1.02rem}
.m-review-by{font-size:.88rem;color:var(--muted);margin-top:.8rem}
.m-partner ul{list-style:none;padding:0;display:grid;gap:.5rem}
.m-partner li{display:flex;gap:.5rem}.m-partner svg{width:18px;color:var(--green-700)}
/* Close band + footer */
.m-close{background:var(--green-900);color:#fff;text-align:center;padding:clamp(3.5rem,7vw,5.5rem) 0}
.m-close h2{margin:0 auto .7rem;max-width:20ch;color:#fff}
.m-close p{color:#d2e0d9;max-width:50ch;margin:0 auto}
.m-close-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.5rem;margin-top:1.8rem}
.m-close-phone{color:#fff!important;font-size:1.3rem;font-weight:700}
.m-close :focus-visible,.m-footer :focus-visible{outline-color:#fff}
.m-footer{background:#0a2420;color:#b5c9c0}
.m-footer .footer-brand{color:#fff;font:700 1.25rem/1.2 var(--font-display)}
.matcher .m-footer .m-footer-tag{margin-top:.4rem;font-size:.92rem;color:#b5c9c0}
.m-footer-phone{font-size:1.25rem;font-weight:700;color:#fff!important;text-decoration:none}
.m-footer a{color:#e3ece7!important}
.m-footer .footer-column h2{color:#fff;font:700 .9rem/1.3 var(--font-body);letter-spacing:0;margin:0 0 .8rem}
.m-footer .footer-column li a{display:inline-flex;align-items:center;min-height:32px}
.m-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;border-top:1px solid rgb(255 255 255/.12);padding-block:1.1rem 1.4rem;font-size:.82rem;color:#93ab9f}
.matcher .parent-navigation{font-size:.9rem}
/* Sticky bar (<960px) */
.m-bar{display:none}
@media(max-width:959px){
  .m-header-cta{display:none!important}
  .m-header-inner{flex-wrap:wrap;gap:.5rem .75rem;min-height:64px}
  .m-phone small,.m-phone strong{display:none}
  .m-phone svg{width:44px;height:44px;padding:11px}
  .m-hero-grid,.m-hero--form .m-hero-grid,.m-hero--card .m-hero-grid{grid-template-columns:1fr;gap:2rem}
  .matcher .m-hero--photo{padding-top:0}
  .m-hero-photo{position:relative;inset:auto;margin-bottom:1.75rem}
  .m-hero-photo img{display:block;height:auto;aspect-ratio:16/9;object-position:center}
  .m-hero-photo::after{background:linear-gradient(180deg,rgb(10 36 32/0) 65%,var(--green-900) 100%)}
  .m-proof ul{grid-template-columns:1fr 1fr}
  .m-costs,.m-steps,.matcher .usp-grid.grid-columns-2{grid-template-columns:1fr}
  .permit-list{grid-template-columns:1fr}
  .m-form-wrap{grid-template-columns:1fr;gap:2rem}
  .matcher .section-cta .shell{grid-template-columns:1fr}
  .matcher .section-cta .button{grid-column:1;grid-row:auto;margin-top:1rem;justify-self:start}
  body.has-bar{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}
  .has-bar :where(input,select,textarea,button,a):focus{scroll-margin-bottom:calc(var(--bar-h) + 24px)}
  .m-bar{display:grid;grid-template-columns:1fr 1.5fr;gap:.5rem;position:fixed;inset:auto 0 0;z-index:60;height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 20px -14px rgb(0 0 0/.4)}
  .m-bar a{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r-ctl);font-weight:700;text-decoration:none;font-size:1rem;min-height:48px}
  .m-bar svg{width:20px;height:20px}
  .m-bar-call{background:var(--green-700);color:#fff!important}
  .m-bar-req{background:var(--clay);color:#fff!important}
}
@media(max-width:959px){.m-header #site-navigation{order:10;width:100%}.m-header #site-navigation:not(.is-open){display:none}.m-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center}.m-header .nav-list{display:grid;gap:.2rem;padding-bottom:.8rem}.m-header .nav-list a{display:flex;min-height:44px;align-items:center;font-size:1rem}}
@media(max-width:600px){
  .matcher .shell{width:calc(100% - 2rem)}
  .m-brand small{display:none}
  .m-brand b{font-size:1rem}
  .m-mark{width:32px;height:32px}
  .matcher h1{font-size:2.1rem}
  .matcher .m-hero--home h1{font-size:2.45rem}
  .m-hero-actions .btn{flex:1 1 100%}
  .m-proof ul{grid-template-columns:1fr;gap:.8rem}
  .m-proof svg{width:38px;height:38px;padding:8px}
  .m-form-card,.m-hero-card{padding:1.25rem 1.1rem 1.1rem}
  .permit-list li{grid-template-columns:1fr;gap:.15rem}
  .persona{grid-template-columns:72px minmax(0,1fr);gap:1rem;padding:1.2rem}
  .persona img{width:72px;height:72px}
  .m-copy{flex-direction:column}
}
/* Wide screens: heading left, body right for reading sections. */
@media(min-width:960px){
  .matcher :is(.section-text,.section-faq,.section-services) .shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);column-gap:4rem;align-items:start}
  .matcher :is(.section-text,.section-faq,.section-services) .shell>*{grid-column:2;max-width:46rem}
  .matcher :is(.section-text,.section-faq,.section-services) .shell>h2{grid-column:1;grid-row:1/span 20;position:sticky;top:7rem}
  .matcher :is(.section-text,.section-faq,.section-services) .faq-list{margin-top:0}
}
.matcher .m-hero--home h1{max-width:13ch}
.matcher .m-hero--compact{padding:clamp(1.75rem,4vw,2.75rem) 0}.matcher .m-hero--compact h1{font-size:clamp(2rem,3.6vw,2.9rem);max-width:22ch}
/* rc5 round 2: proof-driven bands, gallery, team card, hours, consent checkbox. */
.matcher .inquiry-consent{display:flex;gap:.6rem;align-items:flex-start;font-weight:400!important;font-size:.84rem!important;line-height:1.45;color:var(--muted)}
.matcher .inquiry-consent input{flex:none;width:1.3rem;height:1.3rem;margin:.1rem 0 0;accent-color:var(--green-700)}
.matcher .inquiry-consent a{color:inherit}
.matcher .inquiry-consent-field{margin:.1rem 0 .6rem}
.m-since{margin-top:1.2rem;font:600 .9rem/1.3 var(--font-body);letter-spacing:.04em;color:#f0b48f}
.m-hours{font-size:.85rem;color:var(--muted);margin-top:.35rem}
.m-hours--center{text-align:center}
.m-close-hours{margin-top:1rem!important;font-size:.9rem;color:#b5c9c0!important}
.m-stats{background:var(--green-800);color:#fff}
.m-stats ul{list-style:none;margin:0;padding:2.2rem 0 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1.5rem;text-align:center}
.m-stats b{display:block;font:700 clamp(2rem,4vw,2.8rem)/1 var(--font-display)}
.m-stats span{display:block;margin-top:.4rem;font-size:.92rem;color:#cfe0d8}
.m-stats-note{font-size:.72rem;color:#9fb8ad;text-align:center;padding-bottom:1.2rem;margin:0}
.m-reviews{background:var(--cream)}
.m-review-summary{margin-top:.5rem;color:var(--muted);font-weight:600}
.m-review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.1rem}
.m-review-list li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;box-shadow:var(--shadow)}
.m-stars{color:#e0a100;font-size:1.1rem;letter-spacing:.1em}
.m-review-list blockquote{margin:.5rem 0 0;font-size:1.02rem}
.m-review-by{font-size:.86rem;color:var(--muted);margin-top:.8rem}
.m-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.m-gallery-grid figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;background:var(--cream)}
.m-gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.m-gallery-grid figcaption{position:absolute;left:.7rem;bottom:.7rem;padding:.3rem .7rem;border-radius:999px;background:rgb(10 36 32/.82);color:#fff;font-size:.82rem;font-weight:600}
.m-team-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:center}
.m-team-lead{color:var(--muted);font-size:1.05rem;max-width:40ch}
.m-avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--green-700);color:#fff;font:700 2rem/1 var(--font-display);flex:none}
.m-team .persona{grid-template-columns:96px minmax(0,1fr);max-width:none}
.m-team-phone{display:inline-flex;align-items:center;gap:.5rem;margin-top:.8rem;font-weight:700;font-size:1.15rem;color:var(--ink)!important;text-decoration:none}
.m-team-phone svg{width:20px;height:20px;color:var(--green-700)}
@media(max-width:959px){.m-gallery-grid{grid-template-columns:1fr 1fr}.m-team-grid{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:600px){.m-avatar{width:64px;height:64px;font-size:1.4rem}.m-team .persona{grid-template-columns:64px minmax(0,1fr)}}
.m-team .persona img{width:96px;height:96px;border-radius:50%;object-fit:cover}
@media(max-width:600px){.m-team .persona img{width:64px;height:64px}}
@media(min-width:960px){.matcher .m-hero--card .m-hero-photo::after{background:linear-gradient(90deg,rgb(10 36 32/.92) 0%,rgb(10 36 32/.75) 40%,rgb(10 36 32/.45) 100%)}}
/* Round 4: permit and inspection detail folds into an accordion on town pages. */
.matcher .content-section.m-collapse{padding:.6rem 0;background:var(--paper)!important}
.matcher .m-collapse .shell{display:block}
.matcher .m-collapse details{border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.matcher .m-collapse summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.4rem}
.matcher .m-collapse summary::-webkit-details-marker{display:none}
.matcher .m-collapse summary h2{font-size:clamp(1.15rem,1.8vw,1.4rem);margin:0;max-width:none}
.matcher .m-collapse summary::after{content:"+";flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--green-100);color:var(--green-700);font:700 1.2rem/1 var(--font-body)}
.matcher .m-collapse details[open] summary::after{content:"−"}
.matcher .m-collapse-body{padding:0 1.4rem 1.3rem}
.matcher .m-collapse-body>p:first-child{font-size:1rem;color:var(--ink)}
.matcher .m-collapse .usp-grid{margin-top:1rem}
.matcher .content-section.m-collapse+.content-section:not(.m-collapse){margin-top:2rem}
.m-legal a{color:#b5c9c0!important;font-size:.82rem}.m-legal{display:flex;flex-wrap:wrap;gap:.2rem .3rem}
/* Round 4: instant price tool. */
.m-price{background:var(--green-100)}
.m-price-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem;align-items:start}
.m-price-lead{color:var(--muted);max-width:44ch}
.m-price-form{margin-top:1.4rem;display:grid;gap:1rem}
.m-price-group{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.m-price-group legend{font-weight:700;font-size:.92rem;margin-bottom:.45rem;padding:0}
.m-price-group label{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);cursor:pointer;font-weight:600;font-size:.95rem}
.m-price-group label:has(input:checked){border-color:var(--green-700);background:var(--green-700);color:#fff}
.m-price-group input{accent-color:var(--clay)}
.m-price-result{background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem;border-top:5px solid var(--clay)}
.m-price-label{font:700 .78rem/1.3 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.m-price-out{display:block;min-height:1.2em;font:700 clamp(1.9rem,3.4vw,2.6rem)/1.15 var(--font-display);color:var(--green-900);margin:.4rem 0 .5rem}
.m-price-note{color:var(--muted);font-size:.95rem}
.matcher .m-price-cta{display:flex;width:100%;margin-top:1rem}
.m-price-table{margin-top:1rem;font-size:.88rem}
.m-price-table summary{cursor:pointer;font-weight:600;color:var(--green-700)}
.m-price-table table{font-size:.85rem}
.m-price-source{margin-top:.9rem;font-size:.76rem;color:var(--muted)}
@media(max-width:959px){.m-price-grid{grid-template-columns:1fr;gap:1.5rem}}
.m-price .kicker{color:#a33a14}
/* Themed matcher sites (body.m-themed, set only when site.theme.brand is not the Garner default). Garner never matches these rules. */
.m-themed .m-hero-photo::after{background:linear-gradient(90deg,rgb(42 29 22/.9) 0%,rgb(42 29 22/.74) 32%,rgb(42 29 22/.22) 58%,rgb(42 29 22/0) 78%)}
@media(min-width:960px){.m-themed.matcher .m-hero--card .m-hero-photo::after{background:linear-gradient(90deg,rgb(42 29 22/.9) 0%,rgb(42 29 22/.72) 40%,rgb(42 29 22/.42) 100%)}}
@media(max-width:959px){.m-themed .m-hero-photo::after{background:linear-gradient(180deg,rgb(42 29 22/0) 65%,var(--green-900) 100%)}}
.m-themed .m-hero .eyebrow,.m-themed .m-since{color:#f2b66d}
.m-themed .m-claim,.m-themed.matcher .m-hero .support{color:#f4ebdf}
.m-themed .m-hero-phone small{color:#e6d6c2}
.m-themed .m-close p{color:#eadccb}
.m-themed .m-close-hours,.m-themed .m-footer,.m-themed.matcher .m-footer .m-footer-tag,.m-themed .m-legal a{color:#d9c8b4!important}
.m-themed .m-footer{background:#21160f}
.m-themed .m-footer a{color:#f4ebdf!important}
.m-themed .m-copy{color:#c4b09a}
.m-themed .m-gallery-grid figcaption{background:rgb(42 29 22/.84)}
.m-themed.matcher .table-scroll thead th+th{color:#f4ebdf}
.m-themed .m-stats span{color:#eadccb}.m-themed .m-stats-note{color:#d9c8b4}
.m-themed .m-mark{width:40px;height:40px;border-radius:9px;flex:none}
.m-themed .m-footer .footer-brand{display:flex;align-items:center;gap:.65rem}
.m-footer-mark{width:40px;height:40px;border-radius:9px;flex:none}
.m-themed .m-brand small{letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--brand);font-size:.68rem}
@media(min-width:960px) and (max-width:1339px){.m-themed .m-brand small{display:none}}
.m-themed .m-gallery-grid:has(>figure:nth-child(6):last-child),.m-themed .m-gallery-grid:has(>figure:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:959px){.m-themed .m-gallery-grid:has(>figure:nth-child(6):last-child),.m-themed .m-gallery-grid:has(>figure:nth-child(3):last-child){grid-template-columns:1fr 1fr}}
@media(min-width:960px){.m-themed .m-steps:not(.m-steps--compact):has(>li:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:960px){
  .m-themed.matcher .section-services:has(.card-grid .section-image) .shell{display:block}
  .m-themed.matcher .section-services:has(.card-grid .section-image) .shell>*{max-width:none}
  .m-themed.matcher .section-services:has(.card-grid .section-image) .shell>h2{position:static}
  .m-themed .section-services .card-grid:has(.section-image){grid-template-columns:repeat(4,minmax(0,1fr))}
  .m-themed .section-services .card-grid:has(.section-image):has(>li:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}
.m-themed .card-grid .link-card:has(.section-image) .card-link{padding:0 0 1.4rem}
.m-themed .card-grid .link-card:has(.section-image) .section-image{margin:0 0 1.1rem}
.m-themed .card-grid .link-card:has(.section-image) .section-image img{border-radius:0;aspect-ratio:4/3;width:100%}
.m-themed .card-grid .link-card:has(.section-image) :is(h3,p){padding-inline:1.3rem}
.m-themed .card-grid .link-card:has(.section-image) .card-arrow{top:auto;bottom:1.2rem;right:1.1rem}
.m-themed .card-grid .link-card:has(.section-image) h3{padding-right:2.6rem}
.m-themed.matcher .m-hero:not(.m-hero--photo){background:radial-gradient(120% 140% at 85% -10%,#6b3418 0%,#2a1d16 55%,#1d140f 100%)}
.m-themed .m-price+.m-price{border-top:1px solid rgb(122 59 26/.18)}
.m-themed .card-grid:has(>li:nth-child(2):last-child) .link-card .section-image img{aspect-ratio:16/9}
@media(max-width:599px){.m-themed .m-gallery-grid figcaption{font-size:.72rem;left:.45rem;right:.45rem;bottom:.45rem;padding:.25rem .55rem;border-radius:8px}}
.m-themed .m-footer .parent-brand{color:#d9c8b4}
/* ===== Showcase home (site.matcher.home.layout "showcase"; benchmark 2026-11-14). Only body.m-showcase matches. ===== */
.m-showcase{--amber:#f2b66d;--plank:var(--green-100);--sec:clamp(3.5rem,6.5vw,6rem);--ease:cubic-bezier(.2,.7,.2,1)}
.m-showcase .m-sec{padding:var(--sec) 0}
.m-showcase .kicker{color:var(--brand)}
.m-showcase h2{letter-spacing:-.02em}
.m-showcase .m-head{margin-bottom:2.25rem}
.m-showcase .m-head--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 4rem;align-items:end}
.m-showcase .m-head--split>p,.m-showcase .m-head--split>div+p{margin:0;color:var(--muted);font-size:1.08rem;max-width:46ch}
.m-showcase .m-head h2{margin:0}
/* Hero */
.m-showcase .m-hero--est{padding:clamp(2rem,3.4vw,3rem) 0 clamp(2.5rem,4vw,3.5rem)}
.m-showcase .m-hero--est .m-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,32rem);gap:3.5rem;align-items:center}
.m-showcase .m-hero--est h1{font-size:clamp(2.6rem,4.8vw,4.1rem);line-height:1.02;max-width:11ch;text-wrap:balance}
.m-showcase .m-hero--est .m-claim{font-size:clamp(1.1rem,1.5vw,1.3rem);max-width:34ch;color:#f4ebdf}
.m-showcase .m-hero--est .m-points{margin-top:1.6rem}
.m-showcase .m-hero--est .m-points svg{background:var(--amber);color:var(--green-900)}
.m-showcase .m-hero--est .m-hero-phone{margin-top:1.8rem}
.m-showcase .m-hero--est .m-hero-phone svg{border-color:rgb(242 182 109/.7);color:var(--amber)}
.m-showcase .m-hero--est .m-hero-phone small{color:#e6d6c2;text-transform:none;letter-spacing:0;font-size:.85rem}
/* Price card */
.m-showcase .m-est{padding:1.25rem 1.25rem 1.1rem;border-top-width:5px}
.m-est-kicker{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font:700 .74rem/1.2 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}
.m-est-kicker span:first-child{color:var(--brand)}
.m-est-title{font-size:1.5rem!important;margin:0 0 .85rem!important;max-width:none!important}
.m-est-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:.9rem;background:var(--plank);border-radius:12px}
.m-showcase .m-pending{visibility:hidden}
.m-est-tabs button{min-height:44px;padding:0 .4rem;border:0;border-radius:9px;background:none;color:var(--ink);font:600 .92rem/1.1 var(--font-body);cursor:pointer;transition:background .15s,box-shadow .15s}
.m-est-tabs button:hover{background:rgb(255 255 255/.6)}
.m-est-tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 2px rgb(42 29 22/.12),0 4px 10px -6px rgb(42 29 22/.35);color:var(--brand)}
.m-est-panel .m-price-form{margin:0;gap:.8rem}
.m-est-panel .m-price-group legend{font-size:.84rem;margin-bottom:.35rem;color:var(--ink)}
.m-est-panel .m-price-group{gap:.4rem}
.m-est-panel .m-price-group label{min-height:38px;padding:.3rem .7rem;font-size:.82rem;line-height:1.25;border-color:#d9cbb8;transition:border-color .15s,background .15s}
.m-est-panel .m-price-group label:hover{border-color:var(--brand)}
.m-est-panel .m-price-group label:has(input:checked){background:var(--green-900);border-color:var(--green-900)}
.m-est-panel .m-price-group input{position:absolute;opacity:0;width:1px;height:1px}
.m-est-panel .m-price-group label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.m-est-result{margin-top:1rem;padding:.75rem 1rem;border-radius:12px;background:var(--plank)}
.m-est-result .m-price-label{margin:0}
.m-est-result .m-price-out{font-size:clamp(1.7rem,2.6vw,2.1rem);color:var(--brand);margin:.15rem 0 .2rem}
.m-est-result .m-price-note{font-size:.86rem;margin:0}
.m-showcase .m-est .m-price-cta{margin-top:.9rem}
.m-est .m-price-table{margin-top:.7rem;font-size:.84rem}
.m-est .m-price-table summary{color:var(--brand)}
.m-est .m-price-source{font-size:.72rem;line-height:1.45;margin-top:.5rem}
.m-est-skip{margin-top:.6rem;font-size:.9rem;color:var(--muted);text-align:center}
.matcher .m-hero .m-est-skip a,.m-est-skip a{color:var(--brand);font-weight:700}
.m-est-back{border:0;background:none;padding:.3rem 0;color:var(--brand);font:700 .8rem/1.2 var(--font-body);letter-spacing:.02em;text-transform:none;cursor:pointer}
.m-est-back[hidden]{display:none}
.m-est-step--form{scroll-margin-top:6rem}
.est-ready .m-est-step[hidden]{display:none}
.m-est-step--form .inquiry h2{font-size:1.45rem}
/* Trust band */
.m-trust{background:var(--paper);border-bottom:1px solid var(--line)}
.m-trust ul{list-style:none;margin:0;padding:1.3rem 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem 1.5rem}
.m-trust li{display:flex;align-items:center;gap:.7rem;font-size:.93rem;font-weight:600;line-height:1.3}
.m-trust svg{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--plank);color:var(--brand)}
.m-trust a{color:var(--ink)!important;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .2s}
.m-trust a:hover{background-size:100% 1.5px}
/* Services */
.m-svcs{background:var(--paper)}
.m-svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.m-svc{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.m-svc:hover{box-shadow:0 18px 40px -22px rgb(42 29 22/.45);transform:translateY(-2px)}
.m-svc-link{display:flex;flex-direction:column;flex:1;color:var(--ink)!important;text-decoration:none}
.m-svc-img{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--plank)}
.m-svc-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.m-svc:hover .m-svc-img img{transform:scale(1.04)}
.m-svc-body{display:flex;flex-direction:column;gap:.35rem;flex:1;padding:1.1rem 1.2rem 1.2rem}
.m-svc-body h3{font-size:1.3rem;margin:0}
.m-svc-text{color:var(--muted);font-size:.95rem;line-height:1.5}
.m-svc-more{margin-top:auto;padding-top:.5rem;color:var(--brand);font-weight:700;font-size:.95rem}
.m-svc-price{margin:0 1.2rem 1.2rem;min-height:44px;border:1.5px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink);font:600 .92rem/1.1 var(--font-body);cursor:pointer;transition:border-color .15s,color .15s}
.m-svc-price:hover{border-color:var(--brand);color:var(--brand)}
/* Costs band keeps its sourced cards */
.m-showcase .content-section.section-top{background:var(--plank)}
.m-showcase .m-costs li{box-shadow:none}
/* Gallery */
.m-gal{background:var(--paper)}
.m-gal-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:-.75rem 0 1.4rem}
.m-gal-filter button{min-height:44px;padding:0 1.1rem;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:600 .92rem/1 var(--font-body);cursor:pointer}
.m-gal-filter button:hover{border-color:var(--brand)}
.m-gal-filter button[aria-pressed=true]{background:var(--green-900);border-color:var(--green-900);color:#fff}
.m-gal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.m-gal-grid figure{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--plank)}
.m-gal-grid figure[hidden]{display:none}
.m-gal-grid img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.m-gal-grid:not(.is-filtered) figure:first-child{grid-column:span 2;grid-row:span 2}
.m-gal-grid:not(.is-filtered) figure:first-child img{aspect-ratio:auto}
.m-gal-grid figcaption{position:absolute;left:.75rem;right:auto;bottom:.75rem;max-width:calc(100% - 1.5rem);padding:.45rem .8rem;border-radius:10px;background:rgb(33 22 15/.82);color:#fff;font-size:.86rem;font-weight:600;line-height:1.3;backdrop-filter:blur(4px)}
.m-gal-grid figcaption span{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
/* Process + includes */
.m-showcase .m-how--v2{background:var(--cream)}
.m-showcase .m-how--v2 .m-steps li{background:var(--paper);border:1px solid var(--line)}
.m-showcase .m-how--v2 .m-steps h3{font-size:1.15rem}
.m-includes{margin-top:1.5rem;padding:1.6rem 1.7rem;border-radius:16px;background:var(--green-900);color:#f4ebdf}
.m-includes h3{color:#fff;font-size:1.35rem;margin:0 0 1.1rem}
.m-includes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 2rem}
.m-includes li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.7rem;align-items:start}
.m-includes svg{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--amber);color:var(--green-900);margin-top:.1rem}
.m-includes b{display:block;color:#fff;margin-bottom:.2rem}
.m-includes p{font-size:.94rem;color:#e6d6c2;margin:0}
.m-showcase .m-how--v2 .m-how-cta{margin-top:2rem}
/* How we build */
.m-craft{background:var(--paper)}
.m-craft-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem;align-items:center}
.m-craft-photos{display:grid;gap:1rem}
.m-craft-photos figure{margin:0;position:relative;border-radius:14px;overflow:hidden}
.m-craft-photos img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.m-craft-photos figcaption{position:absolute;left:.75rem;bottom:.75rem;padding:.3rem .7rem;border-radius:8px;background:rgb(33 22 15/.82);color:#fff;font-size:.8rem;font-weight:600}
.m-craft-copy>p:not(.kicker):not(.m-craft-more){color:var(--muted);font-size:1.05rem;max-width:44ch}
.m-craft-list{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.7rem}
.m-craft-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.7rem;align-items:start;line-height:1.45}
.m-craft-list svg{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--plank);color:var(--brand);margin-top:.05rem}
.m-craft-more{margin-top:1.4rem;font-weight:700}
.m-craft-more a{color:var(--brand)}
/* Remaining content sections: one calm rhythm instead of alternating bands */
.m-showcase .content-section:not(.section-top):nth-of-type(n){background:var(--paper)}
.m-showcase .content-section.section-text:not(.m-collapse){border-top:1px solid var(--line)}
.m-showcase .content-section.section-locations{padding-top:0}
.m-showcase .content-section.section-faq{background:var(--cream)}
.m-showcase .content-section.m-collapse{padding:.4rem 0}
.m-showcase .content-section.m-collapse:has(+.m-collapse){padding-bottom:.4rem}
.m-showcase .content-section:not(.m-collapse)+.content-section.m-collapse{padding-top:clamp(2rem,4vw,3rem)}
.m-showcase .content-section.m-collapse+.content-section:not(.m-collapse){margin-top:0;padding-top:clamp(2rem,4vw,3rem)}
.m-showcase .content-section.m-collapse+.section-faq{margin-top:clamp(2rem,4vw,3rem);padding-top:var(--sec)}
.m-showcase .m-collapse details{transition:border-color .15s}
.m-showcase .m-collapse details:hover{border-color:#cdb99f}
.m-showcase .m-collapse summary::after,.m-showcase .faq-list summary::after{background:var(--plank);color:var(--brand)}
/* Closing band */
.m-close--v2 h2{max-width:22ch}
.m-close--v2 .m-close-text>p:first-child{color:#eadccb;max-width:50ch;margin:0 auto}
.m-close--v2 .list-lead{margin:1.2rem auto .3rem;color:var(--amber)!important;font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.m-close--v2 .text-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;list-style:none;margin:0 auto;padding:0;max-width:52rem;color:#f4ebdf;font-size:.95rem}
.m-close--v2 .text-list li{margin:0;padding:0}
.m-close--v2 .text-list li::before{content:"✓";color:var(--amber);font-weight:700;margin-right:.45rem}
.m-showcase .btn{transition:background .15s,transform .15s}
.m-showcase .btn:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.m-showcase *,.m-showcase *::before{transition:none!important;animation:none!important}.m-svc:hover,.m-svc:hover .m-svc-img img{transform:none}}
@media(min-width:960px) and (max-width:1199px){.m-showcase .m-hero--est .m-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:2.5rem}.m-trust ul{grid-template-columns:repeat(3,minmax(0,1fr))}.m-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:959px){
  .m-showcase .m-hero--est{padding:1.75rem 0 2rem}
  .m-showcase .m-hero--est .m-hero-photo{position:absolute;inset:0;margin:0}
  .m-showcase .m-hero--est .m-hero-photo img{height:100%;aspect-ratio:auto;object-position:60% 30%}
  .m-showcase .m-hero--est .m-hero-photo::after{background:linear-gradient(180deg,rgb(42 29 22/.55) 0%,rgb(42 29 22/.82) 30%,var(--green-900) 62%)}
  .m-showcase .m-hero--est .m-hero-grid{grid-template-columns:1fr;gap:1.4rem}
  .m-showcase .m-hero--est .m-points,.m-showcase .m-hero--est .m-hero-phone{display:none}
  .m-showcase .m-hero--est .m-claim{margin-top:.8rem}
  .m-trust ul{grid-template-columns:1fr 1fr;gap:.9rem 1rem;padding:1.1rem 0}
  .m-trust li{font-size:.88rem;gap:.55rem}
  .m-trust svg{width:36px;height:36px;padding:8px}
  .m-trust li:last-child:nth-child(odd){grid-column:1/-1}
  .m-showcase .m-head--split{grid-template-columns:1fr;gap:.6rem}
  .m-svc-grid{grid-template-columns:1fr 1fr;gap:.8rem}
  .m-gal-grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .m-gal-grid:not(.is-filtered) figure:first-child{grid-row:auto}
  .m-gal-grid:not(.is-filtered) figure:first-child img{aspect-ratio:16/10}
  .m-includes ul{grid-template-columns:1fr}
  .m-craft-grid{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:600px){
  .m-showcase .m-hero--est h1{font-size:2.35rem}
  .m-showcase .m-est{padding:1.15rem 1rem 1rem}
  .m-est-title{font-size:1.35rem!important;margin-bottom:.8rem!important}
  .m-est-kicker span:last-child{display:none}
  .m-est-tabs button{font-size:.86rem;padding:0 .2rem}
  .m-svc-body{padding:.8rem .85rem .9rem}
  .m-svc-body h3{font-size:1.08rem}
  .m-svc-text{display:none}
  .m-svc-more{font-size:.86rem;padding-top:.2rem}
  .m-svc-price{margin:0 .85rem .85rem;font-size:.84rem;min-height:40px}
  .m-gal-grid figcaption{left:.4rem;bottom:.4rem;max-width:calc(100% - .8rem);padding:.3rem .5rem;font-size:.72rem;border-radius:8px}
  .m-gal-grid figcaption span{font-size:.6rem}
  .m-includes{padding:1.3rem 1.15rem}
  .m-craft-photos{grid-template-columns:1fr 1fr;gap:.6rem}
  .m-craft-photos img{aspect-ratio:1/1}
  .m-craft-photos figcaption{font-size:.7rem;left:.4rem;bottom:.4rem;padding:.2rem .45rem}
}
.m-showcase .m-collapse .shell>*,.m-showcase .m-collapse .reading-width>*{max-width:none}
.m-est .m-price-table .m-price-source{margin-top:.6rem}
@media(max-width:959px){.m-showcase .m-footer .footer-column:last-child ul{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}}
@media(max-width:600px){
  .m-showcase .m-how--v2 .m-steps{gap:.6rem}
  .m-showcase .m-how--v2 .m-steps li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);column-gap:.85rem;padding:1rem 1rem 1.05rem}
  .m-showcase .m-how--v2 .m-steps li::before{width:2.25rem;height:2.25rem;margin:0;font-size:.95rem;grid-row:span 2}
  .m-showcase .m-how--v2 .m-steps h3{font-size:1.05rem;margin:.3rem 0 .2rem}
  .m-showcase .m-how--v2 .m-steps p{font-size:.93rem}
  .m-gal-grid:not(.is-filtered) figure:first-child{grid-column:auto}
  .m-gal-grid:not(.is-filtered) figure:first-child img{aspect-ratio:4/3}
  .m-showcase .m-team .persona p:not(.role){font-size:.95rem}
}
/* ===== Design-system palette (body.m-pal: theme.dark + theme.accent set; Raleigh Deck & Fence black and copper). =====
   Copper (--clay, buttons) is never used for small text; links, kickers and icons use --brand. */
.m-pal{--line:#e3d9cc;--shadow:0 1px 2px rgb(21 21 21/.06),0 24px 48px -24px rgb(21 21 21/.35)}
.m-pal .m-logo{display:block;width:var(--logo-width,180px);height:auto}
.m-pal .m-brand--logo{flex:none}
@media(max-width:959px){.m-pal .m-logo{width:var(--mobile-logo-width,140px)}}
.m-pal .m-footer-logo{display:block;width:200px;height:auto}
.m-pal .m-footer .footer-brand--logo{margin-bottom:.4rem}
.m-pal .kicker,.m-pal .m-price .kicker{color:var(--brand)}
.m-pal .m-header .nav-list a:hover,.m-pal .m-header .nav-list a[aria-current=page],.m-pal .town-row a:hover{color:var(--brand)!important}
.m-pal .town-row a:hover{border-color:var(--brand)}
.m-pal .m-hero-photo::after{background:linear-gradient(90deg,rgb(21 21 21/.9) 0%,rgb(21 21 21/.72) 32%,rgb(21 21 21/.2) 58%,rgb(21 21 21/0) 78%)}
@media(min-width:960px){.m-pal.matcher .m-hero--card .m-hero-photo::after{background:linear-gradient(90deg,rgb(21 21 21/.9) 0%,rgb(21 21 21/.7) 40%,rgb(21 21 21/.4) 100%)}}
@media(max-width:959px){.m-pal .m-hero-photo::after{background:linear-gradient(180deg,rgb(21 21 21/0) 65%,var(--dark) 100%)}}
.m-pal.matcher .m-hero:not(.m-hero--photo){background:radial-gradient(120% 140% at 85% -10%,#4a2412 0%,var(--dark) 55%,#0c0c0c 100%)}
.m-pal .m-hero .eyebrow,.m-pal .m-since{color:var(--accent)}
.m-pal .m-hero .eyebrow::before{background:var(--accent)}
.m-pal .m-claim,.m-pal.matcher .m-hero .support{color:#f1ebe4}
.m-pal .m-hero-phone small{color:#d8d0c8}
.m-pal .m-points svg{background:var(--accent);color:var(--dark)}
.m-pal .m-footer{background:var(--dark)}
.m-pal .m-close-hours,.m-pal .m-footer,.m-pal.matcher .m-footer .m-footer-tag,.m-pal .m-legal a{color:#cfc7bf!important}
.m-pal .m-copy{color:#b3aaa2;border-top-color:rgb(255 255 255/.1)}
.m-pal .m-footer .parent-brand{color:#cfc7bf}
.m-pal .m-close{background:var(--dark)}
.m-pal .m-close p{color:#e6dfd8}
.m-pal .m-close .btn{background:var(--accent);color:var(--dark)!important}
.m-pal .m-close .btn:hover{background:#f09a58}
.m-pal .m-close-phone svg{border-color:rgb(232 131 58/.6);color:var(--accent)}
.m-pal .m-gallery-grid figcaption{background:rgb(21 21 21/.84)}
.m-pal.matcher .table-scroll thead{background:var(--dark)}
.m-pal.matcher .table-scroll thead th+th{color:#f1ebe4}
.m-pal .m-stats{background:var(--dark)}
.m-pal .inquiry :is(input,select,textarea):focus{border-color:var(--brand);outline-color:rgb(143 63 23/.22)}
.m-pal .inquiry-status{border-left-color:var(--brand)}
.m-pal .inquiry-consent input{accent-color:var(--brand)}
.m-pal .m-form-card,.m-pal .m-hero-card{background:#fff}
.m-pal .m-price-group label:has(input:checked){background:var(--dark);border-color:var(--dark)}
@media(max-width:959px){
  .m-pal .m-bar{background:var(--dark);border-top-color:var(--dark)}
  .m-pal .m-bar-call{background:transparent;border:1.5px solid rgb(255 255 255/.35)}
}
/* Showcase home on the palette */
.m-pal.m-showcase{--amber:var(--accent)}
.m-pal .m-hero--est .m-hero-phone svg{border-color:rgb(232 131 58/.6)}
.m-pal .m-gal-grid figcaption,.m-pal .m-craft-photos figcaption{background:rgb(21 21 21/.82)}
.m-pal .m-svc:hover{box-shadow:0 18px 40px -22px rgb(21 21 21/.45)}
.m-pal .m-est-tabs button[aria-selected=true]{box-shadow:0 1px 2px rgb(21 21 21/.12),0 4px 10px -6px rgb(21 21 21/.35)}
.m-pal .m-est-panel .m-price-group label{border-color:#d8ccbd}
.m-pal .m-trust svg,.m-pal .m-craft-list svg{background:var(--green-100)}
.m-pal .m-close+*,.m-pal .m-footer{border-top:1px solid rgb(255 255 255/.09)}
/* ===== Self-hosted font pairing (body.m-fonts: theme.fonts). Tokens come from the page's own @font-face block. ===== */
.m-fonts h1,.m-fonts h2,.m-fonts h3,.m-fonts .m-price-out,.m-fonts .m-cost-figure{font-weight:var(--display-weight);letter-spacing:var(--display-tracking)}
.m-fonts.matcher .m-hero h1{line-height:var(--display-leading)}
.m-fonts h3{letter-spacing:-.01em}
.m-fonts .m-price-out,.m-fonts .m-cost-figure,.m-fonts .m-phone strong,.m-fonts .m-hero-phone strong{font-variant-numeric:lining-nums tabular-nums}
/* ===== Showcase pass 2 (2026-11-14): value-first price card, calmer phone hero, bar that stays out of the way. ===== */
.m-showcase .m-est-result{margin:0 0 1rem}
.m-showcase .m-est-result .m-price-label{display:flex;justify-content:space-between;gap:.5rem}
.m-showcase .m-price-out.is-new{animation:m-new .5s ease-out}
@keyframes m-new{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.m-showcase .m-est-panel .m-price-form{gap:.75rem}
.m-showcase .m-est-panel .m-price-group{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:.4rem}
.m-showcase .m-est-panel .m-price-group legend{margin-bottom:.4rem;font-weight:600}
.m-showcase .m-est-panel .m-price-group label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:48px;padding:.4rem .45rem;border-radius:10px;text-align:center;font-size:.86rem;line-height:1.2;background:#fff}
.m-showcase .m-est-panel .m-price-group label small{display:block;margin-top:.15rem;font-size:.72rem;font-weight:400;color:var(--muted)}
.m-showcase .m-est-panel .m-price-group label:has(input:checked) small{color:#e6dfd8}
.m-showcase .m-est .m-price-cta{width:100%}
.m-showcase .m-hero--est h1{max-width:15ch}
.m-pal.m-showcase .m-est-step--form .inquiry-field:has(select){grid-column:1/-1}
@media(max-width:959px){
  .m-pal .m-bar{transition:transform .25s ease,visibility .25s}
  .m-pal .m-bar.is-hidden{transform:translateY(110%);visibility:hidden}
  .m-pal.has-bar{padding-bottom:0}
  .m-pal.has-bar .m-footer{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 1rem)}
  .m-showcase .m-gal-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1rem;padding:0 1rem .2rem}
  .m-showcase .m-gal-filter::-webkit-scrollbar{display:none}
  .m-showcase .m-gal-filter button{flex:none}
}
@media(max-width:600px){
  .m-showcase .m-hero--est{padding-top:1.25rem}
  .m-showcase .m-hero--est .eyebrow{display:none}
  .m-showcase .m-hero--est h1{font-size:2.3rem}
  .m-showcase .m-hero--est .m-claim{font-size:1.02rem;margin-top:.6rem}
  .m-showcase .m-est-kicker{font-size:.66rem;letter-spacing:.07em}
  .m-showcase .m-est-kicker span:last-child{display:inline}
  .m-showcase .m-est-panel .m-price-group label{font-size:.82rem;padding:.35rem .3rem}
  .m-showcase .m-cost-figure{font-size:1.55rem!important}
}
.m-showcase .m-team .persona{align-items:start}
@media(max-width:600px){
  .m-showcase .m-svc-more{display:none}
  .m-showcase .m-svc-body{padding-bottom:.6rem}
}
@media(min-width:960px) and (max-height:860px){.m-showcase .m-hero--est{padding-top:2rem;padding-bottom:2.5rem}}
@media(max-width:600px){.m-showcase .m-svc-price{min-height:44px}}
/* Thank-you page (Raleigh pairing sites): one message, and no "get an estimate" button right after sending one. */
.m-fonts .inquiry[data-kind=thank-you]:has(.inquiry-status.has-state) #inquiry-notice{display:none}
@media(max-width:959px){.m-fonts:has(.inquiry[data-kind=thank-you]) .m-bar{grid-template-columns:1fr}.m-fonts:has(.inquiry[data-kind=thank-you]) .m-bar-req{display:none}}
.m-ai-note{display:block;font-style:normal;font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none;opacity:.78;margin-top:.2rem;line-height:1.35}
p.m-ai-note{margin:.5rem 0 0;color:var(--muted)}
.m-bar-call span:has(.m-ai-note){display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.m-bar-call .m-ai-note{font-size:.66rem;margin-top:.1rem}
