/* VI Road Marking + VI Asphalt Repair
   Palette: asphalt, traffic yellow, line white, MMA green */
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("assets/fonts/barlow-condensed-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/barlow-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("assets/fonts/barlow-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/barlow-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/barlow-latin-700-normal.woff2") format("woff2"); }

:root{--ink:#172c3b;--blue:#0869a6;--pale:#eaf2f7;--muted:#536471}body{font-family:Barlow,Arial,sans-serif;font-size:17px}h1,h2,h3,.brand-name{font-family:'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.02em}h2{font-size:clamp(37px,4.5vw,59px);line-height:1.03}h3{font-size:28px}.wrap{width:min(1200px,calc(100% - 80px))}.topbar{display:none}header{background:#101c28;color:white;border:0}.header{min-height:88px;gap:22px}.brand{gap:12px}.brand img{width:37px;height:41px;flex-shrink:0}header .brand img,footer .brand img{filter:none}.brand-text{display:block}.brand-name{display:block;font-size:22px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.brand small{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:#a9bac7;margin-top:4px}nav{font-size:13px;gap:25px}nav a[aria-current]{color:#83cfff}.button{background:#0869a6;font-family:Barlow,sans-serif;font-size:15px;font-weight:600;padding:16px 22px;gap:22px;min-height:48px}.button:hover{background:#075582}.header .button{padding:12px 17px}.hero{position:relative;background:#101c28;color:white;isolation:isolate}.herogrid{display:flex;min-height:660px;position:static;align-items:center}.herocopy{padding:58px 0 70px;max-width:680px;position:relative;z-index:2}.herocopy h1{font-size:clamp(61px,6.8vw,102px);line-height:.96;font-weight:800;max-width:680px;letter-spacing:-.02em}.herocopy h1 em{color:#6cc8ff}.herocopy .eyebrow{color:#83cfff}.herocopy p{color:#cbd5dd;max-width:450px;font-size:18px}.herophoto{position:absolute;inset:0 0 0 38%;margin:0;min-height:0;z-index:-2}.herophoto>img{object-position:center 65%}.herophoto:after{display:none}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101c28 0%,#101c28f5 26%,#101c2880 57%,#101c2812 100%)}.photolabel{bottom:42px;right:40px;left:auto;background:#101c28;padding:18px 22px;border-right:4px solid #38aaf0;text-align:right;border-radius:4px 0 0 4px}.photolabel b{font-size:20px}.photolabel span{font-size:10px;color:#cbdce8}.hero .textlink{color:#fff;border-bottom:1px solid #9aadb9;padding-bottom:5px}.herofoot{font-size:12px;font-weight:400;color:#b8c9d6;margin-top:28px;letter-spacing:.03em}.herofoot span{color:#62bcf2;padding:0 12px}.credential-strip{background:#0869a6;color:white}.credential-strip .wrap{display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:11px;font-weight:600;letter-spacing:.11em}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em}.section{padding-top:88px;padding-bottom:88px}.service-rows{border-top:1px solid #cdd8df}.service-rows>a{display:grid;grid-template-columns:60px 1fr 40px;gap:24px;align-items:center;padding:27px 0;border-bottom:1px solid #cdd8df}.service-rows h3{font-size:28px}.service-rows p{margin:7px 0 0;font-size:16px}.service-no{font-size:14px;color:#087ac1}.row-arrow{font-size:30px;color:#087ac1}.service-rows a:hover h3{color:#087ac1}.story{background:#101c28;color:white}.story p{color:#bac9d5}.story .eyebrow,.story .textlink{color:#7acaff}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.gallery .project img{height:300px;border-radius:3px}.project strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:27px}.project small{font-size:10px}.area{background:#eaf2f7;padding:50px 35px;border:0}.cta{background:#eaf2f7;color:#172c3b;margin-top:0;padding:40px 35px}.cta .button{background:#0869a6;color:white!important}footer{background:#101c28;border-top:4px solid #087ac1}.pagehero{width:100%;background:#101c28;color:white;padding:65px max(40px,calc((100vw - 1200px)/2)) 60px;margin-bottom:55px}.pagehero h1{font-size:clamp(48px,5.4vw,78px);letter-spacing:-.02em}.pagehero .eyebrow{color:#7acaff}.pagehero p{color:#c5d5df}.filters button{border-radius:30px}.filters button[aria-pressed=true]{background:#0869a6;border-color:#0869a6}.mobile-contact{display:none}
@media(max-width:1050px){.wrap{width:calc(100% - 52px)}nav{gap:16px}.brand-name{font-size:20px}.pagehero{width:100%;padding-left:26px;padding-right:26px}.herocopy{max-width:610px}.herocopy h1{font-size:76px}.photolabel{display:none}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}.header{min-height:76px}.brand img{width:30px;height:36px}.brand-name{font-size:20px}.brand small{font-size:9px}.menu{color:#fff;border-color:#536471}nav{background:#101c28}nav a{font-size:16px}.herogrid{min-height:650px;align-items:start}.herocopy{padding:48px 0 55px;max-width:100%}.herocopy h1{font-size:clamp(51px,10.5vw,68px);max-width:520px}.herocopy p{font-size:16px;max-width:340px}.herocopy .eyebrow{font-size:9px;letter-spacing:.1em}.herophoto{inset:0;opacity:.6}.hero:after{background:linear-gradient(90deg,#101c28f5,#101c28a0),linear-gradient(0deg,#101c28,transparent 70%)}.hero .actions{gap:22px;align-items:start;flex-direction:column}.hero .actions .button{width:100%;justify-content:space-between}.herofoot{font-size:11px}.credential-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:9px;letter-spacing:.05em}.section{padding-top:58px;padding-bottom:58px}.service-rows>a{grid-template-columns:25px 1fr 20px;gap:14px;padding:24px 0}.service-rows h3{font-size:24px}.service-rows p{font-size:14px}.gallery{grid-template-columns:1fr;gap:32px}.gallery .project img{height:auto;aspect-ratio:4/3;object-fit:cover}.area,.cta{padding:30px 22px}.pagehero{width:100%;padding:40px 22px;margin-bottom:35px}.mobile-contact{display:grid;position:fixed;z-index:25;bottom:0;left:0;right:0;grid-template-columns:1fr 1fr;background:#101c28;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #0002}.mobile-contact a{padding:17px 6px;color:#fff;text-align:center;font-size:13px;font-weight:600}.mobile-contact a:last-child{background:#0869a6}body{padding-bottom:55px}}

.worksafe-badge{display:block;width:208px;max-width:100%;height:auto;margin-top:18px}
/* Keep the business name and location line together without inherited line-box gaps. */
.brand .brand-text{display:flex;flex-direction:column;gap:3px}
.brand .brand-name{line-height:1}
.brand .brand-text small{margin:0;line-height:1}

.policy{max-width:900px}.policy h1{font-size:clamp(2.5rem,6vw,4.5rem);margin-bottom:32px}.policy h2{font-size:1.8rem;margin:36px 0 16px}.policy h3{font-size:1.3rem}.policy ul{padding-left:24px}.policy li{margin:8px 0}.policy a{overflow-wrap:anywhere}.quote-live{min-width:0}.quote-field{margin:20px 0}.quote-field label{display:block;margin-bottom:8px}.field-error{color:#ffb8b8;font-size:.95rem;margin:6px 0}.field-error:empty{display:none}.quote-live .button:disabled{opacity:.65;cursor:wait}astro-island{min-width:0;display:block}
