:root{--ink:#17231e;--green:#1d4938;--green2:#2c6650;--cream:#f4f1e9;--paper:#fbfaf6;--line:#dcded7;--muted:#66716b;--white:#fff;--shadow:0 24px 80px rgba(18,33,26,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(251,250,246,.94);position:sticky;top:0;z-index:30;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.12em}.brand .mark{width:38px;height:38px;border:1px solid var(--green);display:grid;place-items:center;font-family:Georgia,serif;font-size:24px}.brand b,.brand small{display:block;line-height:1}.brand small{font-size:10px;margin-top:5px;color:var(--green)}nav{display:flex;gap:28px;font-size:13px}nav a:hover{color:var(--green)}.header-actions{display:flex;align-items:center;gap:18px}.phone{font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:white;padding:16px 24px;border:0;cursor:pointer;transition:.2s;border-radius:2px;font-weight:650}.button:hover{background:var(--green2);transform:translateY(-1px)}.button.small{padding:11px 16px;font-size:12px}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:700px}.hero-copy{padding:9vw 7vw}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:750;color:var(--green)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:20px 0}h1{font-size:clamp(54px,6vw,94px)}h2{font-size:clamp(40px,4.6vw,72px)}.lead{font-size:19px;max-width:690px;color:var(--muted)}.hero-buttons{display:flex;align-items:center;gap:28px;margin:38px 0}.text-link{border-bottom:1px solid var(--ink);padding:5px 0}.trust-row{display:flex;gap:25px;font-size:12px;color:var(--muted)}.trust-row span:before{content:"✓";margin-right:7px;color:var(--green)}.hero-visual{background:linear-gradient(145deg,#cfd4cd,#8d9b91);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:60px}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent 50%),radial-gradient(circle at 15% 20%,#f2e6cb 0 12%,transparent 40%)}.hero-visual p{position:absolute;bottom:18px;right:24px;font-size:10px;background:rgba(255,255,255,.8);padding:7px 10px}.house{width:78%;height:56%;position:relative;z-index:1;filter:drop-shadow(0 30px 30px rgba(0,0,0,.2))}.wall{position:absolute;left:5%;right:5%;bottom:0;height:74%;background:#e8e5dc;border:1px solid rgba(0,0,0,.08)}.roof{position:absolute;left:0;right:0;top:0;height:32%;background:#303734;clip-path:polygon(8% 100%,24% 0,76% 0,94% 100%)}.wall i{position:absolute;width:14%;height:23%;background:#23302d;top:18%}.wall i:nth-child(1){left:12%}.wall i:nth-child(2){left:37%}.wall i:nth-child(3){right:34%}.wall i:nth-child(4){right:10%}.door{position:absolute;width:14%;height:39%;background:#463b32;bottom:0;left:43%}.extension{position:absolute;width:31%;height:35%;background:#dedbd2;bottom:0;right:-12%;border-top:12px solid #303734}.proof{display:grid;grid-template-columns:repeat(4,1fr);padding:35px 6vw;background:var(--ink);color:white}.proof div{padding:0 28px;border-right:1px solid rgba(255,255,255,.15)}.proof div:last-child{border:0}.proof strong,.proof span{display:block}.proof strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.proof span{font-size:12px;color:#c8d0cb}.section{padding:110px 7vw}.split{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article{border-top:1px solid var(--ink);padding-top:22px}.steps b{color:var(--green);font-size:12px}.steps h3{font-size:18px}.steps p,.showcase-copy p,.finish p{color:var(--muted)}.estimator-showcase{padding:100px 7vw;background:var(--cream);display:grid;grid-template-columns:1.12fr .88fr;gap:8vw;align-items:center}.screen{background:white;padding:38px;box-shadow:var(--shadow);border:1px solid #e5e4df}.screen-top,.mock-total{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.progress{display:flex;gap:8px;margin:28px 0}.progress i{height:3px;background:#d9dedb;flex:1}.progress .active{background:var(--green)}.screen h3{font-family:Georgia,serif;font-size:38px;font-weight:400}.mock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:30px 0}.mock-grid div{border:1px solid var(--line);padding:18px}.mock-grid label,.mock-grid strong{display:block}.mock-grid label{font-size:10px;text-transform:uppercase;color:var(--muted)}.mock-total{align-items:center;border-top:1px solid var(--line);padding-top:25px}.mock-total b{background:var(--green);color:white;padding:12px 18px}.showcase-copy ul{padding:0;list-style:none;margin:28px 0}.showcase-copy li{padding:10px 0;border-bottom:1px solid #d5d8d2}.showcase-copy li:before{content:"✓";color:var(--green);margin-right:12px}.finish{display:grid;grid-template-columns:1.1fr .55fr .8fr;gap:45px;align-items:center}.texture-card,.colour-card{background:white;padding:32px;border:1px solid var(--line)}.texture-card span{font-family:Georgia,serif;font-size:40px}.texture{height:180px;margin:20px 0;background-color:#e8e5dc;background-image:radial-gradient(#aaa 0.7px,transparent .8px);background-size:4px 4px}.swatches{display:flex;gap:10px;margin-top:30px}.swatches i{width:48px;height:48px;background:#e9e3d6}.swatches i:nth-child(2){background:#d5d2c7}.swatches i:nth-child(3){background:#b8b4a6}.swatches i:nth-child(4){background:#888b82}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;background:white}.accordions details{border-top:1px solid var(--line);padding:22px 0}.accordions summary{font-size:18px;cursor:pointer}.accordions p{color:var(--muted);max-width:760px}.cta{text-align:center;background:var(--green);color:white;padding:110px 20px}.cta .eyebrow{color:#d5e4dc}.button.light{background:white;color:var(--green)}footer{padding:55px 6vw;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;border-top:1px solid var(--line);font-size:13px}footer div a{display:block;margin:7px 0}footer p{grid-column:1/-1;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.footer-brand{width:max-content}
/* forms */.app-shell{min-height:100vh;background:var(--cream)}.app-header{height:74px;background:white;border-bottom:1px solid var(--line);padding:0 4vw;display:flex;align-items:center;justify-content:space-between}.app-main{max-width:1100px;margin:auto;padding:45px 24px 80px}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:50px}.stepper span{font-size:10px;text-transform:uppercase;color:#87908b;border-top:3px solid #d6dad7;padding-top:10px}.stepper span.active,.stepper span.done{border-color:var(--green);color:var(--green)}.form-card{background:white;border:1px solid var(--line);padding:clamp(24px,5vw,60px);box-shadow:0 10px 40px rgba(0,0,0,.04)}.form-card h1{font-size:clamp(42px,5vw,68px);margin-top:8px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.choice{border:1px solid var(--line);padding:25px;text-align:left;background:white;cursor:pointer;min-height:110px}.choice.selected{border:2px solid var(--green);background:#f1f6f3}.choice strong,.choice span{display:block}.choice span{color:var(--muted);font-size:12px;margin-top:5px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field label{display:block;font-size:12px;font-weight:650;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd4d0;background:white;padding:14px}.elevation-card{border:1px solid var(--line);padding:25px;margin:18px 0}.elevation-card h3{margin-top:0}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-grid label{border:1px solid var(--line);padding:15px;cursor:pointer}.result{background:white;border:1px solid var(--line);padding:50px;text-align:center}.price{font-family:Georgia,serif;font-size:clamp(50px,8vw,86px);line-height:1;margin:30px 0;color:var(--green)}.reference{display:inline-block;background:var(--cream);padding:12px 18px;letter-spacing:.12em}.summary-list{max-width:650px;margin:35px auto;text-align:left}.summary-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.notice{padding:16px;background:#f1f6f3;border-left:3px solid var(--green);margin:22px 0;text-align:left}.hidden{display:none!important}.admin-layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin-nav{background:var(--ink);color:white;padding:28px 20px}.admin-nav .brand{margin-bottom:45px}.admin-nav button{display:block;width:100%;text-align:left;background:transparent;color:#d8dfdb;border:0;padding:13px 10px;cursor:pointer}.admin-nav button.active{background:rgba(255,255,255,.1);color:white}.admin-content{padding:45px;background:#f3f3ef}.admin-top{display:flex;justify-content:space-between;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.stat{background:white;padding:22px;border:1px solid var(--line)}.stat b{font-family:Georgia,serif;font-size:34px}.stat span{display:block;color:var(--muted);font-size:12px}.panel{background:white;border:1px solid var(--line);padding:28px;margin:20px 0}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.status{padding:5px 8px;background:#edf2ef;font-size:11px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--cream)}.login-card{width:min(420px,90vw);background:white;padding:40px;border:1px solid var(--line)}
@media(max-width:900px){nav,.phone{display:none}.hero,.split,.estimator-showcase,.finish,.faq{grid-template-columns:1fr}.hero{min-height:0}.hero-copy{padding:70px 7vw}.hero-visual{min-height:500px}.proof{grid-template-columns:1fr 1fr;gap:25px}.proof div:nth-child(2){border:0}.steps{grid-template-columns:1fr}.finish{gap:20px}.choice-grid,.check-grid{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr}.admin-nav{display:none}.stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.site-header{height:72px;padding:0 18px}.header-actions .button{display:none}h1{font-size:48px}.hero-copy{padding:55px 22px}.hero-buttons{align-items:flex-start;flex-direction:column}.trust-row{flex-direction:column;gap:8px}.hero-visual{min-height:380px;padding:35px}.proof{grid-template-columns:1fr}.proof div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding:12px 0}.section,.estimator-showcase{padding:70px 22px}.choice-grid,.field-grid,.check-grid,.stat-grid{grid-template-columns:1fr}.form-card{padding:25px}.stepper span{font-size:0}.stepper span:before{content:attr(data-short);font-size:10px}.result{padding:30px 20px}.admin-content{padding:25px 15px}.data-table{display:block;overflow:auto}}

