
/* D03 owns only its scoped rules. D01 and the approved catalog stay unchanged. */
body.tbx-brand-page{--brand-paper:#f1f2f3;--brand-ink:#151619;--brand-muted:#5d6167;--brand-line:#cdd0d3;background:var(--brand-paper);color:var(--brand-ink);color-scheme:light}
.tbx-brand-page .tbx-header,.tbx-brand-page .tbx-footer,.tbx-brand-page .tbx-mobile-menu{color:#f7f8f9;color-scheme:dark}
.tbx-brand-page :focus-visible{outline:2px solid #a72a20;outline-offset:5px}
.tbx-brand-page .tbx-header :focus-visible,.tbx-brand-page .tbx-mobile-menu :focus-visible,.tbx-brand-page .brand-contact :focus-visible,.tbx-brand-page .tbx-footer :focus-visible{outline-color:#f7f8f9}
.brand-crumbrow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;color:var(--brand-muted);font-size:14px}
.brand-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.brand-crumbs a:hover{text-decoration:underline!important;text-underline-offset:5px}
.brand-preview{font-size:12px;letter-spacing:.025em;white-space:nowrap}
.brand-hero{padding:28px 0 50px}
.brand-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(36px,5vw,90px);align-items:center}
.tbx-brand-page .brand-kicker{display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.5;color:var(--brand-muted);margin:0 0 26px}
.brand-kicker:before{content:"";width:20px;height:2px;flex:none;background:#cf3022}
.tbx-brand-page .brand-hero h1{font-size:clamp(50px,5.2vw,83px);font-weight:300;line-height:1.05;letter-spacing:-.05em;margin:0;overflow-wrap:normal}
.brand-hero h1 span{display:block}.brand-hero h1 em{font-style:normal;color:#686d74}
.tbx-brand-page .brand-lead{max-width:460px;margin:25px 0 28px;font-size:20px;line-height:1.5;color:#50555b}
.brand-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.brand-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:16px 23px;background:#bd2e23;color:#fff!important;border:1px solid #bd2e23;border-radius:2px;font-size:16px;line-height:1.4;transition:background .2s}
.brand-button:hover{background:#a8281e;border-color:#a8281e}
.brand-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;border-bottom:1px solid #a4a6aa;padding:6px 0;font-size:16px;line-height:1.4;max-width:100%}
.brand-link:hover{color:#a92b20!important;border-bottom-color:#a92b20}
.brand-arrow{display:inline-block;flex:none;width:18px;height:18px;position:relative}
.brand-arrow:before{content:"";position:absolute;top:8px;left:1px;width:18px;height:1px;background:currentColor;transform:rotate(-45deg)}
.brand-arrow:after{content:"";position:absolute;right:0;top:0;width:10px;height:10px;border-top:1px solid currentColor;border-right:1px solid currentColor}



.brand-subnav{border-block:1px solid var(--brand-line)}
.brand-subnav .tbx-shell{display:flex;gap:34px;align-items:center;overflow:auto;scrollbar-width:thin}
.brand-subnav a{display:inline-flex;align-items:center;min-height:65px;white-space:nowrap;font-size:15px;border-bottom:2px solid transparent}
.brand-subnav a:hover{border-bottom-color:#cf3022}
.brand-section{padding:76px 0;scroll-margin-top:110px}
.brand-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);align-items:end;gap:48px;margin-bottom:34px}
.tbx-brand-page .brand-section h2,.tbx-brand-page .brand-contact h2{font-size:clamp(34px,3.65vw,56px);font-weight:300;line-height:1.08;letter-spacing:-.04em;margin:0}
.tbx-brand-page .brand-section-heading>p{color:var(--brand-muted);font-size:18px;line-height:1.55;max-width:520px;margin:0}
.brand-model-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.brand-model-filters{display:flex;gap:7px}
.brand-model-filters button{border:1px solid transparent;border-radius:2px;background:transparent;min-height:44px;padding:10px 16px;font-size:15px}
.brand-model-filters button[aria-pressed=true]{border-color:#a9adb3;background:#e6e8ea}
.brand-model-filters button:hover{background:#e6e8ea}
.brand-model-count{font-size:14px;color:var(--brand-muted);white-space:nowrap}
.brand-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--brand-line);border:1px solid var(--brand-line)}
.brand-model{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:118px;padding:28px 30px;background:var(--brand-paper);transition:background .2s}
.brand-model:hover{background:#fafafa;color:#a92b20!important}
.brand-model-label{display:flex;align-items:baseline;gap:12px;line-height:1}
.brand-model-label small{font-size:16px;color:var(--brand-muted)}
.brand-model-label strong{font-size:42px;font-weight:300;letter-spacing:-.04em}
.brand-model .brand-arrow{color:#73787f}
.brand-model-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;font-size:15px;color:var(--brand-muted)}
.brand-model-note a{color:var(--brand-ink)!important}
.brand-services{border-top:1px solid var(--brand-line)}
.brand-services-layout{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:clamp(50px,9vw,150px)}
.brand-services-intro{align-self:start;position:sticky;top:130px}
.tbx-brand-page .brand-services-intro>p{font-size:18px;line-height:1.6;color:var(--brand-muted);max-width:300px;margin:24px 0 26px}
.brand-service-list{border-top:1px solid #9da2a8}
.brand-service{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:25px 0;border-bottom:1px solid var(--brand-line)}
.brand-service>div{min-width:0}
.tbx-brand-page .brand-service h3{font-size:28px;font-weight:300;line-height:1.15;letter-spacing:-.025em;margin:0}
.tbx-brand-page .brand-service p{font-size:16px;line-height:1.55;color:var(--brand-muted);margin:10px 0 0;max-width:530px}
.brand-service:hover h3{color:#a92b20}
.brand-cost{background:#e7e9eb;border-block:1px solid #d3d5d8}
.brand-cost-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,140px)}
.tbx-brand-page .brand-cost-intro>p{font-size:18px;line-height:1.6;margin:25px 0;max-width:380px;color:var(--brand-muted)}
.brand-estimate{padding:30px 32px;background:#f7f8f9;border-top:2px solid #9fa3a9}
.tbx-brand-page .brand-estimate h3{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.015em;margin-bottom:23px}
.brand-estimate-list{padding:0;margin:0;list-style:none}
.brand-estimate-list li{padding:17px 0;border-top:1px solid var(--brand-line);display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px;font-size:16px;line-height:1.5}
.brand-estimate-list strong{font-weight:400}.brand-estimate-list span{color:var(--brand-muted)}
.tbx-brand-page .brand-estimate-note{font-size:14px;line-height:1.6;color:var(--brand-muted);margin:20px 0 0}
.brand-issues-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,140px)}
.tbx-brand-page .brand-issues-intro p{font-size:18px;line-height:1.6;max-width:360px;color:var(--brand-muted);margin:25px 0 0}
.brand-accordion{border-top:1px solid #a7abb0}
.brand-accordion details{border-bottom:1px solid var(--brand-line)}
.brand-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:21px;line-height:1.35;padding:23px 0;font-weight:400}
.brand-accordion summary::-webkit-details-marker{display:none}
.brand-accordion summary:after{content:"+";font-size:27px;font-weight:300;color:#73777d;flex:none;width:22px;text-align:center}
.brand-accordion details[open] summary:after{content:"−"}
.brand-accordion details[open] summary{color:#a92b20}
.brand-accordion-content{padding:0 38px 23px 0}
.tbx-brand-page .brand-accordion-content p{font-size:17px;line-height:1.65;color:var(--brand-muted);margin:0 0 16px}
.brand-accordion-content .brand-link{font-size:15px}
.brand-reviews{border-top:1px solid var(--brand-line)}
.brand-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.brand-review{display:flex;flex-direction:column;text-align:left;align-items:stretch;width:100%;border:0;border-top:1px solid #a3a7ad;background:#fafafa;padding:26px;min-height:310px;transition:background .2s}
.brand-review:hover{background:#fff}
.brand-review-source{font-size:13px;color:var(--brand-muted);margin-bottom:23px}
.brand-review-text{font-size:19px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.brand-review-author{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:27px;margin-top:auto;font-size:15px;font-weight:400}
.brand-review-author .brand-arrow{width:14px;height:14px;color:#797e84}
.tbx-brand-page .brand-review-caption{font-size:13px;line-height:1.6;color:var(--brand-muted);margin:24px 0 0}
.tbx-brand-page .brand-contact{background:#1d1e22;color:#f7f8f9;color-scheme:dark;padding:76px 0 34px;scroll-margin-top:110px}
.brand-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,145px)}
.tbx-brand-page .brand-contact .brand-kicker{color:#b6bac0}
.tbx-brand-page .brand-contact h2{font-size:clamp(40px,4.1vw,64px)}
.tbx-brand-page .brand-contact-body>p{color:#c4c8ce;font-size:20px;line-height:1.55;max-width:470px;margin:0 0 30px}
.brand-phone{display:inline-flex;align-items:center;gap:25px;font-weight:300;font-size:clamp(27px,2.65vw,42px);line-height:1.2;letter-spacing:-.035em;max-width:100%;white-space:nowrap;min-height:52px}
.brand-hours{display:block;margin-top:14px;font-size:16px;color:#b4b8bf}
.brand-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:46px;padding-top:27px;border-top:1px solid #44474e;font-size:16px;color:#c6c9ce}
.brand-contact-bottom .brand-link{border:0;color:#f7f8f9!important}
.tbx-brand-page .tbx-footer{background:#151619}
.tbx-brand-page .tbx-mobile-menu[open]{display:block;position:fixed;inset:0;margin:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;overflow:auto;background:#151619;color:#f7f8f9;z-index:100}
.tbx-brand-page .tbx-mobile-menu::backdrop{background:#151619}
.tbx-brand-page .tbx-review-modal{color:#151619;color-scheme:light}
.tbx-brand-page .tbx-review-modal__phone{text-decoration:none!important;border:0!important;white-space:nowrap;max-width:100%}
.tbx-brand-page .tbx-review-modal__phone-panel>p{font-size:17px;line-height:1.6}
.brand-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1600px){.brand-hero h1{font-size:88px!important}}
@media(max-width:1199px){.brand-hero-grid{gap:36px;grid-template-columns:1fr 1fr}.tbx-brand-page .brand-hero h1{font-size:60px}.brand-services-layout,.brand-cost-layout,.brand-issues-layout{gap:55px}.brand-review{padding:22px}.brand-review-text{font-size:18px}}
@media(max-width:1059px){.tbx-brand-page .tbx-header__phone{display:none!important}.brand-hero-grid{grid-template-columns:1.1fr .9fr}.tbx-brand-page .brand-hero h1{font-size:53px}.tbx-brand-page .brand-lead{font-size:18px}.brand-actions{gap:10px 20px}.brand-button{padding:15px 18px}.brand-model{padding:25px}.brand-model-label strong{font-size:38px}.brand-reviews-grid{gap:16px}.brand-contact-grid{gap:45px}}
@media(max-width:800px){.brand-hero-grid{grid-template-columns:1fr}.brand-hero{padding-top:13px;padding-bottom:34px}.tbx-brand-page .brand-hero h1{font-size:66px}.brand-section-heading{grid-template-columns:1fr;gap:22px}.brand-section-heading>p{max-width:580px!important}.brand-services-layout,.brand-cost-layout,.brand-issues-layout{grid-template-columns:1fr;gap:30px}.brand-services-intro{position:static}.brand-services-intro>p,.brand-cost-intro>p,.brand-issues-intro>p{max-width:550px!important}.brand-services-intro>.brand-link{display:none}.brand-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-model{padding:24px 18px;gap:16px}.brand-model-label{display:block}.brand-model-label small{display:block;font-size:14px;margin-bottom:9px}.brand-reviews-grid{grid-template-columns:1fr}.brand-review{min-height:0;padding:26px}.brand-review-text{font-size:20px}.brand-review-author{margin-top:18px}.brand-section{padding-block:52px}.brand-contact-grid{grid-template-columns:1fr;gap:30px}.tbx-brand-page .brand-contact-body>p{max-width:550px}.brand-contact-bottom{align-items:flex-start}}
@media(max-width:600px){
.tbx-brand-page{--tbx-gutter:24px}.brand-crumbrow{padding:22px 0;font-size:13px;gap:12px}.brand-crumbs{gap:9px}.brand-preview{font-size:11px;letter-spacing:0}.brand-hero{padding:18px 0 31px}.brand-hero-grid{gap:30px}.tbx-brand-page .brand-kicker{font-size:14px;margin-bottom:20px}.tbx-brand-page .brand-hero h1{font-size:clamp(40px,10.8vw,61px);line-height:1.075;letter-spacing:-.045em}.tbx-brand-page .brand-lead{font-size:18px;line-height:1.5;margin:23px 0 25px}.brand-actions{gap:13px 20px}.brand-button{min-height:53px;font-size:16px;padding:14px 18px}.brand-actions>.brand-link{font-size:15px}.brand-actions .brand-arrow{width:14px;height:14px}
.brand-subnav .tbx-shell{gap:26px}.brand-subnav a{min-height:55px;font-size:14px}.brand-section{padding:43px 0;scroll-margin-top:92px}.brand-section-heading{gap:19px;margin-bottom:26px}.tbx-brand-page .brand-section h2{font-size:36px;line-height:1.08;letter-spacing:-.035em}.tbx-brand-page .brand-section-heading>p{font-size:17px;line-height:1.55}.brand-model-toolbar{gap:10px;margin-bottom:17px}.brand-model-filters{gap:2px}.brand-model-filters button{font-size:14px;padding:10px 12px}.brand-model-count{font-size:12px}.brand-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-model{min-height:108px;padding:20px 14px;gap:9px}.brand-model-label strong{font-size:33px}.brand-model .brand-arrow{width:12px;height:12px;align-self:flex-end}.brand-model .brand-arrow:before{width:13px;top:5px}.brand-model .brand-arrow:after{width:7px;height:7px}.brand-model-note{display:block;font-size:16px;line-height:1.5;margin-top:22px}.brand-model-note .brand-link{margin-top:8px}
.tbx-brand-page .brand-services-intro>p,.tbx-brand-page .brand-cost-intro>p,.tbx-brand-page .brand-issues-intro>p{font-size:17px;line-height:1.6;margin:20px 0 0}.brand-services-layout,.brand-cost-layout,.brand-issues-layout{gap:28px}.brand-service{padding:23px 0;gap:18px}.tbx-brand-page .brand-service h3{font-size:26px;line-height:1.17}.tbx-brand-page .brand-service p{font-size:16px;line-height:1.6;margin-top:11px}.brand-estimate{padding:24px 21px}.tbx-brand-page .brand-estimate h3{font-size:23px;margin-bottom:19px}.brand-estimate-list li{grid-template-columns:1fr;gap:7px;padding:16px 0;font-size:16px;line-height:1.5}.brand-cost-intro>.brand-link{margin-top:19px}.brand-accordion summary{font-size:20px;padding:21px 0;gap:22px}.brand-accordion-content{padding-right:8px}.tbx-brand-page .brand-accordion-content p{font-size:17px;line-height:1.6}.brand-accordion-content .brand-link{font-size:15px}.brand-review{padding:23px;min-height:0}.brand-review-text{font-size:19px}.brand-review-source{margin-bottom:20px}.brand-review-author{padding-top:24px;margin-top:7px}.brand-review-caption{font-size:13px!important}
.tbx-brand-page .brand-contact{padding:48px 0 27px;scroll-margin-top:90px}.tbx-brand-page .brand-contact h2{font-size:45px;line-height:1.07}.tbx-brand-page .brand-contact .brand-kicker{margin-bottom:22px}.tbx-brand-page .brand-contact-body>p{font-size:18px;line-height:1.55;margin-bottom:24px}.brand-phone{font-size:clamp(25px,7.25vw,38px);gap:18px}.brand-hours{font-size:15px;margin-top:12px}.brand-contact-bottom{display:block;font-size:16px;line-height:1.55;margin-top:32px;padding-top:25px}.brand-contact-bottom>span{display:block;max-width:300px}.brand-contact-bottom>a{margin-top:15px}.tbx-brand-page .tbx-review-modal__phone{font-size:clamp(23px,6.7vw,35px)!important}
}
@media(max-width:359px){.tbx-brand-page{--tbx-gutter:18px}.tbx-brand-page .brand-hero h1{font-size:39px}.brand-preview{font-size:10px}.brand-crumbrow{font-size:12px}.brand-actions{gap:8px 14px}.brand-button{padding:13px 16px;font-size:15px}.brand-model{padding:18px 11px}.brand-model-label strong{font-size:30px}.brand-model-filters button{padding:10px;font-size:13px}.brand-model-count{font-size:11px}.tbx-brand-page .brand-contact h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.tbx-brand-page *{scroll-behavior:auto!important;transition:none!important}}
