/*
Theme Name: Precision Needs
Description: A responsive, accessible contracting theme for Precision Needs.
Version: 1.0.0
Requires PHP: 8.1
License: GPL-2.0-or-later
*/
:root{--ink:#20241e;--muted:#666b61;--paper:#f7f7f0;--red:#cf2924;--line:#dcded3;--green:#e8ecd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{width:min(1320px,90%);margin-inline:auto}.topbar{background:var(--ink);color:#fff;font-size:11px;letter-spacing:.03em;padding:11px 0}.topbar .wrap{display:flex;justify-content:space-between}.topbar i{font-style:normal;color:#a9ad9a;margin:0 12px}.header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;justify-content:space-between;align-items:center;min-height:100px;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:77px;height:48px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font-size:15px;letter-spacing:1px;font-weight:800}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.nav nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--red);color:white;padding:18px 23px;border:0;font-size:13px;font-weight:700;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#ac201d;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.nav .button{padding:15px 19px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:6%;padding-block:60px 70px;align-items:center}.hero-copy{padding:20px 0}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;line-height:1.6;margin:0 0 22px;color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.4vw,78px);line-height:1.01;letter-spacing:-4px;margin-bottom:30px;font-weight:600}h2{font-size:clamp(34px,3.4vw,49px);line-height:1.08;letter-spacing:-2px;font-weight:500;margin-bottom:26px}h3{font-weight:600;letter-spacing:-.5px}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:490px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid #a2a599;padding-bottom:5px}.hero-note{font-size:11px;color:var(--muted);display:flex;gap:15px;align-items:center;margin-top:45px}.line{height:1px;width:30px;background:var(--red)}.hero-photo{position:relative;height:575px;background:#64745b;overflow:hidden;border-radius:3px}.hero-photo>img{width:100%;height:100%;object-position:center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#152210c4)}.photo-label{position:absolute;bottom:40px;left:36px;color:white;z-index:1}.photo-label span{display:block;font-size:9px;letter-spacing:2px;margin-bottom:15px}.photo-label strong{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.8px}.photo-number{position:absolute;right:0;top:25px;z-index:1;background:var(--paper);font-size:9px;padding:14px 20px;letter-spacing:1px}.service-strip{border-block:1px solid var(--line);padding:25px 0}.service-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;font-weight:600}.service-strip b{color:var(--red);font-size:21px}.section{padding-block:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:36px}.section-heading h2{margin:0}.section-heading>p{font-size:15px;line-height:1.8;max-width:320px;color:var(--muted);margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-image{height:280px;position:relative;overflow:hidden}.service-image img{width:100%;height:100%;transition:transform .4s}.service-card a:hover img{transform:scale(1.025)}.service-image>span{position:absolute;left:16px;top:16px;background:var(--paper);padding:9px 11px;font-size:11px}.service-card h3{font-size:22px;display:flex;justify-content:space-between;gap:10px;margin:22px 0 12px}.service-card h3 span{color:var(--red)}.service-card p{font-size:14px;color:var(--muted);line-height:1.8;max-width:365px}.about{background:var(--green)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about .lead{font-size:17px;margin-bottom:30px}.principle{border-top:1px solid #cbd1bc;display:flex;gap:22px;padding:20px 0}.principle>b{font-size:11px;color:var(--red);padding-top:4px}.principle h3{font-size:16px;margin:0 0 8px}.principle p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.work-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}.work-grid figure{margin:0}.work-grid img{height:440px;width:100%}.work-grid figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding-top:17px}.work-grid figcaption span:last-child{color:var(--muted)}.quote-intro{background:var(--ink);color:var(--paper);padding:65px;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-radius:3px}.quote-intro .eyebrow{color:#ed8981}.quote-intro p:not(.eyebrow){font-size:15px;line-height:1.8;color:#c5cbbb}.quote-intro small{display:block;font-size:11px;color:#c5cbbb;margin-top:16px}.quote-intro ol{list-style:none;padding:0;margin:30px 0}.quote-intro li{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid #454b3e}.quote-intro li b{font-size:12px;font-weight:400;color:#c5cbbb}.quote-intro li span{font-size:20px}.quote-intro li small{font-size:12px;line-height:1.7;margin-top:9px}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;padding-right:25px;position:relative}.faq summary:after{content:'+';position:absolute;right:0;color:var(--red)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;line-height:1.8;color:var(--muted);margin:18px 0 0}footer{background:#e9ebdf;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:40px}.footer-name{font-size:19px;font-weight:700;letter-spacing:1px}.footer-name span{display:block;letter-spacing:0;font-size:12px;font-weight:400;margin-top:10px}footer p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:22px}footer h2{font-size:18px;letter-spacing:-.3px;margin-bottom:16px}.footer-phone{font-size:30px;letter-spacing:-1px}.footer-bottom{border-top:1px solid #cdd1bf;padding-top:24px;display:flex;gap:25px;font-size:11px}.footer-bottom>span{margin-right:auto}.page-main{padding-block:65px 100px;min-height:60vh}.page-main>article>h1{font-size:clamp(40px,5vw,64px);letter-spacing:-2px;max-width:900px}.entry-content{font-size:17px;line-height:1.8}.entry-content>p,.entry-content>ul,.entry-content>h2{max-width:850px}.entry-content>h2{margin-top:40px}.entry-content a:not(.button){text-decoration:underline}.entry-content img{max-height:550px;width:100%;border-radius:3px}.pn-app{line-height:1.5!important;max-width:1040px;margin:35px auto 0}.pn-app .eyebrow{color:var(--red)}.pn-app .button{background:var(--red)!important}.pn-app .pn-price{background:var(--ink)}.pn-app .pn-job:has(input:checked){background:#f5eae5;border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.pn-app .pn-job:has(input:checked) .pn-radio{border-color:var(--red);background:white}.pn-app .pn-price-label{color:#f3b8b0}.pn-app .pn-job-icon{color:var(--red)}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}.mobile-quote{display:none}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){.hero{padding-block:80px}.hero-photo{height:640px}}@media(max-width:1050px){.nav nav{gap:17px}.brand>span{display:none}.hero{gap:5%}h1{font-size:58px;letter-spacing:-3px}.hero-photo{height:530px}.hero-actions{flex-wrap:wrap;gap:22px}.service-image{height:240px}.quote-intro{padding:45px;gap:7%}}@media(max-width:760px){.wrap{width:90%}.topbar .wrap>span{display:none}.topbar .wrap{justify-content:center}.nav{min-height:78px}.brand>span{display:block;font-size:13px}.brand img{width:64px;height:40px}.menu-toggle{display:flex;gap:12px;border:0;background:none;padding:12px 0;font-size:12px}.nav nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 5%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0001}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:25px}.hero{grid-template-columns:1fr;padding-block:35px 40px;gap:28px}.hero-copy{padding:0}h1{font-size:clamp(46px,10vw,66px);letter-spacing:-2.6px;max-width:580px;margin-bottom:22px}.eyebrow{font-size:9px;margin-bottom:18px}.lead{font-size:16px}.hero-actions{margin-top:24px}.hero-note{margin-top:25px;font-size:10px}.hero-photo{height:400px}.photo-label{left:25px;bottom:28px}.service-strip{padding:20px 0}.service-strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:16px}.service-strip b{display:none}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:20px;display:inline-block}h2{font-size:36px;letter-spacing:-1.5px}.service-grid{grid-template-columns:1fr;gap:28px}.service-image{height:320px}.service-card h3{font-size:24px;margin-top:17px}.service-card p{max-width:none}.about-grid,.faq{grid-template-columns:1fr;gap:24px}.work-grid{grid-template-columns:1fr;gap:30px}.work-grid img{height:360px}.work-grid figcaption{font-size:11px}.quote-intro{grid-template-columns:1fr;padding:32px 25px;gap:15px}.quote-intro ol{margin:0}.quote-intro li span{font-size:18px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom>span{width:100%}footer{padding-bottom:95px}.mobile-quote{display:flex;position:fixed;bottom:14px;left:5%;right:5%;padding:17px 22px;background:var(--red);color:white;font-size:14px;justify-content:space-between;border-radius:4px;z-index:15;box-shadow:0 3px 20px #0002}.page-main{padding-block:40px 65px}.entry-content{font-size:16px}.page-main .pn-app{margin-inline:-2%}.pn-progress{font-size:10px!important}.pn-app .pn-form{padding:24px 18px}.pn-app h3{letter-spacing:-.8px}.pn-app .pn-price strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}@media print{.header,.topbar,footer,.mobile-quote{display:none}.page-main{padding:0}.pn-app{border:0!important;box-shadow:none!important}body{background:white}}
