/* Foundation service and local pages — retains existing brand, fonts, mobile action bar. */
:root{--f-red:#bd1531;--f-deep:#8e1028;--f-black:#162033;--f-yellow:#ffd43e;--f-light:#f4f6f9;--f-muted:#647186;--f-line:#e1e5ec}
.f-hero{background:linear-gradient(125deg,#bd1531,#ac122d);color:#fff;overflow:hidden}
.f-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:56px;min-height:570px;padding-top:54px;padding-bottom:64px}
.f-hero-copy{position:relative;z-index:1}
.f-breadcrumb{display:flex;align-items:center;gap:12px;color:#ffe2e7;font-size:12px;margin-bottom:38px;max-width:100%;flex-wrap:wrap}
.f-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.f-breadcrumb a:hover{color:#fff}
.f-breadcrumb span:nth-child(2){opacity:.7}
.f-kicker,.f-eyebrow{font:800 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.17em;color:var(--f-red);text-transform:uppercase}
.f-kicker{color:var(--f-yellow);margin-bottom:18px}
.f-hero h1{font:800 clamp(2.65rem,4.6vw,4.75rem)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.052em;margin:0 0 23px;max-width:680px}
.f-hero-copy>p{font-size:17px;line-height:1.75;color:#fff1f3;max-width:610px}
.f-hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px}
.f-phone{color:white;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.f-phone:hover{color:var(--f-yellow)}
.f-hero-proof{display:flex;gap:15px;flex-wrap:wrap;margin-top:38px}
.f-hero-proof span{border-left:3px solid var(--f-yellow);padding-left:12px;color:#fff0f2;font-size:12px;font-weight:750}
.f-hero-media{position:relative;border:8px solid white;background:white;box-shadow:18px 18px 0 #810a22,0 22px 45px #69091d55;max-width:550px;margin:18px 18px 18px 0}
.f-hero-media img{display:block;width:100%;height:455px;object-fit:cover}
.f-image-note{display:block;position:absolute;right:0;bottom:0;background:#ffffffed;color:#333;font-size:10px;letter-spacing:.02em;padding:5px 9px}
.f-introduction{padding:98px 0;background:white}
.f-intro-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px)}
.f-intro-side h2,.f-section-heading h2,.f-estimate h2,.f-local h2,.f-faq h2,.f-last-cta h2{font:800 clamp(2.1rem,3.5vw,3.7rem)/1.13 Arial,Helvetica,sans-serif;letter-spacing:-.044em;margin:14px 0 24px;color:var(--f-black)}
.f-intro-copy p{font-size:17px;color:#47566b;line-height:1.85;margin-bottom:20px}
.f-intro-copy p:last-child{margin-bottom:0}
.f-decor{width:88px;height:7px;background:var(--f-yellow);border-left:36px solid var(--f-red)}
.f-work{padding:90px 0 98px;background:#f5f7fa;border-block:1px solid var(--f-line)}
.f-section-heading{max-width:740px;margin-bottom:36px}
.f-section-heading h2{margin-bottom:14px}
.f-section-heading p,.f-estimate p,.f-faq p,.f-last-cta p{font-size:15px;color:#627084;line-height:1.8;max-width:660px}
.f-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.f-card{border:1px solid #e1e7ef;background:white;padding:33px 30px 30px;min-height:240px;border-radius:4px}
.f-card-rule{display:block;width:42px;height:5px;background:var(--f-red);margin-bottom:27px}
.f-card h3{font:800 23px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.035em;color:var(--f-black);margin:0 0 16px}
.f-card p{font-size:14px;line-height:1.75;color:#637083;margin:0}
.f-estimate{background:white;padding:98px 0}
.f-estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.f-estimate h2{max-width:550px}
.f-inline-cta{display:inline-flex;border-bottom:2px solid var(--f-red);padding-bottom:5px;font-size:13px;color:var(--f-red);font-weight:800;margin-top:10px;gap:12px}
.f-factors{background:#182740;color:white;padding:34px 36px;border-top:7px solid var(--f-yellow);box-shadow:12px 12px 0 #e8edf5}
.f-factors h3{color:white;margin:0 0 22px;font:800 24px/1.2 Arial,Helvetica,sans-serif}
.f-factors ul{list-style:none;margin:0;padding:0}
.f-factors li{position:relative;padding:13px 0 13px 28px;border-top:1px solid #ffffff2a;color:#e1eaf8;font-size:14px;line-height:1.65}
.f-factors li:before{content:'✓';position:absolute;top:13px;left:0;color:#ffe16b;font-weight:800}
.f-local{background:#ffd43e;padding:90px 0}
.f-local-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:70px;align-items:center}
.f-local-bar{border:4px solid #172236;padding:30px 23px;max-width:365px;background:#ffdc61;box-shadow:9px 9px 0 #bd1531;color:#152138}
.f-local-bar span,.f-local-bar small{display:block;font-size:11px;font-weight:800;letter-spacing:.16em}
.f-local-bar strong{display:block;font:900 clamp(2.15rem,3.2vw,3.6rem)/.99 Arial,Helvetica,sans-serif;letter-spacing:-.05em;margin:23px 0;color:#bd1531}
.f-local .f-eyebrow{color:#99152a}
.f-local h2{margin-top:12px}
.f-local-grid p{color:#263144;font-size:16px;line-height:1.8;max-width:780px}
.f-safety-note{font-size:12px!important;line-height:1.65!important;color:#364051!important;border-top:1px solid #ab883866;padding-top:15px;margin-top:22px}
.f-safety-note a{text-decoration:underline;text-underline-offset:3px}
.f-faq{background:white;padding:100px 0}
.f-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}
.f-faq .faq-list{min-width:0}
.f-faq .faq-list details{background:#f7f9fb;border:1px solid #e3e7ed;border-bottom:0}
.f-faq .faq-list details:last-child{border-bottom:1px solid #e3e7ed}
.f-faq .faq-list details[open]{background:#fff}
.f-faq .faq-list summary{padding:20px 23px;font-weight:800;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#1b2a40;list-style:none}
.f-faq .faq-list summary::-webkit-details-marker{display:none}
.f-faq .faq-list summary span{color:#b51430;font-size:22px}
.f-faq .faq-list details[open] summary span{transform:rotate(45deg)}
.f-faq .faq-list details p{font-size:14px;line-height:1.8;padding:0 23px 20px;color:#536073;margin:0}
.f-last-cta{background:#f6f8fb;padding:68px 0;border-block:1px solid var(--f-line)}
.f-last-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:45px}
.f-last-cta h2{font-size:clamp(2rem,3.1vw,3.1rem);max-width:710px;margin-bottom:12px}
.f-last-cta-grid>div:last-child{display:flex;flex-direction:column;gap:20px;align-items:center;flex:none}
.f-phone-dark{font-weight:800;color:var(--f-red);text-decoration:underline;text-underline-offset:4px;font-size:13px}
.f-related{background:white;padding:76px 0 96px}
.f-related .f-section-heading{margin-bottom:28px}
.f-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.f-related-card{background:#fff;border:1px solid #dfe5ee;padding:23px 21px;color:#182943;display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:800;font-size:15px}
.f-related-card span:last-child{font-size:25px;color:var(--f-red)}
.f-related-card:hover{border-color:#bd1531;background:#fff8f9}
.f-home-location{background:#fff4d1;border-bottom:1px solid #efdda6;color:#232c3e;padding:15px 0;font-size:13px;line-height:1.65}
.f-home-location strong{color:#ab142e;margin-right:8px}
.f-home-location a,.f-section-detail a,.f-specialty-link a{font-weight:800;color:#b3132c;text-decoration:underline;text-underline-offset:4px}
.f-specialty-link{padding:20px 22px;margin-top:25px;border-left:4px solid #bd1531;background:#f5f7fa;font-size:14px;color:#3e4a61}
.f-specialty-link a{margin-left:7px}
.f-section-detail{margin:20px 0 0;padding:0;font-size:13px}
.f-section-detail a:hover,.f-specialty-link a:hover{color:#7c1021}
@media(max-width:1050px){.f-hero-grid{gap:32px}.f-hero-media img{height:390px}.f-card{padding:28px 22px}.f-estimate-grid,.f-local-grid{gap:40px}}
@media(max-width:800px){.f-hero-grid{grid-template-columns:1fr;gap:24px;padding-top:30px;padding-bottom:64px}.f-hero-copy>p{max-width:650px}.f-hero-media{max-width:680px;margin:10px 18px 14px 0}.f-hero-media img{height:380px}.f-intro-grid,.f-estimate-grid,.f-local-grid,.f-faq-grid{grid-template-columns:1fr;gap:32px}.f-card-grid{grid-template-columns:1fr 1fr}.f-card:last-child{grid-column:1/-1}.f-local-bar{max-width:350px}.f-last-cta-grid{align-items:flex-start;flex-direction:column}.f-last-cta-grid>div:last-child{align-items:flex-start}.f-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.f-hero-grid{padding-top:22px;padding-bottom:44px}.f-breadcrumb{margin-bottom:26px}.f-hero h1{font-size:clamp(2.5rem,9vw,3.55rem)}.f-hero-copy>p{font-size:15px;line-height:1.8}.f-hero-actions{gap:17px;flex-direction:column;align-items:flex-start}.f-hero-actions .btn{width:100%}.f-hero-proof{gap:11px;margin-top:26px}.f-hero-proof span{font-size:10px}.f-hero-media{border-width:5px;margin:8px 9px 14px 0;box-shadow:9px 9px 0 #810a22}.f-hero-media img{height:280px}.f-introduction,.f-estimate,.f-faq{padding:68px 0}.f-work,.f-local{padding:65px 0}.f-intro-side h2,.f-section-heading h2,.f-estimate h2,.f-local h2,.f-faq h2,.f-last-cta h2{font-size:clamp(2rem,7.2vw,2.7rem)}.f-intro-copy p{font-size:15px}.f-card-grid{grid-template-columns:1fr}.f-card:last-child{grid-column:auto}.f-card{min-height:0}.f-factors{padding:26px 25px;box-shadow:6px 6px 0 #e8edf5}.f-local-bar{max-width:100%;padding:22px}.f-local-bar strong{font-size:2.7rem}.f-local-grid p{font-size:14px}.f-last-cta{padding:55px 0}.f-last-cta-grid>div:last-child{width:100%}.f-last-cta .btn{width:100%}.f-related{padding:62px 0 78px}.f-related-grid{grid-template-columns:1fr}.f-home-location{font-size:12px}.f-specialty-link{font-size:13px}.f-specialty-link a{margin-left:0;display:block}}
@media(prefers-reduced-motion:reduce){.f-related-card{transition:none}}


/* ABOUT PETER — portrait at native-friendly dimensions, no stretched landscape crop. */
.f-hero-about .f-hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:clamp(32px,5vw,78px);min-height:0;padding-block:58px 70px}
.f-hero-about .f-hero-copy{max-width:720px}
.f-hero-about .f-peter-portrait{width:min(100%,330px);max-width:330px;margin:0 auto;border:7px solid #fff;box-shadow:12px 12px 0 #870d26,0 16px 37px #6c071e3c;overflow:hidden}
.f-hero-about .f-peter-portrait img{width:100%;height:auto;max-height:none;aspect-ratio:467 / 657;object-fit:contain;object-position:center;display:block}
@media(max-width:800px){.f-hero-about .f-hero-grid{grid-template-columns:1fr;gap:30px;padding-block:35px 54px}.f-hero-about .f-peter-portrait{width:min(100%,310px);max-width:310px;margin:5px auto 5px}}
@media(max-width:700px){.f-hero-about .f-hero-grid{padding-block:26px 48px}.f-hero-about .f-peter-portrait{width:min(84%,290px);max-width:290px;border-width:5px;box-shadow:8px 8px 0 #870d26}}
