/* Measured EcoCrete composition; original Driveway brand, content and imagery. */
body.eco-page{--eco-blue:#00324d;--eco-cyan:#2fc1ff;--eco-green:#80aa3a;font-family:Lato,sans-serif;font-size:18px;line-height:1.857142857;background:#fff;color:#4c5253;margin:0}
.eco-page main{padding:0}.eco-container{max-width:1200px;margin:0 auto;width:calc(100% - 48px)}
.eco-page .eco-header{position:absolute;top:0;left:0;right:0;background:none!important;box-shadow:none!important;backdrop-filter:none;z-index:130}.eco-page .eco-header::before{display:none}.eco-header__inner{max-width:1370px;margin:auto;min-height:107px;display:flex;align-items:center;gap:20px;padding:18px 0}.eco-brand{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;font-family:Poppins,sans-serif;font-weight:700;font-size:23px;line-height:1.05;width:250px;flex-shrink:0}.eco-brand img{width:60px;height:60px;object-fit:contain}.eco-brand span{white-space:nowrap}.eco-brand small{font-size:18px;letter-spacing:.21em;color:var(--eco-green);font-weight:700}.eco-nav{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:26px}.eco-nav a{color:white;font-size:18px;text-decoration:none;white-space:nowrap}.eco-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;border-radius:5px;background:var(--eco-cyan);color:#fff!important;padding:20px 40px;font-family:Poppins,sans-serif;font-weight:600;font-size:18px;line-height:18px;border:0;text-transform:uppercase;transition:background .2s;white-space:nowrap;min-height:58px}.eco-button:hover{background:#169dda}.eco-button:focus-visible,.eco-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}.eco-button--header{background:var(--eco-green);min-width:220px}.eco-toggle{display:none;border:0;background:none;color:var(--eco-cyan);padding:10px;min-width:44px;min-height:44px;cursor:pointer}
.eco-page .eco-hero{position:relative;height:auto;max-height:none;min-height:0;display:block;color:white;padding:0;overflow:hidden}.eco-hero__photo,.eco-closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.eco-overlay{position:absolute;inset:0;background:var(--eco-blue);opacity:.8;pointer-events:none}.eco-hero__inner{position:relative;min-height:100vh;display:flex;align-items:center}.eco-hero h1{font-family:Poppins,sans-serif;font-weight:700;font-size:72px;line-height:1.4;text-transform:uppercase;color:#fff;margin:0;letter-spacing:0}.eco-hero h1 span{color:var(--eco-green)}.eco-hero__actions{display:flex;align-items:center;gap:10px;margin-top:50px}.eco-hero__actions .eco-button{width:249.109px}.eco-button--phone{background:transparent;border:1px solid white;min-height:60px;width:210.445px!important}.eco-button--phone:hover{background:rgba(255,255,255,.1)}
.eco-story{padding:104px 0 128px;background:#fff}.eco-story__grid{display:grid;grid-template-columns:600px 560px;gap:40px;align-items:center}.eco-story__copy{padding-top:56px}.eco-story h2{font-family:Poppins,sans-serif;color:var(--eco-blue);font-size:44px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:0;margin:0}.eco-divider{width:64px;height:4px;background:var(--eco-cyan);margin:32px 0 24px}.eco-story p{font-size:18px;line-height:1.857142857;margin:0 0 18px;width:calc(100% - 16px)}.eco-story__button{margin-top:20px;min-width:249px}.eco-story__media{min-width:0}.eco-comparison{margin:0}.eco-comparison__stage{--compare:50%;position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#ddd;touch-action:pan-y}.eco-comparison__stage img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.eco-comparison__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--compare)) 0 0)}.eco-comparison__line{position:absolute;top:0;bottom:0;left:var(--compare);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}.eco-comparison__line span{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:44px;width:44px;border:3px solid #fff;border-radius:50%;background:#00324d88;color:white;font:bold 20px Arial;box-shadow:0 1px 6px #0004}.eco-comparison__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;padding:0;touch-action:pan-y}.eco-comparison__stage:focus-within{outline:3px solid var(--eco-cyan);outline-offset:3px}.eco-comparison figcaption{font-size:14px;color:#677378;margin-top:10px}
.eco-closing{position:relative;text-align:center;overflow:hidden;padding:76px 0 66px}.eco-closing .eco-overlay{opacity:.9}.eco-closing .eco-container{position:relative}.eco-closing h3{font-family:Poppins,sans-serif;font-size:44px;line-height:1.3;font-weight:700;color:white;text-transform:uppercase;margin:0}.eco-closing .eco-divider{margin:30px auto 32px}.eco-closing .eco-button{min-width:296px}
.eco-footer{background:#040608;color:#fff}.eco-footer__grid{padding:80px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px;align-items:start;min-height:530px}.eco-footer .eco-brand{font-size:21px;width:auto;gap:8px}.eco-footer .eco-brand img{width:56px;height:56px}.eco-footer .eco-brand small{font-size:16px}.eco-footer p{font-size:18px;line-height:1.857142857;margin:16px 0 18px}.eco-footer h4{font-family:Poppins,sans-serif;font-size:20px;line-height:1.2;font-weight:600;color:#fff;text-transform:uppercase;margin:0 0 28px}.eco-footer ul{list-style:none;padding:0;margin:0}.eco-footer li,.eco-footer li a{color:white;font-size:18px;line-height:1.857142857;text-decoration:none}.eco-footer li a:hover{color:var(--eco-cyan)}.eco-footer__contact{margin-top:32px!important}.eco-footer .eco-button{padding:15px;font-size:14px;line-height:14px;min-height:44px}.eco-copyright{text-align:center;background:var(--eco-blue);font-size:16px;padding:15px 20px;color:#fff;text-transform:uppercase}
.eco-page .eco-menu .navdrawer__panel{background:#fff;border-radius:0}.eco-page .eco-menu .navdrawer__links a{font-family:Lato,sans-serif;font-weight:400;border-bottom:1px solid #ddd}.eco-page .eco-menu .eco-button{width:100%}.eco-page .eco-menu .navdrawer__close{border:0;box-shadow:none;background:transparent;color:var(--eco-blue)}
@media(max-width:1400px){.eco-header__inner{margin:0 35px}.eco-brand{width:220px;font-size:20px}.eco-brand small{font-size:16px}.eco-nav{gap:20px}.eco-nav a{font-size:16px}.eco-button--header{font-size:16px;min-width:190px;padding:18px 26px}.eco-story__grid{grid-template-columns:1fr 1fr}}
@media(max-width:921px){body.eco-page{font-size:16.416px;line-height:1.857142857}.eco-header__inner{margin:0;min-height:89.242px;padding:16.416px 20px;justify-content:space-between}.eco-brand{width:220px;font-size:21px;gap:8px}.eco-brand img{width:54px;height:54px}.eco-brand small{font-size:16px}.eco-nav,.eco-button--header{display:none}.eco-toggle{display:block}.eco-container{width:calc(100% - 80px)}.eco-page .eco-hero{padding:160px 40px 120px}.eco-hero__inner{width:100%;min-height:100vh}.eco-hero__content{width:100%;text-align:center}.eco-hero h1{font-size:48px;line-height:1.4}.eco-hero__actions{justify-content:center}.eco-story{padding:80px 0}.eco-story__grid{display:flex;flex-direction:column;gap:48px;align-items:stretch}.eco-story__media{order:0}.eco-story__copy{order:1;padding-top:0}.eco-comparison__stage{max-width:344px;aspect-ratio:1}.eco-story p{font-size:16.416px;line-height:1.857142857}.eco-story h2{font-size:44px}.eco-story__button{font-size:16.416px;line-height:16.416px}.eco-footer__grid{width:calc(100% - 60px);gap:25px;padding:64px 0;grid-template-columns:repeat(3,1fr)}.eco-footer__grid>div:last-child{grid-column:1/-1}.eco-footer p,.eco-footer li,.eco-footer li a{font-size:16.416px}.eco-footer .eco-brand{font-size:15px}.eco-footer .eco-brand small{font-size:12px}.eco-footer .eco-brand img{width:42px;height:42px}.eco-footer h4{font-size:18px}}
@media(max-width:767px){.eco-header__inner{height:78.4375px;min-height:78.4375px;padding:16.416px 20px}.eco-brand{width:190px;font-size:17px;gap:7px}.eco-brand img{width:44px;height:44px}.eco-brand small{font-size:13px;letter-spacing:.19em}.eco-container{width:calc(100% - 48px)}.eco-page .eco-hero{padding:160px 24px 80px}.eco-hero__inner{min-height:50vh;width:100%;}.eco-hero h1{font-size:28px;line-height:1.4;text-align:center}.eco-hero h1 span{display:block}.eco-desktop-break{display:none}.eco-hero__actions{margin-top:50px;gap:5px;justify-content:center}.eco-hero__actions .eco-button{font-size:14px;line-height:14px;padding:15px;width:162.64px;min-height:44px;height:44px}.eco-hero__actions .eco-button--phone{width:133.015px!important;min-height:46px;height:46px}.eco-story{padding:64px 0}.eco-story__grid{gap:0}.eco-story__copy{order:0}.eco-story__media{order:1;margin-top:0}.eco-story h2{font-size:32px;line-height:1.3}.eco-divider{margin:20px 0 20px}.eco-story p{font-size:16.416px;line-height:1.857142857;width:calc(100% - 16px);margin-bottom:16.416px}.eco-story__button{padding:20px 40px;font-size:16.416px;line-height:16.416px;min-height:56.416px;margin-top:20px;min-width:251px}.eco-comparison__stage{max-width:none;width:100%}.eco-comparison figcaption{font-size:12px;margin-top:8px}.eco-closing{padding:64px 0 56px}.eco-closing h3{font-size:32px;line-height:1.3}.eco-closing .eco-divider{margin:26px auto 30px}.eco-closing .eco-button{font-size:16.416px;line-height:16.416px;min-height:56.416px;min-width:278px}.eco-footer__grid{width:calc(100% - 60px);grid-template-columns:1fr;gap:32px;padding:40px 0;min-height:0}.eco-footer__grid>div:last-child{grid-column:auto}.eco-footer .eco-brand{width:100%;font-size:25px;gap:12px}.eco-footer .eco-brand img{width:64px;height:64px}.eco-footer .eco-brand small{font-size:19px}.eco-footer p{margin-top:16px}.eco-footer h4{font-size:18px;line-height:1.2;margin-bottom:24px}.eco-footer li,.eco-footer li a,.eco-footer p{font-size:16.416px;line-height:1.857142857}.eco-footer__contact{margin-top:32px!important}.eco-copyright{font-size:12px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.eco-button{transition:none}}
.eco-hero__content{width:100%}

/* Vince revision: comparison first, shorter separated reading sections. */
.eco-compare-section{padding:72px 0 64px;background:#fff}
.eco-compare-section h2,.eco-copy-section h2{font-family:Poppins,sans-serif;font-weight:700;font-size:44px;line-height:1.3;text-transform:uppercase;color:var(--eco-blue);margin:0}
.eco-compare-section h2{text-align:center}.eco-compare-section .eco-divider{margin:24px auto 36px}
.eco-compare-section .eco-comparison{max-width:600px;margin:0 auto}
.eco-copy-section{padding:80px 0;background:#fff;border-top:1px solid #e8edf0}
.eco-copy-section--tint{background:#f3f6f8}
.eco-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.eco-copy-section p{margin:0 0 20px;font-size:18px;line-height:1.857142857}
.eco-copy-section .eco-button{margin-top:8px}
@media(max-width:921px){.eco-copy-grid{gap:40px}.eco-copy-section p{font-size:16.416px}}
@media(max-width:767px){
 .eco-compare-section{padding:48px 0 40px}
 .eco-compare-section h2,.eco-copy-section h2{font-size:32px;line-height:1.3}
 .eco-compare-section .eco-divider{margin:20px auto 28px}
 .eco-copy-section{padding:48px 0}
 .eco-copy-grid{grid-template-columns:1fr;gap:4px}
 .eco-copy-section .eco-divider{margin:20px 0}
 .eco-copy-section p{font-size:16.416px;margin-bottom:18px}
 .eco-copy-section .eco-button{font-size:16.416px;line-height:16.416px;min-height:56.416px}
}
/* Vince: new hero, Great-style conversion controls, Driveway colours/type. */
.eco-hero h1{text-transform:none;line-height:1.18;max-width:1100px}
.eco-hero__description{color:#fff;font-size:21px;line-height:1.5;max-width:650px;margin:24px 0 0}
.eco-work-description{max-width:600px;margin:0 auto 28px;text-align:center;font-size:18px;line-height:1.7}
.eco-quote-arrow{display:inline-block;animation:driveway-arrow 1.8s ease-in-out infinite}
@keyframes driveway-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.driveway-sticky{display:none}
.eco-page .quotemodal{display:none;align-items:center;justify-content:center;padding:15px;background:transparent}
.eco-page .quotemodal.is-open{display:flex}
.eco-page .quotemodal:not(.is-success) .quotemodal__dialog,.eco-page .quotemodal.is-open .quotemodal__dialog{position:relative;top:auto;left:auto;transform:none;width:600px;height:auto;max-width:100%;max-height:calc(var(--quote-viewport-height,100dvh) - 30px);overflow:auto;border-radius:0;background:white;box-shadow:0 8px 50px #0005}
.eco-page .quotemodal:not(.is-success) .quotemodal__bar{display:flex;position:relative;gap:12px;padding:22px 45px 18px 20px;background:#f1f1f1;border-bottom:1px solid #bbb;min-height:0;height:auto}
.eco-page .quotemodal .quotemodal__titles{display:block}
.eco-page .quotemodal .quotemodal__logo{width:45px;height:45px;object-fit:contain}
.eco-page .quotemodal:not(.is-success) .quotemodal__eyebrow{font:600 25px/1.2 Poppins,sans-serif;margin-bottom:8px;color:var(--eco-blue)}
.eco-page .quotemodal:not(.is-success) .quotemodal__desc{font-size:15px;line-height:1.5;color:#333}
.eco-page .quotemodal .quotemodal__close{position:absolute;right:8px;top:10px;border:0;background:none;padding:9px}
.eco-page .quotemodal .quote__card{padding:20px;overflow:visible}
.eco-page .quotemodal .qfields{gap:12px}
.eco-page .quotemodal .qfields .field{margin:0}
.eco-page .quotemodal .field label{font-size:14px;line-height:1.4;margin-bottom:5px}
.eco-page .quotemodal .field input,.eco-page .quotemodal .field select,.eco-page .quotemodal .field textarea{border:1px solid #777;border-radius:0;background:#fff;color:#111;font-size:16px!important;min-height:44px;padding:9px 11px;line-height:1.2}
.eco-page .quotemodal .field textarea{height:60px;min-height:60px}
.eco-page .quotemodal .qform__nav{margin-top:20px;padding:0}
.eco-page .quotemodal .qform__submit{width:100%;min-height:50px;border:1px solid var(--eco-cyan);border-radius:0;background:var(--eco-blue);color:#fff;font-size:16px;gap:10px}
.eco-page .quotemodal .qform__submit svg{animation:driveway-arrow 1.8s ease-in-out infinite}
@media(max-width:767px){
 .eco-hero h1{font-size:32px;line-height:1.2;text-wrap:balance}
 .eco-hero h1 span{display:inline}
 .eco-hero__description{font-size:17px;line-height:1.5;margin:20px auto 0;max-width:350px}
 .eco-hero__actions{margin-top:30px}
 .eco-work-description{font-size:16.416px;text-align:left}
 .driveway-sticky{position:fixed;bottom:0;left:0;right:0;z-index:180;display:flex;width:100%;height:calc(78px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:0 -3px 14px #0002}
 .driveway-sticky a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:78px;font:700 15px/22px Lato,sans-serif;gap:4px;text-decoration:none;color:var(--eco-blue)}
 .driveway-sticky a:last-child{background:var(--eco-cyan);color:var(--eco-blue)}
 .driveway-sticky svg{width:30px;height:30px;fill:currentColor}
 .eco-copyright{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
 .eco-page .quotemodal .qfields{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.eco-quote-arrow,.eco-page .quotemodal .qform__submit svg{animation:none}}

@media(max-width:767px){.eco-page .quotemodal:not(.is-success) .quotemodal__bar{padding-top:14px;padding-bottom:12px}.eco-page .quotemodal:not(.is-success) .quotemodal__eyebrow{font-size:20px;line-height:1.2}.eco-page .quotemodal .qfields{gap:10px}}
/* Persistent brand/navigation and address-centred Google Maps radius view. */
.eco-page .eco-header{position:fixed;background:rgba(0,50,77,.96)!important;box-shadow:0 2px 12px #0002!important}
html{scroll-padding-top:calc(var(--driveway-header-height,108px) + 16px)}
.eco-coverage h2{max-width:900px}.eco-coverage> .eco-container>p{max-width:650px;margin-bottom:28px}
.eco-google-map{position:relative;width:100%;height:500px;overflow:hidden;background:#e8ece7;border:1px solid #d2dbe0;isolation:isolate}
.eco-google-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.eco-map-radius{position:absolute;left:50%;top:50%;width:var(--radius-size,200px);height:var(--radius-size,200px);transform:translate(-50%,-50%);border:2px solid #167fa6;background:#2fc1ff24;border-radius:50%;pointer-events:none}
.eco-map-centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
.eco-map-dot{width:16px;height:16px;background:var(--eco-blue);border:3px solid white;border-radius:50%;box-shadow:0 1px 5px #0005}
.eco-map-centre strong{background:white;padding:5px 10px;border-radius:4px;box-shadow:0 1px 8px #0003;white-space:nowrap;font:600 14px/1.4 Poppins,sans-serif;color:var(--eco-blue)}
.eco-map-caption{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:14px;font-size:14px}
.eco-map-caption>span{display:flex;align-items:center;gap:8px}.eco-map-caption i{display:block;width:14px;height:14px;border:2px solid #167fa6;background:#2fc1ff24;border-radius:50%}.eco-map-caption a{color:var(--eco-blue);font-weight:700}
@media(max-width:767px){.eco-google-map{height:360px}.eco-map-caption{flex-wrap:wrap;font-size:13px}.eco-coverage h2{font-size:30px}}
.eco-map-centre{transform:none;width:0;height:0}.eco-map-dot{position:absolute;left:-8px;top:-8px}.eco-map-centre strong{position:absolute;left:0;top:16px;transform:translateX(-50%)}
/* Existing service offering, presented with clearer image/copy hierarchy. */
.eco-services{padding:80px 0;background:#f3f6f8;border-top:1px solid #e1e7ea}
.eco-services__head{max-width:720px;margin-bottom:38px}.eco-services__eyebrow{font:600 12px/1.4 Poppins,sans-serif;letter-spacing:.16em;color:#507082;margin:0 0 16px}
.eco-services h2{font:700 44px/1.3 Poppins,sans-serif;color:var(--eco-blue);text-transform:uppercase;margin:0}.eco-services__head>p:last-child{max-width:620px;margin:0;font-size:18px}
.eco-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.eco-service-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dbe4e9;border-radius:6px;overflow:hidden}
.eco-service-card>img{width:100%;height:260px;object-fit:cover}
.eco-service-card__copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:28px}
.eco-service-card__copy>span{font:600 10px/1.4 Poppins,sans-serif;letter-spacing:.13em;color:#577887;margin-bottom:12px}
.eco-service-card h3{font:600 24px/1.35 Poppins,sans-serif;color:var(--eco-blue);margin:0 0 14px}
.eco-service-card p{font-size:17px;line-height:1.7;margin:0 0 24px;max-width:470px}
.eco-service-card a{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:auto;font:600 14px/1.5 Poppins,sans-serif;color:var(--eco-blue);text-decoration:none;border-bottom:2px solid var(--eco-cyan)}
.eco-service-card a:hover{color:#1689ba}.eco-service-card a:focus-visible{outline:3px solid var(--eco-cyan);outline-offset:4px}
.eco-services__note{font-size:14px;margin:25px 0 0;color:#58707d}
@media(max-width:767px){.eco-services{padding:48px 0}.eco-services h2{font-size:32px}.eco-services__head{margin-bottom:30px}.eco-services__head>p:last-child{font-size:16.416px}.eco-service-grid{grid-template-columns:1fr;gap:22px}.eco-service-card>img{height:220px}.eco-service-card__copy{padding:22px}.eco-service-card h3{font-size:22px}.eco-service-card p{font-size:16.416px}.eco-service-card a{font-size:13px}.eco-services__note{font-size:13px}}
