@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#202720;--muted:#60685f;--green:#93b94e;--deep:#253623;--paper:#f7f8f4;--line:#dce2d5;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Montserrat',Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:550}h1{font-size:clamp(44px,4.25vw,66px)}h2{font-size:clamp(34px,3.6vw,50px)}h3{font-size:24px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9bbd67;outline-offset:4px}.wrap{width:min(1220px,calc(100% - 80px));margin:auto}.topline{background:#252e23;color:#fff;text-align:center;font-size:11px;letter-spacing:1.5px;padding:10px 18px}.topline span{margin-left:32px;color:#c6d1bb}.header{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.brand img{width:92px;height:92px;object-fit:contain;mix-blend-mode:multiply}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;background:linear-gradient(120deg,#334b2c,#202c20);color:#fff;border:1px solid #35492f;border-radius:6px;min-height:54px;padding:15px 25px;font-size:15px;font-weight:650;transition:background .2s,transform .2s}.button:hover{background:#3d542f;transform:translateY(-2px)}.button-small{min-height:46px;font-size:14px;padding:11px 23px}.hero{padding:30px 0 64px;background:radial-gradient(ellipse at 12% 90%,#e4ebd8 0,transparent 55%),linear-gradient(#f7f8f4,#f1f4ec)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;line-height:1.5}.hero-story>.eyebrow{margin:8px 0 20px}.hero-story>.eyebrow span{display:inline-block;width:22px;height:2px;background:#6d923b;vertical-align:middle;margin-right:7px}.intro{margin-top:24px;color:var(--muted);font-size:17px;line-height:1.7}.hero-proof{margin-top:28px;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 28px #25362309}.hero-proof>img{width:100%;height:235px;object-fit:cover}.hero-proof>div{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;align-items:center}.hero-proof span{font-size:9px;letter-spacing:1.3px}.hero-proof a{font-size:12px;font-weight:650;border-bottom:1px solid #75876a}.trust-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:12px;color:#495a41}.trust-row span:before{content:'✓';color:#638139;font-weight:700;margin-right:7px}.quote-form{scroll-margin-top:24px;background:linear-gradient(145deg,#364931,#202a20);padding:31px;border-radius:12px;color:#fff;border:1px solid #536349;box-shadow:0 20px 42px #28312018}.quote-form>.eyebrow{color:#c5d6b2;font-size:10px;margin-bottom:10px}.quote-form h2{font-size:29px;letter-spacing:-1.2px;margin-bottom:24px}fieldset{padding:0;border:0;margin:0 0 20px}legend{font-size:14px;margin-bottom:12px;font-weight:550}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;width:1px;height:1px;opacity:0}.choices span{display:flex;align-items:center;gap:9px;padding:12px 10px;background:#f5f7f0;color:#2e3f29;border:2px solid transparent;border-radius:5px;font-size:13px;line-height:1.25;min-height:52px}.choices svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.choices input:checked+span{background:#ccdfa9;border-color:#a2c76d;box-shadow:inset 0 0 0 1px #527137}.choices input:focus-visible+span{outline:3px solid #a2c76d;outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields label{font-size:13px;display:block}.fields input,.fields textarea,.fields select{display:block;width:100%;min-width:0;padding:12px;margin-top:6px;color:#293425;background:#fff;border:1px solid #d9dfd2;border-radius:4px;font-size:14px;line-height:1.4;min-height:44px}.fields textarea{resize:vertical}.wide{grid-column:1/-1}.form-submit{margin-top:19px;width:100%;background:#c4dca0;color:#213319;border-color:#c4dca0;min-height:55px}.form-submit:hover{background:#d9ebbd}.form-note{font-size:11px;text-align:center;margin-top:12px;color:#e1e8d9}.consent{font-size:10px;text-align:center;margin-top:6px;color:#b9c8af}#form-status{background:#fff;color:#283a20;padding:16px;margin-top:18px;border-radius:6px;font-size:14px}.service-banner{overflow:hidden;background:#d7e5bf;border-top:1px solid #bace9e;border-bottom:1px solid #bace9e;padding:18px 0}.marquee{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee span{white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:1.3px}.marquee i{font-style:normal;color:#628136;margin:0 35px}@keyframes marquee{to{transform:translateX(-50%)}}footer{padding:42px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:not(.brand){font-size:12px;color:var(--muted)}footer small{font-size:11px}.sticky{position:fixed;right:24px;bottom:24px;z-index:20;box-shadow:0 8px 30px #0003}.sticky[hidden]{display:none}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}dialog{width:min(1050px,94vw);padding:18px;background:#fff;border:0;border-radius:10px}dialog::backdrop{background:#10190fea}dialog img{width:100%;max-height:78vh;object-fit:contain}dialog p{font-size:15px;margin-top:12px}.close-lightbox{position:absolute;right:25px;top:25px;border:0;background:#fff;border-radius:50%;width:40px;height:40px;font-size:28px;z-index:2}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:28px}.quote-form{padding:24px}.quote-form h2{font-size:26px}.choices span{font-size:12px;gap:6px}.hero-proof>img{height:200px}.hero-proof>div{padding:13px}.hero-proof span{display:none}footer{flex-wrap:wrap}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.topline{font-size:9px;letter-spacing:1.1px}.topline span{display:none}.header{padding:10px 0}.brand img{width:75px;height:75px}.button-small{font-size:12px;min-height:42px;padding:10px 16px}.hero{padding:20px 0 38px}.hero-grid{grid-template-columns:1fr;gap:29px}.hero-story{text-align:center}.hero-story>.eyebrow{font-size:10px;margin-bottom:15px}h1{font-size:44px;letter-spacing:-2px;line-height:1.05}.intro{font-size:15px;margin-top:18px}.intro br{display:none}.hero-proof{margin-top:23px}.hero-proof>img{height:auto}.hero-proof>div{justify-content:center}.hero-proof span{display:block;font-size:8px}.hero-proof a{font-size:11px}.trust-row{justify-content:center;font-size:10px;gap:15px;margin-top:16px}.quote-form{padding:25px 20px}.quote-form h2{font-size:27px;line-height:1.15}.choices span{font-size:12px;padding:12px 9px}.fields{gap:14px 10px}.fields label{font-size:12px}.fields input,.fields textarea,.fields select{font-size:16px;padding:10px}.fields input::placeholder{font-size:12px}.service-banner{padding:15px 0}.marquee span{font-size:10px}.sticky{bottom:12px;left:18px;right:18px;font-size:14px;min-height:50px}footer{padding:30px 0 90px;display:grid;grid-template-columns:1fr}footer .brand img{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section{padding-top:88px;padding-bottom:88px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-heading .eyebrow,.about-copy .eyebrow,.process-intro .eyebrow,.faq .eyebrow{margin-bottom:18px}.section-heading>p{max-width:350px;color:var(--muted);font-size:16px}.projects{background:#edf0e8}.project-gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 12px;overscroll-behavior-x:contain}.project-gallery::-webkit-scrollbar{display:none}.project{flex:0 0 75%;scroll-snap-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.project-image{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in}.project-image img{width:100%;aspect-ratio:2.66;object-fit:cover}.project-caption{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;gap:20px}.project-caption h3{font-size:23px}.project-caption span{font-size:10px;letter-spacing:1.3px;color:#6b785f}.gallery-dots{display:flex;gap:8px;justify-content:center;margin:15px 0 27px}.gallery-dots button{width:24px;height:24px;border:0;background:none;padding:7px}.gallery-dots button:after{content:'';display:block;width:10px;height:10px;background:#c2cdb6;border-radius:50%;transition:.2s}.gallery-dots button[aria-pressed=true]:after{background:#405a2f;transform:scale(1.2)}.center{text-align:center}.finish-tabs{display:flex;gap:10px;margin-bottom:24px}.finish-tabs button{background:transparent;border:1px solid #ced8c2;border-radius:5px;padding:12px 20px;color:#4b5b3f;font-size:14px}.finish-tabs button[aria-selected=true]{background:#2c3c26;color:#fff;border-color:#2c3c26}.finish-panel{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.finish-visual{position:relative;min-height:420px;background:#edf1e7}.finish-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:76% center}.photo-label{position:absolute;bottom:22px;left:22px;background:#fff;padding:8px 12px;letter-spacing:1.2px;font-size:9px}.finish-copy{padding:45px}.finish-copy .eyebrow{color:#688342;margin-bottom:20px}.finish-copy h3{font-size:36px;margin-bottom:20px;letter-spacing:-1.2px}.finish-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.finish-copy ul{padding:0;list-style:none;margin:25px 0;font-size:14px;color:#4a5a40}.finish-copy li{padding:9px 0;border-bottom:1px solid #e9ede3}.finish-copy li:before{content:'✓';margin-right:9px;color:#62823a}.text-button{border:0;border-bottom:1px solid #536b40;padding:5px 0;background:none;color:#304522;font-size:14px;font-weight:650}.finish-note{font-size:12px;color:var(--muted);margin-top:15px}.spaces{background:#e5ebdb}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.space-grid article{border-top:1px solid #b9c8a7;padding-top:24px}.space-number{font:italic 26px Georgia;color:#6d8455;display:block;margin-bottom:22px}.space-grid h3{font-size:25px;letter-spacing:-.7px;margin-bottom:17px}.space-grid p{color:#55614a;font-size:15px}.space-grid a{display:inline-block;font-size:13px;font-weight:650;margin-top:23px;border-bottom:1px solid #78915b}.about{display:grid;grid-template-columns:.82fr 1fr;gap:85px;align-items:center}.james-image{position:relative;min-height:500px;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#d6e1c6,#9bab87)}.james-image img{position:absolute;bottom:0;height:95%;width:100%;object-fit:contain;object-position:center bottom}.james-image span{position:absolute;bottom:22px;left:22px;right:22px;background:#fff;padding:14px 20px;letter-spacing:1.2px;font-size:10px;text-align:center}.about-copy h2{margin-bottom:24px}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:18px;font-size:16px}.about-copy .button{margin-top:10px}.reviews{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:25px;padding-bottom:80px}.reviews .eyebrow{font-size:9px;margin-bottom:13px}.reviews h2{font-size:33px}.quote{border-left:1px solid var(--line);padding:4px 0 0 24px}.stars{letter-spacing:3px;font-size:15px;color:#6d883f}blockquote{font:22px/1.35 Georgia,serif;letter-spacing:-.2px;margin:17px 0 22px}.quote p{font-size:12px;font-weight:600}.quote p span{display:block;font-size:11px;color:#7b8375;font-weight:400;margin-top:3px}.process{background:linear-gradient(130deg,#354931,#202b20);color:#fff}.process-grid{display:grid;grid-template-columns:.9fr 1fr;gap:100px}.process-intro>.eyebrow{color:#c1d4a6}.process-intro>p:not(.eyebrow){color:#c9d2c0;margin-top:25px}.warranty{display:flex;align-items:center;gap:16px;margin:33px 0;color:#d5e5bf}.warranty>span{font:italic 77px Georgia;border:1px solid #708660;width:100px;height:110px;display:flex;justify-content:center;align-items:center;border-radius:50% 50% 7px 7px}.warranty p{font-size:11px;letter-spacing:1.5px;line-height:1.9}.button.light{background:#d3e4bb;color:#2c3e20;border-color:#d3e4bb}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:flex;gap:25px;border-bottom:1px solid #ffffff25;padding:0 0 26px;margin-bottom:26px}.process-list li:last-child{margin-bottom:0;border-bottom:0}.process-list li>span{font:italic 25px Georgia;color:#b0c792}.process-list h3{font-size:22px;margin:0 0 12px;letter-spacing:-.5px}.process-list p{color:#ced7c7;font-size:15px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.questions details{border-bottom:1px solid var(--line);padding:19px 0}.questions details:first-child{padding-top:0}.questions summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;font-size:15px;font-weight:600}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';font-size:22px;line-height:1}.questions details[open] summary:after{content:'−'}.questions p{font-size:14px;color:var(--muted);margin-top:16px;line-height:1.7}.closing{text-align:center;background:radial-gradient(ellipse at top,#e7eddc,#d9e1cc)}.closing .eyebrow{margin-bottom:20px}.closing h2{font-size:55px}.closing .button{margin-top:30px;min-width:290px}.closing p:last-child{font-size:13px;color:#626f57;margin-top:15px}.selected-finish{font-size:12px;background:#ffffff16;padding:10px;margin:0 0 16px;border-radius:5px}.selected-finish button{float:right;font-size:12px;background:none;border:0;color:#e1ebd3;text-decoration:underline}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.about{gap:45px}.process-grid,.faq{gap:50px}.finish-copy{padding:30px}.finish-copy h3{font-size:31px}.reviews{gap:18px;grid-template-columns:1fr 1fr}.reviews>div:first-child{grid-column:1/-1}.reviews .quote{padding-left:18px}.reviews .quote:last-child{grid-column:1/-1}.james-image{min-height:470px}}
@media(max-width:720px){.section{padding-top:52px;padding-bottom:52px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:20px;font-size:15px;max-width:none}h2{font-size:37px}.project{flex-basis:93%;scroll-snap-align:start}.project-gallery{gap:14px}.project-caption{display:block;padding:18px}.project-caption h3{font-size:21px}.project-caption span{display:block;margin-top:6px;font-size:9px}.finish-tabs{gap:6px}.finish-tabs button{padding:10px 8px;font-size:12px;line-height:1.4;flex:1}.finish-panel{grid-template-columns:1fr}.finish-visual{min-height:290px}.finish-copy{padding:25px}.finish-copy h3{font-size:32px}.finish-copy>p:not(.eyebrow){font-size:15px}.finish-note{font-size:11px}.space-grid{grid-template-columns:1fr;gap:30px}.space-grid article{padding-top:20px}.space-number{float:left;margin-right:15px;margin-bottom:0;font-size:23px}.space-grid h3{font-size:24px;padding-top:1px}.space-grid a{margin-top:17px}.about{grid-template-columns:1fr;gap:32px}.james-image{min-height:400px}.about-copy h2{font-size:37px}.reviews{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.reviews>div:first-child,.reviews .quote:last-child{grid-column:auto}.quote{border-left:0;border-top:1px solid var(--line);padding:22px 0 0!important}blockquote{font-size:23px;margin:15px 0}.process-grid,.faq{grid-template-columns:1fr;gap:40px}.process-intro h2{font-size:39px}.warranty{margin:25px 0}.warranty>span{font-size:58px;height:85px;width:80px}.process-list li{gap:20px}.process-list h3{font-size:23px}.process-list p{font-size:15px}.faq{gap:30px}.closing h2{font-size:42px}.closing p:last-child{font-size:12px}.closing .button{min-width:0;width:100%;max-width:360px}}
.space-photo{width:100%;height:235px;object-fit:cover;border-radius:8px;margin-bottom:25px}.space-grid article{border-top:0;padding-top:0}.finish-visual img{object-position:center}.space-grid article:nth-child(3) .space-photo{object-position:50% 65%}@media(max-width:720px){.space-photo{height:240px}.space-grid article{padding-top:0}.finish-visual{min-height:300px}}
@media(max-width:720px){.intro,.section-heading>p,.finish-copy>p:not(.eyebrow),.space-grid p,.process-list p{font-size:16px}.hero-proof>div{gap:18px}.hero-proof span{display:none}.hero-proof a{font-size:12px}.fields label,legend{font-size:14px}}

/* Instagram originals and a quieter page hierarchy. */
.hero-story{padding-top:4px}.hero-proof>img{height:290px;object-position:center 64%}.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.hero-benefits>div{padding:20px 10px;background:#e0e9d3;border:1px solid #c2d4aa;border-radius:8px;text-align:center}.hero-benefits svg{width:30px;height:30px;margin:0 auto 11px;fill:none;stroke:#527a2b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hero-benefits strong{display:block;font-size:13px;line-height:1.5;font-weight:650}.hero-story .intro{max-width:500px}.project{flex-basis:72%}.project-image img{height:380px;aspect-ratio:auto;object-position:center 62%}.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.comparison-pair .project-image{position:relative}.comparison-pair .project-image img{object-position:center}.comparison-pair span{position:absolute;left:16px;bottom:16px;padding:5px 14px;border-radius:4px;background:#fff;color:#263922;font-size:13px;font-weight:650}.finish-tabs{margin-bottom:23px}.finish-tabs button{font-size:16px;padding:14px 28px}.sample-panel[hidden]{display:none}.range-description{color:var(--muted);max-width:760px;margin-bottom:25px}.flake-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.finish-sample{display:block;text-align:left;padding:10px 10px 20px;border:2px solid #e0e4d9;border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}.finish-sample:hover{border-color:#91ac73}.finish-sample[aria-pressed=true]{border-color:#577b36;box-shadow:0 0 0 3px #d8e5c8}.sample-texture{display:block;width:100%;aspect-ratio:1.6;background-image:url('assets/finish-selection-chart.jpg');background-size:450% 562.9167%;border-radius:6px;margin-bottom:18px}.flake-sample .sample-texture{aspect-ratio:1}.finish-sample strong{display:block;font-size:24px;font-weight:550;letter-spacing:-.6px;padding:0 10px}.sample-detail{display:block;font-size:14px;color:var(--muted);padding:5px 10px 0}.solid-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.solid-sample .sample-texture{aspect-ratio:1.5;background-size:981.8182% 1228.1818%}.solid-sample strong{font-size:17px;padding:0 3px;letter-spacing:-.2px}.solid-sample{padding:9px 9px 18px}.finish-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:28px}.finish-bottom .finish-note{font-size:13px;max-width:620px;margin:0}.finish-bottom .button{flex-shrink:0}.space-grid h3{margin-top:2px}.about-copy h2{margin-bottom:24px}.james-image img{height:100%}
@media(max-width:1000px){.hero-benefits strong{font-size:12px}.hero-benefits>div{padding:15px 7px}.hero-proof>img{height:260px}.flake-grid{gap:12px}.finish-sample strong{font-size:21px}.solid-grid{grid-template-columns:repeat(5,1fr);gap:9px}.solid-sample strong{font-size:14px}.sample-detail{font-size:12px}}
@media(max-width:720px){.hero-proof>img{height:240px}.hero-benefits{gap:7px;margin-top:14px}.hero-benefits strong{font-size:11px;line-height:1.5}.hero-benefits>div{padding:15px 5px}.hero-benefits svg{height:27px;width:27px;margin-bottom:8px}.project{flex-basis:94%}.project-image img{height:280px}.comparison-pair .project-image img{height:260px}.comparison-pair span{left:8px;bottom:10px;font-size:12px;padding:4px 10px}.project-caption h3{font-size:20px;line-height:1.2}.flake-grid{grid-template-columns:1fr;gap:14px}.flake-sample{display:grid;grid-template-columns:125px 1fr;column-gap:12px;align-items:center;padding:10px}.flake-sample .sample-texture{grid-row:1/3;margin:0;aspect-ratio:1}.flake-sample strong{font-size:22px;align-self:end;padding:0}.sample-detail{font-size:13px;padding:7px 0 0;align-self:start}.solid-grid{grid-template-columns:repeat(2,1fr);gap:12px}.solid-sample strong{font-size:17px}.finish-bottom{display:block}.finish-bottom .button{margin-top:21px;width:100%}.finish-bottom .finish-note{font-size:12px}.finish-tabs button{font-size:15px}.hero-story .intro{margin-left:auto;margin-right:auto}.quote-form h2{margin-top:0}}

/* Hero photo comparison; the native range remains keyboard accessible. */
.hero-proof.hero-comparison{position:relative;height:330px;isolation:isolate;user-select:none;overflow:hidden;background:#dbe3d2}.hero-comparison>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 66%;pointer-events:none}.hero-comparison .compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.hero-comparison .compare-label{position:absolute;top:14px;z-index:2;color:#213016;background:#fffffff0;padding:6px 13px;border-radius:5px;font-size:13px;font-weight:650;letter-spacing:0;pointer-events:none}.before-label{left:14px}.after-label{right:14px}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:3px;transform:translateX(-50%);background:#fff;z-index:2;pointer-events:none;box-shadow:0 0 8px #0003}.compare-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:5px;width:45px;height:45px;border:2px solid #fff;border-radius:50%;background:#8cc63e;color:#17270c;font:bold 25px Arial;letter-spacing:5px;padding-left:5px;box-shadow:0 3px 12px #0003}.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:3;opacity:0;cursor:ew-resize;touch-action:pan-y}.hero-comparison:focus-within{outline:3px solid #608d29;outline-offset:4px}
/* Brighter ASC green, balanced with dark text and white fields. */
:root{--green:#8cc63f;--deep:#365521}.topline{background:#89c33f;color:#17280e}.topline span{color:#243b15}.hero{background:radial-gradient(ellipse at 10% 85%,#e4f2ce 0,transparent 65%),linear-gradient(#f7faf2,#f0f6e7)}.button{background:linear-gradient(120deg,#a2d856,#81bb37);color:#1b2d10;border-color:#87b84a}.button:hover{background:#a8df5b}.quote-form{background:linear-gradient(140deg,#517e2e,#365c24);border-color:#75a642}.form-submit{background:linear-gradient(120deg,#b3e66b,#96d249);color:#1b2d10;border-color:#a6d760}.form-submit:hover{background:#c2ee85}.choices input:checked+span{background:#c7eaa0;border-color:#9bd351}.service-banner{background:#a9d96c;border-color:#94c65a}.hero-benefits>div{background:#e2f0ce;border-color:#b4d58d}.hero-benefits svg{stroke:#527e29}.marquee i{color:#426521}.finish-tabs button[aria-selected=true]{background:#84bd3c;color:#17280e;border-color:#84bd3c}.finish-sample[aria-pressed=true]{border-color:#75ab35;box-shadow:0 0 0 3px #e0f1cd}.process{background:linear-gradient(130deg,#4d762f,#355424)}.button.light{background:#b8e783;color:#1b2d10;border-color:#b8e783}.spaces{background:#e6efdb}.closing{background:radial-gradient(ellipse at top,#ecf5e0,#d8eabf)}
@media(max-width:720px){.hero-proof.hero-comparison{height:300px}.hero-comparison .compare-label{display:block;font-size:12px}.compare-divider>span{display:flex;font-size:25px}.hero-comparison>img{height:100%}}

.compare-divider>span{padding:0;letter-spacing:0}.compare-divider svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.hero-comparison .compare-divider{display:block}.hero-story h1{font-size:clamp(40px,3.5vw,55px)}@media(max-width:720px){.hero-story h1{font-size:36px;letter-spacing:-1.7px}}

@media(max-width:720px){.hero-story h1{font-size:clamp(28px,8.2vw,38px);letter-spacing:-1.4px}}

.project-gallery .project{border:0;background:transparent;overflow:visible}.hero-proof.gallery-comparison{margin:0;height:430px;border-radius:10px;box-shadow:none}.gallery-comparison>img{object-position:center 63%}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:17px;margin:15px 0 27px}.gallery-controls .gallery-dots{margin:0}.gallery-prev,.gallery-next{width:40px;height:40px;border:1px solid #b8cf9c;border-radius:50%;background:#f7faf1;color:#325520;font-size:22px}.gallery-prev:hover,.gallery-next:hover{background:#ddecbe}@media(max-width:720px){.hero-proof.gallery-comparison{height:330px}.project-gallery .project{flex-basis:94%}}

/* User-supplied transformations and real social portrait. */
.driveway-comparison .compare-before{object-position:center 55%}.driveway-comparison .compare-after{object-position:center 72%}
.james-image{min-height:0;aspect-ratio:1/1.05}.james-image img{object-fit:cover;object-position:center 28%}
@media(max-width:720px){.james-image{min-height:0;aspect-ratio:1}.james-image img{object-position:center 28%}}

/* Allsorts brand typography and full customer reviews. */
h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;font-weight:750;letter-spacing:-.035em;line-height:1.12}
em{font-family:inherit;font-style:normal;font-weight:inherit}
h1{font-size:clamp(40px,3.65vw,57px)}
h1 em{color:#477425}
.quote-form h2{font-weight:750;letter-spacing:-.035em;line-height:1.18}
.button{font-weight:700}
.reviews{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:12px}
.reviews .reviews-heading{grid-column:1/-1;margin-bottom:8px}
.reviews h2{font-size:clamp(32px,3.3vw,46px)}
.reviews .quote{border:1px solid var(--line);border-radius:12px;background:#fff;padding:26px!important;display:flex;flex-direction:column;grid-column:auto}
.reviews blockquote{font-family:inherit;font-size:15px;line-height:1.8;font-weight:400;letter-spacing:0;margin:18px 0 24px}
.reviews .quote p{font-size:15px;font-weight:700;margin-top:auto}
@media(max-width:900px){.reviews{grid-template-columns:1fr}.reviews .quote:last-child{grid-column:auto}.reviews .quote{padding:25px!important}}
@media(max-width:720px){h1{font-size:40px;line-height:1.12;letter-spacing:-.04em}.reviews blockquote{font-size:15px}.quote-form h2{font-size:26px}}

/* Original brand logo and compact swipeable review carousel. */
.brand img{mix-blend-mode:normal}
.warranty>span{font-family:'Montserrat',Arial,sans-serif;font-style:normal;font-weight:700}
.process-list li>span{font-family:'Montserrat',Arial,sans-serif;font-style:normal;font-weight:700}
.reviews{display:block;overflow:hidden}
.reviews .reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.review-arrows{display:flex;gap:10px;flex-shrink:0}
.review-arrows button{width:48px;height:48px;border:1px solid #bdcbb2;border-radius:50%;background:#fff;color:#355b24;font-size:24px;transition:background .2s}
.review-arrows button:hover{background:#e7f0dc}
.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:8px;align-items:stretch}
.review-track::-webkit-scrollbar{display:none}
.review-track .quote{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start}
.reviews blockquote{font-size:14px;line-height:1.75}
.review-dots{display:flex;justify-content:center;gap:3px;margin-top:20px}
.review-dots button{width:28px;height:28px;background:transparent;border:0;padding:9px}
.review-dots button:after{content:'';display:block;width:10px;height:10px;border-radius:50%;background:#c6d1bd}
.review-dots button[aria-pressed=true]:after{background:#4e782f}
@media(max-width:1050px){.review-track .quote{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:720px){.review-track .quote{flex-basis:100%;padding:24px!important}.reviews .reviews-heading{align-items:center;gap:12px}.reviews h2{font-size:28px}.review-arrows{gap:6px}.review-arrows button{width:38px;height:38px;font-size:21px}.reviews blockquote{font-size:14px;line-height:1.75}}
h1{font-size:clamp(38px,3.1vw,48px)}
@media(max-width:720px){h1{font-size:38px}}
/* Consistent brand accent across section headings. */
h2 em{color:#477425}
.process h2 em{color:#d1f39c}
.closing h2 em{color:#477425}

/* Prioritise the enquiry form in the mobile first screen. */
@media(max-width:720px){
 .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .hero-story{display:contents}
 .hero-story h1{order:1;text-align:center;margin:0;font-size:34px}
 .hero-story>.intro{order:2;text-align:center;margin:0;font-size:14px;line-height:1.55}
 .hero-grid>.quote-form{order:3;margin:0}
 .hero-story>.hero-proof{order:4;margin:4px 0 0}
 .hero-story>.hero-benefits{order:5;margin:0}
 .hero{padding-top:12px}
}

/* Service marquee: bolder type and recognisable trade icons. */
.service-banner{position:relative;background:linear-gradient(115deg,#18231b 0%,#2b4220 52%,#17251b 100%);border-top:1px solid #75a83d;border-bottom:1px solid #75a83d;padding:24px 0;color:#fff}
.service-banner:before,.service-banner:after{content:'';position:absolute;top:0;bottom:0;width:64px;z-index:1;pointer-events:none}
.service-banner:before{left:0;background:linear-gradient(90deg,#18231b,transparent)}
.service-banner:after{right:0;background:linear-gradient(270deg,#17251b,transparent)}
.marquee{display:flex;align-items:center;animation-duration:48s}
.marquee-group{display:flex;align-items:center;flex-shrink:0}
.marquee .marquee-item{display:inline-flex;align-items:center;gap:16px;font-size:17px;letter-spacing:.01em;white-space:nowrap}
.marquee-item strong{font-weight:650}
.marquee .marquee-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #8fbf4d88;border-radius:12px;background:linear-gradient(135deg,#b4df6540,#81b43b15);color:#c4ed81;flex-shrink:0}
.marquee-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.marquee .marquee-separator{display:block;width:5px;height:5px;border-radius:50%;background:#87b84a;margin:0 30px 0 18px;box-shadow:0 0 12px #9bcd5150}
@media(hover:hover){.service-banner:hover .marquee{animation-play-state:paused}}
@media(max-width:720px){.service-banner{padding:18px 0}.marquee .marquee-item{font-size:15px;gap:12px}.marquee .marquee-icon{width:42px;height:42px;border-radius:10px}.marquee-icon svg{width:25px;height:25px}.marquee .marquee-separator{margin:0 22px 0 10px}.service-banner:before,.service-banner:after{width:25px}}
@media(prefers-reduced-motion:reduce){.service-banner{overflow-x:auto}.marquee-group[aria-hidden=true]{display:none}}
