@font-face{font-family:'Shipley Gothic';src:url('/shipley-gothic-book.woff') format('woff');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:'Shipley Gothic';src:url('/shipley-gothic-demi.woff') format('woff');font-style:normal;font-weight:600 900;font-display:swap}
body,body *{font-family:'Shipley Gothic',sans-serif!important;font-style:normal}h1,h2,h3,h4,h1 em,h2 em{font-weight:600!important;letter-spacing:-.35px!important}body{font-size:16px;line-height:1.65}p{font-weight:400}.eyebrow{font-weight:600;letter-spacing:1.3px}.new-hero h1{font-size:clamp(44px,4.6vw,64px);line-height:1.18;max-width:950px}.hero-description{font-size:16px;line-height:1.8}.section-title h2,.hub-inner h2,.roof-story h2,.values-section h2,.closing h2{font-size:34px;line-height:1.25}.service-tabs button{font-size:20px;line-height:1.4}.service-detail h3{font-size:29px;line-height:1.3}.approach-grid h3{font-size:20px;line-height:1.4}.approach-grid p{line-height:1.85}.brand,.brand *{font-family:Arial,Helvetica,sans-serif!important}.navlinks{font-size:13px;font-weight:600;line-height:20px;align-items:center;gap:24px}.navlinks>a:not(.button),.nav-drop-toggle{display:flex;align-items:center;justify-content:flex-start;height:48px;min-height:48px;padding:14px 0;margin:0;border:0;box-sizing:border-box;font-size:13px;font-weight:600;line-height:20px;white-space:nowrap}.nav-dropdown{display:flex;align-items:center;position:relative}.nav-drop-toggle:after{display:none}.nav-dropdown.is-open .nav-drop-toggle{border:0;box-shadow:inset 0 -1px var(--blue)}.navlinks .button{height:48px;min-height:48px;padding:14px 20px;line-height:20px;font-size:12px;font-weight:600}.button{font-weight:600;line-height:22px}.page-head h1{line-height:1.2!important}.roof-hero h1{font-size:clamp(40px,4.5vw,62px)!important;line-height:1.2!important}.footer-top h3{letter-spacing:1px!important}
@media(max-width:1120px){.navlinks{align-items:stretch;gap:2px;font-size:14px}.navlinks>a:not(.button),.nav-drop-toggle{height:auto;min-height:48px;width:100%;padding:14px 12px;font-size:14px;line-height:20px;justify-content:flex-start}.nav-dropdown{display:block;width:100%}.nav-drop-toggle{width:100%;text-align:left}.navlinks .button{height:auto;min-height:48px;font-size:14px}.nav-menu{margin-left:12px}.nav-menu a{line-height:20px}}
@media(max-width:760px){.new-hero h1{font-size:clamp(33px,8.4vw,43px);line-height:1.25}.hero-description{font-size:14px}.section-title h2,.hub-inner h2,.roof-story h2,.values-section h2,.closing h2{font-size:27px;line-height:1.3}.service-tabs button{font-size:17px}.service-detail h3{font-size:25px}.approach-grid h3{font-size:19px}.roof-hero h1{font-size:39px!important}.footer-top h3{min-height:20px}.footer-top>div>a:not(.brand),.footer-top>div>span{line-height:1.75}.navlinks>a:not(.button),.nav-drop-toggle{padding:14px 12px}}
@media(max-width:1120px){.navlinks{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}}

.fence-spotlight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap);align-items:center;padding-block:64px}.fence-spotlight h2{font-size:34px;line-height:1.25;margin:0 0 24px}.fence-spotlight .eyebrow{margin:0 0 16px}.fence-spotlight-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted);margin:0;max-width:480px}.fence-spotlight ul{list-style:none;padding:0;margin:24px 0;font-size:13px;color:var(--muted)}.fence-spotlight li{padding:10px 0;border-bottom:1px solid var(--line)}.fence-spotlight .actions{align-items:center;gap:24px;margin-top:28px}.fence-spotlight-image{display:block;align-self:stretch;min-height:390px}.fence-spotlight img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}.fence-spotlight+.services-section{padding-top:0}.fence-spotlight+.services-section .section-title{border-top:1px solid var(--line);padding-top:40px}
@media(max-width:760px){.fence-spotlight{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:44px}.fence-spotlight h2{font-size:27px;line-height:1.3}.fence-spotlight-image{min-height:0;aspect-ratio:3/2}.fence-spotlight-copy>p:not(.eyebrow){font-size:14px}.fence-spotlight .actions{gap:18px;align-items:flex-start;flex-direction:column}.fence-spotlight+.services-section .section-title{padding-top:32px}}
.new-footer .footer-top{grid-template-columns:minmax(185px,1.2fr) repeat(4,minmax(0,1fr));gap:24px}.footer-top>div:last-child{grid-column:auto}.footer-top h3{margin-bottom:22px;min-height:20px;line-height:20px}.footer-top>div>a:not(.brand),.footer-top>div>span{display:block;min-height:34px;padding-bottom:10px;font-size:12px;line-height:24px}.footer-top>div:first-child p{max-width:185px}.booking-help h2,.booking-confirmation h2,.text-request h2{font-size:27px;line-height:1.3;letter-spacing:-.3px}.booking-help h2{margin:0 0 20px}.booking-small{font-size:13px;color:var(--muted);line-height:1.85;margin-top:30px}.booking-submit{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center;margin-top:28px}.booking-submit .button{margin:0}.text-request{margin-top:24px}.text-request p,.booking-confirmation p{font-size:14px;line-height:1.85}.text-request textarea{font-size:13px;line-height:1.65}.booking-confirmation{border-top:3px solid var(--blue)!important}.booking-confirmation h2{margin:0 0 20px}.booking-confirmation .textlink{border:0;background:none;font-size:13px;cursor:pointer;text-decoration:underline;padding:10px 0}.booking-layout .actions{align-items:center}.notification-note{padding:18px 24px;background:#eef3f6;color:var(--navy);line-height:1.7}
@media(max-width:1120px){.new-footer .footer-top{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.footer-top>div:first-child{grid-column:1/-1}.footer-top .brand{gap:10px}.footer-top .brand strong{font-size:19px}}
@media(max-width:760px){.new-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div>a:not(.brand),.footer-top>div>span{font-size:11px;line-height:22px;min-height:34px}.booking-help h2,.booking-confirmation h2,.text-request h2{font-size:24px}.booking-submit{align-items:stretch;flex-direction:column;gap:18px}.booking-submit .textlink{align-self:flex-start}.booking-layout .two-col{gap:28px}}
/* Stronger, more readable text throughout the site. */
:root{--muted:#3e505b}body,body *{font-weight:600!important}body{-webkit-font-smoothing:auto}.brand strong{font-weight:700!important}.brand small{font-weight:400!important}.hero-description{color:#f1f4f6}.roof-story-copy>p:not(.eyebrow),.insurance p{color:#e0e8ed}.footer-top>div>a:not(.brand),.footer-top>div>span,.footer-top>div>p{font-size:13px;color:#3e505b}.footer-bottom{font-size:11px;color:#3e505b}.status,.booking-small,.notice{color:#3e505b}.footer-top h3,.eyebrow{font-weight:700!important}input,select,textarea{color:var(--navy)}
@media(max-width:760px){.footer-top>div>a:not(.brand),.footer-top>div>span,.footer-top>div>p{font-size:12px}.footer-bottom{font-size:10px}.booking-small{font-size:14px}}
