/* Black comparison: identical layout and typography. */
:root{--ink:#000000}
header,.contact,footer,.photo-label{background:#000000}
.contact .button:hover{background:#1a1a1a}.contact .primary:hover{background:#ae2119}
.work-slide img{box-shadow:0 16px 5px -5px rgba(0,0,0,.48);border-radius:2px}
.gallery-bottom{margin-top:34px}

/* Selected black design. Strong wordmark, quiet body typography. */
.brand-title{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:.055em;font-size:clamp(1.75rem,2.2vw,2.625rem);line-height:1.12}
.brand-subtitle{color:var(--red);font-size:clamp(.8125rem,1vw,1rem)}
.header-inner.wrap{min-height:92px;padding-block:10px}
.brand img{width:64px;height:64px;aspect-ratio:1;object-fit:contain}
header nav{display:flex;gap:clamp(20px,2.2vw,38px);font-size:1.0625rem;font-weight:700}
header nav a{display:inline-block;text-decoration-line:underline;text-decoration-color:#777;text-decoration-thickness:1px;text-underline-offset:7px;border:0;padding-block:8px}
header nav a:hover,header nav a:focus-visible{text-decoration-color:var(--red);text-decoration-thickness:2px;border:0}
.photo-label{border-left:0;letter-spacing:.06em}
.work-slide video{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;box-shadow:0 16px 5px -5px #0007;background:transparent}
.work-carousel:has(.video-slide:not([hidden])) .carousel-controls{pointer-events:none}
.gallery-bottom{align-items:flex-start;gap:16px}.slide-dots{flex-wrap:wrap;justify-content:flex-end;max-width:320px}
@media(max-width:1100px){.header-inner.wrap{flex-wrap:wrap;gap:10px 24px}.header-right{gap:24px}header nav{font-size:1rem;gap:20px}}
@media(max-width:850px){.header-inner.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:0;gap:8px 20px}.header-right{display:contents}header nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:30px}.header-phone{grid-column:2;grid-row:1;padding:0}.brand img{width:52px;height:52px}.brand-title{font-size:clamp(1.5rem,3.7vw,2rem)}}
@media(max-width:500px){.header-inner.wrap{padding-block:12px;gap:6px 10px}.brand{gap:8px}.brand img{width:42px;height:48px}.brand-title{font-size:clamp(1.125rem,5vw,1.5rem);letter-spacing:.055em}.brand-subtitle{font-size:.6875rem}.header-phone{flex-direction:column;align-items:flex-end;gap:2px}.header-phone-label{font-size:.5625rem}.header-phone-number{font-size:.8125rem}header nav{font-size:1rem;justify-content:space-between;gap:16px}header nav a{padding-block:6px}.gallery-bottom{flex-direction:column;gap:12px}.gallery-bottom p{max-width:none}.slide-dots{max-width:100%;justify-content:flex-start;gap:3px}.slide-dot{width:26px}}
@media(max-width:340px){.header-inner.wrap{grid-template-columns:minmax(0,1fr)}.header-phone{grid-column:1;grid-row:2;align-items:baseline;flex-direction:row;gap:8px}header nav{grid-row:3}.brand-title{font-size:1.375rem}}

/* Wordmark fallback is bundled: phones receive a real bold-italic face. */
@font-face{font-family:'Liberation Wordmark';src:url('assets/fonts/LiberationSans-BoldItalic.ttf') format('truetype');font-style:italic;font-weight:700;font-display:swap}
.brand{--brand-title-size:clamp(1.75rem,2.2vw,2.625rem);--brand-subtitle-size:clamp(.8125rem,1vw,1rem);align-items:center}
.brand-title{font-family:Impact,'Liberation Wordmark',Arial,sans-serif;font-style:italic;font-weight:700;font-synthesis:style weight;font-size:var(--brand-title-size);letter-spacing:.055em;line-height:1.12;padding-right:.1em}
.brand-subtitle{font-size:var(--brand-subtitle-size);line-height:1.25;margin-top:7px}
.brand img{height:calc(var(--brand-title-size)*1.12 + var(--brand-subtitle-size)*1.25 + 7px);width:auto;aspect-ratio:1;max-width:none;object-fit:contain;flex-shrink:0}
header nav{font-weight:400}header nav a{text-decoration-thickness:1px}
.work-slide img,.work-slide video{box-shadow:0 15px 1px -4px rgba(0,0,0,.25)}
.slide-dots{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:2px;max-width:none;width:max-content}
.slide-dot{flex:0 0 26px;width:26px;height:32px}
.carousel-controls>button{position:relative;padding:0}
.carousel-controls .carousel-arrow{position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);margin:0}
@media(max-width:850px){.brand{--brand-title-size:clamp(1.5rem,3.7vw,2rem)}}
@media(max-width:600px){.gallery-bottom{flex-direction:column;gap:12px;align-items:flex-start}}
@media(max-width:500px){.brand{--brand-title-size:clamp(1.125rem,5vw,1.5rem);--brand-subtitle-size:.6875rem}.slide-dots{gap:1px}.slide-dot{flex-basis:25px;width:25px}}
@media(max-width:340px){.brand{--brand-title-size:1.375rem}.slide-dots{gap:0;max-width:100%;width:100%}.slide-dot{flex:1 1 0;min-width:0;width:auto}}

/* Optical balance and shared text axes. */
@font-face{font-family:'Four Seasons Impact';src:local('Impact');font-weight:700;font-style:normal;font-display:swap}
.brand-title{font-family:'Four Seasons Impact','Liberation Wordmark',Arial,sans-serif;font-weight:700;font-style:italic;font-synthesis:style;letter-spacing:.065em;border-bottom:3px solid var(--yellow);padding-bottom:3px;line-height:1.12}
.brand-subtitle{margin-top:3px;line-height:1.25}
.brand{gap:4px;--brand-lockup-height:calc(var(--brand-title-size)*1.12 + var(--brand-subtitle-size)*1.25 + 9px)}
.brand-mascot{display:block;position:relative;width:var(--brand-lockup-height);height:var(--brand-lockup-height);flex-shrink:0}
.brand .brand-mascot img{position:absolute;left:50%;top:43%;width:112%;height:auto;aspect-ratio:auto;max-width:none;transform:translate(-50%,-50%);object-fit:contain}
.work-slide img,.work-slide video{box-shadow:0 16px 4px -4px rgba(0,0,0,.65)}
#previous-photo .carousel-arrow{transform:translate(calc(-50% - 1.5px),-50%)}
#next-photo .carousel-arrow{transform:translate(calc(-50% + 1.5px),-50%)}
/* Match the introductory right-hand columns without imposing one grid on the whole page. */
.section-heading,.local-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}
.service-row{grid-template-columns:44px minmax(160px,1fr) minmax(0,1.3fr) 200px;column-gap:28px}
.service-row p{max-width:none}
.service-row>.service-ask{white-space:normal}
@media(max-width:1050px) and (min-width:721px){.service-row{grid-template-columns:36px minmax(160px,1fr) minmax(0,1.3fr);column-gap:18px}.service-row p,.service-row>.service-ask{grid-column:3}}
@media(max-width:720px){.local-layout{grid-template-columns:minmax(0,1fr)}.service-row{grid-template-columns:28px minmax(0,1fr);column-gap:12px}.service-row p,.service-row>.service-ask{grid-column:2}}
@media(max-width:500px){.brand{gap:3px}}

/* Compact historical introduction and one visible quote form. */
.business-intro{border-bottom:1px solid var(--line);background:var(--paper)}
.business-intro-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 40px;padding-block:18px}
.business-intro p{margin:0;font-size:.875rem;line-height:1.5;color:var(--muted)}
.business-intro strong{color:var(--ink);font-size:1rem}
.first-visit-offer{display:block;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);text-decoration:none}
.first-visit-offer strong{display:block;color:var(--red);font-size:1rem}
.first-visit-offer span{font-size:.875rem;color:var(--muted)}
.first-visit-offer:hover strong{text-decoration:underline;text-underline-offset:4px}
.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.quote-intro h2{max-width:520px}.quote-intro>p{margin-bottom:24px}
.quote-intro .quote-offer{border-top:1px solid #666;padding-top:24px;margin-top:28px;color:var(--yellow)}
.quote-intro .quote-explanation{font-size:.875rem;color:#c5c9c0;max-width:400px}
.inline-quote h3{font-size:1.375rem;margin:0 0 24px;font-weight:700}
.inline-quote form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.inline-quote form>label:has(input[name="address"]),.inline-quote form>label:has(textarea),.inline-quote .first-customer,.inline-quote form>.button,.inline-quote #form-status{grid-column:1/-1}
.inline-quote label{color:var(--white);font-size:.875rem;line-height:1.5}
.inline-quote input,.inline-quote textarea,.inline-quote select{color:#000;background:var(--white)}
.inline-quote .first-customer{display:flex;align-items:flex-start;gap:12px;font-weight:400;padding-block:8px;cursor:pointer}
.inline-quote .first-customer input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--red)}
.inline-quote .local-note{color:#c5c9c0}.inline-quote #form-status{font-size:.875rem;color:var(--white)}
.inline-quote .button.primary{background:var(--red);border-color:var(--red)}
.inline-quote .button.primary:hover{background:#ae2119}
#quote-form{scroll-margin-top:24px}
@media(max-width:720px){.business-intro-inner{grid-template-columns:minmax(0,1fr);gap:4px;padding-block:16px}.quote-layout{grid-template-columns:minmax(0,1fr);gap:28px}.quote-intro>p{margin-bottom:16px}.quote-intro .quote-offer{margin-top:20px;padding-top:16px}.inline-quote h3{margin-bottom:20px}}
@media(max-width:420px){.inline-quote form{grid-template-columns:minmax(0,1fr)}}

/* Single link underline, complete introduction and an early, legible offer. */
a.service-ask,a.service-ask:hover,a.service-ask:focus-visible{border-bottom:0;text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:1px;text-underline-offset:5px}
.business-intro-inner{align-items:start;padding-block:32px;gap:24px 40px}
.business-intro h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2}
.business-intro .business-intro-copy p{font-size:1rem;line-height:1.65;margin:0 0 14px;max-width:65ch}
.business-intro .business-intro-copy p:last-child{margin-bottom:0}
.hero-copy .first-visit-offer{border-top:0;margin:0 0 24px;padding:0;max-width:410px}
.hero-copy .first-visit-offer strong{font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.3;color:var(--red)}
.hero-copy .first-visit-offer span{display:block;margin-top:6px;font-size:.9375rem;line-height:1.5;color:var(--ink)}
@media(max-width:720px){.business-intro-inner{padding-block:26px;gap:18px}.business-intro h2 br{display:none}.business-intro .business-intro-copy p{font-size:.9375rem}.hero-copy .first-visit-offer strong{font-size:1.25rem}}

/* Wider introduction with a clear founding date; linked hero offer. */
.hero-copy .first-visit-offer strong{ text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:2px;text-underline-offset:5px }
.hero-copy .first-visit-offer:hover strong{ text-decoration-thickness:3px }
.business-intro-inner{display:block;padding-block:26px}
.business-intro-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;margin-bottom:16px}
.business-intro-heading h2{font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.25}
.business-intro-heading .founded-date{font-size:1.125rem;font-weight:700;line-height:1.4;color:var(--red);margin:0}
.business-intro-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px 40px;align-items:start}
.business-intro .business-intro-copy p{max-width:none;margin:0;font-size:1rem;line-height:1.6}
.business-intro .business-intro-copy p:last-child{grid-column:1/-1;font-size:.875rem}
@media(max-width:720px){.business-intro-heading{display:block;margin-bottom:16px}.business-intro-heading .founded-date{margin-top:8px}.business-intro-copy{display:block}.business-intro .business-intro-copy p{margin-bottom:12px;font-size:.9375rem}.business-intro .business-intro-copy p:last-child{margin-bottom:0}}

