:root{--red:#c51e32;--ink:#1c2023}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f5f6;color:#1c2023;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{line-height:1.65}.container{width:min(1160px,calc(100% - 40px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';height:4px;width:23px;background:var(--red);transform:skew(-18deg)}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:.98;margin:0}h1{font-size:clamp(52px,7.5vw,112px)}h2{font-size:clamp(36px,5vw,68px)}h3{font-size:clamp(24px,3vw,38px)}h1 em,h2 em{color:var(--red);font-style:inherit}.site-top{background:#171a1d;color:#f4f4f4;font-size:10px;font-weight:800;letter-spacing:.12em;padding:10px 0}.site-top .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.site-head{background:#fff;border-bottom:4px solid var(--red);position:relative;z-index:10}.site-head .container{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px}.logo{width:230px;max-width:48vw}.nav{display:flex;align-items:center;gap:21px;font-size:12px;font-weight:900;text-transform:uppercase}.nav a{padding:9px 0}.nav a[aria-current=page]{color:var(--red);border-bottom:3px solid var(--red)}.nav a:hover{color:var(--red)}.nav .call{background:var(--red);color:white;padding:13px 17px;white-space:nowrap;transform:skew(-9deg)}.nav .call:hover{color:#fff}.menu-toggle{display:none;background:#1b2023;color:#fff;border:0;padding:12px 16px;font-size:13px;font-weight:900;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--red);color:#fff;padding:17px 23px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;transform:skew(-7deg);border:0;min-height:50px}.btn span{transform:skew(7deg)}.btn:hover{background:#a40f25}.btn.light{background:white;color:#16191b}.btn.dark{background:#1b2023;color:#fff}.btn.outline{background:transparent;border:2px solid currentColor;color:inherit}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:27px}.hero{position:relative;overflow:hidden}.hero-media{height:485px;position:relative}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111a 0%,#1111 90%)}.hero .container{position:relative;z-index:2}.hero-copy{position:relative;background:#fff;padding:42px 48px;max-width:800px;margin:-95px 0 58px;border-left:9px solid var(--red);box-shadow:13px 13px 0 #1b2023}.hero-copy p{max-width:600px;color:#4b5257}.hero-copy h1{margin:18px 0}.line-ornament{height:15px;max-width:220px;margin:18px 0;background:linear-gradient(120deg,transparent 0 5%,var(--red) 5% 70%,transparent 70% 73%,#171a1d 73% 100%);clip-path:polygon(0 55%,12% 55%,17% 0,100% 0,100% 42%,20% 42%,15% 100%,0 100%)}.section{padding:85px 0;position:relative;isolation:isolate}.section .container{position:relative;z-index:1}.section.light{background:#fff}.section.pale{background:#e9edef}.section.dark{background:#1b2023;color:white}.section.red{background:#c51e32;color:white}.section.dark .eyebrow:before,.section.red .eyebrow:before{background:white}.section.red .btn{background:#fff;color:#191c1e}.section.red .btn.dark{background:#191c1e;color:white}.section.dark p,.section.red p{color:#f0f0f0}.section.pale:before,.section.light:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(135deg,transparent 0 145px,rgba(197,30,50,.07) 146px,transparent 149px,transparent 240px)}.preview{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:65px}.preview.flip .preview-image{order:2}.preview-copy h2{margin:18px 0}.preview-copy p{max-width:530px}.preview-image{position:relative;min-width:0}.preview-image img{width:100%;height:370px;object-fit:cover;border:9px solid white;box-shadow:12px 12px 0 #1c2023}.section.dark .preview-image img{border-color:#34383b;box-shadow:12px 12px 0 var(--red)}.photo-label{position:absolute;bottom:20px;left:22px;background:#1c2023;color:white;padding:13px 17px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.photo-label:before{content:'FP / ';color:#f4525c}.link{display:inline-block;margin-top:16px;font-weight:900;font-size:13px;letter-spacing:.055em;text-transform:uppercase;color:var(--red);padding-bottom:7px;border-bottom:3px solid currentColor}.section.dark .link,.section.red .link{color:white}.work-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin:30px 0}.work-strip img{width:100%;height:220px;object-fit:cover;border:6px solid #fff}.work-strip img:nth-child(2){transform:translateY(15px)}.contact-preview{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center}.contact-preview h2{margin:17px 0}.contact-preview p{max-width:540px}.contact-badge{border:2px solid currentColor;padding:35px;transform:rotate(2deg);text-align:center}.contact-badge strong{font-size:clamp(25px,3.4vw,42px);display:block;font-style:italic;letter-spacing:-.04em}.contact-badge small{display:block;margin-top:14px;font-size:12px;font-weight:900;letter-spacing:.12em}.footer{background:#171a1d;color:white;padding:36px 0}.footer .container{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer img{width:175px}.footer p{font-size:12px;margin:0;color:#d2d6d8}.footer nav{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;font-weight:800}.page-intro{background:#20262a;color:white;padding:75px 0 68px;position:relative;overflow:hidden}.page-intro:after{content:'FP';position:absolute;right:2%;top:-80px;font-style:italic;font-weight:900;font-size:350px;letter-spacing:-.12em;color:#fff;opacity:.035;pointer-events:none}.page-intro .container{position:relative;z-index:1}.page-intro h1{margin:17px 0}.page-intro p{max-width:670px;color:#e4e8ea}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail{background:#fff;padding:30px;border-top:5px solid var(--red);border-left:1px solid #dce1e4;min-height:190px}.detail b{color:var(--red);font-size:11px;letter-spacing:.12em}.detail h3{margin:15px 0;font-size:28px}.detail p{margin-bottom:0;color:#4e565b}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;background:#fff;padding:8px;box-shadow:6px 6px 0 #cfd3d6}.gallery img{height:240px;width:100%;object-fit:cover}.gallery figcaption{padding:12px 8px 7px;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.fact{border-left:5px solid var(--red);padding:22px;background:#fff}.fact strong{display:block;font-size:25px;font-style:italic}.fact span{font-size:12px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-info .detail{min-height:230px}.bottom-nav{background:#e9edef;padding:30px 0}.bottom-nav .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.bottom-nav a{font-weight:900;text-transform:uppercase;font-size:12px}.compare{position:fixed;right:0;bottom:0;background:#20262a;color:#fff;padding:10px 14px;font-size:11px;z-index:20;box-shadow:0 0 12px #0004}.compare:hover{background:var(--red)}
/* signature-inspired decoration: no changes to original logo */
.section .container:before{content:'';position:absolute;right:0;top:-24px;width:76px;height:20px;border-top:4px solid var(--red);border-right:4px solid var(--red);opacity:.45;pointer-events:none}.section.dark .container:before,.section.red .container:before{border-color:white}.section:nth-of-type(3n) .container:before{left:0;right:auto;border-left:4px solid var(--red);border-right:0}
@media(max-width:850px){.nav{gap:12px;font-size:11px}.logo{width:180px}.preview{gap:28px}.hero-copy{max-width:92%}}@media(max-width:650px){.container{width:min(100% - 32px,1160px)}.site-head .container{min-height:72px}.logo{width:190px;max-width:62vw}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:15px 22px 25px;box-shadow:0 12px 22px #0002;gap:0}.nav.open{display:flex}.nav a{padding:13px 8px}.nav .call{margin-top:10px;text-align:center}.hero-media{height:290px}.hero-copy{margin:-42px 0 45px;max-width:100%;padding:28px 23px;box-shadow:7px 7px 0 #1b2023}.section{padding:57px 0}.preview{grid-template-columns:1fr;gap:25px}.preview.flip .preview-image{order:0}.preview-image img{height:270px;border-width:6px;box-shadow:7px 7px 0 #1c2023}.contact-preview{grid-template-columns:1fr;gap:24px}.contact-badge{transform:none}.work-strip{gap:7px}.work-strip img{height:120px;border-width:3px}.detail-grid,.contact-info{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery img{height:150px}.facts{grid-template-columns:1fr}.page-intro{padding:55px 0}.page-intro:after{font-size:200px;top:0}.footer .container{align-items:flex-start;flex-direction:column}.compare{font-size:10px;padding:8px}.buttons .btn{width:100%}h1{font-size:clamp(46px,12vw,75px)}h2{font-size:clamp(36px,10vw,60px)}}@media(max-width:380px){.work-strip{grid-template-columns:1fr 1fr}.work-strip img:last-child{display:none}}
.hero{background:#e9edef}.hero-media{height:425px;clip-path:polygon(0 0,100% 0,100% 91%,0 100%)}.hero-copy{margin-left:0;max-width:740px;border-left:0;border-bottom:12px solid var(--red);box-shadow:18px 18px 0 #d3d8db}.section.light{background:#fff}.section.pale{background:#e9edef}.preview-image img{border:0;box-shadow:15px 15px 0 #c51e32}.preview.flip .preview-image img{box-shadow:-15px 15px 0 #1b2023}.section.dark{background:#202b30}.section.red{background:#c51e32}.work-strip img{clip-path:polygon(0 0,100% 0,95% 100%,0 100%);border:0}

/* Batch 11: Surgical refinement of the ORIGINAL Batch 8 favorites.
   No blueprint grids, pipe illustrations, copper palette, or racing motifs. */
:root{--red:#c51e32;--ink:#1c2023}
.eyebrow:before{height:3px;width:20px;transform:none}
.nav .call{transform:none;border-radius:2px}
.btn{transform:none;border-radius:2px}
.btn span{transform:none}
.hero-copy{transform:none!important}
.preview-image img{transform:none!important}
.photo-label{transform:none!important;clip-path:none!important}
.section.light:before,.section.pale:before{background-image:none!important}
.section.dark:before,.section.red:before{background-image:none!important}
.section.dark:after,.section.red:after{background-image:none!important}
.section.light .container:before,.section.pale .container:before,.section.dark .container:before,.section.red .container:before{display:none!important}
.contact-badge{transform:none!important}
.line-ornament{width:45px;height:3px;background:var(--red);transform:none}
.preview-copy h2{border:0!important;padding:0!important}
.preview-copy h2:after{display:none!important}
.section.red h2,.section.dark h2,.section.red h2 em,.section.dark h2 em{color:white}
.section.red .eyebrow,.section.dark .eyebrow{color:white}
.section.red .eyebrow:before,.section.dark .eyebrow:before{background:white}
.section.red .link,.section.dark .link{color:white}
.section.red .line-ornament,.section.dark .line-ornament{background:white}
.section.red .btn{background:#fff;color:#1c2023}
.preview-image{overflow:hidden}
@media(max-width:720px){
 .hero-copy{margin-left:0!important;margin-right:0!important;max-width:100%!important}
 .hero-media{height:290px!important}
 .preview{grid-template-columns:1fr!important;transform:none!important}
 .preview-image{order:0!important}
 .section{padding-top:54px!important;padding-bottom:54px!important}
}


.site-head{border-bottom:4px solid var(--red)}
.hero-copy{border-top:5px solid var(--red);box-shadow:0 14px 32px #10182027}
.section.light{background:#fff}.section.pale{background:#f1f3f5}
.preview-image{box-shadow:0 10px 25px #111a201b}
.section.dark{background:#1b2024}.section.red{background:#c51e32}


/* Supplied Farrell Plumbing heading artwork: original pixels, no redraw */
.brand-heading{display:block;margin:0;width:min(100%,640px);line-height:0}
.brand-heading img{display:block;width:100%;height:auto;object-fit:contain}
.preview-copy .brand-heading{width:min(100%,520px);margin:16px 0 18px}
.preview-copy .brand-heading img{filter:none}
.preview-copy .eyebrow{margin-bottom:8px}
.preview-copy .line-ornament{display:none}
.preview-copy .brand-heading{background:#bc0d2d;padding:0;border-radius:2px}
.page-intro .brand-heading{width:min(100%,710px);margin:16px 0 22px}
.page-intro:has(.brand-heading){background:#bc0d2d}
.page-intro:has(.brand-heading):after{display:none}
.page-intro:has(.brand-heading) p{color:white}
.section.red .brand-heading{width:min(100%,580px);margin:12px 0 20px}
.section.red .brand-heading img{width:100%}
@media(max-width:650px){
 .preview-copy .brand-heading{width:min(100%,480px)}
 .page-intro .brand-heading{width:100%}
 .section.red .brand-heading{width:100%}
}


/* Batch 12: maintain full-width supplied art, reduce red vertical padding without modifying image files */
.preview-copy .brand-heading,.section.red .brand-heading,.page-intro .brand-heading{
 position:relative;display:block;box-sizing:border-box;aspect-ratio:4.55 / 1;
 height:auto;max-width:100%;overflow:visible;background:#bc0d2d;
 margin:17px 0 24px;isolation:isolate;border-radius:0;
 box-shadow:0 8px 0 rgba(30,37,42,.11),0 16px 23px rgba(22,28,34,.10);
}
.preview-copy .brand-heading:before,.section.red .brand-heading:before,.page-intro .brand-heading:before{
 content:"";position:absolute;z-index:-1;left:0;top:0;bottom:0;width:5px;background:#22282c;
}
.preview-copy .brand-heading:after,.section.red .brand-heading:after,.page-intro .brand-heading:after{
 content:"";position:absolute;right:-9px;bottom:-9px;width:34%;height:3px;background:#c51e32;
}
.preview-copy .brand-heading img,.section.red .brand-heading img,.page-intro .brand-heading img{
 position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:auto;
 object-fit:contain;clip-path:inset(14% 0 14% 0);
}
/* Cropping the image itself using a wrapper avoids oversized red top/bottom margins. */
.preview-copy .brand-heading,.section.red .brand-heading,.page-intro .brand-heading{overflow:clip}
.preview-copy .brand-heading:after,.section.red .brand-heading:after,.page-intro .brand-heading:after{display:none}
.preview-copy .brand-heading{width:min(100%,520px)}
.section.red .brand-heading{width:min(100%,580px);box-shadow:0 8px 0 rgba(0,0,0,.18),0 16px 22px rgba(0,0,0,.11)}
.section.red .brand-heading:before{background:#fff}
.page-intro .brand-heading{width:min(100%,710px)}
@media(max-width:650px){
 .preview-copy .brand-heading,.section.red .brand-heading,.page-intro .brand-heading{width:100%;margin:12px 0 24px;aspect-ratio:4.55 / 1}
}


/* Batch 13: mobile reading order, restrained dimensional header treatment */
.preview-copy .brand-heading,.section.red .brand-heading{box-shadow:7px 8px 0 #20252a, 12px 16px 20px rgba(12,17,20,.20);overflow:visible}
.preview-copy .brand-heading:before,.section.red .brand-heading:before{z-index:2;width:4px;background:#20252a}
.preview-copy .brand-heading:after,.section.red .brand-heading:after{display:block;z-index:-1;right:-8px;bottom:-8px;width:24%;height:4px;background:#11171b}
.section.red .brand-heading{background:#191d21}
.section.red .brand-heading img{filter:grayscale(1) contrast(4);mix-blend-mode:screen}
@media(max-width:720px){
 .preview{display:flex!important;flex-direction:column!important;gap:0!important}
 .preview-copy{display:contents!important}
 .preview-copy .eyebrow{order:0!important;margin:0 0 12px!important}
 .preview-copy .brand-heading{order:1!important;width:100%!important;margin:0 0 28px!important;aspect-ratio:4.8/1}
 .preview-image{order:2!important;width:100%!important;margin:0 0 26px!important}
 .preview-copy p{order:3!important}
 .preview-copy .link{order:4!important}
 .preview-copy .line-ornament{display:none!important}
 .compare{position:static!important;display:block!important;text-align:center!important;margin:0!important;padding:14px!important}
}

/* Batch 14: quiet industrial atmosphere and high-contrast Contact detailing. */
.section.light,.section.pale{
 background-image:repeating-linear-gradient(135deg,transparent 0,transparent 96px,rgba(35,48,55,.024) 97px,transparent 98px),radial-gradient(ellipse at 92% 12%,rgba(60,75,83,.055),transparent 55%);
}
.section.dark{
 background-image:repeating-linear-gradient(135deg,transparent 0,transparent 108px,rgba(255,255,255,.024) 109px,transparent 110px),radial-gradient(ellipse at 95% 12%,rgba(255,255,255,.035),transparent 65%);
}
.section.red{
 background-image:repeating-linear-gradient(135deg,transparent 0,transparent 110px,rgba(75,0,12,.075) 111px,transparent 112px),radial-gradient(ellipse at 92% 8%,rgba(90,0,15,.10),transparent 65%);
}
.section.red .brand-heading{
 box-shadow:5px 6px 0 rgba(255,255,255,.95),11px 12px 0 rgba(26,30,34,.55),14px 19px 23px rgba(25,0,7,.24);
}
.section.red .brand-heading:before{background:#fff;width:4px;z-index:2}
.section.red .brand-heading:after{display:block;z-index:-1;right:-9px;bottom:-9px;width:30%;height:4px;background:#fff}
@media(max-width:720px){.section.red .brand-heading{margin-bottom:32px}}

/* Batch 15: visible, restrained architectural shapes; no repeating stripes. */
.section{position:relative;isolation:isolate}
.section.light,.section.pale{
 background-image:linear-gradient(151deg,transparent 0 58%,rgba(37,49,57,.065) 58.1% 70%,transparent 70.1%),linear-gradient(22deg,transparent 0 76%,rgba(37,49,57,.045) 76.1% 88%,transparent 88.1%);
}
.section.dark{
 background-image:linear-gradient(151deg,transparent 0 54%,rgba(255,255,255,.065) 54.1% 72%,transparent 72.1%),linear-gradient(25deg,transparent 0 73%,rgba(255,255,255,.035) 73.1% 88%,transparent 88.1%);
}
.section.red{
 background-image:linear-gradient(151deg,transparent 0 52%,rgba(90,0,18,.20) 52.1% 70%,transparent 70.1%),linear-gradient(25deg,transparent 0 75%,rgba(100,0,22,.15) 75.1% 90%,transparent 90.1%);
}
/* A second angular plane anchored to the right edge, away from primary content. */
.section.light::before,.section.pale::before,.section.dark::before,.section.red::before{
 content:"";position:absolute;z-index:-1;right:0;top:7%;width:26%;height:56%;pointer-events:none;
 clip-path:polygon(45% 0,100% 0,100% 100%,0 100%);
}
.section.light::before,.section.pale::before{background:rgba(35,47,55,.042)}
.section.dark::before{background:rgba(255,255,255,.048)}
.section.red::before{background:rgba(83,0,17,.13)}
/* Contact: a charcoal sign with small white corner ticks, not a white frame. */
.section.red .brand-heading{box-shadow:7px 8px 0 #171b1f,12px 15px 22px rgba(20,0,5,.28)}
.section.red .brand-heading:before{background:#fff;width:4px;height:24px;top:0;bottom:auto;left:0;z-index:3}
.section.red .brand-heading:after{display:block;z-index:3;right:0;bottom:0;width:29px;height:4px;background:#fff}
@media(max-width:720px){
 .section.light,.section.pale{background-image:linear-gradient(150deg,transparent 0 53%,rgba(37,49,57,.075) 53.1% 72%,transparent 72.1%),linear-gradient(25deg,transparent 0 82%,rgba(37,49,57,.05) 82.1%)}
 .section.dark{background-image:linear-gradient(150deg,transparent 0 50%,rgba(255,255,255,.07) 50.1% 70%,transparent 70.1%),linear-gradient(25deg,transparent 0 80%,rgba(255,255,255,.045) 80.1%)}
 .section.red{background-image:linear-gradient(150deg,transparent 0 48%,rgba(90,0,18,.23) 48.1% 70%,transparent 70.1%),linear-gradient(25deg,transparent 0 80%,rgba(90,0,18,.16) 80.1%)}
 .section.light::before,.section.pale::before,.section.dark::before,.section.red::before{width:30%;height:38%;top:35%}
}

/* Batch 16: customer reviews */
.reviews-preview{background:#e9ecee;color:#202428;position:relative;overflow:hidden}.reviews-preview:before,.reviews-page:before{content:"";position:absolute;right:-10%;top:8%;width:55%;height:85%;transform:skewX(-24deg);background:rgba(35,40,44,.045);pointer-events:none}.reviews-preview .container,.reviews-page .container{position:relative;z-index:1}.reviews-preview .brand-heading{max-width:620px;margin:18px 0 28px}.reviews-preview .brand-heading img,.reviews-page .brand-heading img{width:100%;height:auto;display:block;box-shadow:10px 12px 0 #24282b}.reviews-preview h3{font-size:clamp(26px,4vw,48px);margin:28px 0 12px;font-weight:900;font-style:italic}.reviews-preview p{max-width:650px}.reviews-page{background:#edf0f2;position:relative;overflow:hidden;min-height:70vh}.reviews-page .brand-heading{max-width:850px;margin:30px 0 48px}.reviews-page h2{font-size:clamp(30px,5vw,58px);font-style:italic}.reviews-page p{max-width:700px}.reviews-coming{margin:38px 0;padding:32px;background:white;border-left:7px solid #c51635;display:flex;flex-direction:column;gap:10px;box-shadow:8px 9px 0 #d2d7da}.reviews-coming strong{font-size:22px}.reviews-coming span{font-size:16px}@media(max-width:700px){.reviews-preview .brand-heading,.reviews-page .brand-heading{max-width:100%}.reviews-preview h3{font-size:30px}.reviews-coming{padding:22px}}

/* Curated photography update */
.curated-gallery img{width:100%;height:300px;object-fit:cover;object-position:center;display:block}.curated-gallery figure{overflow:hidden}.curated-gallery figcaption{font-weight:800;letter-spacing:.04em}.curated-gallery figcaption span{font-size:.72em;opacity:.65}.email-link{color:#c8102e;font-weight:800;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.curated-gallery img{height:260px}}

/* October refinement: clean mobile contact lettering and new work header */
.contact-type-title{display:block!important;width:fit-content!important;max-width:100%!important;margin:14px 0 28px!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;font-style:italic!important;font-size:clamp(3.2rem,11vw,7.4rem)!important;letter-spacing:-.065em!important;line-height:1.05!important;text-transform:none!important;text-shadow:none!important;transform:none!important;}
.contact-type-title::before,.contact-type-title::after{display:none!important;content:none!important;}
.work-image-title{margin:16px 0!important;line-height:0!important;max-width:100%!important;}
.work-image-title img{display:block;width:100%;max-width:850px;height:auto;object-fit:contain;}
.work-page-title{max-width:100%;line-height:0!important;margin:20px 0!important;}
.work-page-title img{display:block;width:100%;max-width:900px;height:auto;object-fit:contain;}
@media(max-width:650px){.contact-type-title{font-size:clamp(3rem,12vw,5rem)!important;letter-spacing:-.055em!important}.work-image-title img,.work-page-title img{width:100%;}}

/* Refined charcoal Contact heading: flat, no shadows, responsive */
.contact-type-title{display:table!important;box-sizing:border-box!important;width:auto!important;max-width:100%!important;background:#1b1d21!important;color:#fff!important;padding:.12em .36em .19em!important;margin:14px 0 28px!important;border:0!important;border-bottom:5px solid #99182d!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;font-weight:900!important;font-style:italic!important;line-height:1.08!important;font-size:clamp(3rem,10vw,6rem)!important;letter-spacing:-.055em!important;transform:none!important;}
.contact-type-title::before,.contact-type-title::after{display:none!important;content:none!important;box-shadow:none!important;}
@media(max-width:650px){.contact-type-title{font-size:clamp(2.8rem,11vw,5rem)!important;padding:.14em .3em .19em!important;border-bottom-width:4px!important;}}

/* Cohesive heading system: identical dimensions and offset for every homepage section. */
.unified-heading{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:850px!important;min-height:0!important;aspect-ratio:auto!important;margin:18px 0 32px!important;padding:clamp(18px,3.5vw,34px) clamp(12px,3vw,30px)!important;font:italic 900 clamp(38px,7.6vw,92px)/1.05 Arial,Helvetica,sans-serif!important;letter-spacing:-.055em!important;text-transform:none!important;text-align:center!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:9px 10px 0 #292d31!important;filter:none!important;text-shadow:none!important;transform:none!important;position:relative!important;overflow:visible!important;}
.unified-heading:before,.unified-heading:after{content:none!important;display:none!important}
.unified-red{background:#c30d30!important}.unified-charcoal{background:#1c2024!important;box-shadow:9px 10px 0 #7b303c!important}
.section.pale .about-feature{display:flex!important;flex-direction:column!important;gap:24px!important;max-width:100%!important}
.section.pale .about-feature .preview-copy{display:contents!important}
.section.pale .about-feature .preview-copy .eyebrow{order:0!important}
.section.pale .about-feature .preview-copy .unified-heading{order:1!important}
.section.pale .about-feature .preview-image{order:2!important;width:min(100%,850px)!important}
.section.pale .about-feature .preview-image img{height:auto!important;aspect-ratio:1.25/1!important;object-fit:cover!important;object-position:center!important}
.section.pale .about-feature .preview-copy .line-ornament{display:none!important}
.section.pale .about-feature .preview-copy p{order:3!important}
.section.pale .about-feature .preview-copy .link{order:4!important;align-self:flex-start!important}
.section.pale .about-feature .preview-copy p{max-width:750px!important}
.section.dark:after{content:'';position:absolute;right:-5%;top:15%;width:min(32vw,360px);height:70%;background:url('assets/ornament-1.png') center/contain no-repeat;opacity:.075;pointer-events:none;z-index:0}
.section.red:after{content:'';position:absolute;right:-4%;bottom:0;width:min(30vw,320px);height:75%;background:url('assets/ornament-2.png') center/contain no-repeat;opacity:.09;pointer-events:none;z-index:0}
@media(max-width:650px){.unified-heading{font-size:clamp(35px,9.2vw,68px)!important;min-height:110px!important;padding:18px 10px!important;box-shadow:6px 7px 0 #292d31!important}.unified-charcoal{box-shadow:6px 7px 0 #7b303c!important}.section.dark:after,.section.red:after{width:46vw;opacity:.045}.section.pale .about-feature .preview-image img{aspect-ratio:1.15/1!important}}

/* Original supplied heading artwork, not HTML recreations */
.artwork-heading{display:block!important;width:100%!important;max-width:850px!important;margin:18px 0 32px!important;padding:0!important;background:none!important;border:0!important;box-shadow:8px 9px 0 #292d31!important;line-height:0!important;aspect-ratio:auto!important;min-height:0!important;overflow:visible!important;filter:none!important}
.artwork-heading:before,.artwork-heading:after{display:none!important;content:none!important}
.artwork-heading img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important;mix-blend-mode:normal!important;box-shadow:none!important}
.artwork-contact{background:#202428!important;box-shadow:8px 9px 0 #81313c!important}
.artwork-contact img{filter:grayscale(1) brightness(0) invert(1)!important;mix-blend-mode:screen!important}
@media(max-width:650px){.artwork-heading{box-shadow:6px 7px 0 #292d31!important}.artwork-contact{box-shadow:6px 7px 0 #81313c!important}}


/* MASTER DESIGN SYSTEM — single source of truth */
:root{--fp-red:#c30d30;--fp-ink:#1c2024;--fp-grey:#aeb6bb;--fp-white:#fff;--fp-heading-ratio:3 / 1;--fp-heading-offset:8px}
.compare{display:none!important}
.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{display:block!important;position:relative!important;isolation:isolate!important;box-sizing:border-box!important;width:100%!important;max-width:850px!important;aspect-ratio:var(--fp-heading-ratio)!important;height:auto!important;min-height:0!important;margin:16px 0 32px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:var(--fp-heading-offset) var(--fp-heading-offset) 0 var(--fp-ink)!important;overflow:visible!important;line-height:0!important;transform:none!important;filter:none!important}
.master-heading:before,.master-heading:after,.preview-copy .master-heading:before,.preview-copy .master-heading:after{content:none!important;display:none!important}
.master-heading img,.preview-copy .master-heading img,.reviews-preview .master-heading img,.section.red .master-heading img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3 / 1!important;object-fit:fill!important;box-shadow:none!important;filter:none!important;mix-blend-mode:normal!important;border:0!important}
.master-heading--light,.section.dark .master-heading--light{box-shadow:var(--fp-heading-offset) var(--fp-heading-offset) 0 #b5bcc1!important}
.master-heading--contact,.section.red .master-heading--contact{box-shadow:var(--fp-heading-offset) var(--fp-heading-offset) 0 #b5bcc1!important;background:var(--fp-ink)!important}
/* Shared ornament strokes, swapped only by section contrast */
.master-heading{outline:0!important}
.section.dark .eyebrow:before{background:#fff!important}
.section.red .eyebrow:before{background:#fff!important}
.section.pale .about-feature{display:flex!important;flex-direction:column!important;gap:0!important;max-width:850px!important}
.section.pale .about-feature .preview-copy{display:contents!important}
.section.pale .about-feature .preview-copy .eyebrow{order:0!important}
.section.pale .about-feature .preview-copy .master-heading{order:1!important}
.section.pale .about-feature .preview-image{order:2!important;width:100%!important;margin:0 0 38px!important}
.section.pale .about-feature .preview-image img{height:auto!important;aspect-ratio:1.25!important;object-fit:cover!important;object-position:center!important}
.section.pale .about-feature .preview-copy p{order:3!important;max-width:720px!important}
.section.pale .about-feature .preview-copy .link{order:4!important;align-self:flex-start!important}
.section.pale .about-feature .line-ornament{display:none!important}
.section.light .preview{align-items:center}
.section.light .preview-copy .master-heading{max-width:850px!important}
.contact-email{display:block;width:fit-content;margin:8px 0 22px;font-weight:800;color:white;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.section.dark:after{content:'';position:absolute;right:0;top:12%;width:min(28vw,300px);height:70%;background:url('assets/ornament-1.png') center/contain no-repeat;opacity:.055;pointer-events:none}
.section.red:after{content:'';position:absolute;right:0;bottom:0;width:min(28vw,300px);height:70%;background:url('assets/ornament-2.png') center/contain no-repeat;opacity:.065;pointer-events:none}
@media(max-width:760px){.section{padding:56px 0!important}.preview,.section.light .preview{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:22px!important}.section.light .preview-copy{display:contents!important}.section.light .preview-copy .eyebrow{order:0!important}.section.light .preview-copy .master-heading{order:1!important}.section.light .preview-image{order:2!important}.section.light .preview-copy p{order:3!important}.section.light .preview-copy .link{order:4!important;align-self:flex-start!important}.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{--fp-heading-offset:6px;margin:10px 0 24px!important;max-width:100%!important;aspect-ratio:3 / 1!important}.master-heading img{aspect-ratio:3 / 1!important}.section.pale .about-feature .preview-image{margin-bottom:18px!important}.section.pale .about-feature .preview-image img{aspect-ratio:1.16!important}.section.dark:after,.section.red:after{opacity:.035;width:45vw}.work-strip{gap:10px}.work-strip img{height:150px}}

/* Fixed industrial watermark layer — original supplied artwork, non-interactive. */
body::before,body::after{content:"";position:fixed;z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:contain;opacity:.13;filter:grayscale(1) contrast(1.25);will-change:transform}
body::before{background-image:url('assets/fixed-pipe-wrench.png');width:min(90vw,1100px);height:min(90vh,1100px);right:-23vw;top:12vh;transform:rotate(-19deg)}
body::after{background-image:url('assets/fixed-pipe-fitting.png');width:min(48vw,640px);height:min(48vw,640px);left:-16vw;bottom:-12vh;transform:rotate(18deg);opacity:.10}
/* Let the fixed layer show through lightly without changing layout or heading assets. */
.section.light,.section.pale{background-color:rgba(246,247,248,.91)!important}
.section.dark{background-color:rgba(27,32,36,.96)!important}
.section.red{background-color:rgba(197,30,50,.96)!important}
@media(max-width:650px){body::before{width:125vw;height:80vh;right:-59vw;top:13vh;opacity:.11}body::after{width:88vw;height:55vh;left:-45vw;bottom:1vh;opacity:.09}}
@media(prefers-reduced-motion:reduce){body::before,body::after{will-change:auto}}

/* FIX 2026-10-29: real transparent silhouettes, fixed above section paint but below content. */
body::before,body::after{content:none!important;display:none!important}
.fp-fixed-ornaments{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden;isolation:isolate}
.fp-fixed-ornaments .fp-wrench,.fp-fixed-ornaments .fp-fitting{position:absolute;display:block;background-repeat:no-repeat;background-position:center;background-size:contain;filter:none;pointer-events:none}
.fp-fixed-ornaments .fp-wrench{background-image:url('assets/clean-fixed-pipe-wrench.png');height:112vh;width:67vw;right:-14vw;top:-4vh;transform:rotate(-28deg);opacity:.34}
.fp-fixed-ornaments .fp-fitting{background-image:url('assets/clean-fixed-pipe-fitting.png');width:49vw;height:49vw;left:-21vw;bottom:-12vh;transform:rotate(20deg);opacity:.28}
/* Content and header artwork always remain above the fixed ornamentation. */
body>header,body>.site-head,body>.site-top,body>main,body>footer{position:relative;z-index:1}
.section .container,.hero .container,.footer .container{position:relative;z-index:4}
.section{isolation:auto!important}
.section.light,.section.pale{background-color:rgba(246,247,248,.94)!important}
.section.dark{background-color:#202428!important}
.section.red{background-color:#c51935!important}
/* Retain exact supplied lettering artwork and heading geometry; refine only offsets. */
.master-heading{box-shadow:6px 7px 0 #202428!important}
.section.dark .master-heading{box-shadow:6px 7px 0 #596169!important}
.section.red .master-heading{box-shadow:6px 7px 0 #5a626b!important}
@media(max-width:700px){
 .fp-fixed-ornaments .fp-wrench{height:108vh;width:135vw;right:-57vw;top:-7vh;opacity:.40}
 .fp-fixed-ornaments .fp-fitting{width:105vw;height:75vh;left:-56vw;bottom:-9vh;opacity:.32}
 .master-heading{box-shadow:5px 6px 0 #202428!important}
 .section.dark .master-heading{box-shadow:5px 6px 0 #596169!important}
 .section.red .master-heading{box-shadow:5px 6px 0 #5a626b!important}
}

/* Approved Services header: single exact shared geometry across all five sections */
:root{--fp-heading-ratio:3;--fp-heading-offset:6px}
.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{width:100%!important;max-width:850px!important;aspect-ratio:3/1!important;height:auto!important;min-height:0!important;padding:0!important;margin:12px 0 28px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:6px 7px 0 #202428!important;overflow:visible!important;line-height:0!important}
.master-heading img,.preview-copy .master-heading img,.reviews-preview .master-heading img,.section.red .master-heading img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/1!important;object-fit:fill!important}
.section.dark .master-heading{box-shadow:6px 7px 0 #555b63!important}
.section.red .master-heading{box-shadow:6px 7px 0 #555b63!important}
@media(max-width:760px){.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{margin:10px 0 24px!important;box-shadow:5px 6px 0 #202428!important}.section.dark .master-heading,.section.red .master-heading{box-shadow:5px 6px 0 #555b63!important}}

/* 2026-10-29 visual correction: solid foreground, alternate wrench, compact matched artwork */
.fp-fixed-ornaments{z-index:3!important}
.fp-fixed-ornaments .fp-wrench{background-image:url('assets/alternate-fixed-wrench.png')!important;opacity:.24!important;right:-18vw!important;transform:rotate(-17deg)!important}
.fp-fixed-ornaments .fp-fitting{opacity:.13!important}
body>.site-top,body>.site-head{position:relative!important;z-index:6!important;background-color:#fff}
body>.site-top{background-color:#1b1f22!important}
.hero .container,.section .container,.reviews-preview .container{position:relative!important;z-index:5!important}
/* Actual photographic and artwork elements must be opaque and visually above ornaments */
.preview-image,.hero-panel,.hero-card,.photo-frame,.work-strip,.gallery figure,.logo,.brand-heading,.work-page-title{position:relative!important;z-index:6!important}
.preview-image img,.work-strip img,.gallery img,.hero img,.logo img{position:relative!important;z-index:6!important;opacity:1!important;mix-blend-mode:normal!important}
.hero-card,.hero-panel{background:#fff!important;isolation:isolate!important}
.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{aspect-ratio:2172/572!important;position:relative!important;z-index:6!important;background:#c30d30!important;isolation:isolate!important;overflow:hidden!important}
.master-heading--contact,.section.red .master-heading--contact{background:#1c2024!important}
.master-heading img,.preview-copy .master-heading img,.reviews-preview .master-heading img,.section.red .master-heading img{aspect-ratio:2172/572!important;object-fit:fill!important;opacity:1!important;mix-blend-mode:normal!important}
@media(max-width:760px){.fp-fixed-ornaments .fp-wrench{right:-55vw!important;opacity:.22!important}.master-heading,.preview-copy .master-heading,.reviews-preview .master-heading,.section.red .master-heading{aspect-ratio:2172/572!important}}

/* Foreground integrity correction: fixed artwork lives BEHIND the page, never above content. */
html{background:#f3f5f6}
body{isolation:isolate}
.fp-fixed-ornaments{z-index:0!important;isolation:auto!important}
body>.site-top,body>.site-head,body>main,body>.footer,body>footer{position:relative!important;z-index:1!important}
.section.light{background-color:rgba(255,255,255,.94)!important}
.section.pale,.reviews-preview{background-color:rgba(235,238,240,.94)!important}
.section.dark{background-color:#202428!important}
.section.red{background-color:#c51935!important}
.hero,.hero-copy,.preview-image,.work-strip img,.gallery figure,.master-heading{isolation:isolate}
.fp-fixed-ornaments .fp-wrench{right:-28vw!important;top:3vh!important;transform:rotate(42deg)!important;opacity:.18!important}
.fp-fixed-ornaments .fp-fitting{opacity:.10!important}
@media(max-width:760px){.fp-fixed-ornaments .fp-wrench{right:-72vw!important;top:7vh!important;transform:rotate(42deg)!important;opacity:.16!important}.fp-fixed-ornaments .fp-fitting{opacity:.09!important}}

/* Background ornament correction: artwork is part of each section's background,
   never a translucent overlay above foreground content. */
.fp-fixed-ornaments{display:none!important}
body::before,body::after{display:none!important;content:none!important}
.section,.reviews-preview,.reviews-page{isolation:isolate!important}
.section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{
 background-repeat:no-repeat,no-repeat,no-repeat!important;
 background-position:center center,calc(100% + 190px) center,calc(0% - 150px) bottom!important;
 background-size:cover, min(900px,115vw) auto,min(510px,80vw) auto!important;
 background-attachment:scroll,fixed,fixed!important;
}
.section.light{background-image:linear-gradient(#ffffffed,#ffffffed),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important}
.section.pale,.reviews-preview,.reviews-page{background-image:linear-gradient(#e9edefed,#e9edefed),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important}
.section.dark{background-image:linear-gradient(#202428ed,#202428ed),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important}
.section.red{background-image:linear-gradient(#c51935f0,#c51935f0),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important}
/* Ensure section decorations are below foreground without overlaying images. */
.section>.container,.reviews-preview>.container,.reviews-page>.container{position:relative!important;z-index:2!important}
.section .preview-image img,.section .work-strip img,.section .master-heading img,.reviews-preview .master-heading img{opacity:1!important;mix-blend-mode:normal!important}
@media(max-width:760px){
 .section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{
 background-position:center center,calc(100% + 230px) center,calc(0% - 140px) bottom!important;
 background-size:cover,800px auto,430px auto!important;
 }
}

/* FINAL: preserve geometric architecture AND the fixed industrial textures.
   Every layer is painted into the section background, below opaque content. */
.section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{
 background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat!important;
 background-position:center,center,center,calc(100% + 230px) center,calc(0% - 140px) bottom!important;
 background-size:cover,cover,cover,800px auto,430px auto!important;
 background-attachment:scroll,scroll,scroll,fixed,fixed!important;
}
.section.light{
 background-image:linear-gradient(151deg,transparent 0 55%,rgba(43,55,62,.085) 55.1% 72%,transparent 72.1%),linear-gradient(25deg,transparent 0 77%,rgba(43,55,62,.045) 77.1% 90%,transparent 90.1%),linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80)),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important;
}
.section.pale,.reviews-preview,.reviews-page{
 background-image:linear-gradient(151deg,transparent 0 54%,rgba(43,55,62,.09) 54.1% 72%,transparent 72.1%),linear-gradient(25deg,transparent 0 76%,rgba(43,55,62,.05) 76.1% 89%,transparent 89.1%),linear-gradient(rgba(233,237,239,.80),rgba(233,237,239,.80)),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important;
}
.section.dark{
 background-image:linear-gradient(151deg,transparent 0 52%,rgba(255,255,255,.075) 52.1% 70%,transparent 70.1%),linear-gradient(25deg,transparent 0 75%,rgba(255,255,255,.045) 75.1% 90%,transparent 90.1%),linear-gradient(rgba(32,36,40,.84),rgba(32,36,40,.84)),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important;
}
.section.red{
 background-image:linear-gradient(151deg,transparent 0 52%,rgba(88,0,18,.22) 52.1% 72%,transparent 72.1%),linear-gradient(25deg,transparent 0 75%,rgba(88,0,18,.14) 75.1% 90%,transparent 90.1%),linear-gradient(rgba(197,25,53,.83),rgba(197,25,53,.83)),url('assets/alternate-fixed-wrench.png'),url('assets/clean-fixed-pipe-fitting.png')!important;
}
/* No overlay is allowed to sit on top of photos or supplied heading artwork. */
.section>.container,.reviews-preview>.container,.reviews-page>.container{position:relative!important;z-index:2!important}
.master-heading,.preview-image,.work-strip,.gallery,.contact-badge{isolation:isolate!important}
.master-heading img,.preview-image img,.work-strip img,.gallery img{opacity:1!important;mix-blend-mode:normal!important}
@media(min-width:761px){
 .section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{
 background-position:center,center,center,calc(100% + 190px) center,calc(0% - 150px) bottom!important;
 background-size:cover,cover,cover,min(900px,115vw) auto,min(510px,80vw) auto!important;
 }
}

/* FINAL PASS: quiet architectural backdrop + opaque editorial copy panels.
   Section-scoped decoration avoids mobile fixed-background jitter and overlap. */
.fp-fixed-ornaments{display:none!important}
.section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{
  background-attachment:scroll!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-size:cover,cover,min(720px,95vw) auto!important;
  background-position:center,center,right -165px center!important;
}
.section.light{
 background-color:#f7f8f9!important;
 background-image:linear-gradient(151deg,transparent 0 56%,rgba(42,52,60,.075) 56.1% 74%,transparent 74.1%),linear-gradient(rgba(247,248,249,.78),rgba(247,248,249,.78)),url('assets/alternate-fixed-wrench.png')!important;
}
.section.pale{
 background-color:#e9edef!important;
 background-image:linear-gradient(27deg,transparent 0 55%,rgba(45,55,64,.09) 55.1% 74%,transparent 74.1%),linear-gradient(rgba(233,237,239,.78),rgba(233,237,239,.78)),url('assets/clean-fixed-pipe-fitting.png')!important;
 background-position:center,center,left -135px center!important;
 background-size:cover,cover,min(630px,85vw) auto!important;
}
.section.dark{
 background-color:#202428!important;
 background-image:linear-gradient(151deg,transparent 0 55%,rgba(255,255,255,.075) 55.1% 74%,transparent 74.1%),linear-gradient(rgba(32,36,40,.78),rgba(32,36,40,.78)),url('assets/alternate-fixed-wrench.png')!important;
}
.section.red{
 background-color:#c51935!important;
 background-image:linear-gradient(151deg,transparent 0 55%,rgba(70,0,18,.17) 55.1% 74%,transparent 74.1%),linear-gradient(rgba(197,25,53,.82),rgba(197,25,53,.82)),url('assets/clean-fixed-pipe-fitting.png')!important;
 background-position:center,center,left -140px center!important;
}
.section.reviews-preview,.reviews-preview,.reviews-page{
 background-color:#e9edef!important;
 background-image:linear-gradient(151deg,transparent 0 55%,rgba(45,55,64,.09) 55.1% 74%,transparent 74.1%),linear-gradient(rgba(233,237,239,.84),rgba(233,237,239,.84)),url('assets/alternate-fixed-wrench.png')!important;
}
/* Panels are opaque: ornamentation cannot appear through text. */
.section.light .preview-copy p,.section.pale .preview-copy p,
.section.reviews-preview p,.reviews-preview p,
.section.dark>.container>p,.section.red .contact-preview p{
 display:block;background:#fff!important;color:#252a2e!important;
 padding:20px 22px!important;margin:18px 0 16px!important;
 border:0!important;border-left:4px solid #c51935!important;
 box-shadow:0 8px 24px rgba(20,25,30,.055)!important;
 position:relative;z-index:2;
}
.section.dark>.container>p{background:#30363b!important;color:#fff!important;border-left-color:#d8dce0!important}
.section.red .contact-preview p{background:#fff!important;color:#252a2e!important;border-left-color:#202428!important}
/* All artwork and photographs remain completely opaque. */
.master-heading,.master-heading img,.preview-image,.preview-image img,.work-strip img,.gallery img,.hero-media img{opacity:1!important;mix-blend-mode:normal!important}
@media(max-width:760px){
 .section.light,.section.pale,.section.dark,.section.red,.reviews-preview,.reviews-page{background-size:cover,cover,105vw auto!important;background-position:center,center,right -36vw center!important}
 .section.pale,.section.red{background-position:center,center,left -35vw center!important}
 .section.light .preview-copy p,.section.pale .preview-copy p,.section.reviews-preview p,.reviews-preview p,.section.dark>.container>p,.section.red .contact-preview p{padding:16px 17px!important;margin:16px 0!important}
}


/* PAGE HEADER STANDARD — based on the approved Testimonials page.
   Existing heading image artwork is preserved; only its frame and surrounding
   geometry are standardized. */
.page-intro.fp-testimonial-standard{
 background:#e9edef!important;color:#202428!important;
 padding:clamp(48px,7vw,80px) 0 clamp(48px,7vw,76px)!important;
 position:relative;isolation:isolate;overflow:hidden;
}
.page-intro.fp-testimonial-standard::before{
 content:""!important;display:block!important;position:absolute!important;
 right:-8%;top:18%;width:49%;height:105%;transform:skewX(-24deg);
 background:rgba(35,40,44,.045)!important;pointer-events:none;z-index:0;
}
.page-intro.fp-testimonial-standard::after{
 content:""!important;display:block!important;position:absolute!important;
 top:42px;right:max(20px,calc((100vw - 1160px)/2));width:clamp(85px,23vw,170px);height:40px;
 border-top:7px solid #d18b99;border-right:7px solid #d18b99;
 opacity:.95!important;font-size:0!important;pointer-events:none;z-index:1;
}
.fp-testimonial-standard .container{position:relative!important;z-index:2!important}
.fp-testimonial-standard .eyebrow{color:#202428!important;max-width:calc(100% - 28px);margin:0 0 28px!important}
.fp-testimonial-standard .eyebrow:before{background:#c51e32!important}
.fp-testimonial-standard h1.fp-standard-banner{
 display:block!important;position:relative!important;width:100%!important;max-width:850px!important;
 margin:0 0 45px!important;padding:0!important;line-height:0!important;
 border:0!important;background:#c30d30!important;box-shadow:12px 13px 0 #25292d!important;
 overflow:visible!important;isolation:isolate!important;transform:none!important;
}
.fp-testimonial-standard h1.fp-standard-banner .brand-heading{
 display:block!important;width:100%!important;max-width:none!important;height:auto!important;
 aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;
 background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
.fp-testimonial-standard h1.fp-standard-banner img{
 display:block!important;width:100%!important;height:auto!important;max-width:none!important;
 object-fit:fill!important;opacity:1!important;mix-blend-mode:normal!important;
 border:0!important;box-shadow:none!important;filter:none!important;
}
.fp-testimonial-standard p{color:#202428!important;max-width:700px!important;margin:0!important}
.fp-page-work{background:#202428!important;color:white!important}
.fp-page-work .eyebrow,.fp-page-work p{color:white!important}
.fp-page-work .eyebrow:before{background:white!important}
.fp-page-work::before{background:rgba(255,255,255,.045)!important}
.fp-page-work::after{border-color:#aab3ba!important}
.fp-page-work h1.fp-standard-banner{box-shadow:12px 13px 0 #aab3ba!important}
@media(max-width:700px){
 .page-intro.fp-testimonial-standard{padding:56px 0 60px!important}
 .page-intro.fp-testimonial-standard::after{top:25px;height:24px;border-width:5px}
 .fp-testimonial-standard .eyebrow{margin-bottom:30px!important}
 .fp-testimonial-standard h1.fp-standard-banner{margin-bottom:42px!important;box-shadow:8px 9px 0 #25292d!important}
 .fp-page-work h1.fp-standard-banner{box-shadow:8px 9px 0 #aab3ba!important}
}
/* FIX: unify all individual-page hero banners with Testimonials layout. */
.page-intro.fp-testimonial-standard .container{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.page-intro.fp-testimonial-standard .eyebrow{position:relative!important;z-index:2!important;display:block!important;margin:0 0 30px!important;transform:none!important}
.page-intro.fp-testimonial-standard h1.fp-standard-banner{position:relative!important;display:block!important;flex:none!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;margin:0 0 46px!important;line-height:0!important;overflow:visible!important;transform:none!important}
.page-intro.fp-testimonial-standard h1.fp-standard-banner .brand-heading{position:static!important;display:block!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;transform:none!important}
.page-intro.fp-testimonial-standard h1.fp-standard-banner .brand-heading:before,.page-intro.fp-testimonial-standard h1.fp-standard-banner .brand-heading:after{content:none!important;display:none!important}
.page-intro.fp-testimonial-standard h1.fp-standard-banner img{position:static!important;display:block!important;width:100%!important;height:auto!important;transform:none!important;clip-path:none!important;object-fit:contain!important;filter:none!important}
.page-intro.fp-testimonial-standard .container>p{position:relative!important;z-index:2!important;display:block!important;margin:0!important;transform:none!important}
.page-intro.fp-testimonial-standard{min-height:0!important}
@media(max-width:700px){.page-intro.fp-testimonial-standard{padding:70px 0 74px!important}.page-intro.fp-testimonial-standard .eyebrow{margin-bottom:30px!important}.page-intro.fp-testimonial-standard h1.fp-standard-banner{margin-bottom:40px!important}}
/* Contact uses the same structural banner treatment, with charcoal artwork. */
.fp-page-contact h1.fp-standard-banner{background:#1c2023!important;box-shadow:10px 12px 0 #aeb6bd!important}
.fp-page-contact h1.fp-standard-banner img{background:#1c2023!important}
.fp-page-contact::after{border-color:#aeb6bd!important}
.fp-page-contact .eyebrow:before{background:#c51935!important}


/* UNIFIED HEADER SYSTEM: Testimonials homepage is the visual master. */
.page-intro.fp-unified-hero{background:#e9edef!important;color:#202428!important;padding:clamp(48px,7vw,76px) 0 clamp(56px,8vw,86px)!important;min-height:0!important;position:relative!important;overflow:hidden!important;isolation:isolate!important}
.page-intro.fp-unified-hero .container{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;position:relative!important;z-index:3!important}
.page-intro.fp-unified-hero .eyebrow{position:relative!important;display:block!important;color:#202428!important;margin:0 0 26px!important;padding:0!important;z-index:4!important;transform:none!important}
.page-intro.fp-unified-hero h1.fp-unified-banner{display:block!important;position:relative!important;inset:auto!important;transform:none!important;float:none!important;clear:both!important;width:100%!important;max-width:850px!important;height:auto!important;min-height:0!important;aspect-ratio:2172/572!important;padding:0!important;margin:0 0 46px!important;line-height:0!important;background:#c30d30!important;border:0!important;border-radius:0!important;box-shadow:10px 12px 0 #25292d!important;overflow:visible!important;isolation:isolate!important;z-index:3!important}
.page-intro.fp-unified-hero h1.fp-unified-banner::before,.page-intro.fp-unified-hero h1.fp-unified-banner::after{content:none!important;display:none!important}
.page-intro.fp-unified-hero h1.fp-unified-banner img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;opacity:1!important;mix-blend-mode:normal!important;filter:none!important;transform:none!important;clip-path:none!important}
.page-intro.fp-unified-hero .container>p{position:relative!important;display:block!important;color:#202428!important;margin:0!important;padding:22px 24px!important;background:#fff!important;border-left:5px solid #c51e32!important;box-shadow:0 10px 25px rgba(20,25,30,.05)!important;max-width:700px!important;z-index:3!important;transform:none!important}
.page-intro.fp-unified-hero::after{content:""!important;display:block!important;position:absolute!important;top:40px!important;right:max(22px,calc((100vw - 1160px)/2))!important;width:clamp(85px,23vw,170px)!important;height:40px!important;border-top:7px solid #d18b99!important;border-right:7px solid #d18b99!important;background:none!important;pointer-events:none!important;z-index:1!important}
.page-intro.fp-unified-hero::before{content:""!important;position:absolute!important;right:-8%!important;top:18%!important;width:49%!important;height:105%!important;transform:skewX(-24deg)!important;background:rgba(35,40,44,.045)!important;z-index:0!important;pointer-events:none!important}
.page-intro.fp-unified-hero.fp-page-work{background:#202428!important;color:#fff!important}
.page-intro.fp-unified-hero.fp-page-work .eyebrow{color:#fff!important}
.page-intro.fp-unified-hero.fp-page-work h1.fp-unified-banner{box-shadow:10px 12px 0 #aab3ba!important}
.page-intro.fp-unified-hero.fp-page-work .container>p{background:#fff!important;color:#202428!important}
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner{background:#1c2023!important;box-shadow:10px 12px 0 #aeb6bd!important}
/* All home section headers use the same upper-right corner motif. */
.section.light,.section.pale,.section.dark,.section.red,.section.reviews-preview{position:relative!important;isolation:isolate!important}
.section.light::before,.section.pale::before,.section.dark::before,.section.red::before,.section.reviews-preview::before{content:""!important;position:absolute!important;top:30px!important;right:max(22px,calc((100vw - 1160px)/2))!important;width:clamp(85px,23vw,170px)!important;height:36px!important;border-top:6px solid #d18b99!important;border-right:6px solid #d18b99!important;background:none!important;z-index:2!important;pointer-events:none!important}
.section.dark::before,.section.red::before{border-color:#9ca5ac!important}
.section .container{position:relative!important;z-index:3!important}
@media(max-width:700px){.page-intro.fp-unified-hero{padding:70px 0 72px!important}.page-intro.fp-unified-hero .eyebrow{margin:0 0 25px!important}.page-intro.fp-unified-hero h1.fp-unified-banner{margin:0 0 38px!important;box-shadow:8px 9px 0 #25292d!important}.page-intro.fp-unified-hero.fp-page-work h1.fp-unified-banner,.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner{box-shadow:8px 9px 0 #aeb6bd!important}.page-intro.fp-unified-hero .container>p{padding:20px!important}.page-intro.fp-unified-hero::after{top:25px!important;height:24px!important;border-width:5px!important}.section.light::before,.section.pale::before,.section.dark::before,.section.red::before,.section.reviews-preview::before{top:25px!important;height:24px!important;border-width:5px!important}}


/* FINAL SHARED HEADER STANDARD — approved homepage Testimonials composition */
:root{--fp-banner-gap:26px;--fp-shadow:10px 12px 0 #22262a}
/* Section corner is one clean L at upper right, never doubled or left aligned. */
.section.light::before,.section.pale::before,.section.dark::before,.section.red::before,.section.reviews-preview::before,
.page-intro.fp-unified-hero::after{
 content:""!important;position:absolute!important;left:auto!important;right:max(24px,calc((100vw - 1160px)/2))!important;
 top:46px!important;width:clamp(90px,22vw,170px)!important;height:36px!important;
 border:0!important;border-top:6px solid #d18b99!important;border-right:6px solid #d18b99!important;
 transform:none!important;clip-path:none!important;background:none!important;box-shadow:none!important;
 opacity:1!important;pointer-events:none!important;z-index:1!important;
}
.section.dark::before,.section.red::before,.fp-page-work::after,.fp-page-contact::after{border-color:#aab3bb!important}
/* Do not let any older decorative pseudo-elements form a second corner. */
.section .container .eyebrow::after,.page-intro .eyebrow::after{content:none!important}
/* Banners use identical geometry and solid artwork, regardless of page/background. */
.section .master-heading.fp-heading-banner,.page-intro.fp-unified-hero h1.fp-unified-banner{
 position:relative!important;inset:auto!important;transform:none!important;display:block!important;
 box-sizing:border-box!important;width:100%!important;max-width:850px!important;
 aspect-ratio:2172 / 572!important;height:auto!important;min-height:0!important;
 margin:0 0 42px!important;padding:0!important;line-height:0!important;
 background:#c30d30!important;box-shadow:var(--fp-shadow)!important;overflow:visible!important;isolation:isolate!important;
}
.section .master-heading.fp-heading-banner img,.page-intro.fp-unified-hero h1.fp-unified-banner img{
 display:block!important;width:100%!important;height:100%!important;aspect-ratio:2172 / 572!important;
 object-fit:fill!important;opacity:1!important;mix-blend-mode:normal!important;filter:none!important;
}
.section.red .master-heading.fp-heading-banner{background:#1c2023!important;box-shadow:10px 12px 0 #aab3bb!important}
.section.dark .master-heading.fp-heading-banner,.fp-page-work h1.fp-unified-banner{box-shadow:10px 12px 0 #aab3bb!important}
/* Eyebrow always sits above, never underneath, a banner. */
.section .eyebrow,.page-intro.fp-unified-hero .eyebrow{position:relative!important;z-index:3!important;margin:0 0 var(--fp-banner-gap)!important;transform:none!important}
/* Intro copy is an opaque independent panel, not text on an ornament. */
.section .fp-intro-panel,.section .preview-copy p.fp-intro-panel,.page-intro.fp-unified-hero .container>p{
 box-sizing:border-box!important;display:block!important;position:relative!important;z-index:3!important;
 width:100%!important;max-width:760px!important;margin:0 0 38px!important;
 padding:24px 28px!important;border-left:6px solid #c51e32!important;
 background:#fff!important;color:#202428!important;box-shadow:0 8px 22px rgba(20,25,30,.055)!important;
}
.section.dark .fp-intro-panel{background:#30363b!important;color:#fff!important;border-left-color:#e2e6e9!important}
.section.red .fp-intro-panel{background:#fff!important;color:#202428!important;border-left-color:#202428!important}
/* Section ornaments remain behind content; don't alter photographs. */
.section .container,.page-intro .container{z-index:3!important}
.section .preview-image,.section .preview-image img,.section .work-strip,.section .work-strip img{opacity:1!important;mix-blend-mode:normal!important}
/* Individual page header mirrors homepage: eyebrow / artwork / copy. */
.page-intro.fp-unified-hero{padding:78px 0 84px!important}
.page-intro.fp-unified-hero h1.fp-unified-banner{margin-bottom:42px!important}
.page-intro.fp-unified-hero .container>p{margin-bottom:0!important}
@media(max-width:760px){
 :root{--fp-banner-gap:16px;--fp-shadow:6px 7px 0 #22262a}
 .section.light::before,.section.pale::before,.section.dark::before,.section.red::before,.section.reviews-preview::before,.page-intro.fp-unified-hero::after{
  top:32px!important;right:24px!important;width:94px!important;height:24px!important;border-top-width:5px!important;border-right-width:5px!important;
 }
 .section .master-heading.fp-heading-banner,.page-intro.fp-unified-hero h1.fp-unified-banner{margin:0 0 30px!important;box-shadow:var(--fp-shadow)!important}
 .section.dark .master-heading.fp-heading-banner,.section.red .master-heading.fp-heading-banner,.fp-page-work h1.fp-unified-banner,.fp-page-contact h1.fp-unified-banner{box-shadow:6px 7px 0 #aab3bb!important}
 .section .fp-intro-panel,.section .preview-copy p.fp-intro-panel,.page-intro.fp-unified-hero .container>p{padding:20px 22px!important;margin:0 0 30px!important}
 .page-intro.fp-unified-hero{padding:88px 0 72px!important}
 .page-intro.fp-unified-hero .container>p{margin-bottom:0!important}
}

/* 2026-10-29 targeted mobile polish: one corner, compact Services heading */
.section.reviews-preview > .container::before,
.section.reviews-preview > .container::after,
.section.reviews-preview .eyebrow::after {
  content:none!important;display:none!important;border:0!important;
}
/* Retain the single top-right accent on the section itself. */
.section.reviews-preview::before {
  content:""!important;display:block!important;left:auto!important;
  right:24px!important;top:32px!important;width:94px!important;height:24px!important;
  border:0!important;border-top:5px solid #d18b99!important;
  border-right:5px solid #d18b99!important;background:none!important;
  transform:none!important;opacity:1!important;
}
@media(max-width:760px){
  .section.light{padding-top:42px!important;}
  .section.light .preview-copy .eyebrow{margin-bottom:12px!important;}
  .section.light .preview-copy .master-heading.fp-heading-banner{
    margin-top:0!important;margin-bottom:20px!important;
  }
  .section.light .preview-image{margin-top:0!important;}
}

/* Targeted homepage Services description-to-link spacing correction. */
@media (max-width:760px) {
  .section.light .preview-copy p.fp-intro-panel { margin-bottom:0!important; }
  .section.light .preview-copy a.link { margin-top:0!important; }
  .section.light .preview { row-gap:20px!important; }
}

/* Final targeted mobile Services label alignment: match Testimonials rhythm. */
@media (max-width:760px) {
 .section.light .preview {gap:0!important;row-gap:0!important;}
 .section.light .preview-copy .eyebrow {
   order:0!important;align-self:stretch!important;
   margin:0 0 16px!important;padding:0!important;
   position:relative!important;top:0!important;transform:none!important;
 }
 .section.light .preview-copy .master-heading.fp-heading-banner {
   order:1!important;margin:0 0 38px!important;
 }
 .section.light .preview-image {order:2!important;margin:0 0 28px!important;}
 .section.light .preview-copy p.fp-intro-panel {order:3!important;margin:0 0 24px!important;}
 .section.light .preview-copy a.link {order:4!important;margin:0!important;align-self:flex-start!important;}
}

/* MOBILE DESIGN AUDIT: Testimonials is the shared section geometry standard.
   Corner coordinates are relative to the section, not the content flow. */
@media (max-width:760px) {
  .section.light,.section.pale,.section.dark,.section.red,.section.reviews-preview {
    padding-top:56px!important;
  }
  .section.light::before,.section.pale::before,.section.dark::before,
  .section.red::before,.section.reviews-preview::before {
    top:32px!important;right:24px!important;left:auto!important;
    width:94px!important;height:24px!important;
    border:0!important;border-top:5px solid #d18b99!important;
    border-right:5px solid #d18b99!important;
    transform:none!important;background:none!important;
  }
  .section.dark::before,.section.red::before {border-color:#aab3bb!important}
  .section.light .preview-copy .eyebrow,.section.pale .preview-copy .eyebrow,
  .section.dark>.container>.eyebrow,.section.reviews-preview>.container>.eyebrow,
  .section.red .eyebrow {
    margin-top:0!important;margin-bottom:16px!important;
    position:relative!important;top:auto!important;
  }
  .section.light .preview-copy .master-heading.fp-heading-banner {
    margin-top:0!important;margin-bottom:30px!important;
  }
  .section.light .preview-image {margin-top:0!important}
}


/* INDIVIDUAL PAGE ALIGNMENT — homepage Testimonials is reference.
   Scoped to inner pages: homepage remains untouched. */
@media screen {
.page-intro.fp-unified-hero, .section.reviews-page {
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  padding:56px 0 72px!important;
}
.page-intro.fp-unified-hero::after,.section.reviews-page::after {
  content:""!important;display:block!important;position:absolute!important;
  top:32px!important;right:max(24px,calc((100vw - 1160px)/2))!important;left:auto!important;
  width:clamp(94px,22vw,170px)!important;height:24px!important;
  border:0!important;border-top:5px solid #d18b99!important;border-right:5px solid #d18b99!important;
  background:none!important;box-shadow:none!important;transform:none!important;clip-path:none!important;
  z-index:1!important;pointer-events:none!important;opacity:1!important;
}
.page-intro.fp-page-work::after,.page-intro.fp-page-contact::after {border-color:#aab3bb!important}
.page-intro.fp-unified-hero>.container,.section.reviews-page>.container{position:relative!important;z-index:3!important}
.page-intro.fp-unified-hero .eyebrow,.section.reviews-page .eyebrow{
  display:block!important;position:relative!important;top:auto!important;left:auto!important;
  margin:0 0 16px!important;padding:0!important;transform:none!important;z-index:3!important;
}
.page-intro.fp-unified-hero h1.fp-unified-banner,.section.reviews-page h1.fp-unified-banner{
  position:relative!important;display:block!important;box-sizing:border-box!important;
  width:100%!important;max-width:850px!important;aspect-ratio:2172/572!important;
  height:auto!important;min-height:0!important;margin:0 0 30px!important;padding:0!important;
  background:#c30d30!important;line-height:0!important;
  box-shadow:6px 7px 0 #22262a!important;overflow:visible!important;
}
.page-intro.fp-unified-hero h1.fp-unified-banner img,.section.reviews-page h1.fp-unified-banner img{
  display:block!important;width:100%!important;height:100%!important;
  aspect-ratio:2172/572!important;object-fit:fill!important;
  opacity:1!important;mix-blend-mode:normal!important;filter:none!important;
  box-shadow:none!important;
}
.page-intro.fp-page-work h1.fp-unified-banner,.page-intro.fp-page-contact h1.fp-unified-banner{
 box-shadow:6px 7px 0 #aab3bb!important;
}
.page-intro.fp-page-contact h1.fp-unified-banner{background:#1c2023!important}
.page-intro.fp-unified-hero .container>p,.section.reviews-page p.fp-intro-panel{
  position:relative!important;box-sizing:border-box!important;display:block!important;
  width:100%!important;max-width:760px!important;margin:0!important;
  padding:20px 22px!important;background:#fff!important;color:#202428!important;
  border-left:6px solid #c51e32!important;box-shadow:0 8px 22px rgba(20,25,30,.055)!important;
}
.page-intro.fp-page-work .container>p{border-left-color:#e2e6e9!important}
.section.reviews-page h2{margin:0 0 24px!important}
.section.reviews-page .fp-intro-panel{margin:0 0 30px!important}
.section.reviews-page::before{z-index:0!important}
}
@media(max-width:760px){
.page-intro.fp-unified-hero,.section.reviews-page{padding:56px 0 72px!important}
.page-intro.fp-unified-hero::after,.section.reviews-page::after{
 top:32px!important;right:24px!important;width:94px!important;height:24px!important;
}
}


/* SERVICE LIST REDESIGN: clean editorial entries instead of tall boxed cards */
.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px!important}
.detail-grid .detail{background:transparent!important;border:0!important;border-bottom:1px solid #c9cfd3!important;min-height:0!important;padding:27px 0 32px!important;box-shadow:none!important}
.detail-grid .detail b{display:block;color:#b91e3d!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.detail-grid .detail h3{font-weight:900!important;font-style:italic!important;text-transform:uppercase!important;line-height:1.08!important;font-size:clamp(25px,3vw,37px)!important;margin:13px 0 16px!important;max-width:560px}
.detail-grid .detail h3:after{content:"";display:block;background:#bf1838;width:54px;height:3px;margin-top:17px}
.detail-grid .detail p{font-size:17px!important;line-height:1.55!important;margin:0!important;max-width:490px;color:#51595f!important}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr!important;gap:0!important}.detail-grid .detail{padding:25px 0 30px!important}.detail-grid .detail h3{font-size:clamp(26px,7vw,36px)!important}.detail-grid .detail p{font-size:16px!important}}

/* Our Work artwork: preserve the supplied 3:1 banner without distortion. */
.section.dark .master-heading.fp-heading-banner:has(img[src$="trim-heading-the-work-we-do.png"]),
.page-intro.fp-page-work h1.fp-unified-banner {
  aspect-ratio:3 / 1!important;
}
.section.dark .master-heading.fp-heading-banner img[src$="trim-heading-the-work-we-do.png"],
.page-intro.fp-page-work h1.fp-unified-banner img {
  aspect-ratio:3 / 1!important;
  object-fit:fill!important;
}

/* OUR WORK — use the same approved heading geometry as the other page banners.
   The replacement artwork is 3:1; cover crops only its red background rather
   than stretching the lettering or enlarging the banner. */
@media screen {
  .page-intro.fp-page-work h1.fp-unified-banner,
  .section.dark .master-heading.fp-heading-banner:has(img[src$="trim-heading-the-work-we-do.png"]) {
    aspect-ratio:2172 / 572!important;
    width:100%!important;
    max-width:850px!important;
    height:auto!important;
    margin:0 0 30px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .page-intro.fp-page-work h1.fp-unified-banner img,
  .section.dark .master-heading.fp-heading-banner img[src$="trim-heading-the-work-we-do.png"] {
    aspect-ratio:auto!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* Brand sticker placements - homepage only, in normal document flow. */
.fp-sticker-placement{position:relative;clear:both;display:flex;align-items:center;justify-content:center;isolation:isolate;margin:42px auto 0;max-width:100%;padding:0 12px;box-sizing:border-box;}
.fp-sticker-placement img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.13));}
.fp-sticker-family{max-width:350px;transform:rotate(-3deg);}
.fp-sticker-years{max-width:400px;transform:rotate(2deg);}
.fp-sticker-quote{max-width:330px;transform:rotate(-2deg);}
@media(min-width:900px){.fp-sticker-placement{margin-top:54px}.fp-sticker-family{max-width:385px}.fp-sticker-years{max-width:440px}.fp-sticker-quote{max-width:370px}}
@media(max-width:760px){.fp-sticker-placement{margin-top:34px;padding:0 18px}.fp-sticker-family{max-width:280px}.fp-sticker-years{max-width:305px}.fp-sticker-quote{max-width:280px}}

/* Homepage artwork CTAs: preserve full sticker proportions and tap targets */
.home-art-cta{display:inline-block!important;width:min(100%,390px);height:auto!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;line-height:0!important;text-decoration:none!important;vertical-align:middle;transform:none!important;transition:transform .18s ease,filter .18s ease!important}
.home-art-cta img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.home-art-cta:hover,.home-art-cta:focus-visible{transform:translateY(-3px)!important;filter:drop-shadow(0 5px 7px rgba(0,0,0,.15))}
.home-art-cta:focus-visible{outline:3px solid #d3203a;outline-offset:5px}
.hero .buttons{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero .buttons .home-art-cta{width:min(100%,310px)}
.section.light .home-art-cta{width:min(100%,300px)}
.section.red .contact-preview .home-art-cta{display:block!important;width:min(100%,355px);margin-top:18px!important}
.section.red .contact-preview .home-art-cta.home-art-email{width:min(100%,370px);margin-top:22px!important}
.contact-preview .contact-badge.home-local-sticker{display:flex!important;align-items:center;justify-content:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;transform:none!important;min-width:0}
.contact-preview .contact-badge.home-local-sticker img{display:block;width:min(100%,310px);height:auto;object-fit:contain}
@media(max-width:760px){.hero .buttons{flex-direction:column;align-items:flex-start;gap:12px}.hero .buttons .home-art-cta{width:min(100%,320px)}.section.red .contact-preview .home-art-cta{width:min(100%,340px)}.contact-preview .contact-badge.home-local-sticker img{width:min(100%,270px)}}

/* CTA cleanup: tightly cropped artwork, closely stacked hero actions. */
@media(max-width:760px){.hero .buttons{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:14px!important;margin-top:24px!important}.hero .buttons .home-art-cta{display:block!important;flex:0 0 auto!important;width:min(100%,320px)!important;max-width:100%!important;margin:0!important;padding:0!important}.hero .buttons .home-art-cta img{display:block!important;width:100%!important;height:auto!important;margin:0!important}}

/* Homepage: restore clean, native HTML CTA buttons and place years sticker in final contact badge slot. */
.hero .buttons{display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:stretch!important;margin-top:27px!important}
.hero .buttons .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;margin:0!important;padding:17px 23px!important;text-align:center!important;line-height:1.3!important}
.section.red .contact-preview .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:22px!important;min-height:52px!important;padding:17px 23px!important;max-width:100%!important;text-align:center!important}
.section.red .contact-preview .btn.dark{background:#1c2023!important;color:#fff!important}
.contact-preview .contact-badge.home-years-sticker{display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;transform:none!important;min-width:0!important;max-width:100%!important}
.contact-preview .contact-badge.home-years-sticker img{display:block!important;width:min(100%,360px)!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.14))}
@media(max-width:760px){.hero .buttons{flex-direction:column!important;align-items:stretch!important;gap:14px!important;margin-top:27px!important}.hero .buttons .btn{width:100%!important;max-width:100%!important}.section.red .contact-preview .btn{width:100%!important}.contact-preview .contact-badge.home-years-sticker img{width:min(100%,305px)!important}}

/* Centered click-to-call in the existing empty space; absolute positioning leaves both stickers untouched. */
.section.red .fp-sticker-quote{position:relative!important;}
.section.red .fp-sticker-quote .fp-between-stickers-phone{position:absolute;left:50%;top:-78px;transform:translateX(-50%);white-space:nowrap;color:#fff;font-size:clamp(20px,4vw,28px);font-weight:900;letter-spacing:.035em;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;line-height:1.2;z-index:3;}
.section.red .fp-sticker-quote .fp-between-stickers-phone:focus-visible{outline:3px solid #fff;outline-offset:7px;}
@media(max-width:760px){.section.red .fp-sticker-quote .fp-between-stickers-phone{top:-74px;font-size:24px;}}

/* Phone artwork replaces number only; sticker positioning and sizing unchanged. */
.section.red .fp-sticker-quote .fp-phone-art-link{display:block;width:min(88vw,490px);max-width:calc(100vw - 50px);top:-100px!important;text-decoration:none!important;line-height:0!important;}
.section.red .fp-sticker-quote .fp-phone-art-link img{display:block;width:100%;height:auto;}
@media(max-width:760px){.section.red .fp-sticker-quote .fp-phone-art-link{top:-95px!important;width:min(86vw,490px);}}

/* Phone art as a compact secondary banner, centered in the existing gap.
   Both sticker images and their layout rules remain untouched. */
.section.red .fp-sticker-quote .fp-phone-art-link{
  position:absolute!important;left:50%!important;top:-174px!important;
  width:340px!important;max-width:calc(100vw - 80px)!important;
  height:auto!important;padding:0!important;margin:0!important;
  transform:translateX(-50%) rotate(2deg)!important;
  background:#fff!important;box-shadow:6px 7px 0 #202428!important;
  border:0!important;border-radius:0!important;overflow:visible!important;
  z-index:4!important;line-height:0!important;
}
.section.red .fp-sticker-quote .fp-phone-art-link img{
  display:block!important;width:100%!important;height:auto!important;
  object-fit:contain!important;filter:none!important;
}
@media(max-width:760px){
  .section.red .fp-sticker-quote .fp-phone-art-link{
    width:min(76vw,285px)!important;top:-151px!important;
    box-shadow:5px 6px 0 #202428!important;
  }
}

/* Final contact composition: experience sticker, quote sticker, then phone banner.
   The phone is a separate, centered tap-to-call element; never overlays artwork. */
.section.red .contact-preview{grid-template-columns:1fr!important;row-gap:0!important;}
.section.red .contact-preview .home-years-sticker{margin-top:44px!important;margin-bottom:0!important;}
.section.red .contact-preview .fp-sticker-quote{
  position:relative!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;gap:30px!important;
  width:100%!important;max-width:100%!important;
  margin:8px auto 0!important;padding:0!important;transform:none!important;
}
.section.red .contact-preview .fp-sticker-quote>img{
  display:block!important;width:min(100%,330px)!important;max-width:100%!important;
  height:auto!important;transform:rotate(-2deg)!important;
}
.section.red .fp-sticker-quote .fp-phone-art-link{
  position:relative!important;left:auto!important;top:auto!important;
  display:block!important;order:2!important;flex:0 0 auto!important;
  width:min(76%,340px)!important;max-width:calc(100% - 48px)!important;
  margin:0 auto!important;padding:0!important;
  transform:none!important;box-shadow:6px 7px 0 #202428!important;
  background:#fff!important;z-index:1!important;
}
.section.red .fp-sticker-quote .fp-phone-art-link img{display:block!important;width:100%!important;height:auto!important;}
@media(max-width:760px){
 .section.red .contact-preview .home-years-sticker{margin-top:36px!important;}
 .section.red .contact-preview .fp-sticker-quote{gap:26px!important;margin-top:4px!important;}
 .section.red .contact-preview .fp-sticker-quote>img{width:min(100%,280px)!important;}
 .section.red .fp-sticker-quote .fp-phone-art-link{width:min(76%,285px)!important;box-shadow:5px 6px 0 #202428!important;}
}


/* FARRELL / INDUSTRIAL EDITORIAL CONTENT PANELS — trial design.
   Headings, sticker artwork, imagery and page structure remain untouched. */
:root{--fp-panel-ink:#202428;--fp-panel-red:#c41938;--fp-panel-paper:#fdfdfc}
/* Home section descriptions and reviews: distinctive ruled editorial panels. */
.section .fp-intro-panel,
.reviews-page .fp-intro-panel{
  position:relative!important;
  box-sizing:border-box!important;
  background:var(--fp-panel-paper)!important;
  color:var(--fp-panel-ink)!important;
  border:0!important;
  border-top:5px solid var(--fp-panel-red)!important;
  border-bottom:1px solid #c6cbd0!important;
  border-left:0!important;
  border-radius:0!important;
  box-shadow:8px 9px 0 rgba(32,36,40,.12)!important;
  padding:clamp(26px,4vw,43px)!important;
  margin-bottom:28px!important;
}
.section .fp-intro-panel::before,
.reviews-page .fp-intro-panel::before{
  content:"";display:block;width:44px;height:5px;
  background:var(--fp-panel-ink);margin:0 0 20px;
}
/* Dark sections: a panel integrated with charcoal, not another white card. */
.section.dark .fp-intro-panel{
  background:#30353a!important;color:#f7f8f9!important;
  border-top-color:#d11d3d!important;border-bottom-color:#555c63!important;
  box-shadow:8px 9px 0 rgba(0,0,0,.25)!important;
}
.section.dark .fp-intro-panel::before{background:#e7edf1}
/* Red contact section: restrained off-white panel with charcoal rule. */
.section.red .fp-intro-panel{
  border-top-color:#202428!important;
  box-shadow:8px 9px 0 rgba(24,25,28,.22)!important;
}
.section.red .fp-intro-panel::before{background:#c41938}
/* Individual pages: align supporting paragraphs with the editorial language. */
.fp-unified-hero p:not(.eyebrow),
.page-intro p:not(.eyebrow){
  border-left:0!important;
  border-top:4px solid #c41938!important;
  border-bottom:1px solid rgba(125,135,143,.32)!important;
  background:rgba(255,255,255,.96)!important;
  color:#292e32!important;
  box-shadow:7px 8px 0 rgba(27,32,36,.12)!important;
  padding:clamp(20px,3vw,32px)!important;
  border-radius:0!important;
}
/* Service and contact cards: typographic editorial blocks, no generic red-topped cards. */
.detail-grid .detail,.contact-info .detail{
  background:#fcfcfb!important;
  border:0!important;
  border-top:5px solid #c41938!important;
  border-bottom:1px solid #cbd0d4!important;
  border-radius:0!important;
  box-shadow:7px 8px 0 rgba(32,36,40,.11)!important;
  padding:clamp(24px,4vw,42px)!important;
}
.detail-grid .detail::before,.contact-info .detail::before{
  content:"";display:block;width:42px;height:5px;
  background:#202428;margin:0 0 22px;
}
.detail-grid .detail b,.contact-info .detail b{
  color:#b81735!important;letter-spacing:.16em!important;
}
.detail-grid .detail h3,.contact-info .detail h3{
  font-weight:900!important;font-style:italic!important;
  line-height:1.06!important;letter-spacing:-.025em!important;
}
/* Secondary page copy: quieter open editorial treatment. */
.section .preview-copy>p:not(.fp-intro-panel){
  border-left:0!important;
  border-top:4px solid #c41938!important;
  border-bottom:1px solid rgba(32,36,40,.16)!important;
  background:rgba(255,255,255,.93)!important;
  box-shadow:6px 7px 0 rgba(32,36,40,.10)!important;
  border-radius:0!important;
  padding:clamp(22px,3.5vw,34px)!important;
}
.reviews-coming{
  border:0!important;border-top:5px solid #202428!important;
  border-bottom:1px solid #cbd0d4!important;border-radius:0!important;
  box-shadow:7px 8px 0 rgba(32,36,40,.12)!important;
}
@media(max-width:760px){
  .section .fp-intro-panel,.reviews-page .fp-intro-panel{
    padding:26px 25px!important;margin-bottom:25px!important;
    box-shadow:6px 7px 0 rgba(32,36,40,.13)!important;
  }
  .section .fp-intro-panel::before,.reviews-page .fp-intro-panel::before{margin-bottom:15px}
  .detail-grid .detail,.contact-info .detail{padding:27px 24px!important}
}

/* OPEN EDITORIAL REDESIGN: remove the panel/card metaphor altogether. */
.section .fp-intro-panel,.reviews-page .fp-intro-panel,
.section .preview-copy>p:not(.fp-intro-panel),
.fp-unified-hero p:not(.eyebrow),.page-intro p:not(.eyebrow){
  background:transparent!important;box-shadow:none!important;
  border:0!important;border-radius:0!important;
  color:inherit!important;padding:0!important;
  margin:0 0 24px!important;max-width:660px!important;
  font-size:clamp(17px,2.05vw,23px)!important;
  line-height:1.58!important;font-weight:400!important;
}
.section .fp-intro-panel::before,.reviews-page .fp-intro-panel::before{content:none!important;display:none!important}
.fp-editorial-copy{position:relative;max-width:700px;margin:30px 0 22px;padding:0 0 0 22px;border-left:4px solid #c41938}
.fp-editorial-copy .fp-editorial-kicker{display:block;margin:0 0 12px;font-size:12px;line-height:1.3;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#b91835}
.fp-editorial-copy .fp-intro-panel{margin:0!important}
.section.dark .fp-editorial-copy,.section.red .fp-editorial-copy{border-left-color:#f2f4f6}
.section.dark .fp-editorial-kicker,.section.red .fp-editorial-kicker{color:#fff}
.section.dark .fp-editorial-copy .fp-intro-panel,.section.red .fp-editorial-copy .fp-intro-panel{color:#fff!important}
.section.light .fp-editorial-copy .fp-intro-panel,.section.pale .fp-editorial-copy .fp-intro-panel,.section.reviews-preview .fp-editorial-copy .fp-intro-panel{color:#292d30!important}
/* Service and contact details: open rows separated by strong industrial rules. */
.detail-grid .detail,.contact-info .detail{
 background:transparent!important;box-shadow:none!important;border:0!important;
 border-top:2px solid #24282c!important;border-radius:0!important;
 padding:24px 8px 28px 0!important;margin:0!important;
}
.detail-grid .detail::before,.contact-info .detail::before{content:none!important;display:none!important}
.detail-grid .detail b,.contact-info .detail b{display:block;margin-bottom:12px!important;color:#b91835!important;font-size:12px!important;letter-spacing:.16em!important}
.detail-grid .detail h3,.contact-info .detail h3{font-size:clamp(24px,3.1vw,38px)!important;line-height:1.1!important;margin:0 0 12px!important}
.detail-grid .detail p,.contact-info .detail p{max-width:52ch;line-height:1.55!important}
.reviews-coming{background:transparent!important;border:0!important;border-top:2px solid #22272b!important;box-shadow:none!important;padding:24px 0!important}
@media(max-width:760px){
 .fp-editorial-copy{margin:24px 0 25px!important;padding-left:18px!important}
 .fp-editorial-copy .fp-editorial-kicker{font-size:11px!important;margin-bottom:10px!important}
 .section .fp-intro-panel,.reviews-page .fp-intro-panel{padding:0!important;margin:0!important;box-shadow:none!important}
 .detail-grid .detail,.contact-info .detail{padding:24px 0 28px!important}
}

/* APPROVED CONTENT ORDER + GENUINELY OPEN TEXT — final cascade */
.section .fp-intro-panel,.reviews-page .fp-intro-panel,
.section .preview-copy > p:not(.eyebrow),
.fp-unified-hero p:not(.eyebrow),.page-intro p:not(.eyebrow){
 display:block!important;position:static!important;order:initial;
 background:none!important;background-color:transparent!important;
 box-shadow:none!important;border:0!important;outline:0!important;
 border-radius:0!important;padding:0!important;
 margin:0 0 24px!important;color:inherit!important;
 max-width:66ch!important;font-size:clamp(17px,2vw,22px)!important;
 line-height:1.55!important;font-weight:400!important;
}
.section .fp-intro-panel::before,.section .fp-intro-panel::after,
.reviews-page .fp-intro-panel::before,.reviews-page .fp-intro-panel::after{display:none!important;content:none!important}
.section.light .fp-intro-panel,.section.pale .fp-intro-panel,.section.reviews-preview .fp-intro-panel{color:#292d30!important}
.section.dark .fp-intro-panel,.section.red .fp-intro-panel{color:#fff!important}
/* Keep approved heading artwork and eyebrow above the supporting copy. */
@media(max-width:760px){
 .section.light .preview,.section.pale .preview{display:flex!important;flex-direction:column!important;gap:0!important;row-gap:0!important;align-items:stretch!important}
 .section.light .preview-copy,.section.pale .preview-copy{display:contents!important}
 .section.light .preview-copy>.eyebrow,.section.pale .preview-copy>.eyebrow{order:0!important;align-self:stretch!important;margin:0 0 16px!important;position:relative!important;top:auto!important;transform:none!important}
 .section.light .preview-copy>.master-heading,.section.pale .preview-copy>.master-heading{order:1!important;align-self:stretch!important;margin:0 0 30px!important;position:relative!important;top:auto!important}
 .section.light .preview>.preview-image,.section.pale .preview>.preview-image{order:2!important;margin:0 0 28px!important;width:100%!important;align-self:stretch!important}
 .section.light .preview-copy>.fp-intro-panel,.section.pale .preview-copy>.fp-intro-panel{order:3!important;align-self:stretch!important;margin:0 0 24px!important;padding:0!important}
 .section.light .preview-copy>.link,.section.pale .preview-copy>.link{order:4!important;align-self:flex-start!important;margin:0!important}
 .section.dark .fp-intro-panel,.section.reviews-preview .fp-intro-panel,.section.red .fp-intro-panel{margin:22px 0 25px!important}
}

/* SITEWIDE OPEN COPY SYSTEM — consistent across every page and section.
   Text belongs to the section, never to a white card. Preserve headings,
   photo frames, CTA links, stickers, and decorative section corner accents. */
:where(.section, .page-intro, .fp-unified-hero) .fp-intro-panel,
:where(.section, .page-intro, .fp-unified-hero) .preview-copy > p,
:where(.section, .page-intro, .fp-unified-hero) > .container > p:not(.eyebrow),
.fp-unified-hero .container > p:not(.eyebrow),
.page-intro .container > p:not(.eyebrow),
.reviews-page .fp-intro-panel,
.reviews-coming {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  max-width:66ch;
}
/* Override earlier high-specificity card declarations. */
.section .fp-intro-panel,.reviews-page .fp-intro-panel,
.section .preview-copy > p:not(.eyebrow),
.fp-unified-hero p:not(.eyebrow),.page-intro p:not(.eyebrow),
.section .container > p:not(.eyebrow),
.section .preview-copy > p:not(.fp-intro-panel):not(.eyebrow) {
  background:transparent!important;background-image:none!important;
  border:0!important;outline:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0!important;
}
.section .fp-intro-panel::before,.section .fp-intro-panel::after,
.reviews-page .fp-intro-panel::before,.reviews-page .fp-intro-panel::after,
.section .preview-copy > p::before,.section .preview-copy > p::after {
  content:none!important;display:none!important;
}
/* Service and contact detail blocks: open typographic rows, not cards. */
.detail-grid .detail,.contact-info .detail,
.section .detail-grid .detail,.section .contact-info .detail {
  background:transparent!important;background-image:none!important;
  box-shadow:none!important;border:0!important;border-radius:0!important;
  border-top:2px solid currentColor!important;
  padding:22px 0 26px!important;margin:0!important;
}
.detail-grid .detail::before,.detail-grid .detail::after,
.contact-info .detail::before,.contact-info .detail::after {
  content:none!important;display:none!important;
}
.detail-grid .detail p,.contact-info .detail p {
  background:transparent!important;border:0!important;
  box-shadow:none!important;padding:0!important;
}
.reviews-coming {border-top:2px solid currentColor!important;padding:22px 0!important}
/* No nested editorial wrapper or leftover decorative kicker. */
.fp-editorial-copy {border:0!important;padding:0!important;margin:0!important}
.fp-editorial-copy .fp-editorial-kicker {display:none!important}
@media(max-width:760px){
  .section .fp-intro-panel,.reviews-page .fp-intro-panel,
  .section .preview-copy > p:not(.eyebrow),
  .fp-unified-hero p:not(.eyebrow),.page-intro p:not(.eyebrow) {
    padding:0!important;margin-bottom:24px!important;
    font-size:clamp(17px,4.3vw,22px)!important;
    line-height:1.55!important;
  }
  .detail-grid .detail,.contact-info .detail {padding:22px 0 26px!important}
}

/* CONTACT SECTION — approved streamlined sequence, mobile and desktop */
.section.red .contact-preview{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;grid-template-columns:none!important}
.section.red .contact-preview>div:first-child{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important}
.section.red .contact-preview .fp-intro-panel,.section.red .contact-preview .home-years-sticker{display:none!important}
.section.red .contact-preview .master-heading{margin-bottom:28px!important}
.section.red .contact-preview .btn.dark{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;margin:0 auto!important;box-sizing:border-box!important}
.section.red .contact-preview .fp-sticker-quote{display:flex!important;flex-direction:column!important;align-items:center!important;gap:26px!important;margin:34px auto 0!important;width:100%!important;max-width:100%!important;padding:0!important;position:relative!important;transform:none!important}
.section.red .contact-preview .fp-sticker-quote>img{display:block!important;width:min(82%,360px)!important;max-width:100%!important;height:auto!important;transform:rotate(-2deg)!important;object-fit:contain!important}
.section.red .contact-preview .fp-sticker-quote .fp-phone-art-link{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;order:2!important;display:block!important;width:min(76%,340px)!important;max-width:100%!important;margin:0 auto!important;padding:0!important;background:#fff!important;box-shadow:7px 8px 0 #202428!important;line-height:0!important;z-index:2!important}
.section.red .contact-preview .fp-phone-art-link img{display:block!important;width:100%!important;height:auto!important}
@media(max-width:760px){
.section.red .contact-preview .master-heading{margin-bottom:26px!important}
.section.red .contact-preview .fp-sticker-quote{margin-top:34px!important;gap:28px!important}
.section.red .contact-preview .fp-sticker-quote>img{width:min(82%,300px)!important}
.section.red .contact-preview .fp-sticker-quote .fp-phone-art-link{width:min(76%,285px)!important;box-shadow:5px 6px 0 #202428!important}
}

/* Contact section refinement: straight quote artwork and email CTA */
.section.red .contact-preview .fp-sticker-quote>img{transform:none!important;rotate:none!important}
.section.red .contact-preview .fp-email-us{letter-spacing:.065em!important;font-weight:800!important}
@media(max-width:760px){.section.red .contact-preview .fp-sticker-quote>img{transform:none!important}}

/* Family-owned sticker relocated to homepage hero, after intro copy. */
.hero-copy .fp-sticker-family{margin:22px auto 24px!important;max-width:300px!important;padding:0 10px!important;transform:none!important;}
.hero-copy .fp-sticker-family img{width:100%!important;height:auto!important;}
@media(max-width:760px){.hero-copy .fp-sticker-family{max-width:270px!important;margin:22px auto 24px!important;padding:0 8px!important;}}

/* Copy review: open services introduction, no card treatment */
.fp-services-copy-intro{max-width:920px;margin:0 auto 32px;padding:0 16px;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit;line-height:1.65}.fp-services-copy-intro p{margin:0 0 16px;background:transparent!important;border:0!important;box-shadow:none!important}

/* INTERIOR PAGE VISUAL FIXES — Contact, Work, Services */
/* Contact uses the approved Contact Us artwork, not the older Contact banner. */
.page-intro.fp-page-contact h1.fp-unified-banner,
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner{aspect-ratio:2172/572!important;background:#000!important}
.page-intro.fp-page-contact h1.fp-unified-banner img{width:100%!important;height:100%!important;object-fit:fill!important;aspect-ratio:2172/572!important}
/* Work introduction is open typography on charcoal, never a white card. */
.page-intro.fp-unified-hero.fp-page-work .container>p,
.page-intro.fp-page-work .container>p:not(.eyebrow){
 background:transparent!important;background-color:transparent!important;
 color:#f3f5f6!important;border:0!important;box-shadow:none!important;
 padding:0!important;margin:0!important;max-width:660px!important;
 line-height:1.5!important;
}
/* Bring Services page introduction and service descriptions together. */
.page-intro.fp-unified-hero.fp-page-services{padding-bottom:24px!important}
.page-intro.fp-page-services h1.fp-unified-banner{margin-bottom:24px!important}
.page-intro.fp-page-services .container>p:not(.eyebrow){margin:0!important;padding:0!important}
.page-intro.fp-page-services + .section.pale{padding-top:30px!important}
.page-intro.fp-page-services + .section.pale .fp-services-copy-intro{margin:0 0 28px!important;padding:0!important}
.page-intro.fp-page-services + .section.pale .fp-services-copy-intro p{margin:0 0 14px!important}
@media(max-width:760px){
 .page-intro.fp-unified-hero.fp-page-services{padding-bottom:12px!important}
 .page-intro.fp-page-services h1.fp-unified-banner{margin-bottom:22px!important}
 .page-intro.fp-page-services + .section.pale{padding-top:22px!important}
 .page-intro.fp-page-services + .section.pale .fp-services-copy-intro{margin-bottom:24px!important}
 .page-intro.fp-page-work .container>p:not(.eyebrow){font-size:clamp(17px,4.3vw,22px)!important}
}

/* Restore the approved two-tone homepage hero headline. */
.hero-copy h1 .fp-hero-headline-dark{color:#1d2226!important;display:block;}
.hero-copy h1 .fp-hero-headline-red{color:#c71935!important;display:block;}

/* Farrell Plumbing customer testimonials: editorial quotes and original review evidence */
.reviews-page .fp-review-intro{max-width:760px;font-size:clamp(19px,2.4vw,27px);line-height:1.55;margin:20px 0 44px;color:#33383d}
.fp-review-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;margin:28px 0 72px}
.fp-review-quote{border-top:2px solid #202428;padding:27px 0 34px;min-width:0;background:transparent!important;box-shadow:none!important}
.fp-review-quote:first-child{grid-column:1/-1;border-top:6px solid #c71935;padding-top:28px}
.fp-review-stars{color:#c71935;font-size:23px;letter-spacing:4px;font-weight:900}
.fp-review-quote blockquote{margin:17px 0 26px;padding:0;border:0;color:#202428;font-size:clamp(23px,3.4vw,40px);line-height:1.2;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.035em}
.fp-review-quote:first-child blockquote{font-size:clamp(32px,5vw,60px);max-width:900px}
.fp-review-by{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.fp-review-by strong{color:#b90d2d;font-size:15px}.fp-review-by span{color:#5d646b;line-height:1.5}
.fp-proof-heading{border-top:7px solid #c71935;padding-top:25px;margin-bottom:30px}
.fp-proof-heading>span{font-size:13px;font-weight:900;letter-spacing:.2em;color:#c71935}
.fp-proof-heading h2{font-size:clamp(29px,5vw,55px);font-style:italic;line-height:1.07;margin:14px 0!important;color:#202428}
.fp-proof-heading p{font-size:18px;line-height:1.55;max-width:700px}
.fp-review-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.fp-review-proof{margin:0;min-width:0;padding:12px;background:#fff;border:1px solid #d9dce0;box-shadow:9px 10px 0 #202428}
.fp-review-proof img{display:block;width:100%;height:auto;object-fit:contain}
.fp-review-proof figcaption{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#555;padding:12px 2px 2px}
.fp-review-actions{margin:65px 0 20px}
.reviews-preview .fp-home-review{margin:20px 0 26px;border-left:5px solid #c71935;padding:8px 0 8px 21px;background:transparent;box-shadow:none}
.reviews-preview .fp-home-review .fp-review-stars{font-size:18px}
.reviews-preview .fp-home-review blockquote{font-size:clamp(23px,3vw,36px);font-weight:900;font-style:italic;line-height:1.18;margin:12px 0;color:#202428}
.reviews-preview .fp-home-review cite{font-style:normal;font-size:13px;font-weight:800;letter-spacing:.12em;color:#b90d2d}
@media(max-width:760px){.fp-review-quotes,.fp-review-proof-grid{grid-template-columns:1fr;gap:0}.fp-review-quote:first-child{grid-column:auto}.fp-review-quote blockquote,.fp-review-quote:first-child blockquote{font-size:clamp(26px,7vw,39px)}.fp-review-proof{margin-bottom:27px;box-shadow:6px 7px 0 #202428}.reviews-page .fp-review-intro{margin-bottom:30px}.fp-review-quotes{margin-bottom:50px}.fp-review-actions{margin-top:30px}}

/* 2026-10-30: single Testimonials corner and wider footer branding */
.section.reviews-page::before{content:none!important;display:none!important;border:0!important;}
.section.reviews-page::after{content:""!important;display:block!important;position:absolute!important;top:32px!important;right:max(24px,calc((100vw - 1160px)/2))!important;left:auto!important;width:clamp(94px,22vw,170px)!important;height:24px!important;border:0!important;border-top:5px solid #d18b99!important;border-right:5px solid #d18b99!important;background:none!important;transform:none!important;pointer-events:none!important;}
.footer .container>a:first-child{display:block;flex:0 0 auto;max-width:100%;}
.footer .container>a:first-child img{display:block;width:360px;max-width:100%;height:auto;object-fit:contain;}
@media(max-width:760px){
 .section.reviews-page::after{top:32px!important;right:24px!important;width:94px!important;height:24px!important;}
 .footer .container>a:first-child{width:min(100%,440px)!important;}
 .footer .container>a:first-child img{width:100%!important;max-width:100%!important;height:auto!important;}
}

/* Mobile navigation reliability: place the expanded menu above page art and overlays. */
@media (max-width:650px) {
 body > .site-head, .site-head { position:relative!important; z-index:9999!important; overflow:visible!important; }
 .site-head .container { overflow:visible!important; }
 .site-head .menu-toggle { position:relative!important; z-index:10002!important; pointer-events:auto!important; touch-action:manipulation; }
 .site-head .nav { position:absolute!important; top:100%!important; left:0!important; right:0!important; z-index:10001!important; background:#fff!important; box-shadow:0 16px 26px #0004!important; padding:12px 22px 20px!important; flex-direction:column!important; align-items:stretch!important; gap:0!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; display:none!important; }
 .site-head .nav.open { display:flex!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important; }
 .site-head .nav a { display:block!important; padding:13px 10px!important; color:#202428!important; font-size:15px!important; border-bottom:1px solid #e5e5e5; }
 .site-head .nav a[aria-current=page] { color:#c51e32!important; }
 .site-head .nav a.call { color:#fff!important; }
}


/* FIRST FULL-BUILD AUDIT: integrated interior pages, one reviews corner. */
.page-intro.fp-integrated-page {
  padding:clamp(44px,6vw,76px) 0 clamp(48px,6vw,78px)!important;
}
.page-intro.fp-integrated-page .container {
  display:block!important;
}
.page-intro.fp-integrated-page .eyebrow {
  margin-bottom:24px!important;
}
.page-intro.fp-integrated-page h1.fp-unified-banner {
  margin-bottom:26px!important;
}
.page-intro.fp-integrated-page .container > p:not(.eyebrow) {
  margin:0!important;
  max-width:760px!important;
}
.fp-integrated-content {
  position:relative;
  z-index:2;
  margin-top:32px;
}
.fp-integrated-content::before,
.fp-integrated-content::after,
.fp-integrated-content .container::before,
.fp-integrated-content .container::after {content:none!important;display:none!important;}
.fp-integrated-content .preview,
.fp-integrated-content .preview-copy {
  display:block!important;
}
.fp-integrated-content .preview-image {
  margin:0 0 24px!important;
}
.fp-integrated-content .preview-copy .eyebrow {
  margin:0 0 12px!important;
}
.fp-integrated-content .preview-copy h2 {
  margin:0 0 24px!important;
}
.fp-integrated-content .preview-copy p {
  margin:0 0 18px!important;
}
.fp-integrated-content .fp-services-copy-intro {
  max-width:760px!important;
  margin:0 0 32px!important;
}
.fp-integrated-content .fp-services-copy-intro p {
  margin:0 0 18px!important;
}
.fp-integrated-content .gallery {
  margin-top:0!important;
}
.fp-integrated-content .contact-info {
  margin-top:0!important;
}
.fp-page-about.fp-integrated-page .fp-integrated-content,
.fp-page-services.fp-integrated-page .fp-integrated-content,
.fp-page-contact.fp-integrated-page .fp-integrated-content {
  border-top:3px solid #c71935;
  padding-top:28px;
}
.fp-page-work.fp-integrated-page .fp-integrated-content {
  border-top:3px solid #aeb8c0;
  padding-top:28px;
}
.fp-page-work.fp-integrated-page .gallery figure {
  background:#fff;
}
.fp-page-about.fp-integrated-page .preview-copy .line-ornament {
  display:none!important;
}
.section.reviews-page::before,
.section.reviews-page::after,
.section.reviews-page > .container::before,
.section.reviews-page > .container::after,
.section.reviews-page .eyebrow::before,
.section.reviews-page .eyebrow::after {
  content:none!important;
  display:none!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.section.reviews-page .fp-single-review-corner {
  position:absolute!important;
  z-index:3!important;
  display:block!important;
  top:32px!important;
  right:max(24px,calc((100vw - 1160px)/2))!important;
  width:clamp(94px,22vw,170px)!important;
  height:24px!important;
  border-top:5px solid #d18b99!important;
  border-right:5px solid #d18b99!important;
  pointer-events:none!important;
}
@media(max-width:760px) {
  .page-intro.fp-integrated-page {padding:56px 0 54px!important;}
  .page-intro.fp-integrated-page h1.fp-unified-banner {margin-bottom:26px!important;}
  .fp-integrated-content {margin-top:28px!important;}
  .fp-integrated-content .preview-image {margin-bottom:22px!important;}
  .fp-integrated-content .detail-grid {display:block!important;}
  .fp-integrated-content .detail-grid .detail {margin-bottom:22px!important;}
  .fp-integrated-content .contact-info {display:block!important;}
  .fp-integrated-content .contact-info .detail {margin-bottom:30px!important;}
  .fp-integrated-content .gallery {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .section.reviews-page .fp-single-review-corner {
    top:32px!important;right:24px!important;width:94px!important;height:24px!important;
  }
}

/* ABOUT US: founder portrait, integrated editorial layout */
.fp-page-about .fp-about-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(32px,5vw,70px)}
.fp-page-about .fp-about-story-copy{min-width:0}
.fp-page-about .fp-about-story-copy .eyebrow{margin-bottom:20px}
.fp-page-about .fp-about-story-copy h2{font-size:clamp(32px,4.3vw,66px);line-height:1.02;font-style:italic;font-weight:900;letter-spacing:-.035em;margin:0 0 26px;color:#202326}
.fp-page-about .fp-about-story-copy h2 span{color:#c51938}
.fp-page-about .fp-about-story-copy p{font-size:clamp(17px,1.6vw,22px);line-height:1.65;margin:0 0 20px;max-width:60ch}
.fp-page-about .fp-about-story-copy .link{display:inline-block;margin-top:8px}
.fp-page-about .fp-about-portrait{margin:0;position:relative;min-width:0}
.fp-page-about .fp-about-portrait:after{content:'';position:absolute;z-index:0;left:14px;right:-12px;top:14px;bottom:34px;background:#bd1734}
.fp-page-about .fp-about-portrait img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%;filter:none}
.fp-page-about .fp-about-portrait figcaption{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;background:#202326;color:#fff;font-size:14px;font-weight:900;letter-spacing:.1em;padding:15px 18px}
.fp-page-about .fp-about-portrait figcaption span{font-size:11px;font-weight:700;color:#d4d8da}
.fp-page-about .fp-about-truck{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(20px,4vw,60px);margin-top:clamp(46px,7vw,95px);padding-top:clamp(24px,4vw,50px);border-top:4px solid #c51938}
.fp-page-about .fp-about-truck img{width:100%;height:clamp(230px,29vw,430px);object-fit:cover;display:block}
.fp-page-about .fp-about-truck span{font-weight:900;font-style:italic;font-size:clamp(25px,3.5vw,48px);line-height:1.1;display:block}
.fp-page-about .fp-about-truck p{font-size:clamp(17px,1.5vw,22px);line-height:1.55;margin:15px 0 0}
@media(max-width:760px){
.fp-page-about .fp-about-story{display:flex;flex-direction:column;align-items:stretch;gap:30px;margin-top:34px}
.fp-page-about .fp-about-story-copy h2{font-size:clamp(31px,8vw,48px);margin-bottom:24px}
.fp-page-about .fp-about-story-copy p{font-size:18px;line-height:1.58;margin-bottom:18px}
.fp-page-about .fp-about-portrait{width:calc(100% - 12px)}
.fp-page-about .fp-about-portrait img{aspect-ratio:4/4.5;object-position:center 32%}
.fp-page-about .fp-about-truck{grid-template-columns:1fr;gap:20px;margin-top:46px;padding-top:26px}
.fp-page-about .fp-about-truck img{height:auto;aspect-ratio:16/10;object-fit:cover}
.fp-page-about .fp-about-truck span{font-size:30px}
}

/* OCT 30: About, Services and Work mobile editorial polish */
/* Founder portrait: visually lead the story, without overpowering it. */
@media(max-width:760px){
 .fp-page-about .fp-about-story{display:flex!important;flex-direction:column!important;gap:20px!important;margin-top:24px!important;align-items:stretch!important}
 .fp-page-about .fp-about-portrait{order:0!important;width:min(78%,360px)!important;align-self:center!important;margin:0 auto 10px!important}
 .fp-page-about .fp-about-portrait img{width:100%!important;aspect-ratio:4/4.15!important;object-fit:cover!important;object-position:center 27%!important}
 .fp-page-about .fp-about-portrait:after{left:9px!important;right:-9px!important;top:9px!important;bottom:30px!important}
 .fp-page-about .fp-about-portrait figcaption{padding:12px 14px!important;font-size:12px!important;letter-spacing:.07em!important;gap:4px 10px!important}
 .fp-page-about .fp-about-story-copy{order:1!important}
 .fp-page-about .fp-about-story-copy h2{margin-bottom:18px!important}
 .fp-page-about .fp-about-story-copy p{margin-bottom:14px!important}
}
/* Compact facts: simple rows instead of giant white tiles. */
.fp-page-about + .section.pale{padding-top:32px!important;padding-bottom:36px!important}
.fp-page-about + .section.pale .facts{gap:0!important;margin:0!important}
.fp-page-about + .section.pale .fact{background:transparent!important;box-shadow:none!important;border-left:0!important;border-top:2px solid #bfc6cb!important;padding:16px 8px!important;min-height:0!important}
.fp-page-about + .section.pale .fact:first-child{border-top:3px solid #c51938!important}
.fp-page-about + .section.pale .fact strong{font-size:clamp(22px,3vw,28px)!important;line-height:1.15!important;margin-bottom:4px!important}
.fp-page-about + .section.pale .fact span{font-size:13px!important;line-height:1.3!important}
@media(max-width:760px){
 .fp-page-about.fp-integrated-page{padding-bottom:24px!important}
 .fp-page-about + .section.pale{padding-top:14px!important;padding-bottom:24px!important}
 .fp-page-about + .section.pale .facts{display:grid!important;grid-template-columns:1fr!important}
 .fp-page-about + .section.pale .fact{padding:12px 4px!important}
}
/* Services: let service names speak, and remove excess vertical breathing room. */
.fp-page-services .detail-grid .detail > b{display:none!important}
.fp-page-services .detail-grid{gap:0!important;row-gap:0!important;margin-top:14px!important}
.fp-page-services .detail-grid .detail{padding:18px 0 19px!important;margin:0!important;min-height:0!important;border-top:2px solid #aab2b8!important}
.fp-page-services .detail-grid .detail h3{margin:0 0 10px!important;line-height:1.12!important}
.fp-page-services .detail-grid .detail h3::after{margin-top:12px!important;margin-bottom:0!important}
.fp-page-services .detail-grid .detail p{margin:10px 0 0!important;line-height:1.5!important}
@media(max-width:760px){
 .fp-page-services .fp-integrated-content .detail-grid .detail{padding:17px 0 18px!important;margin:0!important}
 .fp-page-services .detail-grid .detail h3{font-size:clamp(25px,6.4vw,35px)!important}
 .fp-page-services .detail-grid .detail p{font-size:17px!important}
 .fp-page-services.fp-integrated-page{padding-bottom:32px!important}
}
/* Work: actual photographs, not Polaroid-style frames with empty bottoms. */
.fp-page-work .fp-integrated-content .gallery.curated-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:start!important}
.fp-page-work .fp-integrated-content .gallery.curated-gallery figure{display:block!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;min-width:0!important;height:auto!important;align-self:start!important}
.fp-page-work .fp-integrated-content .gallery.curated-gallery img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border:0!important;box-shadow:none!important}
.fp-page-work .fp-integrated-content .gallery.curated-gallery figcaption{display:block!important;padding:9px 0 0!important;margin:0!important;color:#e9edf0!important;font-size:11px!important;line-height:1.35!important;letter-spacing:.06em!important;background:transparent!important}
.fp-page-work .fp-integrated-content .gallery.curated-gallery figcaption span{opacity:.6!important}
@media(max-width:760px){
 .fp-page-work .fp-integrated-content .gallery.curated-gallery{grid-template-columns:1fr!important;gap:25px!important}
 .fp-page-work .fp-integrated-content .gallery.curated-gallery figcaption{font-size:12px!important;padding-top:9px!important}
 .fp-page-work.fp-integrated-page{padding-bottom:36px!important}
}

/* DESIGN LAB ONLY: small founder portrait over hero truck; baseline remains untouched. */
.hero .hero-media{position:relative!important;isolation:isolate;}
.hero .hero-media .fp-hero-founder{
  position:absolute!important;z-index:8!important;display:block!important;
  width:clamp(112px,13vw,174px)!important;height:clamp(126px,15vw,198px)!important;
  right:8%!important;bottom:9%!important;
  object-fit:cover!important;object-position:center 24%!important;
  border:4px solid #fff!important;border-radius:2px!important;
  box-shadow:7px 7px 0 #c71935,0 10px 22px #10182055!important;
  opacity:1!important;mix-blend-mode:normal!important;transform:none!important;
  max-width:none!important;
}
@media(max-width:760px){
  .hero .hero-media .fp-hero-founder{
    width:105px!important;height:123px!important;right:6%!important;bottom:14%!important;
    border-width:3px!important;box-shadow:5px 5px 0 #c71935,0 5px 14px #10182055!important;
  }
}
@media(max-width:380px){.hero .hero-media .fp-hero-founder{width:92px!important;height:108px!important;right:5%!important;}}

/* DESIGN LAB: natural-sized customer reviews, no oversized testimonial billboard. */
.reviews-page .fp-review-intro{font-size:clamp(16px,1.5vw,19px)!important;line-height:1.55!important;margin:14px 0 24px!important;max-width:680px!important}
.reviews-page .fp-review-quotes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 28px!important;margin:18px 0 40px!important}
.reviews-page .fp-review-quote,.reviews-page .fp-review-quote:first-child{grid-column:auto!important;border-top:1px solid #aeb5bb!important;padding:19px 0 22px!important}
.reviews-page .fp-review-quote:first-child{border-top:2px solid #c71935!important}
.reviews-page .fp-review-stars{font-size:16px!important;letter-spacing:2px!important;line-height:1.2!important}
.reviews-page .fp-review-quote blockquote,.reviews-page .fp-review-quote:first-child blockquote{font-size:clamp(17px,1.8vw,23px)!important;line-height:1.4!important;font-style:normal!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.01em!important;margin:11px 0 13px!important;max-width:none!important}
.reviews-page .fp-review-by{gap:3px!important;letter-spacing:.025em!important;font-size:11px!important}
.reviews-page .fp-review-by strong{font-size:12px!important}
.reviews-page .fp-review-by span{font-size:11px!important;line-height:1.4!important}
.reviews-page .fp-proof-heading{margin-top:24px!important}
@media(max-width:760px){
 .reviews-page .fp-review-quotes{grid-template-columns:1fr!important;gap:0!important;margin:15px 0 30px!important}
 .reviews-page .fp-review-quote,.reviews-page .fp-review-quote:first-child{padding:17px 0 19px!important}
 .reviews-page .fp-review-quote blockquote,.reviews-page .fp-review-quote:first-child blockquote{font-size:19px!important;line-height:1.4!important}
 .reviews-page .fp-review-stars{font-size:15px!important}
 .reviews-page .fp-review-intro{font-size:17px!important;margin-bottom:21px!important}
}
/* The founder image remains only on About; remove experimental hero portrait rules. */
.hero .hero-media .fp-hero-founder{display:none!important}

/* DESIGN LAB: homepage hero and contact spacing refinements */
.hero .hero-copy{padding-bottom:clamp(20px,3vw,34px)!important}
.hero .hero-copy .fp-sticker-family{margin:16px auto 4px!important}
.section.light .fp-services-page-link{display:inline-block!important;margin-top:18px!important;font-weight:800!important}
.section.red .contact-preview .master-heading{margin-bottom:18px!important}
.section.red .contact-preview .fp-sticker-quote{margin-top:22px!important;gap:16px!important}
.section.red .contact-preview .fp-sticker-quote>img{width:min(72%,265px)!important}
.section.red .contact-preview .fp-sticker-quote .fp-phone-art-link{width:min(72%,265px)!important}
@media(max-width:760px){
 .hero .hero-copy{padding-top:24px!important;padding-bottom:22px!important}
 .hero .hero-copy .fp-sticker-family{margin:14px auto 0!important;max-width:235px!important}
 .section.red{padding-top:42px!important;padding-bottom:38px!important}
 .section.red .contact-preview .master-heading{margin-bottom:18px!important}
 .section.red .contact-preview .fp-sticker-quote{margin-top:22px!important;gap:18px!important}
 .section.red .contact-preview .fp-sticker-quote>img{width:min(75%,260px)!important}
 .section.red .contact-preview .fp-sticker-quote .fp-phone-art-link{width:min(72%,255px)!important}
}

/* DESIGN LAB: ensure homepage CTA edits apply to both index.html and home.html. */
.hero .hero-copy .actions,.hero .hero-copy .hero-actions{display:none!important}
.section.light .preview-copy .fp-services-page-link{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:static!important;align-self:flex-start!important;margin:20px 0 0!important;padding:0 0 5px!important;border-bottom:2px solid #c71935!important;color:#202528!important;text-decoration:none!important;font-size:14px!important;font-weight:850!important;letter-spacing:.035em!important;line-height:1.45!important}
.section.light .preview-copy .fp-services-page-link:hover{color:#c71935!important}
/* Service headings: numbered editorial rhythm, without introducing oversized cards. */
.fp-page-services .detail-grid{counter-reset:fp-service!important}
.fp-page-services .detail-grid .detail{counter-increment:fp-service!important;position:relative!important;padding-left:54px!important;border-top:1px solid #aeb6bd!important}
.fp-page-services .detail-grid .detail::before{content:counter(fp-service, decimal-leading-zero);position:absolute;left:0;top:20px;color:#c71935;font-weight:900;font-size:19px;letter-spacing:-.04em;font-style:italic;line-height:1}
.fp-page-services .detail-grid .detail h3{letter-spacing:-.035em!important;max-width:680px!important}
.fp-page-services .detail-grid .detail h3::after{width:38px!important;height:3px!important;margin-top:11px!important}
@media(max-width:760px){.fp-page-services .detail-grid .detail{padding-left:43px!important;padding-top:19px!important;padding-bottom:21px!important}.fp-page-services .detail-grid .detail::before{top:22px!important;font-size:16px!important}.fp-page-services .detail-grid .detail h3{font-size:clamp(24px,6.1vw,33px)!important;line-height:1.12!important}.fp-page-services .detail-grid .detail p{font-size:16px!important;line-height:1.5!important}}

/* Match the homepage Services CTA to the other red section links. */
.section.light .preview-copy .fp-services-page-link, .preview-copy .fp-services-page-link{color:#c71935!important;border-bottom-color:#c71935!important}

/* Design Lab: slim supplied service banners, no redundant heading decoration */
.fp-page-services .detail-grid .detail{padding-left:0!important;padding-top:17px!important;padding-bottom:19px!important}
.fp-page-services .detail-grid .detail::before{display:none!important;content:none!important}
.fp-page-services .detail-grid .detail h3{display:block!important;max-width:none!important;margin:0 0 12px!important;padding:0!important;line-height:0!important;font-size:0!important;letter-spacing:normal!important}
.fp-page-services .detail-grid .detail h3::before,.fp-page-services .detail-grid .detail h3::after{display:none!important;content:none!important}
.fp-page-services .detail-grid .detail .fp-service-banner{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;box-shadow:5px 5px 0 #262b2e!important;border-radius:0!important}
.fp-page-services .detail-grid .detail p{margin:16px 0 0!important}
@media(max-width:600px){.fp-page-services .detail-grid .detail{padding-top:16px!important;padding-bottom:20px!important}.fp-page-services .detail-grid .detail .fp-service-banner{box-shadow:4px 4px 0 #25292c!important}.fp-page-services .detail-grid .detail p{margin-top:15px!important}}

/* Design Lab: return to original typography with red headings and no red underlines or numbering. */
.fp-page-services .detail-grid .detail{padding-left:0!important;padding-top:17px!important;padding-bottom:19px!important;border-top:1px solid #aeb6bd!important}
.fp-page-services .detail-grid .detail::before{display:none!important;content:none!important}
.fp-page-services .detail-grid .detail h3{display:block!important;color:#c71935!important;font-size:clamp(25px,5.8vw,34px)!important;line-height:1.12!important;letter-spacing:-.035em!important;font-weight:900!important;font-style:italic!important;margin:0 0 12px!important;padding:0!important;max-width:680px!important}
.fp-page-services .detail-grid .detail h3::before,.fp-page-services .detail-grid .detail h3::after{display:none!important;content:none!important}
.fp-page-services .detail-grid .detail p{margin:0!important}
@media(max-width:600px){.fp-page-services .detail-grid .detail{padding-top:18px!important;padding-bottom:20px!important}.fp-page-services .detail-grid .detail h3{font-size:clamp(24px,6.1vw,33px)!important;margin-bottom:13px!important}}

/* Design Lab: solid offset shadows on button-style links, consistent with headline banners. */
a.btn,button.btn,.buttons .btn{box-shadow:6px 6px 0 #25292c!important;transition:transform .18s ease,box-shadow .18s ease!important;}
a.btn:hover,button.btn:hover,.buttons .btn:hover{transform:translate(-1px,-1px);box-shadow:7px 7px 0 #25292c!important;}
a.btn:focus-visible,button.btn:focus-visible{outline:3px solid #fff;outline-offset:4px;}
/* Homepage contact: match the plain email address link on the Contact page. */
.section.red .contact-preview .fp-home-email-link{display:inline-block!important;width:auto!important;max-width:100%!important;min-height:0!important;margin:14px 0 0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;color:#fff!important;font-size:clamp(16px,2.5vw,21px)!important;font-weight:800!important;line-height:1.45!important;letter-spacing:0!important;text-decoration:underline!important;text-underline-offset:4px!important;overflow-wrap:anywhere!important;}
.section.red .contact-preview .fp-home-email-link:hover{color:#fff!important;text-decoration-thickness:2px!important;}
@media(max-width:600px){a.btn,button.btn,.buttons .btn{box-shadow:4px 4px 0 #25292c!important;}a.btn:hover,button.btn:hover,.buttons .btn:hover{box-shadow:5px 5px 0 #25292c!important;}}


/* Design Lab: approachable CTAs, black/red editorial hierarchy and clean company facts */
.fp-page-about + .section.pale{background:#e8edf0!important;background-image:none!important;}
.fp-page-about + .section.pale::before,.fp-page-about + .section.pale::after{display:none!important;}
.fp-page-about + .section.pale .facts{background:transparent!important;gap:0!important;max-width:100%!important;border-top:4px solid #c71935!important;}
.fp-page-about + .section.pale .fact{background:transparent!important;background-image:none!important;border-left:0!important;border-top:0!important;border-bottom:1px solid #b9c0c5!important;box-shadow:none!important;min-height:0!important;padding:15px 8px!important;}
.fp-page-about + .section.pale .fact:last-child{border-bottom:0!important;}
.fp-page-about + .section.pale .fact strong{color:#202427!important;font-size:clamp(22px,4.6vw,29px)!important;line-height:1.2!important;}
.fp-page-about + .section.pale .fact span{color:#4c5358!important;font-size:clamp(14px,3vw,17px)!important;line-height:1.4!important;}
.fp-page-about .fp-about-truck > div > span{display:block!important;color:#202427!important;font-weight:900!important;font-style:italic!important;line-height:1.12!important;}
.fp-page-about .fp-about-truck > div > span .fp-red-half{color:#c71935!important;}
.fp-page-about + .section.light .preview-copy h2{color:#c71935!important;}
.fp-page-about + .section.light .preview-copy .eyebrow{color:#202427!important;}
.reviews-page > .container > h2 .fp-red-half{color:#c71935!important;}
.reviews-page .fp-proof-heading > span{color:#202427!important;}
.reviews-page .fp-proof-heading > h2{color:#c71935!important;}
.reviews-page .fp-simple-contact-link{display:inline-block!important;color:#c71935!important;font-size:clamp(17px,3vw,21px)!important;font-weight:850!important;text-decoration:underline!important;text-underline-offset:5px!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;transform:none!important;}
.reviews-page .fp-simple-contact-link:hover{color:#a9112a!important;}
@media(max-width:760px){.fp-page-about + .section.pale{padding-top:14px!important;padding-bottom:18px!important}.fp-page-about + .section.pale .fact{padding:13px 6px!important}}


/* Design Lab: unified, approachable contact links */
.contact-preview > div:first-child {text-align:center!important; min-width:0!important;}
.contact-preview .fp-home-email-link {display:inline-block!important;max-width:100%;overflow-wrap:anywhere;word-break:break-word;text-align:center!important;margin:20px auto 0!important;font-size:clamp(15px,3.7vw,24px)!important;line-height:1.45!important;}
.contact-preview .fp-sticker-quote {text-align:center!important;}
.contact-preview .fp-home-phone-link {display:block!important;width:max-content;max-width:100%;margin:26px auto 0!important;color:#fff!important;font-size:clamp(21px,5vw,30px)!important;font-weight:800!important;line-height:1.35!important;text-align:center!important;text-decoration:underline!important;text-underline-offset:5px!important;overflow-wrap:anywhere;}
.fp-page-contact .contact-info .detail > b {color:#1c2226!important;}
.fp-page-contact .contact-info .detail h3 {color:#cf0034!important;}
.fp-page-contact .contact-info .detail a.fp-contact-phone-text {display:inline-block!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin-top:8px!important;color:#c90034!important;font-weight:800!important;font-size:clamp(19px,4.8vw,28px)!important;text-decoration:underline!important;text-underline-offset:5px!important;min-height:0!important;line-height:1.5!important;transform:none!important;}
.fp-page-contact .contact-info .detail a.fp-contact-phone-text:hover {color:#a4002b!important;transform:none!important;}
.fp-page-services .preview-copy h2 {color:#c90034!important;}
@media(max-width:600px){.contact-preview .fp-home-email-link{font-size:clamp(14px,4vw,20px)!important;}.contact-preview .fp-home-phone-link{margin-top:20px!important;}}


/* Homepage: concise, welcoming flat CTAs and precisely centered contact links. */
body .section .preview-copy a.link[href="services.html"],
body .section .preview-copy a.link[href="about.html"],
body .section .reviews-preview a.link[href="reviews.html"],
body .section .preview-copy a.link[href="reviews.html"]{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:fit-content!important;max-width:100%!important;box-sizing:border-box!important;
 background:#cf0034!important;color:#fff!important;border:0!important;border-radius:0!important;
 padding:12px 17px!important;margin-top:20px!important;
 box-shadow:none!important;text-decoration:none!important;text-align:center!important;
 font-size:clamp(12px,3.2vw,15px)!important;font-weight:900!important;
 letter-spacing:.025em!important;line-height:1.25!important;
 transform:none!important;transition:background .15s ease!important;
}
body .section .preview-copy a.link[href="services.html"]:hover,
body .section .preview-copy a.link[href="about.html"]:hover,
body .section .reviews-preview a.link[href="reviews.html"]:hover,
body .section .preview-copy a.link[href="reviews.html"]:hover{background:#a9002b!important;box-shadow:none!important;}
/* Make the quote sticker and dial link one centered visual column. */
.section.red .contact-preview .fp-sticker-quote{
 display:flex!important;flex-direction:column!important;align-items:center!important;
 justify-content:flex-start!important;gap:0!important;text-align:center!important;
 width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;
}
.section.red .contact-preview .fp-sticker-quote > img{
 display:block!important;width:min(78%,340px)!important;max-width:100%!important;
 height:auto!important;margin:0 auto!important;align-self:center!important;transform:none!important;
}
.section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{
 display:block!important;align-self:center!important;position:static!important;
 width:fit-content!important;max-width:100%!important;
 margin:22px auto 0!important;padding:0!important;
 text-align:center!important;transform:none!important;
}
@media(max-width:600px){
 .section.red .contact-preview .fp-sticker-quote > img{width:min(76%,300px)!important;}
 .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{margin-top:19px!important;}
}

/* Homepage navigation CTAs: match the understated See More Reviews underline style.
   Contact section retains its own contact presentation. */
body .section a.link[href="services.html"],
body .section a.link[href="about.html"],
body .section a.link[href="work.html"],
body .section a.link[href="reviews.html"]{
 display:inline-block!important;width:fit-content!important;max-width:100%!important;
 background:transparent!important;color:#c71935!important;
 border:0!important;border-bottom:3px solid #c71935!important;border-radius:0!important;
 padding:0 0 5px!important;margin-top:20px!important;
 box-shadow:none!important;text-decoration:none!important;text-align:left!important;
 font-size:clamp(14px,3.4vw,17px)!important;font-weight:900!important;
 letter-spacing:.025em!important;line-height:1.4!important;transform:none!important;
}
body .section a.link[href="services.html"]:hover,
body .section a.link[href="about.html"]:hover,
body .section a.link[href="work.html"]:hover,
body .section a.link[href="reviews.html"]:hover{
 background:transparent!important;color:#a9002b!important;border-bottom-color:#a9002b!important;
 box-shadow:none!important;
}


/* FINAL CTA correction: high-specificity overrides for earlier flat-banner rules. */
body .section .preview-copy a.link[href="services.html"],
body .section .preview-copy a.link[href="about.html"],
body .section .preview-copy a.link[href="reviews.html"],
body .section .reviews-preview a.link[href="reviews.html"],
body .section a.link[href="services.html"],
body .section a.link[href="about.html"],
body .section a.link[href="reviews.html"]{
 display:inline-block!important;width:fit-content!important;max-width:100%!important;
 min-height:0!important;background:transparent!important;color:#c71935!important;
 border:0!important;border-bottom:3px solid #c71935!important;border-radius:0!important;
 padding:0 0 5px!important;margin:20px 0 0!important;box-shadow:none!important;
 text-decoration:none!important;text-align:left!important;font-size:clamp(14px,3.4vw,17px)!important;
 font-weight:900!important;letter-spacing:.025em!important;line-height:1.4!important;
 transform:none!important;transition:color .15s ease!important;
}
body .section.dark a.link[href="work.html"],
body .section.dark .preview-copy a.link[href="work.html"]{
 display:inline-block!important;width:fit-content!important;max-width:100%!important;
 background:transparent!important;color:#fff!important;border:0!important;
 border-bottom:3px solid #fff!important;border-radius:0!important;padding:0 0 5px!important;
 margin:20px 0 0!important;box-shadow:none!important;text-decoration:none!important;
 text-align:left!important;font-size:clamp(14px,3.4vw,17px)!important;
 font-weight:900!important;letter-spacing:.025em!important;line-height:1.4!important;
 transform:none!important;
}
body .section.dark a.link[href="work.html"]:hover{color:#fff!important;border-bottom-color:#fff!important;}
/* Contact page's bottom CTA: the flat banner belongs here, not on homepage preview links. */
body:has(.fp-page-contact) main > .section.dark a.link[href="services.html"]{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 background:#cf0034!important;color:#fff!important;border:0!important;border-radius:0!important;
 padding:13px 20px!important;margin-top:20px!important;box-shadow:none!important;
 text-decoration:none!important;text-align:center!important;
}
body:has(.fp-page-contact) main > .section.dark a.link[href="services.html"]:hover{background:#a9002b!important;color:#fff!important;}

/* Editorial audit: compact review close and consistent About projects headline. */
.fp-page-about + .section.pale + .section.light .preview-copy h2,
body:has(.fp-page-about) .section.light .preview-copy h2 {
 color:#cf0034!important;
}
.reviews-page .fp-review-actions{display:none!important;}
@media(max-width:700px){
 .reviews-page{padding-bottom:26px!important;}
 .reviews-page .container{padding-bottom:0!important;}
 .reviews-page .fp-review-actions{display:none!important;margin:0!important;padding:0!important;}
 .reviews-page .fp-original-review-grid,
 .reviews-page .fp-original-reviews,
 .reviews-page .fp-review-originals{margin-bottom:0!important;padding-bottom:0!important;}
 .reviews-page figure:last-child{margin-bottom:0!important;}
}

/* CONTACT DESIGN REFRESH — keep the homepage red and contact page light. */
.page-intro.fp-page-contact h1.fp-unified-banner,
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:calc(100% - 12px)!important;max-width:850px!important;
  aspect-ratio:auto!important;min-height:0!important;height:auto!important;
  margin:0 12px 26px 0!important;padding:clamp(16px,4.5vw,35px) 8px!important;
  background:#cf0034!important;box-shadow:12px 12px 0 #202429!important;
  overflow:visible!important;box-sizing:border-box!important;
}
.page-intro.fp-page-contact h1.fp-unified-banner img{display:none!important;}
.page-intro.fp-page-contact h1.fp-unified-banner::after{
  content:'Contact Us';display:block;color:#fff!important;
  font-family:inherit;font-size:clamp(38px,10vw,96px)!important;
  font-style:italic;font-weight:950;letter-spacing:-.055em;line-height:1.05;
  text-align:center;text-transform:none;white-space:nowrap;
}
.page-intro.fp-page-contact .fp-integrated-content{
  margin-top:24px!important;padding-top:18px!important;border-top:0!important;
}
.page-intro.fp-page-contact .container>p:not(.eyebrow){margin-top:22px!important;}
.page-intro.fp-page-contact .contact-info .detail{
  padding-top:24px!important;padding-bottom:26px!important;margin:0!important;
}
.page-intro.fp-page-contact .contact-info .detail:first-child{border-top:2px solid #202429!important;}
.page-intro.fp-page-contact .contact-info .detail h3{margin:10px 0 12px!important;}
.page-intro.fp-page-contact .contact-info .detail p{margin:10px 0 12px!important;}
.page-intro.fp-page-contact .contact-info .detail a{margin-top:12px!important;}
.page-intro.fp-page-contact{padding-bottom:32px!important;}
/* Homepage: reduce empty space, preserve centered email, sticker, and phone. */
.section.red{padding-top:42px!important;padding-bottom:46px!important;}
.section.red .contact-preview{row-gap:0!important;}
.section.red .contact-preview .master-heading{margin-bottom:12px!important;}
.section.red .contact-preview .fp-home-email-link{
  display:block!important;width:fit-content!important;max-width:100%!important;
  margin:18px auto 0!important;text-align:center!important;
}
.section.red .contact-preview .fp-sticker-quote{margin-top:30px!important;}
.section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{margin-top:16px!important;}
@media(max-width:700px){
 .page-intro.fp-page-contact{padding-top:38px!important;padding-bottom:22px!important;}
 .page-intro.fp-page-contact h1.fp-unified-banner{margin-bottom:24px!important;}
 .page-intro.fp-page-contact .fp-integrated-content{margin-top:18px!important;padding-top:0!important;}
 .page-intro.fp-page-contact .contact-info .detail{padding-top:21px!important;padding-bottom:24px!important;}
 .section.red{padding-top:35px!important;padding-bottom:39px!important;}
 .section.red .contact-preview .fp-sticker-quote{margin-top:24px!important;}
 .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{margin-top:15px!important;}
}

/* Contact banner artwork: supplied red and black-on-white versions. */
.page-intro.fp-page-contact h1.fp-unified-banner{display:block!important;width:calc(100% - 12px)!important;max-width:850px!important;min-height:0!important;height:auto!important;aspect-ratio:3/1!important;padding:0!important;margin-bottom:24px!important;background:#cf1730!important;box-shadow:8px 9px 0 #22262a!important;overflow:visible!important}
.page-intro.fp-page-contact h1.fp-unified-banner img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/1!important;object-fit:fill!important}
.page-intro.fp-page-contact h1.fp-unified-banner::before,.page-intro.fp-page-contact h1.fp-unified-banner::after{display:none!important;content:none!important}
.section.red .contact-preview .master-heading.master-heading--contact{display:block!important;width:calc(100% - 12px)!important;max-width:850px!important;height:auto!important;min-height:0!important;aspect-ratio:3/1!important;padding:0!important;background:#fff!important;box-shadow:8px 9px 0 #15191d!important;overflow:visible!important}
.section.red .contact-preview .master-heading.master-heading--contact img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/1!important;object-fit:fill!important}
.section.red .contact-preview::after{border-color:#15191d!important}
@media(max-width:760px){.page-intro.fp-page-contact h1.fp-unified-banner,.section.red .contact-preview .master-heading.master-heading--contact{box-shadow:6px 7px 0 #15191d!important}}

/* CONTACT HEADERS: exact geometry shared by all page and homepage section banners.
   Source artwork is center-cropped to the established 2172:572 banner ratio. */
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner,
.section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact{
 display:block!important;position:relative!important;box-sizing:border-box!important;
 width:100%!important;max-width:850px!important;aspect-ratio:2172 / 572!important;
 height:auto!important;min-height:0!important;margin:0 0 38px!important;padding:0!important;
 line-height:0!important;overflow:visible!important;border:0!important;border-radius:0!important;
 box-shadow:8px 9px 0 #202428!important;
}
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner{background:#cf0034!important;}
.section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact{background:#fff!important;}
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner img,
.section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact img{
 display:block!important;width:100%!important;height:100%!important;
 aspect-ratio:2172 / 572!important;object-fit:fill!important;
 margin:0!important;padding:0!important;border:0!important;
}
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner::before,
.page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner::after{content:none!important;display:none!important;}
@media(max-width:760px){
 .page-intro.fp-unified-hero.fp-page-contact h1.fp-unified-banner,
 .section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact{
  width:100%!important;aspect-ratio:2172 / 572!important;
  margin:0 0 28px!important;box-shadow:6px 7px 0 #202428!important;
 }
}

/* Homepage Contact: restore original black banner and light-gray accent. */
.section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact{background:#000!important;box-shadow:8px 9px 0 #aeb7bf!important;}
.section.red .contact-preview::after{border-color:#aeb7bf!important;}
@media(max-width:760px){.section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact{box-shadow:6px 7px 0 #aeb7bf!important;}}

/* Final polish: red closing-section headlines on Services and Our Work. */
body:has(.fp-page-services) .section.light .preview-copy h2,
body:has(.fp-page-work) .section.light .preview-copy h2,
.fp-page-services ~ .section.light .preview-copy h2,
.fp-page-work ~ .section.light .preview-copy h2 {
 color:#cf0034!important;
}
/* Homepage contact: white, flat rectangular link banners with black lettering. */
body .section.red .contact-preview a.fp-home-email-link,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link {
 display:table!important;
 box-sizing:border-box!important;
 width:max-content!important;
 max-width:100%!important;
 padding:11px 14px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 background:#fff!important;
 color:#15191d!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 text-decoration:none!important;
 text-align:center!important;
 font-weight:850!important;
 line-height:1.25!important;
 overflow-wrap:anywhere!important;
 white-space:normal!important;
 transform:none!important;
}
body .section.red .contact-preview a.fp-home-email-link {margin-top:18px!important;font-size:clamp(14px,3.8vw,23px)!important;}
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link {margin-top:18px!important;font-size:clamp(20px,5vw,30px)!important;}
body .section.red .contact-preview a.fp-home-email-link:hover,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link:hover {background:#f0f1f2!important;color:#000!important;}
@media(max-width:390px){body .section.red .contact-preview a.fp-home-email-link{font-size:13px!important;padding:10px 9px!important;}}

/* Homepage contact: icon-led, dark CTA strips (email and click-to-dial only). */
body .section.red .contact-preview a.fp-home-email-link,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{
 display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
 width:max-content!important;max-width:100%!important;box-sizing:border-box!important;
 margin-left:auto!important;margin-right:auto!important;
 padding:12px 15px!important;background:#15191d!important;color:#fff!important;
 border:0!important;border-bottom:3px solid #f13b56!important;border-radius:0!important;
 box-shadow:none!important;text-decoration:none!important;text-align:center!important;
 font-weight:850!important;line-height:1.25!important;transform:none!important;
}
body .section.red .contact-preview a.fp-home-email-link{font-size:clamp(12px,3.6vw,22px)!important;}
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{font-size:clamp(19px,4.8vw,29px)!important;}
body .section.red .contact-preview .fp-contact-link-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;}
body .section.red .contact-preview .fp-contact-icon{width:1.15em;height:1.15em;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}
body .section.red .contact-preview .fp-contact-link-label{min-width:0;overflow-wrap:anywhere;}
body .section.red .contact-preview .fp-contact-link-arrow{flex:none;font-size:1.05em;line-height:1;color:#fff;}
body .section.red .contact-preview a.fp-home-email-link:hover,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link:hover{background:#070809!important;color:#fff!important;}
body .section.red .contact-preview a.fp-home-email-link:focus-visible,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important;}
@media(max-width:390px){body .section.red .contact-preview a.fp-home-email-link{font-size:12px!important;padding:11px 9px!important;gap:6px!important;}}

/* Homepage contact links: coordinated white outlines, no red accents or shadows. */
body .section.red .contact-preview a.fp-home-email-link,
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:10px!important;min-height:58px!important;height:auto!important;
 width:max-content!important;max-width:100%!important;
 margin-left:auto!important;margin-right:auto!important;
 padding:12px 14px!important;box-sizing:border-box!important;
 background:#101114!important;color:#fff!important;
 border:2px solid #fff!important;border-radius:0!important;
 box-shadow:none!important;text-decoration:none!important;
 transform:none!important;line-height:1.2!important;
}
body .section.red .contact-preview a.fp-home-email-link{font-size:clamp(12px,3.35vw,20px)!important;}
body .section.red .contact-preview .fp-sticker-quote > a.fp-home-phone-link{font-size:clamp(19px,4.7vw,28px)!important;}
body .section.red .contact-preview .fp-contact-link-icon{display:inline-flex!important;flex:0 0 21px!important;width:21px!important;height:21px!important;align-items:center!important;justify-content:center!important;}
body .section.red .contact-preview .fp-contact-icon{width:21px!important;height:21px!important;stroke:#fff!important;stroke-width:1.9!important;}
body .section.red .contact-preview .fp-contact-link-arrow{font-size:20px!important;flex:none!important;color:#fff!important;}
body .section.red .contact-preview .fp-contact-link-label{min-width:0!important;overflow-wrap:normal!important;}
@media(max-width:390px){body .section.red .contact-preview a.fp-home-email-link{font-size:12px!important;padding:12px 8px!important;gap:7px!important;}}

/* Work-designed call button, with uncluttered homepage contact link */
.fp-home-email-link{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:8px 0!important;min-height:0!important;max-width:100%!important;width:auto!important;text-decoration:none!important;border-radius:0!important}
.fp-home-email-link .fp-contact-link-label{font-size:clamp(13px,3.6vw,20px)!important;color:#fff!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:5px!important;overflow-wrap:anywhere!important}
.fp-home-email-link .fp-contact-link-icon,.fp-home-email-link .fp-contact-link-arrow{color:#fff!important;flex-shrink:0!important}
.farrell-call{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,16px);width:min(100%,560px);min-height:64px;margin:0 auto;padding:16px clamp(12px,3vw,24px);border:1.5px solid #fff;border-radius:8px;background:#000;color:#fff;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:rgba(255,255,255,.18);touch-action:manipulation}
.farrell-call__label{font-family:Arial,Helvetica,sans-serif;font-size:clamp(14px,3.8vw,24px);font-style:italic;font-weight:900;line-height:1.15;text-align:center;color:#fff}
.farrell-call__phone{width:clamp(24px,5vw,32px);height:32px;flex:none;color:#ed1237}
.farrell-call__arrow{width:16px;height:16px;flex:none;margin-left:auto;color:#fff}
.farrell-call:hover{background:#1b1d21}.farrell-call:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:600px){.farrell-call{width:min(100%,480px)}.fp-home-email-link{max-width:100%!important}}

/* Matching Work-designed homepage contact buttons */
body .section.red .contact-preview a.farrell-email{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(8px,2vw,16px)!important;width:min(100%,560px)!important;min-height:64px!important;margin:0 auto!important;padding:16px clamp(12px,3vw,24px)!important;border:1.5px solid #fff!important;border-radius:8px!important;background:#000!important;color:#fff!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer!important;touch-action:manipulation!important}
body .section.red .contact-preview .farrell-email__label{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(14px,3.8vw,24px)!important;font-style:italic!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;color:#fff!important;text-decoration:none!important}
body .section.red .contact-preview .farrell-email__icon{width:clamp(24px,5vw,32px)!important;height:32px!important;flex:none!important;color:#ed1237!important}
body .section.red .contact-preview .farrell-email__arrow{width:16px!important;height:16px!important;flex:none!important;margin-left:auto!important;color:#fff!important}
body .section.red .contact-preview a.farrell-email:hover{background:#1b1d21!important}
body .section.red .contact-preview a.farrell-email:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important}
@media(max-width:600px){body .section.red .contact-preview a.farrell-email{width:min(100%,480px)!important}}

/* Compact, typography-led matching contact buttons — 2026-10-30 */
body .section.red .contact-preview a.farrell-email,
body .section.red .contact-preview a.farrell-call{
  width:min(88%,440px)!important;
  min-height:58px!important;
  padding:11px 13px!important;
  gap:9px!important;
  border-radius:7px!important;
  justify-content:space-between!important;
}
body .section.red .contact-preview .farrell-email__label,
body .section.red .contact-preview .farrell-call__label{
  flex:1 1 auto!important;
  font-size:clamp(15px,4.15vw,20px)!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:center!important;
  letter-spacing:-.025em!important;
}
body .section.red .contact-preview .farrell-email__icon,
body .section.red .contact-preview .farrell-call__phone{
  width:23px!important;height:23px!important;flex:0 0 23px!important;
}
body .section.red .contact-preview .farrell-email__arrow,
body .section.red .contact-preview .farrell-call__arrow{
  width:17px!important;height:17px!important;flex:0 0 17px!important;
  margin-left:0!important;
}
@media(max-width:380px){
 body .section.red .contact-preview a.farrell-email,
 body .section.red .contact-preview a.farrell-call{width:94%!important;padding:10px 10px!important;gap:7px!important;}
 body .section.red .contact-preview .farrell-email__label,
 body .section.red .contact-preview .farrell-call__label{font-size:clamp(13px,4vw,16px)!important;}
 body .section.red .contact-preview .farrell-email__icon,
 body .section.red .contact-preview .farrell-call__phone{width:21px!important;height:21px!important;flex-basis:21px!important;}
}

/* Final contact CTA proportion refinement: compact, readable, separated */
body .section.red .contact-preview a.farrell-email,
body .section.red .contact-preview a.farrell-call{
  width:min(100%,340px)!important;
  min-height:0!important;
  height:54px!important;
  padding:9px 12px!important;
  gap:7px!important;
  border-radius:7px!important;
  justify-content:center!important;
}
body .section.red .contact-preview a.farrell-call{margin-top:11px!important;}
body .section.red .contact-preview .farrell-email__label,
body .section.red .contact-preview .farrell-call__label{
  font-size:clamp(13px,3.85vw,17px)!important;
  letter-spacing:-.035em!important;
  flex:0 1 auto!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
body .section.red .contact-preview .farrell-email__icon,
body .section.red .contact-preview .farrell-call__phone{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
}
body .section.red .contact-preview .farrell-email__arrow,
body .section.red .contact-preview .farrell-call__arrow{
  width:15px!important;height:15px!important;flex:0 0 15px!important;margin-left:2px!important;
}
@media(max-width:380px){
 body .section.red .contact-preview a.farrell-email,
 body .section.red .contact-preview a.farrell-call{width:min(100%,320px)!important;height:52px!important;padding:8px 9px!important;gap:5px!important;}
 body .section.red .contact-preview .farrell-email__label,
 body .section.red .contact-preview .farrell-call__label{font-size:clamp(12px,3.8vw,15px)!important;}
}

/* Balanced compact homepage contact actions: fit content, retain clear tap targets */
body .section.red .contact-preview a.farrell-email,
body .section.red .contact-preview a.farrell-call{
  box-sizing:border-box!important;
  width:min(100%,310px)!important;
  height:49px!important;
  min-height:49px!important;
  padding:8px 10px!important;
  gap:6px!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .section.red .contact-preview a.farrell-call{margin-top:11px!important;}
body .section.red .contact-preview .farrell-email__label,
body .section.red .contact-preview .farrell-call__label{
  font-size:clamp(14px,4.4vw,18px)!important;
  letter-spacing:-.055em!important;
  flex:0 1 auto!important;
  white-space:nowrap!important;
}
body .section.red .contact-preview .farrell-email__icon,
body .section.red .contact-preview .farrell-call__phone{width:20px!important;height:20px!important;flex:0 0 20px!important;}
body .section.red .contact-preview .farrell-email__arrow,
body .section.red .contact-preview .farrell-call__arrow{width:15px!important;height:15px!important;flex:0 0 15px!important;margin-left:0!important;}
@media(max-width:360px){
 body .section.red .contact-preview a.farrell-email,body .section.red .contact-preview a.farrell-call{width:min(100%,300px)!important;padding:8px!important;gap:5px!important;}
 body .section.red .contact-preview .farrell-email__label,body .section.red .contact-preview .farrell-call__label{font-size:clamp(13px,4.3vw,16px)!important;}
}

/* Services page: one strong introduction, project photo, then service list. */
.fp-page-services .fp-services-lead{max-width:850px!important;margin:20px 0 28px!important;padding:0!important;border:0!important;font-size:clamp(18px,2.2vw,25px)!important;line-height:1.55!important;color:#202428!important}
.fp-page-services .fp-integrated-content{padding-top:0!important}
.fp-page-services .fp-services-feature-photo{margin:0 0 27px!important;padding:0!important;background:transparent!important;box-shadow:none!important;max-width:720px!important}
.fp-page-services .fp-services-feature-photo img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;object-position:center;border:0;box-shadow:none}
.fp-page-services .detail-grid{margin-top:0!important}
@media(max-width:760px){.fp-page-services .fp-services-lead{margin:18px 0 24px!important;font-size:clamp(18px,4.65vw,24px)!important}.fp-page-services .fp-services-feature-photo{margin-bottom:24px!important}.fp-page-services .fp-services-feature-photo img{max-height:310px;object-fit:cover}}

/* Homepage desktop refinement: preserve the existing mobile design. */
@media (min-width: 900px) {
  body.home .section.dark .fp-heading-banner,
  body.home .section.reviews-preview .fp-heading-banner,
  body.home .section.red .fp-heading-banner,
  body .section.dark .fp-heading-banner,
  body .section.reviews-preview .fp-heading-banner,
  body .section.red .contact-preview .fp-heading-banner {
    width: min(100%, 465px) !important;
    max-width: 465px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  body .section.dark .fp-heading-banner img,
  body .section.reviews-preview .fp-heading-banner img,
  body .section.red .contact-preview .fp-heading-banner img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  body .section.red .contact-preview a.farrell-email,
  body .section.red .contact-preview a.farrell-call {
    width: min(100%, 430px) !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 12px 20px !important;
    gap: 12px !important;
  }
  body .section.red .contact-preview .farrell-email__label,
  body .section.red .contact-preview .farrell-call__label {
    font-size: 20px !important;
    letter-spacing: -.025em !important;
  }
  body .section.red .contact-preview .farrell-email__icon,
  body .section.red .contact-preview .farrell-call__phone {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
  }
  body .section.red .contact-preview .farrell-email__arrow,
  body .section.red .contact-preview .farrell-call__arrow {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
  }
  body .section.dark .work-strip { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}


/* Desktop homepage consistency: align all banners with the approved Services/Testimonials scale. */
@media screen and (min-width: 900px) {
  body .section.pale .about-feature .fp-heading-banner,
  body .section.dark .fp-heading-banner,
  body .section.red .contact-preview .fp-heading-banner {
    box-sizing:border-box!important;
    width:min(100%,465px)!important;
    max-width:465px!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  body .section.pale .about-feature .fp-heading-banner img,
  body .section.dark .fp-heading-banner img,
  body .section.red .contact-preview .fp-heading-banner img {
    display:block!important;width:100%!important;max-width:100%!important;height:auto!important;
  }
  /* Preserve two columns on desktop; mobile retains its established stacked order. */
  body .section.pale .preview.about-feature {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:clamp(28px,4vw,64px)!important;
    row-gap:0!important;
  }
  body .section.pale .about-feature .preview-copy {
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
  }
  body .section.pale .about-feature .preview-image {
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    order:initial!important;
  }
  body .section.pale .about-feature .preview-image img {
    display:block!important;
    width:100%!important;
    height:clamp(290px,30vw,450px)!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  body .section.pale .about-feature .preview-copy .eyebrow,
  body .section.pale .about-feature .preview-copy .master-heading,
  body .section.pale .about-feature .preview-copy p,
  body .section.pale .about-feature .preview-copy a.link {
    position:relative!important;
    width:auto;
  }
  body .section.pale .about-feature .preview-copy .master-heading {width:min(100%,465px)!important;}
  body .section.red .contact-preview a.farrell-email,
  body .section.red .contact-preview a.farrell-call {
    width:min(100%,490px)!important;
    max-width:490px!important;
    height:72px!important;
    min-height:72px!important;
    padding:14px 22px!important;
    gap:12px!important;
  }
  body .section.red .contact-preview a.farrell-call {margin-top:14px!important;}
  body .section.red .contact-preview .farrell-email__label,
  body .section.red .contact-preview .farrell-call__label {font-size:22px!important;letter-spacing:-.02em!important;}
}


/* Desktop-only finishing pass. Do not change the approved phone/tablet layout. */
@media screen and (min-width: 900px) {
  /* The work banner was visually dominating the section. Match the smaller preview titles. */
  body main .section.dark h2.master-heading.fp-heading-banner {
    width: min(100%, 385px) !important;
    max-width: 385px !important;
    min-width: 0 !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  body main .section.dark h2.master-heading.fp-heading-banner img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  /* Keep the contact banner bold but no larger than the surrounding headings. */
  body main .section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact {
    width: min(100%, 400px) !important;
    max-width: 400px !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 2172 / 572 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  body main .section.red .contact-preview h2.master-heading.fp-heading-banner.master-heading--contact img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  /* Make both contact actions substantial, readable desktop buttons. */
  body main .section.red .contact-preview a.farrell-email,
  body main .section.red .contact-preview a.farrell-call {
    box-sizing: border-box !important;
    width: min(100%, 470px) !important;
    max-width: 470px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 15px 19px !important;
    gap: 12px !important;
    border-radius: 9px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body main .section.red .contact-preview a.farrell-call { margin-top: 14px !important; }
  body main .section.red .contact-preview .farrell-email__label,
  body main .section.red .contact-preview .farrell-call__label {
    font-size: 22px !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }
  body main .section.red .contact-preview .farrell-email__icon,
  body main .section.red .contact-preview .farrell-call__phone {
    width: 27px !important;
    height: 27px !important;
    flex: 0 0 27px !important;
  }
  body main .section.red .contact-preview .farrell-email__arrow,
  body main .section.red .contact-preview .farrell-call__arrow {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
  }
}


/* FINAL HOMEPAGE ALIGNMENT: desktop sections follow the approved About/Services balance. */
@media screen and (min-width:900px){
 body main .section.dark .fp-home-work-layout,
 body main .section.reviews-preview .fp-home-reviews-layout,
 body main .section.red .contact-preview{
   display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
   column-gap:clamp(28px,4vw,64px)!important;align-items:center!important;
 }
 body main .section.dark .fp-home-work-copy,
 body main .section.reviews-preview .fp-home-reviews-copy,
 body main .section.red .contact-preview>div:first-child{min-width:0!important;width:100%!important;}
 body main .section.dark .fp-home-work-layout h2.fp-heading-banner,
 body main .section.reviews-preview .fp-home-reviews-layout h2.fp-heading-banner,
 body main .section.red .contact-preview h2.fp-heading-banner{
   width:min(100%,465px)!important;max-width:465px!important;min-width:0!important;
   margin-left:0!important;margin-right:auto!important;height:auto!important;
 }
 body main .section.dark .fp-home-work-layout h2.fp-heading-banner img,
 body main .section.reviews-preview .fp-home-reviews-layout h2.fp-heading-banner img,
 body main .section.red .contact-preview h2.fp-heading-banner img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;}
 body main .section.dark .fp-home-work-layout .work-strip{display:block!important;width:100%!important;margin:0!important;}
 body main .section.dark .fp-home-work-layout .work-strip img{display:block!important;width:100%!important;height:clamp(260px,27vw,410px)!important;object-fit:cover!important;object-position:center!important;}
 body main .section.reviews-preview .fp-home-reviews-proof{min-width:0!important;padding:24px 0!important;}
 body main .section.reviews-preview .fp-home-reviews-proof .fp-home-review{margin:0 0 22px!important;}
 body main .section.red .contact-preview .fp-home-contact-actions{display:flex!important;flex-direction:column!important;gap:16px!important;align-items:stretch!important;min-width:0!important;}
 body main .section.red .contact-preview .fp-home-contact-actions a.farrell-email,
 body main .section.red .contact-preview .fp-home-contact-actions a.farrell-call{
   box-sizing:border-box!important;width:100%!important;max-width:none!important;
   height:76px!important;min-height:76px!important;margin:0!important;padding:12px 16px!important;
 }
 body main .section.red .contact-preview .fp-home-contact-actions .farrell-email__label,
 body main .section.red .contact-preview .fp-home-contact-actions .farrell-call__label{font-size:clamp(16px,1.65vw,22px)!important;}
}
/* One strong work image on mobile too. Other approved mobile sections are unchanged. */
@media screen and (max-width:899px){
 body main .section.dark .fp-home-work-layout .work-strip{display:block!important;}
 body main .section.dark .fp-home-work-layout .work-strip img{display:block!important;width:100%!important;max-height:360px!important;object-fit:cover!important;}
}

/* Final photo edge correction: remove legacy angled cut on the homepage Our Work image at every viewport. */
body main .section.dark .fp-home-work-layout .work-strip img { clip-path:none!important; border-radius:0!important; transform:none!important; }

/* Final Our Work photo: show the entire original 4:3 photograph without cropping. */
body main .section.dark .fp-home-work-layout .work-strip img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:4 / 3!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  border-radius:0!important;
  transform:none!important;
}

/* Keep the work link under the image on mobile; preserve desktop composition. */
.fp-work-link-after-photo{display:none!important;}
@media(max-width:899px){body main .section.dark .fp-home-work-layout .fp-home-work-copy>a.link{display:none!important;}body main .section.dark .fp-home-work-layout .fp-work-link-after-photo{display:inline-block!important;margin-top:22px!important;justify-self:start!important;} }

/* Homepage Our Work: use the existing portrait gallery photo, fully visible. */
body main .section.dark .fp-home-work-layout .work-strip img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3 / 4!important;object-fit:contain!important;object-position:center!important;clip-path:none!important;}
@media(min-width:900px){body main .section.dark .fp-home-work-layout .work-strip{max-width:390px!important;margin-left:auto!important;margin-right:auto!important;}}
