.fpm-home{--blue:#173fd7;--pop:#ffdf35;--ink:#171716;--paper:#fcf9ee}
.fpm-home .rail{gap:clamp(.65rem,1.6vw,1.6rem)}
.fpm-home .brand{white-space:normal;max-width:11rem;flex:none}
.fpm-home .brand p,.fpm-home .home-links p,.fpm-home .headtel,.fpm-home .footbase p{margin:0}
.fpm-home .brand a{text-decoration:none;text-transform:uppercase}
.fpm-home .brand-mark{width:43px;flex:none}
.fpm-home .brand-mark img{display:block}
.fpm-home .headbook-wrap .wp-block-buttons,.fpm-home .foot .wp-block-buttons{margin:0}
.fpm-home .headbook-wrap .wp-block-button__link,.fpm-home .foot .wp-block-button__link,.fpm-home .mob .wp-block-button__link{background:var(--pop);border-color:var(--pop);color:#151515}
.fpm-home .headtel a{display:inline-block;text-decoration:none}
.fpm-home .hero{background:linear-gradient(111deg,var(--pop) 63%,var(--blue) 63%)}
.fpm-home .hero-shell{grid-template-columns:1.06fr 1fr;min-height:0;padding-block:clamp(3rem,6vw,5.8rem)}
.fpm-home .hero h1{font-size:clamp(3.1rem,7.15vw,7.6rem);max-width:11ch;letter-spacing:-.075em;margin-bottom:.32em}
.fpm-home .hero-art{transform:rotate(-4deg);margin:0 1rem .8rem 0;box-shadow:11px 11px #151515}
.fpm-home .hero-art img{aspect-ratio:1.38;object-position:center}
.fpm-home .hero-call{margin:1rem 0 0;font-size:.93rem;font-weight:820}
.fpm-home .answer-band{padding-block:clamp(2.4rem,5vw,4.7rem)}
.fpm-home .answer h2{letter-spacing:-.035em;max-width:27ch}
.fpm-home main .band h2{font-size:clamp(2.25rem,5vw,4.65rem);max-width:20ch}
.fpm-home .home-jobs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);margin:3rem 0}
.fpm-home .job{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:1.2rem}
.fpm-home .job:nth-child(even){margin-top:clamp(0rem,5vw,4rem)}
.fpm-home .job-photos{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.55rem}
.fpm-home .job img,.fpm-home .home-pair img,.fpm-home .home-extras img,.fpm-home .home-visit img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.fpm-home .job-photos figure{border-bottom:6px solid var(--blue)}
.fpm-home .job:nth-child(even) .job-photos figure{border-bottom-color:#151515}
.fpm-home .home-pair{display:grid;grid-template-columns:1.12fr 1fr;gap:1.25rem;align-items:center;margin:2.4rem .7rem 0}
.fpm-home .home-pair figure:first-child{transform:rotate(-2deg);border:3px solid;box-shadow:6px 6px var(--pop)}
.fpm-home .home-pair figure:last-child{transform:rotate(2deg);border:3px solid;box-shadow:6px 6px var(--blue)}
.fpm-home .prices{background:var(--pop)}
.fpm-home .prices .estimate{max-width:850px;box-shadow:7px 7px #151515}
.fpm-home .visit{background:#151515;color:white}
.fpm-home .home-visit,.fpm-home .home-extras{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(1.3rem,4vw,3.5rem);margin:1.6rem 0 2rem}
.fpm-home .home-visit figure{border:3px solid var(--pop);box-shadow:7px 7px var(--blue)}
.fpm-home .visit-step{border-left:3px solid var(--pop);padding-left:1rem;margin-bottom:1.3rem}
.fpm-home .visit-step p:last-child{margin-bottom:0}
.fpm-home .extras{background:var(--blue);color:white}
.fpm-home .home-extras figure{border:3px solid #151515;box-shadow:8px 8px var(--pop);transform:rotate(-2deg);margin-right:.6rem}
.fpm-home .wp-block-table{overflow:visible}
.fpm-home .wp-block-table figcaption{font-size:.84rem;margin-top:.5rem}
.fpm-home .wp-block-table th{border-color:#151515}
.fpm-home .wp-block-table tbody tr:nth-child(even){background:#f1efe7}
.fpm-home .faq-disclosure{border-top:2px solid #151515;padding:0}
.fpm-home .faq-disclosure:last-child{border-bottom:2px solid #151515}
.fpm-home .faq-disclosure summary{cursor:pointer;padding:.95rem 0;font-size:1.08rem;font-weight:820}
.fpm-home .faq-disclosure p{max-width:70ch}
.fpm-home .home-faq{margin:1.7rem 0}
.fpm-home .quote{background:linear-gradient(108deg,var(--pop) 82%,var(--blue) 82%)}
.fpm-home .footgrid p:not(.brand p){margin:0 0 .6rem}
.fpm-home .footgrid .brand{margin-bottom:1.1rem}
.fpm-home .footbase{align-items:center}
@media(max-width:1240px){
 .fpm-home .desktop,.fpm-home .headbook-wrap{display:none}
 .fpm-home .headtel{margin-left:auto}
 .fpm-home .mob{display:block}
 .fpm-home .mob nav p{margin:0}
 .fpm-home .mob nav a{display:block}
 .fpm-home .mob nav .wp-block-button__link{padding:.55rem .75rem}
 .fpm-home .mob nav .wp-block-buttons{margin-top:.6rem}
}
@media(max-width:640px){
 .fpm-home .hero{background:linear-gradient(150deg,var(--pop) 72%,var(--blue) 72%)}
 .fpm-home .hero-shell,.fpm-home .home-jobs,.fpm-home .home-visit,.fpm-home .home-extras{grid-template-columns:1fr}
 .fpm-home .hero-shell{padding-block:2.7rem 2.2rem}
 .fpm-home .hero h1{font-size:clamp(2.9rem,11.8vw,4rem);max-width:10.5ch}
 .fpm-home .hero-art{margin:.35rem auto 0;width:92%;box-shadow:7px 7px #151515}
 .fpm-home .brand-mark{width:34px}
 .fpm-home .brand{max-width:8rem}
 .fpm-home .job:nth-child(even){margin-top:0}
 .fpm-home .quote{background:var(--pop)}
 .fpm-home .wp-block-table table{table-layout:fixed}
 .fpm-home .wp-block-table td,.fpm-home .wp-block-table th{padding:.48rem .38rem;font-size:.8rem}
}
@media(max-width:365px){.fpm-home .headtel{font-size:.68rem}.fpm-home .rail{gap:.45rem}}
.fpm-home .brand-mark img{aspect-ratio:1}
@media(min-width:901px) and (max-width:1240px){
 .fpm-home .mob summary{list-style:none;cursor:pointer}
 .fpm-home .mob nav{position:absolute;top:100%;left:0;right:0;background:var(--nav);color:var(--navtext);padding:.7rem 4.5% 1.2rem}
 .fpm-home .mob nav a{padding:.55rem 0}
}

.fpm-home .homepage-main > .wp-block-group{margin-block:0}
.fpm-home .mast a,.fpm-home .foot a{touch-action:manipulation}
.fpm-home .rail > *,.fpm-home .answers > *{margin-block:0}
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument.woff2) format("woff2");font-weight:400 700;font-display:swap}
.fpm-home{font:18px/1.62 "Instrument Sans",Arial,sans-serif}
.fpm-home h1,.fpm-home h2,.fpm-home h3,.fpm-home .brand{font-family:"Bricolage Grotesque",Arial,sans-serif;font-weight:800}
.fpm-home .hero h1{letter-spacing:-.06em}
.fpm-home .desktop a,.fpm-home .headtel,.fpm-home .mob a,.fpm-home .wp-block-button__link,.fpm-home .hero-call{font-size:1rem}
.fpm-home .wp-block-table table{font-size:1rem}
.fpm-home .wp-block-table figcaption,.fpm-home .footbase{font-size:.92rem}
@media(max-width:640px){
 .fpm-home .headtel{font-size:.84rem}
 .fpm-home .wp-block-table td,.fpm-home .wp-block-table th{font-size:.9rem;line-height:1.36}
}
@media(max-width:365px){.fpm-home .headtel{font-size:.76rem}}
.fpm-home .mast{position:sticky;top:0}
.fpm-home.admin-bar .mast{top:32px}
.fpm-home .mob nav{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
.fpm-home main [id]{scroll-margin-top:95px}
@media(max-width:782px){
 .fpm-home.admin-bar .mast{top:46px}
 .fpm-home.admin-bar .mob nav{max-height:calc(100dvh - 122px)}
}
@media(max-width:600px){.fpm-home.admin-bar .mast{top:0}}

.fpm-home .desktop .service-menu{position:relative}
.fpm-home .service-menu summary{font-weight:700;cursor:pointer}
.fpm-home .service-menu .service-links{position:absolute;top:100%;left:0;z-index:2;min-width:13rem;margin:0;padding:.5rem .8rem;background:var(--nav);border-bottom:3px solid var(--pop)}
.fpm-home .service-links p{margin:0}
.fpm-home .service-links a{display:block;padding:.35rem 0}
.fpm-home .desktop{align-items:center;white-space:nowrap}
.fpm-home .headbook-wrap{flex-shrink:0;white-space:nowrap}
.fpm-home .customer-reviews{background:var(--blue);color:white}
.fpm-home .review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.4rem;margin:1.7rem 0}
.fpm-home .review-grid>.review-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;margin:0;padding:1.45rem;border:2px solid #151515;background:#fffdf5;color:#171716;box-shadow:5px 5px var(--pop)}
.fpm-home .review-card p{margin:0}
.fpm-home .review-card p:last-child{padding-top:.75rem;border-top:1px solid #d7d4ca}
.fpm-home .customer-reviews .wp-block-button__link{background:var(--pop);border-color:var(--pop);color:#151515}
.fpm-home .foot{padding:2.6rem 0 1.1rem;background:#151515;border-top:4px solid #ffdf35}
.fpm-home .footgrid{display:grid;grid-template-columns:1.16fr 1fr .75fr 1.1fr;gap:clamp(1rem,3vw,2.7rem);align-items:start}
.fpm-home .footgrid>*{min-width:0;margin-block:0}
.fpm-home .footgrid h2{margin:0 0 .85rem;font-size:1.17rem;letter-spacing:-.02em;color:#ffdf35}
.fpm-home .footgrid .foot-brand>p{font-size:.95rem;color:#d7d7d7;max-width:27ch}
.fpm-home .foot-nav p,.fpm-home .foot-nav>a{margin:0 0 .28rem}
.fpm-home .foot-nav a{font-size:.94rem;color:#e4e4e4;text-decoration:none}
.fpm-home .foot-nav a:hover,.fpm-home .foot-nav a:focus-visible{color:#ffdf35;text-decoration:underline}
.fpm-home .foot-contact{background:#173fd7;padding:1.1rem 1.25rem;border-left:4px solid #ffdf35}
.fpm-home .foot-contact .foot-phone{font-weight:700;margin-bottom:.65rem}
.fpm-home .foot-contact .foot-phone a{white-space:nowrap;text-decoration:none}
.fpm-home .foot-contact .foot-book,.fpm-home .foot-contact .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;background:#ffdf35;color:#151515;padding:.48rem .9rem;font-weight:750;text-decoration:none}
.fpm-home .foot-contact .foot-book:hover,.fpm-home .foot-contact .wp-block-button__link:hover{background:#fff}
.fpm-home .foot-contact .foot-book+p,.fpm-home .foot-contact .wp-block-buttons+p{margin:.65rem 0 0;font-size:.91rem}
.fpm-home .footbase{border-top:1px solid #484848;color:#d7d7d7;padding-top:1rem;margin-top:1.7rem;gap:.4rem 1.3rem;font-size:.83rem}
.fpm-home .footbase>p:last-child:not(:first-child){margin-left:auto}
@media(max-width:900px){
 .fpm-home .footgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fpm-home .foot-brand{grid-column:1/-1}
 .fpm-home .foot-contact{grid-column:1/-1;max-width:26rem;width:100%}
 .fpm-home .footbase>p:last-child:not(:first-child){margin-left:0}
}
.fpm-home .footgrid .foot-nav>p:not(.brand p){margin:0 0 .2rem}
.fpm-home .foot-nav>p,.fpm-home .foot-nav>a{line-height:1.38}
.fpm-home .footgrid .foot-contact .wp-block-buttons+p:not(.brand p){margin-top:.65rem;margin-bottom:0}
.fpm-home .foot .fpm-footer-social{display:flex;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.fpm-home .foot .fpm-footer-social .wp-social-link{margin:0;background:#ffdf35;color:#151515;border-radius:.35rem}
.fpm-home .foot .fpm-footer-social a{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;color:inherit}
.fpm-home .foot .fpm-footer-social svg{width:1.2rem;height:1.2rem}
@media(max-width:1240px){
 .fpm-home .mob>summary,.fpm-home .fpm-mobile-call,.fpm-home .fpm-menu-close,.fpm-home .fpm-mobile-services>summary{min-height:44px;cursor:pointer}
 .fpm-home .mob>summary,.fpm-home .fpm-mobile-call{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.35rem .55rem}
 .fpm-home .fpm-mobile-call{color:inherit;text-decoration:none;white-space:nowrap}
 .fpm-home .fpm-mobile-call span{font-size:1.25rem;line-height:1}
 .fpm-home .fpm-menu-icon{width:17px;height:12px;border-block:2px solid;position:relative}
 .fpm-home .fpm-menu-icon::after{content:"";position:absolute;inset:3px 0 auto;border-top:2px solid}
 .fpm-home .mob[open]>nav{animation:fpm-menu-open .17s ease-out;box-shadow:0 12px 24px #0003}
 .fpm-home .mob nav a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
 .fpm-home .fpm-menu-close,.fpm-home .fpm-mobile-services>summary{font:inherit;font-weight:700;padding:.45rem .7rem;color:#171716;background:#ffdf35;border:0}
 .fpm-home .fpm-mobile-services{margin-block:.65rem}
 .fpm-home .fpm-mobile-services a{padding-inline:.8rem!important}
 .fpm-home .mast :focus-visible{outline:3px solid #4775ff;outline-offset:3px}
}
@media(max-width:365px){
 .fpm-home .mob>summary,.fpm-home .fpm-mobile-call{padding-inline:.28rem;gap:.25rem}
}
@keyframes fpm-menu-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.fpm-home .mob[open]>nav{animation:none}}
@media(max-width:430px){
 .fpm-home .mast .fpm-mobile-call{min-width:44px;padding-inline:.25rem}
 .fpm-home .mast .fpm-mobile-call .fpm-call-number{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .fpm-home .mast .mob>summary{min-width:44px;padding-inline:.4rem}
}