/* v5 content and SEO layer */
.breadcrumbs{max-width:1240px;margin:28px auto 0;padding:0 28px;display:flex;gap:10px;align-items:center;font-size:.82rem;color:var(--muted)}
.breadcrumbs a{color:var(--muted)}
.page-hero{max-width:1240px;margin:0 auto;padding:96px 28px 72px;border-bottom:1px solid var(--line)}
.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.045em;font-size:clamp(3rem,7vw,6.7rem);line-height:.94;max-width:1000px;margin:12px 0 26px}
.page-hero .lead{max-width:760px}
.prose-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:80px;align-items:start}
.prose-grid article{max-width:760px}
.prose-grid h2,.prose-narrow h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;margin:0 0 24px;font-family:Georgia,'Times New Roman',serif;font-weight:500}
.prose-grid h3{font-size:1.35rem;margin:38px 0 12px}
.prose-grid p,.prose-grid li,.prose-narrow p{font-size:1.08rem;line-height:1.75;color:var(--muted)}
.prose-grid ul,.prose-grid ol{padding-left:1.25rem}
.fact-panel,.swatch-panel{position:sticky;top:110px;background:var(--cream);padding:34px;border:1px solid var(--line);border-radius:4px}
.fact-panel h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:2rem;line-height:1.08}
.fact-panel li,.fact-panel p{color:var(--muted);line-height:1.6}
.fact-panel .button{margin-top:18px}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.content-card{display:block;border:1px solid var(--line);padding:30px;min-height:235px;background:#fff;transition:transform .2s ease,border-color .2s ease}
.content-card:hover{transform:translateY(-3px);border-color:var(--green)}
.content-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green)}
.content-card h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:500;margin:32px 0 10px;color:var(--ink)}
.content-card p{color:var(--muted);line-height:1.55;margin:0}
.discovery{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.link-band,.local-links{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line)}
.link-band a,.local-links a{border-bottom:1px solid var(--green);padding-bottom:5px}
.prose-narrow{max-width:760px;margin-top:60px}
.large-swatches{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.large-swatches i{display:block;aspect-ratio:1;border-radius:2px;border:1px solid rgba(0,0,0,.08)}
.large-swatches i:nth-child(1){background:#e5e0d4}.large-swatches i:nth-child(2){background:#c9c2b4}.large-swatches i:nth-child(3){background:#aaa99f}.large-swatches i:nth-child(4){background:#6f746d}
.swatch-panel p{color:var(--muted);line-height:1.55}
@media(max-width:900px){.site-header nav{display:none}.prose-grid,.discovery{grid-template-columns:1fr;gap:42px}.fact-panel,.swatch-panel{position:static}.card-grid{grid-template-columns:1fr}.page-hero{padding-top:68px}.phone{display:none}}