/* Key business facts are visible at the top; full history sits before the quote. */
.business-summary{background:var(--paper);border-bottom:1px solid var(--line)}
.business-summary-inner{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:14px;flex-wrap:wrap}
.business-summary p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--muted)}
.business-summary strong{color:var(--ink);font-weight:700}
.business-summary p:nth-child(2) strong{color:var(--red)}
@media(max-width:600px){.business-summary-inner{justify-content:flex-start;gap:4px 20px;padding-block:12px}.business-summary p{font-size:.8125rem}.business-summary p:last-child{flex-basis:100%}}

/* Two prominent business facts, founding date first. */
.business-summary-inner{justify-content:flex-start;gap:10px clamp(28px,5vw,80px);padding-block:20px}
.business-summary p{font-size:clamp(1.125rem,1.65vw,1.5rem);line-height:1.35;color:#000}
.business-summary strong,.business-summary p:nth-child(2) strong{color:#000;font-weight:700}
.business-summary .business-founded{flex-shrink:0}
@media(max-width:600px){.business-summary-inner{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-block:18px}.business-summary p{font-size:1.0625rem;line-height:1.4}.business-summary .business-founded{font-size:1.375rem}.business-summary p:last-child{flex-basis:auto}}

/* Align the strip to the hero rather than the narrower body wrapper. */
.business-summary-inner.wrap{width:100%;max-width:1760px;margin-inline:auto;padding:11px clamp(28px,5vw,90px) 11px max(var(--space),calc((100vw - 1440px)/2));display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px 24px}
.business-summary .business-founded{font-size:clamp(1.25rem,1.7vw,1.625rem);font-weight:900;text-align:left}
.business-summary .business-founded strong{font-weight:900}
.business-summary .business-owner{margin-left:auto;font-size:clamp(.9375rem,1.25vw,1.125rem);font-weight:400;text-align:right;flex-basis:auto}
.business-summary .business-owner strong{font-weight:700}
.eyebrow{flex-direction:column;align-items:flex-start;gap:8px}
@media(min-width:1800px){.business-summary-inner.wrap{padding-left:80px}}
@media(max-width:720px){.business-summary-inner.wrap{padding:11px var(--space);gap:6px 16px}.business-summary .business-founded{font-size:1.25rem}.business-summary .business-owner{font-size:.875rem}}
@media(max-width:500px){.business-summary-inner.wrap{align-items:flex-start}.business-summary .business-founded{font-size:1.125rem;max-width:115px}.business-summary .business-owner{max-width:190px;font-size:.8125rem;line-height:1.4}}

/* Inline label dash starts on the same axis as the section heading. */
.eyebrow{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}
.eyebrow:before{flex:0 0 28px;margin:0}
.section-heading .eyebrow,.local .eyebrow{margin-left:0;padding-left:0}
.business-summary .business-founded{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.125rem,1.45vw,1.375rem);font-weight:700;line-height:1.4}
.business-summary .business-founded strong{font-weight:700}
#about{scroll-margin-top:24px}
@media(max-width:720px){.business-summary .business-founded{font-size:1.125rem}}
@media(max-width:500px){header nav{gap:12px;font-size:.9375rem}.business-summary .business-founded{font-size:1rem;max-width:none;white-space:nowrap}}
@media(max-width:340px){header nav{gap:10px;font-size:.875rem}}

/* One before/after item with a shared playback cycle. */
.work-slide.comparison-slide{display:block;height:auto}
.comparison-videos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;width:100%;max-width:654px;margin-inline:auto}
.comparison-panel{min-width:0}.comparison-panel h3{font-size:1rem;margin:0 0 14px;font-weight:700;text-align:center}
.comparison-panel video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:transparent}
.comparison-playback{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:28px}
.comparison-playback p{font-size:.8125rem;color:var(--muted);margin:0;max-width:360px}
.comparison-playback .button{font-size:.875rem;min-width:125px}
.gallery-stage:has(.comparison-slide:not([hidden])) .carousel-controls{top:calc(50% - 22px)}
@media(max-width:600px){.comparison-videos{gap:14px}.comparison-panel video{height:auto}.comparison-playback{gap:10px;text-align:center}.comparison-playback p{flex-basis:100%}.gallery-stage:has(.comparison-slide:not([hidden])) .carousel-controls{padding-inline:0}.gallery-stage:has(.comparison-slide:not([hidden])) .carousel-controls>button{background:var(--white)}}

/* Shared playback control stays centered with no explanatory copy. */
.comparison-playback{justify-content:center;gap:0;text-align:center}

/* Align the visible heading tops, not just their line-box edges. */
.quote-layout{align-items:start}
.quote-intro h2{margin-top:0;line-height:1.08}
.inline-quote h3{margin-top:0;line-height:1.15;padding-top:0}
@supports (text-box-trim:trim-start){
 .quote-intro h2,.inline-quote h3{text-box-trim:trim-start;text-box-edge:cap alphabetic}
}

/* Plain fallback instructions, aligned with the message-review content. */
.inline-quote #text-request .local-note{border-left:0;padding-left:0}

/* Portable outlined wordmark: the same lettering on desktop and mobile. */
.brand-title{padding-top:.12em;padding-right:.06em}
.brand .brand-title .wordmark-art{position:static;display:block;width:auto;height:.8em;max-width:none;aspect-ratio:auto;transform:none;object-fit:contain}
/* Keep the shadow on the actual intrinsic image rectangle, not a letterboxed box. */
.work-slide:not(.comparison-slide)>img{width:auto;height:auto;max-width:100%;max-height:100%;align-self:center;flex:0 1 auto;object-fit:contain}
