/* Dynamic V2: mobile composition first. Shared semantic content, industry-specific art direction. */
html[data-experience=dynamic]{--composition-gutter:22px;--composition-space:52px;--art-display:Georgia,'Times New Roman',serif;--art-ink:#081a24}
html[data-experience=dynamic][data-industry=plumbing]{--art-display:Arial,Helvetica,sans-serif;--art-ink:#071c2b}
html[data-experience=dynamic][data-industry=window-home]{--art-ink:#17211b}
html[data-experience=dynamic] main{overflow:clip}
html[data-experience=dynamic] main :is(h1,h2){font-family:var(--art-display);font-weight:400;letter-spacing:-.035em;line-height:1.03;text-wrap:balance}
html[data-experience=dynamic][data-industry=plumbing] main :is(h1,h2){font-weight:600;letter-spacing:-.055em}
html[data-experience=dynamic] main h2{font-size:38px}
html[data-experience=dynamic] main h3{font-size:24px;line-height:1.15}
html[data-experience=dynamic] main p{font-size:16px;line-height:1.55;max-width:62ch}
html[data-experience=dynamic] main .eyebrow{font-family:Arial,sans-serif;font-size:10px;line-height:1.6;letter-spacing:.16em;font-weight:600}
html[data-experience=dynamic] main :is(.section,.intro,.service-overview,.process,.faq,.scope){padding-block:var(--composition-space)}
html[data-experience=dynamic] .button{border-radius:40px;min-height:48px;padding:14px 20px;box-shadow:none;font-size:14px}
html[data-experience=dynamic] .lf-secondary-action{border-radius:40px;min-height:48px;padding:13px 18px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;margin:12px 0 0}
html[data-experience=dynamic] main :is(.directory article,.detail-row,.system-rows article,.coverage-steps article,.service-index article,.treatment-grid article){border-radius:0;box-shadow:none;background:transparent}
/* Compact website masthead: logo, direct call, menu. The bottom actions are conversion only. */
@media(max-width:700px){
html[data-experience=dynamic] .header{display:flex;align-items:center;gap:10px;min-height:74px;padding:12px 18px;width:100%;max-width:none;position:relative;flex-wrap:wrap;background:#fff}
html[data-experience=dynamic] .header :is(.brand,.logo){order:0;margin-right:auto;max-width:145px;flex:0 1 145px}
html[data-experience=dynamic] .header [data-brand-logo]{width:100%;max-width:145px;height:auto;max-height:50px;object-fit:contain}
html[data-experience=dynamic] .header .header-call{display:flex;order:1;font-size:0;width:74px;min-height:42px;padding:10px;justify-content:center;border-radius:24px;background:var(--brand-accent);color:var(--brand-on-accent);gap:0}
html[data-experience=dynamic] .header .header-call:before{content:'Call ';font:600 13px Arial,sans-serif}
html[data-experience=dynamic] .header .header-call i{display:none}
html[data-experience=dynamic] .header :is(.menu,.menu-toggle){order:2;display:block;min-width:44px;min-height:44px;font-size:12px;margin:0;padding:8px;background:transparent;color:var(--brand-text);border:0}
html[data-experience=dynamic] .header nav{order:3;width:100%;position:static}
html[data-experience=dynamic] .concept-note{font-size:10px;line-height:1.35;padding:7px 18px;margin:0}
html[data-experience=dynamic] .mobile-actions{padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px #00000012}
html[data-experience=dynamic] .mobile-actions a{min-height:54px;display:flex;align-items:center;justify-content:center;font-size:13px}
}
/* The photo fills the hero. A lateral scrim protects words without erasing the scene. */
html[data-experience=dynamic] [data-recipe=cinematic-hero]{display:block;position:relative;isolation:isolate;width:100%;max-width:none;margin:0;min-height:580px;overflow:hidden;background:var(--art-ink);border:0;border-radius:0;padding:0;color:#fff}
html[data-experience=dynamic] :is(.home-opening,.hero-copy){position:relative;z-index:2;display:block;width:100%;max-width:none;margin:0;min-height:580px;padding:44px 22px 106px;background:transparent;box-shadow:none;color:#fff}
html[data-experience=dynamic] [data-recipe=cinematic-hero] :is(h1,h1 span,h1 em,p,.eyebrow,.lede){color:#fff}
html[data-experience=dynamic] [data-recipe=cinematic-hero] h1{font-family:var(--art-display);font-size:52px;line-height:1.01;letter-spacing:-.035em;font-weight:400;margin:20px 0;max-width:360px}
html[data-experience=dynamic][data-industry=plumbing] [data-recipe=cinematic-hero] h1{font-weight:600;font-size:53px;letter-spacing:-.055em}
html[data-experience=dynamic] :is(.hero-aside,.hero-copy .lede){max-width:345px;margin:0}
html[data-experience=dynamic] :is(.hero-aside p,.hero-copy>p:not(.eyebrow),.hero-copy .lede){font-size:16px;line-height:1.5;margin:0 0 23px;max-width:320px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] :is(.hero-photo,.hero-image,figure){position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;z-index:0}
html[data-experience=dynamic] .hero-focus{height:100%}
html[data-experience=dynamic] [data-recipe=cinematic-hero] img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;object-fit:cover;object-position:58% center;transform:none}
html[data-experience=dynamic] [data-recipe=cinematic-hero] :is(.hero-photo,.hero-image,.hero>figure):after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05131ee6 0%,#05131e9e 55%,#05131e24),linear-gradient(0deg,#05131e80,transparent 35%);z-index:1}
html[data-experience=dynamic][data-industry=window-home] .hero-image:after{background:linear-gradient(90deg,#132019de,#13201985 58%,#13201920),linear-gradient(0deg,#13201970,transparent 35%)}
html[data-experience=dynamic][data-industry=plumbing] .hero img{object-position:67% center}
html[data-experience=dynamic][data-industry=window-home] .hero-image img{object-position:65% center}
html[data-experience=dynamic] [data-recipe=cinematic-hero] figcaption{position:absolute;bottom:64px;left:22px;right:18px;z-index:3;font:9px/1.4 Arial,sans-serif;color:#fff;background:#0717209e;padding:5px 8px;width:max-content;max-width:calc(100% - 40px);height:auto}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .button{width:auto;display:inline-flex;max-width:100%;justify-content:space-between;gap:15px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .lf-secondary-action{color:#fff;border:1px solid #ffffffb0;background:#07172035}
/* Verified photographic choices cross the hero boundary, with native touch scrolling. */
html[data-experience=dynamic] :is(.lf-service-selector,.service-overview){position:relative;z-index:3;width:100%;max-width:none;margin:-46px 0 0;padding:0 0 42px;background:linear-gradient(transparent 46px,var(--brand-surface) 46px);display:flex;flex-direction:column}
html[data-experience=dynamic] :is(.lf-service-links,.service-list){order:-1;display:flex;gap:8px;overflow-x:auto;padding:0 14px 12px;scroll-snap-type:x proximity;scroll-padding-inline:14px}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) a{position:relative;isolation:isolate;flex:0 0 44%;min-width:152px;min-height:208px;height:208px;margin:0;padding:20px 15px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;border:1px solid #fff8;border-radius:8px;background:var(--art-ink);color:#fff;overflow:hidden;scroll-snap-align:start;box-shadow:0 8px 14px #07172016}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;border-radius:0}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) a:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#03121bf2,transparent 95%);z-index:-1}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) a :is(span,h3,small,p){position:relative;color:#fff}
html[data-experience=dynamic] .lf-service-links a>span:first-of-type{font-size:21px;font-weight:500;line-height:1.15}
html[data-experience=dynamic] .lf-service-links small{display:block;font-size:11px;line-height:1.4;margin-top:7px;max-width:120px}
html[data-experience=dynamic] .lf-service-links a>span:last-child{align-self:flex-end;font-size:21px;margin-top:8px}
html[data-experience=dynamic] .service-list :is(.number,.arrow){display:none}
html[data-experience=dynamic] .service-list h3{font-size:22px;line-height:1.1;margin:0 0 8px}
html[data-experience=dynamic] .service-list p{font-size:12px;line-height:1.4;margin:0}
html[data-experience=dynamic] :is(.lf-service-selector,.service-overview)>:is(h2,p){margin:12px 22px 0;padding:0;max-width:600px}
html[data-experience=dynamic] :is(.lf-service-selector,.service-overview)>h2{font-size:33px}
/* Editorial photographs continue through the section, not inside another white tile. */
html[data-experience=dynamic] .lf-art-photo[hidden]{display:block;position:absolute;inset:0;margin:0;z-index:0;overflow:hidden}
html[data-experience=dynamic] .lf-art-photo img{height:100%;width:100%;object-fit:cover;object-position:65% center}
html[data-experience=dynamic] .lf-art-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071720ed,#0717209c 65%,#07172040)}
html[data-experience=dynamic] .lf-art-photo figcaption{position:absolute;bottom:10px;left:22px;right:22px;z-index:1;color:#fff;font:9px/1.4 Arial,sans-serif}
html[data-experience=dynamic] .lf-insurance{position:relative;isolation:isolate;display:block;width:100%;max-width:none;margin:0;padding:44px 22px 48px;border:0;border-radius:0;background:var(--brand-surface)}
html[data-experience=dynamic] .lf-insurance>.lf-art-photo:after{background:linear-gradient(90deg,var(--brand-surface),color-mix(in srgb,var(--brand-surface) 95%,transparent) 42%,color-mix(in srgb,var(--brand-surface) 65%,transparent))}
html[data-experience=dynamic] .lf-insurance>.lf-art-photo figcaption{color:var(--brand-text);font-size:8px}
html[data-experience=dynamic] .lf-insurance>:not(figure){position:relative;z-index:2;max-width:310px}
html[data-experience=dynamic] .lf-insurance h2{font-size:38px;margin:16px 0}
html[data-experience=dynamic] .lf-insurance>p:not(.lf-preview-label){font-size:14px;line-height:1.55;padding:0;border:0;margin:18px 0}
html[data-experience=dynamic] .lf-insurance .lf-preview-label{font-size:10px}
html[data-experience=dynamic][data-industry=restoration] .navy{position:relative;isolation:isolate;margin:0;border-radius:0;background:var(--brand-primary)}
html[data-experience=dynamic][data-industry=restoration] .care{position:relative;z-index:1;display:block;padding:48px 22px;width:100%;max-width:none}
html[data-experience=dynamic][data-industry=restoration] .navy :is(h2,h3,p,.eyebrow,a){color:#fff}
html[data-experience=dynamic] .care-links a{border-color:#ffffff55;padding-block:16px}
html[data-experience=dynamic] :is(.feature,.guide-feature){display:block;width:100%;max-width:none;padding:0 0 44px;margin:0;background:var(--brand-surface)}
html[data-experience=dynamic] :is(.feature,.guide-feature) figure{margin:0;position:relative}
html[data-experience=dynamic] :is(.feature,.guide-feature) img{width:100%;height:330px;object-fit:cover;border-radius:0}
html[data-experience=dynamic] :is(.feature,.guide-feature) figcaption{font-size:9px;padding:8px 22px}
html[data-experience=dynamic] :is(.feature,.guide-feature)>div{position:relative;margin:-38px 18px 0 42px;padding:25px 24px;background:var(--brand-surface);z-index:1;border:0;border-radius:0}
html[data-experience=dynamic] :is(.feature,.guide-feature) h2{font-size:36px}
html[data-experience=dynamic] .intro{padding:46px 22px;width:100%;max-width:none}
html[data-experience=dynamic] .intro-grid{display:block}
html[data-experience=dynamic] .intro-grid>div{margin-top:25px}
html[data-experience=dynamic] .systems{position:relative;display:block;width:100%;max-width:none;padding:0;margin:0;background:var(--brand-primary);border-radius:0;color:var(--brand-on-primary)}
html[data-experience=dynamic] .lf-system-photo{height:350px;position:relative;margin:0}
html[data-experience=dynamic] .lf-system-photo img{height:100%;width:100%;object-fit:cover}
html[data-experience=dynamic] .lf-system-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--brand-primary),transparent 70%)}
html[data-experience=dynamic] .lf-system-photo figcaption{position:absolute;top:12px;left:22px;right:22px;color:#fff;background:#071720b0;padding:6px;font-size:9px}
html[data-experience=dynamic] .systems-heading{position:relative;margin-top:-48px;padding:0 22px;z-index:1}
html[data-experience=dynamic] .system-rows{display:block;padding:15px 22px 38px}
html[data-experience=dynamic] .system-rows article{padding:24px 0;border-top:1px solid #ffffff40}
html[data-experience=dynamic] .systems :is(h2,h3,p,.eyebrow){color:var(--brand-on-primary)}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo){position:relative;isolation:isolate;display:flex;align-items:flex-end;width:100%;max-width:none;margin:0;padding:260px 22px 44px;min-height:590px;background:var(--art-ink);color:#fff}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) figure{position:absolute;inset:0;z-index:-1;margin:0}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) img{width:100%;height:100%;object-fit:cover}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) figure:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#12251bed,#12251b80 60%,transparent)}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) figcaption{position:absolute;top:12px;left:22px;right:22px;color:#fff;background:#12251ba0;font-size:9px;padding:6px}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo)>div{width:100%;padding:0;background:transparent}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) :is(h2,p,a,.eyebrow){color:#fff}
html[data-experience=dynamic] .editorial.no-photo{display:block;padding:44px 22px;background:var(--brand-surface)}
html[data-experience=dynamic] .editorial.no-photo>div{padding:0;background:transparent}
/* Supporting routes get the same first-screen image hierarchy. */
html[data-experience=dynamic] [data-art-opening],html[data-experience=dynamic] .photo-opening{position:relative;isolation:isolate;display:block;width:100%;max-width:none;margin:0;padding:42px 22px 90px;min-height:500px;background:var(--art-ink);color:#fff}
html[data-experience=dynamic] [data-art-opening]>:not(figure),html[data-experience=dynamic] .photo-opening>div{position:relative;z-index:2;max-width:620px}
html[data-experience=dynamic] [data-art-opening] :is(h1,p,.eyebrow,.lede,.text-link),html[data-experience=dynamic] .photo-opening :is(h1,p,.eyebrow){color:#fff}
html[data-experience=dynamic] [data-art-opening] h1,html[data-experience=dynamic] .photo-opening h1{font-size:46px;margin:20px 0;line-height:1.03}
html[data-experience=dynamic] .photo-opening figure{position:absolute;inset:0;margin:0;z-index:0}
html[data-experience=dynamic] .photo-opening img{width:100%;height:100%;object-fit:cover}
html[data-experience=dynamic] .photo-opening figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071720ef,#07172080)}
html[data-experience=dynamic] .photo-opening figcaption{position:absolute;bottom:12px;left:22px;right:22px;color:#fff;z-index:2;font-size:9px}
html[data-experience=dynamic] :is(.service-gallery,.directory,.service-index,.coverage-steps,.treatment-grid){gap:20px}
html[data-experience=dynamic] :is(.directory article,.service-index article,.coverage-steps article,.treatment-grid article){padding:25px 0;border:0;border-top:1px solid var(--brand-border)}
html[data-experience=dynamic] .service-gallery img{object-fit:cover;height:250px}
html[data-experience=dynamic] .wide-photo{width:100%;max-width:none;margin:0}
html[data-experience=dynamic] .wide-photo img{height:360px;object-fit:cover;width:100%}
html[data-experience=dynamic] .process{display:block}
html[data-experience=dynamic] .detail-row{padding:24px 0;border-top:1px solid var(--brand-border)}
html[data-experience=dynamic] .service-area{display:block;padding:50px 22px;width:100%;max-width:none}
html[data-experience=dynamic] .place-name{font-size:90px;margin:20px 0 30px}
html[data-experience=dynamic] .coverage-steps{display:block}
/* Action canvas: one surrounding surface; only date/time choices need a control boundary. */
html[data-experience=dynamic] #scheduling{width:100%;max-width:none;margin:0;padding:44px 22px;background:var(--brand-surface);border:0}
html[data-experience=dynamic] .lf-scheduling{background:transparent;box-shadow:none;border:0;border-radius:0;margin:0;width:100%;padding:0;max-width:none}
html[data-experience=dynamic] .lf-scheduling>summary{padding:0 0 18px;border-bottom:1px solid var(--brand-border);font-size:13px}
html[data-experience=dynamic] .lf-scheduling-body{display:block;padding:26px 0 0}
html[data-experience=dynamic] .lf-scheduling-intro h2{font-family:var(--art-display);font-size:39px;line-height:1.06}
html[data-experience=dynamic] .lf-scheduling-intro>p{font-size:15px}
html[data-experience=dynamic] .lf-scheduling-photo{margin:24px -22px 0}
html[data-experience=dynamic] .lf-scheduling-photo img{height:230px;width:100%;object-fit:cover;border-radius:0}
html[data-experience=dynamic] .lf-scheduling-photo figcaption{font-size:9px;padding-inline:22px}
html[data-experience=dynamic] .lf-scheduling-panel{margin:25px 0 0;padding:22px 0;background:transparent;border:0;border-top:1px solid var(--brand-border);border-radius:0;box-shadow:none}
html[data-experience=dynamic] .lf-calendar{border:0;background:transparent;padding:0}
html[data-experience=dynamic] main[data-page=contact]{display:block;padding:0;background:var(--brand-surface)}
html[data-experience=dynamic] main[data-page=contact]>:is(.page-head,.contact-opening,.page-intro){min-height:345px;padding-bottom:62px}
html[data-experience=dynamic] main[data-page=contact]>:is(.contact-grid,.contact-layout){position:relative;z-index:2;display:flex;flex-direction:column;width:auto;max-width:none;margin:-35px 18px 0;padding:0 22px;background:var(--brand-surface);border:0;border-radius:0}
html[data-experience=dynamic] main[data-page=contact] :is(.contact-details,.contact-info,.contact-direct,.contact-primary,.contact-grid>div:first-child){background:transparent;color:var(--brand-text);padding:30px 0;border:0;box-shadow:none}
html[data-experience=dynamic] main[data-page=contact] :is(.contact-details,.contact-info,.contact-direct,.contact-primary) :is(p,h2,h3,a:not(.button)){color:var(--brand-text)}
html[data-experience=dynamic] main[data-page=contact] :is(.contact-phone,.big-phone,.phone,.phone-display){font-size:30px;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}
html[data-experience=dynamic] main[data-page=contact] :is(.inquiry,.form-panel,.contact-prep){padding:26px 0;background:transparent;border:0;border-top:1px solid var(--brand-border);border-radius:0;box-shadow:none}
html[data-experience=dynamic] main[data-page=contact] :is(.inquiry,.form-panel,.contact-prep) h2{font-size:29px}
html[data-experience=dynamic] main[data-page=contact] #scheduling{padding:28px 40px 48px}
html[data-experience=dynamic] main[data-page=contact] .faq-section{padding:35px 40px;width:100%;max-width:none}
html[data-experience=dynamic] #feedback{padding:35px 22px;margin:0;width:100%;max-width:none;border-top:1px solid var(--brand-border);background:var(--brand-surface)}
html[data-experience=dynamic] .lf-feedback{padding:0;margin:0;width:100%;max-width:none;border:0;border-radius:0;background:transparent;box-shadow:none}
html[data-experience=dynamic] .lf-feedback h2{font-size:29px}
html[data-experience=dynamic] :is(.closing,.cta){border:0;border-radius:0;width:100%;max-width:none;margin:0;padding:48px 22px;background:var(--brand-primary);color:var(--brand-on-primary)}
html[data-experience=dynamic] :is(.closing,.cta) :is(h2,p,.eyebrow){color:var(--brand-on-primary)}
html[data-experience=dynamic] .closing h2{font-size:42px}
/* Expand the mobile story into editorial desktop layouts rather than reversing the design priority. */
@media(min-width:701px){
html[data-experience=dynamic]{--composition-gutter:clamp(40px,6vw,100px);--composition-space:78px}
html[data-experience=dynamic] main h2{font-size:clamp(40px,4vw,62px)}
html[data-experience=dynamic] :is(.home-opening,.hero-copy){min-height:660px;padding:95px var(--composition-gutter) 130px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] h1{font-size:clamp(62px,6.2vw,94px);max-width:720px}
html[data-experience=dynamic][data-industry=plumbing] [data-recipe=cinematic-hero] h1{font-size:clamp(62px,6.2vw,94px)}
html[data-experience=dynamic] [data-recipe=cinematic-hero] :is(.hero-aside,.lede,.hero-copy>p){max-width:460px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] img{max-width:1536px;left:auto;object-position:center}
html[data-experience=dynamic] [data-recipe=cinematic-hero] figcaption{left:auto;right:30px;bottom:75px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .lf-secondary-action{margin:0 0 0 12px}
html[data-experience=dynamic] :is(.lf-service-links,.service-list){overflow:visible;padding:0 var(--composition-gutter) 20px;gap:14px;display:grid;grid-template-columns:repeat(3,1fr)}
html[data-experience=dynamic] .service-list{grid-template-columns:repeat(4,1fr)}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) a{height:270px;min-height:270px;padding:25px}
html[data-experience=dynamic] :is(.lf-service-selector,.service-overview)>:is(h2,p){margin-inline:var(--composition-gutter)}
html[data-experience=dynamic] :is(.lf-service-selector,.service-overview){margin-top:-55px}
html[data-experience=dynamic] .lf-insurance{padding:70px var(--composition-gutter)}
html[data-experience=dynamic] .lf-insurance>:not(figure){max-width:560px}
html[data-experience=dynamic] .lf-insurance>.lf-art-photo{left:40%}
html[data-experience=dynamic][data-industry=restoration] .care{padding:75px var(--composition-gutter);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
html[data-experience=dynamic] :is(.feature,.guide-feature){display:grid;grid-template-columns:1.1fr 1fr;padding:0;align-items:center}
html[data-experience=dynamic] :is(.feature,.guide-feature) img{height:540px}
html[data-experience=dynamic] :is(.feature,.guide-feature)>div{margin:0 0 0 -55px;padding:44px;max-width:600px}
html[data-experience=dynamic] .intro{padding:75px var(--composition-gutter)}
html[data-experience=dynamic] .intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:end}
html[data-experience=dynamic] .systems{display:grid;grid-template-columns:1fr 1fr;gap:0 6vw;padding-right:var(--composition-gutter)}
html[data-experience=dynamic] .lf-system-photo{grid-row:1/span 2;height:100%;min-height:610px}
html[data-experience=dynamic] .systems-heading{margin:0;padding:65px 0 0}
html[data-experience=dynamic] .system-rows{padding:15px 0 50px}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo){min-height:620px;padding:95px var(--composition-gutter);align-items:center}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo)>div{max-width:490px}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) figure:after{background:linear-gradient(90deg,#12251bed,#12251b80 50%,transparent)}
html[data-experience=dynamic] [data-art-opening],html[data-experience=dynamic] .photo-opening{padding:75px var(--composition-gutter) 85px;min-height:510px}
html[data-experience=dynamic] [data-art-opening] h1,html[data-experience=dynamic] .photo-opening h1{font-size:clamp(54px,5.2vw,78px)}
html[data-experience=dynamic] .service-area{padding:75px var(--composition-gutter);display:grid;grid-template-columns:1fr 1fr;gap:7vw}
html[data-experience=dynamic] .coverage-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-column:1/-1}
html[data-experience=dynamic] #scheduling{padding:65px var(--composition-gutter)}
html[data-experience=dynamic] .lf-scheduling-body{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
html[data-experience=dynamic] .lf-scheduling-panel{padding:0 0 0 35px;border-top:0;border-left:1px solid var(--brand-border);margin:0}
html[data-experience=dynamic] .lf-scheduling-photo{margin:28px 0 0}
html[data-experience=dynamic] main[data-page=contact]{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw}
html[data-experience=dynamic] main[data-page=contact]>:is(.page-head,.contact-opening,.page-intro){grid-column:1/-1;min-height:375px}
html[data-experience=dynamic] main[data-page=contact]>:is(.contact-grid,.contact-layout){margin:-35px 0 0 var(--composition-gutter);padding:35px;grid-column:1;grid-row:2}
html[data-experience=dynamic] main[data-page=contact] #scheduling{grid-column:2;grid-row:2;padding:35px var(--composition-gutter) 55px 0}
html[data-experience=dynamic] main[data-page=contact] .lf-scheduling-body{display:block}
html[data-experience=dynamic] main[data-page=contact] .lf-scheduling-panel{border:0;padding:24px 0}
html[data-experience=dynamic] main[data-page=contact] :is(#feedback,.faq-section){grid-column:1/-1;padding:45px var(--composition-gutter)}
html[data-experience=dynamic] :is(.closing,.cta){padding:70px var(--composition-gutter)}
}
@media(prefers-reduced-motion:reduce){html[data-experience=dynamic] *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) img,html[data-experience=dynamic] .lf-system-photo{display:block}
html[data-experience=dynamic] [data-recipe=cinematic-hero] :is(img,figure,.hero-image,.hero-focus){border-radius:0}
html[data-experience=dynamic] [data-recipe=cinematic-hero] figcaption{color:#fff!important;opacity:1;min-height:0;padding:5px 8px;line-height:1.4}
html[data-experience=dynamic][data-industry=plumbing] .hero>figure:after{content:'';display:block;position:absolute;inset:0;background:linear-gradient(90deg,#061521df,#06152185 60%,#06152130);z-index:1}
html[data-experience=dynamic] .navy>.lf-art-photo{z-index:0}
html[data-experience=dynamic][data-industry=restoration] .navy>.care{background:transparent}
html[data-experience=dynamic][data-industry=window-home] .editorial:not(.no-photo) :is(em,span){color:#fff}
html[data-experience=dynamic] .lf-action-links[hidden]{display:flex;position:relative;z-index:2;flex-wrap:wrap;gap:10px;margin-top:24px}
html[data-experience=dynamic] .lf-action-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border:1px solid #fff9;border-radius:30px;color:#fff;text-decoration:none;font:600 14px Arial,sans-serif}
html[data-experience=dynamic] .lf-action-links a:first-child{background:var(--brand-accent);color:var(--brand-on-accent);border-color:var(--brand-accent)}
html[data-experience=dynamic] main[data-page=contact]>[data-art-opening]{min-height:390px;padding-bottom:70px}
html[data-experience=dynamic] .lf-short-label[hidden]{display:inline}
html[data-experience=dynamic] .lf-long-label{display:none}
@media(max-width:700px){
html[data-experience=dynamic] :is(.home-opening,.hero-copy){min-height:550px;padding-bottom:100px}
html[data-experience=dynamic] [data-recipe=cinematic-hero]{min-height:550px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .lf-secondary-action{width:auto;min-width:145px;margin:0 0 0 8px;display:inline-flex;font-size:13px;gap:8px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .button{min-width:124px;font-size:14px;padding-inline:18px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .button i{display:none}
html[data-experience=dynamic] :is(.lf-service-links,.service-list) a{flex-basis:44%;min-width:152px}
html[data-experience=dynamic] [data-recipe=cinematic-hero] figcaption{bottom:66px}
}
html[data-experience=dynamic] .hero-photo figure{z-index:auto}
html[data-experience=dynamic] [data-art-opening] .lf-art-photo figcaption{bottom:43px;font-size:8px}
html[data-experience=dynamic] .lf-contact-detail{border:0;border-radius:0;background:transparent;padding:0;margin:0}
html[data-experience=dynamic] .lf-contact-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;min-height:64px;cursor:pointer;list-style:none;border:0;background:transparent}
html[data-experience=dynamic] .lf-contact-detail>summary::-webkit-details-marker{display:none}
html[data-experience=dynamic] .lf-contact-detail>summary:after{content:'+';font:24px Arial,sans-serif;position:static}
html[data-experience=dynamic] .lf-contact-detail[open]>summary:after{content:'−'}
html[data-experience=dynamic] .lf-contact-detail>summary h2{margin:0;font-size:27px}
html[data-experience=dynamic] .lf-scheduling>summary{font:400 27px/1.2 var(--art-display);padding:20px 0;min-height:70px}
html[data-experience=dynamic] main[data-page=home] #scheduling{padding-block:25px}
html[data-experience=dynamic] main[data-page=contact] #feedback .lf-feedback{border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}
html[data-experience=dynamic] main[data-page=contact] .page-intro>.text-link{display:none}
/* Preserve source detail on large monitors; portrait interiors keep a deliberate side crop. */
@media(min-width:701px){
html[data-experience=dynamic] :is(.lf-art-photo,.photo-opening figure) img{max-width:1536px;display:block;margin-left:auto}
html[data-experience=dynamic][data-industry=window-home] :is(.lf-art-photo,.editorial:not(.no-photo)>figure){left:45%}
html[data-experience=dynamic][data-industry=window-home] .wide-photo img{max-width:900px;height:560px;display:block;margin-inline:auto}
html[data-experience=dynamic][data-industry=window-home] .wide-photo figcaption{max-width:900px;margin-inline:auto}
}
html[data-experience=dynamic] .about-opening>.lf-art-photo{height:100%;bottom:0}
html[data-experience=dynamic] .about-opening>.lf-art-photo:after{background:linear-gradient(90deg,#071720dc,#07172070),linear-gradient(0deg,var(--art-ink),transparent 40%)}
@media(min-width:701px){html[data-experience=dynamic][data-industry=window-home] :is(.lf-art-photo,.editorial:not(.no-photo)>figure){left:55%}}
@media(min-width:701px) and (max-width:1000px){
html[data-experience=dynamic] .systems{display:block;padding-right:0}
html[data-experience=dynamic] .lf-system-photo{height:350px;min-height:0}
html[data-experience=dynamic] .systems-heading{padding:0 40px;margin-top:-30px}
html[data-experience=dynamic] .system-rows{padding:24px 40px}
}
html[data-experience="dynamic"] .education-note{background:transparent;border:0;border-left:2px solid rgba(255,255,255,.6);padding:0 0 0 16px;margin-top:26px;color:#fff;max-width:540px}
html[data-experience="dynamic"] .education-note p{color:#fff;font-size:14px;line-height:1.55;margin:8px 0 0}
@media(max-width:700px){html[data-experience=dynamic] .area-place .place-name{font-size:64px;line-height:1.05;letter-spacing:-.05em;margin:20px 0}html[data-experience=dynamic] .area-place .place-name span{font-size:16px;line-height:1.4;margin-top:18px}}
html[data-experience=dynamic] .hero-photo figure{isolation:auto}
html[data-experience=dynamic] [data-recipe=cinematic-hero] .hero-photo figure{z-index:auto}
html[data-experience=dynamic] .service-overview>.section-head{margin:12px 22px 0;width:auto}
@media(min-width:701px){html[data-experience=dynamic] .service-overview>.section-head{margin-inline:6vw}}
/* Home is a photographic gateway. Substantive detail remains on service/about pages. */
html[data-experience=dynamic] main[data-page=home] :is(.home-faq,.faq,.process,.coverage-steps){display:none}
html[data-experience=dynamic][data-industry=restoration] main[data-page=home] :is(.feature,.local>div:nth-child(2),.care-links){display:none}
html[data-experience=dynamic] .lf-gateway-link[hidden]{display:inline-flex;align-items:center;min-height:48px;margin-top:24px;color:inherit}
html[data-experience=dynamic][data-industry=restoration] main[data-page=home] .care{min-height:390px;display:flex;flex-direction:column;justify-content:center;padding-block:64px}
html[data-experience=dynamic][data-industry=restoration] main[data-page=home] .local{display:block;padding-block:64px}
html[data-experience=dynamic][data-industry=restoration] main[data-page=home] .local>div:first-child{max-width:650px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .intro{display:none}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .systems{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:620px;padding:64px 6vw;margin-top:64px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .lf-system-photo{position:absolute;inset:0;margin:0;height:100%;min-height:0;z-index:-1}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .lf-system-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#041722fa,#04172290 60%,#04172225)}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .lf-system-photo img{height:100%;width:100%;max-width:1536px;display:block;margin-inline:auto;object-fit:cover;object-position:65% center}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .lf-system-photo figcaption{position:absolute;top:auto;bottom:10px;left:22px;z-index:2;font-size:8px;color:#fff}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .systems-heading{margin:0;padding:0;max-width:520px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .systems-heading :is(.eyebrow,p:last-child){display:none}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .system-rows{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 0 0;max-width:660px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .system-rows article{padding:18px 0;background:transparent}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .system-rows article p{display:none}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .system-rows h3{font-size:25px;line-height:1.2;margin:10px 0}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .system-rows>a{grid-column:1/-1;margin:0}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .service-area{display:block;padding-block:64px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .service-area>div:not(.area-place){display:none}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .area-place{padding:0}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .area-place .place-name{font-size:42px;line-height:1.12;margin:20px 0;letter-spacing:-.04em}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .area-place .place-name br{display:none}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .area-place .place-name span{display:inline;font-size:16px;margin-left:12px;letter-spacing:0}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .editorial>div>p:not(.eyebrow){max-width:460px}
html[data-experience=dynamic] main[data-page=home] #scheduling{padding-block:38px}
html[data-experience=dynamic] main[data-page=home] :is(.lf-preview-label,figcaption){font-size:9px}
.lf-message-link{font-size:14px;margin-block:18px}
@media(max-width:700px){
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .service-list{gap:14px;padding-inline:20px;scroll-padding-inline:20px;scroll-snap-type:x mandatory}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .service-list>a{flex-basis:86%;min-width:0;height:310px;padding:26px;border-radius:6px}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .service-list h3{font-size:30px}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .service-list p{font-size:14px;max-width:240px}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .service-list .arrow{display:block;align-self:flex-end;margin-top:12px;font-size:23px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .systems{padding:44px 22px;min-height:570px;margin-top:44px}
html[data-experience=dynamic][data-industry=plumbing] main[data-page=home] .systems-heading h2{font-size:42px}
html[data-experience=dynamic][data-industry=window-home] main[data-page=home] .editorial>div>p:not(.eyebrow):nth-of-type(3){display:none}
}

html[data-experience=dynamic] .about-opening dt{color:#d3dee7}
