/* Precision Construction site styles (brand: navy #0f3650, teal #3392ae, mist #ebebeb) */
:root{--pc-navy:#0f3650;--pc-teal:#3392ae;--pc-teal-text:#1f7a96;--pc-teal-light:#6bbdd4;--pc-deep:#1e5c77;--pc-mist:#ebebeb;--pc-raised:#f3f6f8;--pc-photo:#e6edf1;--pc-line:#d5dee4;--pc-muted:#4a6375;--pc-muted-dark:#a9bccb;--pc-raised-dark:#133f5c;--pc-pad:clamp(20px,4vw,40px);--pc-sec:clamp(88px,10vw,140px)}
body.pc-site,body.pc-site #page-container{background:#fff}
body.pc-site #page-container{padding-top:0!important}
.pc-site #main-header,.pc-site #top-header,.pc-site #main-footer,.pc-site #et-main-area>footer{display:none!important}
.pc-site,.pc-site .et_pb_text,.pc-site .et_pb_text_inner,.pc-site p,.pc-site li,.pc-site a,.pc-site h1,.pc-site h2,.pc-site h3,.pc-site input,.pc-site select,.pc-site textarea,.pc-site button{font-family:'Montserrat','Helvetica Neue',Arial,sans-serif}
.pc-site .et_pb_text_inner{color:var(--pc-navy)}
/* Neutralise Divi section/row spacing inside our sections */
.et_pb_section.pc-sec{padding:0!important;background-color:#fff}
.et_pb_section.pc-sec.pc-bg-navy{background-color:#0f3650;color:#ebebeb}
.et_pb_section.pc-sec.pc-bg-raised{background-color:#f3f6f8}
.et_pb_section.pc-sec.pc-ftr,.et_pb_section.pc-sec.pc-hdr{background-color:transparent}
.et_pb_section.pc-sec .et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.et_pb_section.pc-sec .et_pb_column{margin:0!important;width:100%!important}
.et_pb_section.pc-sec .et_pb_module{margin-bottom:0!important}
.pc-sec p{padding-bottom:0}
.pc-sec h1,.pc-sec h2,.pc-sec h3{padding-bottom:0;color:inherit}
/* Layout */
.pc-wrap{max-width:1200px;margin:0 auto;padding:var(--pc-sec) var(--pc-pad)}
.pc-wrap.pc-tight-top{padding-top:clamp(72px,9vw,120px)}
.pc-wrap.pc-tight{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.pc-bg-white{background:#fff}.pc-bg-raised{background:var(--pc-raised)}.pc-bg-navy{background:var(--pc-navy);color:var(--pc-mist)}
.pc-flex{display:flex;flex-wrap:wrap;gap:56px}
.pc-flex.pc-center{align-items:center}.pc-flex.pc-end{align-items:flex-end;justify-content:space-between}
.pc-col{flex:1 1 420px;min-width:0}.pc-col-sm{flex:1 1 300px;min-width:0}.pc-col-lg{flex:2 1 520px;min-width:0}
.pc-grid{display:flex;flex-wrap:wrap;gap:24px}
.pc-grid>*{flex:1 1 300px;min-width:0}
.pc-grid.pc-2>*{flex:1 1 420px}
/* Type */
.pc-eyebrow{margin:0 0 16px!important;font-size:12px!important;line-height:16px!important;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--pc-teal-text)!important}
.pc-bg-navy .pc-eyebrow{color:var(--pc-teal-light)!important}
.pc-display{margin:0!important;font-size:clamp(40px,5.6vw,72px)!important;line-height:1.08!important;font-weight:300!important;letter-spacing:-.015em;color:inherit}
.pc-bg-navy .pc-display,.pc-bg-navy .pc-h2{color:#fff!important}
.pc-h1{margin:0!important;font-size:clamp(40px,5vw,64px)!important;line-height:1.1!important;font-weight:300!important;letter-spacing:-.015em}
.pc-h2{margin:0!important;font-size:clamp(32px,3.8vw,48px)!important;line-height:1.17!important;font-weight:300!important;letter-spacing:-.01em}
.pc-h3{margin:0!important;font-size:22px!important;line-height:30px!important;font-weight:500!important}
.pc-h3-lg{margin:0!important;font-size:28px!important;line-height:36px!important;font-weight:400!important}
.pc-lead{margin:0!important;max-width:540px;font-size:19px!important;line-height:32px!important;font-weight:300}
.pc-bg-navy .pc-lead{color:var(--pc-mist)}
.pc-body{margin:20px 0 0!important;font-size:17px!important;line-height:30px!important;color:var(--pc-muted);max-width:640px}
.pc-small{font-size:15px!important;line-height:26px!important;color:var(--pc-muted)}
.pc-rule{width:40px;height:2px;background:var(--pc-teal);margin:32px 0}
.pc-num{font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--pc-teal-text)}
.pc-bignum{font-size:48px;line-height:48px;font-weight:300;color:var(--pc-teal)}
.pc-mt-lg{margin-top:64px!important}.pc-mb-lg{margin-bottom:64px!important}
/* Buttons and links */
.pc-btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
.pc-btn{display:inline-flex!important;align-items:center;height:56px;padding:0 40px;font-size:13px!important;font-weight:600!important;letter-spacing:.18em;text-transform:uppercase;text-decoration:none!important;border:1px solid transparent;transition:background .2s,color .2s}
.pc-btn-navy{background:var(--pc-navy);color:#fff!important}.pc-btn-navy:hover{background:var(--pc-deep)}
.pc-btn-mist{background:var(--pc-mist);color:var(--pc-navy)!important}.pc-btn-mist:hover{background:#fff}
.pc-btn-ghost{border-color:var(--pc-mist);color:var(--pc-mist)!important;padding:0 32px}.pc-btn-ghost:hover{background:rgba(255,255,255,.08)}
.pc-btn-outline{border-color:var(--pc-navy);color:var(--pc-navy)!important;padding:0 32px}.pc-btn-outline:hover{background:var(--pc-navy);color:#fff!important}
.pc-link{font-size:13px!important;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pc-teal-text)!important;text-decoration:underline!important;text-underline-offset:6px}
.pc-site a:focus-visible,.pc-site button:focus-visible,.pc-site input:focus-visible,.pc-site select:focus-visible,.pc-site textarea:focus-visible{outline:2px solid var(--pc-teal);outline-offset:3px}
/* Images */
.pc-img{display:block;width:100%;object-fit:cover;background:var(--pc-photo)}
.pc-img-hero{height:clamp(360px,44vw,600px)}
.pc-img-lg{height:clamp(320px,38vw,520px)}
.pc-img-md{height:320px}.pc-img-card{height:260px}.pc-img-sm{height:clamp(200px,16vw,220px)}
.pc-ph{display:flex;align-items:center;justify-content:center;background:var(--pc-photo);color:var(--pc-muted);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-align:center;padding:16px}
.pc-bg-navy .pc-ph{background:var(--pc-raised-dark);color:var(--pc-muted-dark)}
/* Cards and lists */
.pc-card{background:#fff}
.pc-card-body{padding:40px}
.pc-list{list-style:none!important;margin:0!important;padding:0!important}
.pc-list li{display:flex;gap:24px;padding:28px 0!important;border-top:1px solid var(--pc-line)}
.pc-list li:last-child{border-bottom:1px solid var(--pc-line)}
.pc-steps{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:40px 32px}
.pc-steps li{flex:1 1 220px;border-top:2px solid var(--pc-teal);padding-top:28px!important}
.pc-benefit{display:flex;gap:32px;padding:40px 0;border-top:1px solid var(--pc-line)}
.pc-site a.pc-plain{color:inherit;text-decoration:none}
/* Icons (round homes page) */
.pc-icon{width:44px;height:44px;flex:0 0 44px;stroke:var(--pc-teal);fill:none;stroke-width:1.5}
.pc-bg-navy .pc-icon{stroke:var(--pc-teal-light)}
.pc-feature{display:flex;gap:20px}
.pc-bg-navy .pc-feature h3{color:#fff}
.pc-bg-navy .pc-feature p{color:var(--pc-mist)}
.pc-stat{font-size:clamp(40px,5vw,56px);line-height:1;font-weight:300;color:var(--pc-teal-light)}
/* FAQ */
.pc-faq details{border-top:1px solid var(--pc-line)}
.pc-faq details:last-of-type{border-bottom:1px solid var(--pc-line)}
.pc-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:19px;line-height:28px;font-weight:500;color:var(--pc-navy)}
.pc-faq summary::-webkit-details-marker{display:none}
.pc-faq summary span{font-weight:300;color:var(--pc-teal);transition:transform .2s}
.pc-faq details[open] summary span{transform:rotate(45deg)}
.pc-faq details p{margin:0 0 28px!important;max-width:640px;font-size:16px;line-height:28px;color:var(--pc-muted)}
.pc-faq h2.pc-eyebrow{margin-top:64px!important}
.pc-faq h2.pc-eyebrow:first-child{margin-top:0!important}
/* Contact */
.pc-dl{margin:56px 0 0}
.pc-dl div{padding:24px 0;border-top:1px solid var(--pc-line)}
.pc-dl div:last-child{border-bottom:1px solid var(--pc-line)}
.pc-dl dt{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--pc-teal-text)}
.pc-dl dd{margin:8px 0 0;font-size:17px;line-height:28px}
.pc-dl a{color:var(--pc-navy);text-decoration:none}
.pc-form{background:var(--pc-raised);padding:clamp(28px,4vw,56px)}
.pc-form form{display:flex;flex-wrap:wrap;gap:24px}
.pc-form .pc-field{flex:1 1 200px;display:flex;flex-direction:column;gap:8px}
.pc-form .pc-field.pc-full{flex-basis:100%}
.pc-form label{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--pc-navy)}
.pc-form input[type=text],.pc-form input[type=email],.pc-form input[type=tel],.pc-form select,.pc-form textarea{height:56px;padding:0 16px;border:1px solid var(--pc-teal);border-radius:2px;background:#fff;font-size:16px;color:var(--pc-navy);width:100%;box-sizing:border-box}
.pc-form textarea{height:auto;padding:16px;line-height:26px}
.pc-form .pc-check{flex-basis:100%;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:400;letter-spacing:0;color:var(--pc-muted)}
.pc-form button{height:56px;padding:0 48px;border:0;background:var(--pc-navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.pc-form button:hover{background:var(--pc-deep)}
.pc-notice{flex-basis:100%;padding:16px 20px;background:#fff;border:1px solid var(--pc-teal);color:var(--pc-navy);font-size:15px}
/* Header */
.pc-header{background:#fff;border-bottom:1px solid var(--pc-line);position:relative;z-index:50}
.pc-header-in{max-width:1200px;margin:0 auto;padding:14px var(--pc-pad);display:flex;align-items:center;justify-content:space-between;gap:16px 32px}
.pc-logo img{height:76px;width:auto;display:block}
.pc-nav{display:flex;align-items:center;gap:8px 28px}
.pc-nav ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}
.pc-nav ul a{display:block;font-size:12.5px;line-height:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pc-navy);text-decoration:none;padding:14px 0 12px;border-bottom:2px solid transparent}
.pc-nav ul .current-menu-item>a,.pc-nav ul a:hover{border-bottom-color:var(--pc-teal)}
.pc-nav .pc-btn{height:48px;padding:0 24px}
.pc-menu-toggle{display:none;background:none;border:1px solid var(--pc-navy);height:44px;padding:0 16px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pc-navy);cursor:pointer}
@media (max-width:1200px){.pc-menu-toggle{display:inline-flex;align-items:center}.pc-nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;padding-bottom:16px}.pc-header.is-open .pc-nav{display:flex}.pc-nav ul{flex-direction:column;gap:0;width:100%}.pc-nav ul a{padding:14px 0;border-bottom:1px solid var(--pc-line)}.pc-header-in{flex-wrap:wrap}.pc-logo img{height:60px}}
/* Footer */
.pc-footer{background:var(--pc-navy);color:var(--pc-mist);position:relative;overflow:hidden}
.pc-footer .pc-lines{position:absolute;right:-60px;top:-40px;width:620px;height:420px;pointer-events:none}
.pc-footer-in{position:relative;max-width:1200px;margin:0 auto;padding:clamp(72px,9vw,120px) var(--pc-pad) 40px}
.pc-footer .pc-cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:clamp(64px,8vw,96px);border-bottom:1px solid var(--pc-deep);margin-bottom:64px}
.pc-footer h2{margin:0;font-size:clamp(34px,4.4vw,48px);line-height:1.17;font-weight:300;color:#fff;padding:0}
.pc-footer p{color:var(--pc-mist)}
.pc-footer-cols{display:flex;flex-wrap:wrap;gap:48px 64px}
.pc-footer-cols>div{flex:1 1 180px}
.pc-footer-cols>div:first-child{flex:1 1 260px}
.pc-footer h4{margin:0 0 20px;padding:0;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--pc-teal-light)}
.pc-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pc-footer a{color:var(--pc-mist);text-decoration:none;font-size:15px}
.pc-footer a:hover{color:#fff;text-decoration:underline}
.pc-footer address{font-style:normal;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:24px}
.pc-footer .pc-muted{color:var(--pc-muted-dark)}
.pc-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid var(--pc-deep);font-size:13px;color:var(--pc-muted-dark)}

.pc-bg-navy .et_pb_text_inner{color:#ebebeb}
.pc-bg-navy .pc-h3{color:#fff}

@media (min-width:1201px){.pc-nav ul{flex-wrap:nowrap;gap:24px}.pc-nav{gap:28px}}
.pc-nav ul a{font-size:12px;letter-spacing:.14em;white-space:nowrap}
.pc-nav .pc-btn{white-space:nowrap}
.pc-logo img{height:68px}
.pc-header-in{max-width:1280px}
.pc-display{font-size:clamp(40px,4.6vw,64px)!important}
.pc-bg-navy .pc-flex.pc-center>.pc-col:first-child{flex-grow:1.15}
.pc-steps li{flex:1 1 170px}
