/* Imperial Linemarking — Homepage refresh V8. Scoped to homepage. */
body.home-refresh {background:#f5f6f2;}
.home-refresh .masthead{background:#f8faf6;border-bottom-color:#e4e8e2;}
.home-refresh .masthead__in{padding-top:.82rem;padding-bottom:.82rem;}
.home-refresh .nav .btn--gold{box-shadow:0 4px 0 rgba(16,36,30,.10);}
.hp-main{overflow:hidden;}
.hp-main h1,.hp-main h2,.hp-main h3{letter-spacing:-.015em;}
.hp-main em{font-style:normal;color:var(--imperial);}
.hp-hero {position:relative;isolation:isolate;overflow:hidden;background:#111d1b;color:#fff;min-height:620px;}
.hp-hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('../img/work/no-parking-hatched-zone-1600.webp');background-size:cover;background-position:50% 46%;filter:saturate(.93);transform:scale(1.02);}
.hp-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(93deg,rgba(9,22,19,.97) 4%,rgba(12,30,25,.92) 40%,rgba(12,29,24,.81) 70%,rgba(10,20,19,.94) 100%);}
.hp-hero-inner{padding:clamp(2.7rem,6vw,5.5rem) 0 clamp(3.1rem,6.5vw,5.2rem);display:grid;grid-template-columns:minmax(0,1.07fr) minmax(345px,.82fr);align-items:center;gap:clamp(2rem,5vw,6rem);max-width:1320px;}
.hp-kicker{color:#f7ca60;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;line-height:1.8;margin-bottom:1.6rem;}
.hp-signal{display:inline-block;width:9px;height:9px;background:#f7c54a;border-radius:50%;box-shadow:0 0 0 5px rgba(242,195,0,.12)}
.hp-kicker-sep{color:#9fae9f;}
.hp-hero h1{font-size:clamp(3.5rem,6.5vw,6.65rem);line-height:.9;max-width:11ch;margin:0 0 1.25rem;font-family:var(--f-display);letter-spacing:-.02em;color:#fff;}
.hp-hero h1 span{color:#f0c340;white-space:nowrap;}
.hp-hero-sub{font-weight:700;color:#f6f8f4;font-size:clamp(1.05rem,1.7vw,1.27rem);margin-bottom:.75rem;}
.hp-hero-desc{color:#d1dcd4;font-size:1.04rem;max-width:56ch;line-height:1.72;margin-bottom:1.7rem;}
.hp-actions{display:flex;align-items:center;gap:1.35rem 1.7rem;flex-wrap:wrap;margin:1.6rem 0 2rem;}
.hp-btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:54px;padding:.82rem 1.35rem;font-family:var(--f-display);font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;cursor:pointer;border-radius:4px;transition:background-color .2s,transform .2s;}
.hp-btn span{font-family:var(--f-body);font-size:1.17rem;}
.hp-btn:hover{transform:translateY(-2px);text-decoration:none;}
.hp-btn-gold{background:#efbf37;color:#15251d;}
.hp-btn-gold:hover{background:#ffcf49;color:#112219;}
.hp-phone{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;color:#fff;}
.hp-phone:hover{color:#f7ca60;}
.hp-phone-icon{display:grid;place-items:center;border:1px solid rgba(255,255,255,.36);border-radius:50%;height:40px;width:40px;font-size:1.15rem;}
.hp-phone small{display:block;color:#b7c9bf;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;}
.hp-phone strong{display:block;font-family:var(--f-display);font-size:1.45rem;letter-spacing:.025em;line-height:1.1;}
.hp-hero-credentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .9rem;max-width:530px;color:#dce8dd;font-size:.84rem;}
.hp-hero-credentials span{white-space:normal;display:flex;gap:.5rem;align-items:baseline;}
.hp-hero-credentials b{color:#efbf37;}
.hp-lead{background:#fff;color:#192820;border-radius:10px;padding:clamp(1.25rem,2.4vw,2.2rem);box-shadow:0 30px 80px rgba(0,0,0,.33);border-top:5px solid #efbf37;scroll-margin-top:100px;}
.hp-lead-head{margin-bottom:1.15rem;}
.hp-lead-overline{font-family:var(--f-mono);color:var(--imperial);font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:.5rem;}
.hp-lead h2{font-size:clamp(1.9rem,2.8vw,2.8rem);line-height:1;max-width:none;margin:0 0 .45rem;}
.hp-lead h2 span{color:var(--imperial);}
.hp-lead-head>p:last-child{font-size:.92rem;color:#56635b;margin:0;line-height:1.5;}
.hp-quote{gap:.68rem;}
.hp-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:.68rem;}
.hp-quote .field{gap:.22rem;min-width:0;}
.hp-quote .field label{font-family:var(--f-body);font-size:.73rem;letter-spacing:0;font-weight:700;text-transform:none;color:#23362d;}
.hp-quote .field label span{color:#a77005;}
.hp-quote .field input,.hp-quote .field select,.hp-quote .field textarea{border-color:#d7ddd6;background:#f7f9f6;padding:.65rem .7rem;font-size:.91rem;border-radius:4px;line-height:1.3;min-height:43px;}
.hp-quote .field textarea{min-height:65px;}
.hp-quote .field input:focus,.hp-quote .field select:focus,.hp-quote .field textarea:focus{outline:2px solid #0d5c3d;outline-offset:0;background:#fff;}
.hp-quote .hp-optional{color:#718078;font-weight:400;font-size:.7rem;}
.hp-quote .hp-btn-form{width:100%;background:var(--imperial);color:white;justify-content:center;gap:1.2rem;font-size:1.08rem;min-height:49px;}
.hp-quote .hp-btn-form:hover{background:var(--imperial-dk);color:white;}
.hp-quote .hp-privacy{display:block;font-size:.72rem;text-align:center;line-height:1.45;color:#637166;margin:0;}
.hp-privacy a{color:var(--imperial);}
.hp-quote .form-status{font-size:.83rem;margin:0;padding:.65rem;background:#f3f5f1;}
.hp-benefit-strip{background:#f0f3ed;border-bottom:1px solid #dce4da;}
.hp-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;min-height:100px;align-items:center;}
.hp-benefit-grid>div{display:flex;align-items:center;justify-content:center;gap:.9rem;min-height:50px;padding:.7rem;border-right:1px solid #d6ded6;}
.hp-benefit-grid>div:last-child{border:0;}
.hp-strip-n{font-family:var(--f-display);font-size:2.75rem;line-height:.8;font-weight:800;color:var(--imperial);}
.hp-strip-n span{color:var(--gold);font-size:2rem;}
.hp-strip-icon{font-size:1.8rem;color:var(--imperial);font-weight:700;line-height:1;}
.hp-strip-label{font-family:var(--f-body);font-size:.89rem;font-weight:700;line-height:1.3;color:#2a3931;}
.hp-section{padding:clamp(3.5rem,6.4vw,6rem) 0;}
.hp-section-head{margin-bottom:2.15rem;}
.hp-section-head>p,.hp-section-head>div>p:last-child{color:#5a665e;line-height:1.7;max-width:58ch;}
.hp-section-label{font-family:var(--f-mono);font-size:.7rem;color:var(--imperial);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .95rem;display:flex;align-items:center;gap:.55rem;font-weight:600;}
.hp-section-label span{display:inline-block;width:23px;height:3px;background:#d19c1e;}
.hp-section-head h2,.hp-why h2,.hp-regions h2,.hp-faq h2,.hp-endcta h2{font-size:clamp(2.65rem,5.3vw,4.35rem);line-height:.98;margin:0 0 .65rem;}
.hp-section-head-row{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;}
.hp-section-head-row>div{flex:1;}
.hp-section-head-row>p{max-width:345px;}
.hp-inline-link{flex:none;display:inline-flex;align-items:center;gap:1rem;font-family:var(--f-display);font-size:1.09rem;font-weight:800;text-transform:uppercase;text-decoration:none;color:var(--imperial);padding-bottom:.3rem;border-bottom:2px solid var(--gold);}
.hp-inline-link:hover{color:#062e1c;}
.hp-projects{background:#fff;}
.hp-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.45rem;}
.hp-project-card{border:1px solid #e0e4de;background:#fbfcf9;overflow:hidden;border-radius:9px;transition:box-shadow .2s,transform .2s;}
.hp-project-card:hover{box-shadow:0 20px 32px rgba(13,44,26,.12);transform:translateY(-3px);}
.hp-project-image{display:block;position:relative;overflow:hidden;background:#15191a;aspect-ratio:1.65;}
.hp-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.hp-project-card:hover img{transform:scale(1.035);}
.hp-project-image-tag{position:absolute;bottom:15px;left:16px;padding:.39rem .68rem;background:#f0c43e;color:#10291b;font-family:var(--f-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;}
.hp-project-body{padding:1.45rem 1.65rem 1.55rem;}
.hp-project-place{font-family:var(--f-mono);font-size:.69rem;color:var(--imperial);font-weight:600;letter-spacing:.13em;margin:0 0 .65rem;}
.hp-project-place span{color:#a9b2a8;padding:0 .3rem;}
.hp-project-body h3{font-size:clamp(1.85rem,2.6vw,2.55rem);line-height:1.03;margin:0 0 .7rem;color:#20302a;}
.hp-project-body>p:not(.hp-project-place){color:#566159;line-height:1.6;font-size:.96rem;min-height:3.1em;margin-bottom:.9rem;}
.hp-project-link{display:inline-flex;gap:.7rem;align-items:center;font-family:var(--f-display);font-size:1.06rem;font-weight:800;text-transform:uppercase;text-decoration:none;color:var(--imperial);}
.hp-project-link span{color:#b78511;}
.hp-project-link:hover{text-decoration:underline;}
.hp-services{background:#f3f5f0;}
.hp-center{text-align:center;}
.hp-center .hp-section-label{justify-content:center;}
.hp-center>p{margin-left:auto;margin-right:auto;}
.hp-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.hp-service-card{background:#fff;border:1px solid #e0e4dc;overflow:hidden;border-radius:8px;min-width:0;}
.hp-service-image{display:block;overflow:hidden;aspect-ratio:1.42;background:#111b18;}
.hp-service-image img{height:100%;width:100%;object-fit:cover;transition:transform .3s;}
.hp-service-card:hover img{transform:scale(1.04);}
.hp-service-copy{padding:1.2rem 1.15rem 1.35rem;}
.hp-service-num{font-family:var(--f-mono);font-weight:600;letter-spacing:.1em;font-size:.66rem;color:var(--imperial);margin:0 0 .7rem;}
.hp-service-card h3{font-size:1.46rem;line-height:1.09;margin:0 0 .7rem;min-height:2.25em;}
.hp-service-copy>p:not(.hp-service-num){font-size:.86rem;color:#59665e;line-height:1.55;min-height:5.2em;margin-bottom:1.1rem;}
.hp-service-copy>a{display:inline-flex;gap:.6rem;align-items:center;color:var(--imperial);text-transform:uppercase;font-family:var(--f-display);font-weight:800;font-size:.96rem;text-decoration:none;}
.hp-service-copy>a:hover{text-decoration:underline;}
.hp-service-more{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-top:1.7rem;}
.hp-service-more strong{color:#5b6760;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;margin-right:.8rem;}
.hp-service-more a{border:1px solid #d5dcd4;border-radius:100px;padding:.46rem .85rem;background:#fff;color:#2b4033;text-decoration:none;font-size:.81rem;font-weight:600;}
.hp-service-more a span{color:var(--imperial);}
.hp-service-more a:hover{border-color:var(--imperial);}
.hp-why{color:#fff;background:#122921;position:relative;overflow:hidden;}
.hp-why::after{content:'';position:absolute;right:-110px;bottom:-185px;width:570px;height:570px;border:75px solid rgba(246,192,47,.04);border-radius:50%;pointer-events:none;}
.hp-why-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);}
.hp-why .hp-section-label{color:#f2c342;}
.hp-why h2{color:white;max-width:14ch;}
.hp-why h2 em{color:#f2c342;}
.hp-why-intro>p:not(.hp-section-label){color:#c3d5c8;line-height:1.75;max-width:48ch;margin:1.1rem 0 2rem;}
.hp-why-list{border-top:1px solid rgba(255,255,255,.2);}
.hp-why-item{display:grid;grid-template-columns:46px 1fr;gap:.8rem;padding:1.23rem 0;border-bottom:1px solid rgba(255,255,255,.15);}
.hp-why-item>span{font-family:var(--f-mono);font-size:.83rem;color:#f2c342;margin-top:.3rem;}
.hp-why-item h3{font-size:1.3rem;line-height:1.2;margin:0 0 .34rem;}
.hp-why-item p{color:#b5c7bd;margin:0;font-size:.89rem;line-height:1.65;}
.hp-steps{background:#fff;}
.hp-steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.hp-step{padding:1.5rem 1.2rem;background:#f5f7f2;border-top:4px solid var(--imperial);border-radius:3px;}
.hp-step>span{display:block;font-family:var(--f-display);font-weight:800;font-size:2.65rem;line-height:.9;color:#c0d1c5;margin-bottom:1rem;}
.hp-step h3{font-size:1.35rem;line-height:1.15;min-height:2.15em;margin:0 0 .55rem;}
.hp-step p{font-size:.88rem;color:#647067;line-height:1.6;margin:0;}
.hp-regions{background:#e8eee7;}
.hp-regions-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.hp-regions-inner>div>p:last-child{color:#526157;max-width:55ch;line-height:1.7;}
.hp-area-links{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}
.hp-area-links a{background:#fff;border:1px solid #d4ded1;border-radius:4px;padding:.7rem .9rem;color:#1e4c32;font-family:var(--f-display);font-size:1.05rem;font-weight:700;text-transform:uppercase;text-decoration:none;}
.hp-area-links a:hover{background:#115d3c;color:white;}
.hp-area-links a.hp-areas-all{background:#145d3c;color:white;border-color:#145d3c;}
.hp-faq{background:#fff;}
.hp-faq-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:4rem;}
.hp-faq-grid>div:first-child>p:last-child{color:#5c675f;}
.hp-faq-items{border-top:1px solid #d8ded7;}
.hp-faq-items details{border-bottom:1px solid #d8ded7;padding:.18rem .15rem;}
.hp-faq-items summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.05rem .2rem;font-weight:700;color:#22382b;font-size:1rem;line-height:1.5;}
.hp-faq-items summary::-webkit-details-marker{display:none;}
.hp-faq-items summary:after{content:'+';font-size:1.5rem;color:var(--imperial);font-weight:500;flex:none;}
.hp-faq-items details[open] summary:after{content:'−';}
.hp-faq-items details p{font-size:.91rem;color:#55625b;margin:0 .2rem 1rem;line-height:1.7;}
.hp-endcta{background:#165a3a;color:#fff;padding:clamp(2.8rem,5.4vw,4.5rem) 0;}
.hp-endcta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.hp-endcta .hp-section-label{color:#f4cf73;}
.hp-endcta h2{font-size:clamp(2.9rem,5.7vw,4.6rem);margin-bottom:.55rem;}
.hp-endcta em{color:#f0c341;}
.hp-endcta p:not(.hp-section-label){color:#d2e6d8;margin:0;max-width:55ch;line-height:1.6;}
.hp-endcta-actions{display:flex;align-items:stretch;flex-direction:column;gap:1rem;min-width:260px;}
.hp-endcta-call{color:#fff;text-align:center;font-family:var(--f-display);font-size:1.15rem;font-weight:700;text-decoration:underline;}
.hp-endcta-call:hover{color:#f0c341;}
.hp-mobile-actions{display:none;}
@media(max-width:1150px){.hp-hero-inner{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:2rem;}.hp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hp-service-card h3{min-height:auto;}.hp-service-copy>p:not(.hp-service-num){min-height:0;}}
@media(max-width:840px){.hp-hero-inner{grid-template-columns:1fr;gap:2.2rem;padding-top:3.25rem;}.hp-hero h1{font-size:clamp(3.55rem,10vw,5.5rem);}.hp-hero-desc{max-width:65ch;}.hp-lead{max-width:650px;width:100%;}.hp-benefit-grid{grid-template-columns:repeat(2,1fr);}.hp-benefit-grid>div:nth-child(2){border-right:0;}.hp-benefit-grid>div:nth-child(-n+2){border-bottom:1px solid #d6ded6;}.hp-why-grid,.hp-faq-grid,.hp-regions-inner{grid-template-columns:1fr;gap:2.2rem;}.hp-steps-grid{grid-template-columns:repeat(2,1fr);}.hp-endcta-inner{align-items:start;flex-direction:column;}.hp-endcta-actions{flex-direction:row;align-items:center;flex-wrap:wrap;}.hp-project-body h3{font-size:clamp(1.55rem,3.4vw,2.1rem);}}
@media(max-width:620px){.hp-hero-inner{padding-top:2.8rem;padding-bottom:2.65rem;}.hp-hero h1{font-size:clamp(3.2rem,12vw,4.45rem);}.hp-kicker{font-size:.6rem;}.hp-hero-credentials{grid-template-columns:1fr 1fr;font-size:.76rem;gap:.75rem .45rem;}.hp-form-pair{grid-template-columns:1fr;}.hp-lead{padding:1.35rem;scroll-margin-top:82px;}.hp-lead h2{font-size:2.35rem;}.hp-section{padding:3.25rem 0;}.hp-section-head-row{align-items:start;flex-direction:column;gap:.3rem;}.hp-project-grid,.hp-service-grid,.hp-steps-grid{grid-template-columns:1fr;}.hp-project-image{aspect-ratio:1.4;}.hp-project-body{padding:1.25rem;}.hp-project-body>p:not(.hp-project-place){min-height:0;}.hp-steps-grid{gap:.7rem;}.hp-step{padding:1.2rem;}.hp-step h3{min-height:0;}.hp-benefit-grid>div{padding:.7rem .3rem;gap:.4rem;}.hp-strip-label{font-size:.75rem;}.hp-strip-n{font-size:2.2rem;}.hp-strip-icon{font-size:1.5rem;}.hp-area-links{grid-template-columns:1fr 1fr;}.hp-endcta-actions{flex-direction:column;align-items:stretch;width:100%;}.hp-endcta-actions .hp-btn{justify-content:center;}.hp-mobile-actions{position:fixed;z-index:80;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#0c2619;padding:.55rem .8rem calc(.55rem + env(safe-area-inset-bottom));gap:.65rem;box-shadow:0 -8px 24px rgba(0,0,0,.14);}.hp-mobile-actions a{font-family:var(--f-display);font-size:1.06rem;font-weight:700;text-transform:uppercase;text-align:center;text-decoration:none;color:white;display:flex;align-items:center;justify-content:center;padding:.55rem;border:1px solid rgba(255,255,255,.3);border-radius:3px;}.hp-mobile-actions a:last-child{background:#efbf37;border-color:#efbf37;color:#14271b;gap:.4rem;}body.home-refresh{padding-bottom:68px;}}
@media(max-width:390px){.hp-hero h1{font-size:2.9rem;}.hp-hero-credentials{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.hp-project-card,.hp-btn,.hp-project-image img,.hp-service-image img{transition:none;}}

/* V9: showcase the complete supplied before/after in the homepage work section. */
.hp-featured-transformation{margin-top:1.65rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);background:#122c23;color:#e8f1e9;border-radius:10px;overflow:hidden;min-height:440px;border:1px solid #25483a;}
.hp-featured-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.55rem,4.3vw,4rem);}
.hp-featured-eyebrow{font:600 .7rem var(--f-mono);letter-spacing:.15em;color:#f0c340;margin:0 0 1.2rem;display:flex;align-items:center;gap:.6rem;}
.hp-featured-dot{display:inline-block;width:8px;height:8px;background:#e8b330;border-radius:50%;}
.hp-featured-copy h3{color:#fff;font-family:var(--f-display);font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.03;margin:0 0 1.1rem;max-width:21ch;}
.hp-featured-copy h3 em{color:#f0c340;font-style:normal;}
.hp-featured-desc{color:#c9d8cf;font-size:1rem;line-height:1.68;max-width:51ch;margin:0 0 1.2rem;}
.hp-featured-details{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.65rem;}
.hp-featured-details span{border:1px solid rgba(222,241,222,.29);color:#dde8db;border-radius:2px;font-size:.74rem;font-weight:600;padding:.4rem .6rem;}
.hp-featured-cta{color:#10271b;background:#f0c340;font-family:var(--f-display);font-weight:800;font-size:1.06rem;text-decoration:none;text-transform:uppercase;display:inline-flex;align-items:center;gap:1.2rem;border-radius:3px;padding:.85rem 1rem;}
.hp-featured-cta:hover{background:#ffda65;color:#10271b;text-decoration:none;}
.hp-featured-visual{min-width:0;background:#e7e9e5;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.35rem;}
.hp-featured-visual img{display:block;max-height:520px;width:auto;max-width:100%;height:auto;object-fit:contain;box-shadow:0 10px 35px rgba(0,0,0,.15);}
.hp-featured-image-caption{color:#354b41;font:600 .65rem var(--f-mono);letter-spacing:.13em;margin:.8rem 0 0;text-align:center;}
@media(max-width:760px){.hp-featured-transformation{grid-template-columns:1fr;}.hp-featured-copy{padding:2rem 1.4rem;}.hp-featured-visual{padding:1.25rem;}.hp-featured-visual img{max-height:none;width:min(100%,420px);}}
