﻿:root{--ink:#17211f;--forest:#163b35;--paper:#f7f6f2;--white:#fff;--accent:#d96f45;--line:#d7ddd8;--muted:#60706c;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{display:block;width:100%}a{color:inherit}.site-header{height:88px;padding:10px max(24px,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand img{width:138px;height:68px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a{text-decoration:none;font-weight:700;font-size:.92rem}.menu-button{display:none;border:1px solid var(--ink);background:transparent;padding:10px 14px;font-weight:700}.hero{min-height:calc(100vh - 88px);position:relative;display:flex;align-items:flex-end;background:url('assets/hero-finished-kitchen.jpg') center 55%/cover no-repeat;color:var(--white)}.hero-shade{position:absolute;inset:0;background:rgba(13,29,27,.58)}.hero-content{position:relative;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:120px 0 110px;max-width:1180px}.hero-content>*{max-width:680px}.eyebrow{margin:0 0 12px;text-transform:uppercase;font-size:.76rem;font-weight:800;letter-spacing:0;color:var(--accent)}h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif;letter-spacing:0}h1{font-size:clamp(3rem,7vw,6.7rem);line-height:.92;margin:0 0 14px}h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:0 0 24px}h3{font-size:1.8rem;line-height:1.1;margin:0}.hero-line{font:italic 1.6rem Georgia,serif;margin:0 0 22px}.hero-copy{font-size:1.14rem;margin:0 0 30px}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--white);text-decoration:none;font-weight:800}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--white)}.button.light{background:var(--white);color:var(--ink)}.hero-next{position:absolute;right:max(24px,calc((100% - var(--max))/2));bottom:28px;color:var(--white);font-size:.84rem;font-weight:800}.section,.section-band,.contact{padding:100px max(24px,calc((100% - var(--max))/2))}.story{display:grid;grid-template-columns:1fr .82fr;gap:80px;align-items:center;background:var(--white)}.story-copy>p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.trust-row span{border-left:3px solid var(--accent);padding:4px 12px;font-weight:800}.story-image img{aspect-ratio:4/5;object-fit:cover}.story-image figcaption,.work-grid figcaption{padding-top:10px;font-size:.85rem;color:var(--muted)}.section-band{background:var(--forest);color:var(--white)}.section-heading{text-align:center;max-width:760px;margin:0 auto 54px}.section-heading.left{text-align:left;margin-left:0}.section-heading>p:last-child{color:#c6d0cd}.project-stories{display:grid;gap:80px}.project-story{border-top:1px solid rgba(255,255,255,.25);padding-top:24px}.project-intro{display:flex;align-items:center;gap:18px;margin-bottom:20px}.project-intro>span{font-size:.8rem;color:var(--accent);font-weight:800}.project-intro p{margin:0 0 2px;text-transform:uppercase;font-size:.7rem;font-weight:800;color:#aebdb9}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison figure,.work-grid figure,.story-image{margin:0}.comparison img{aspect-ratio:4/3;object-fit:cover}.comparison figcaption{background:var(--white);color:var(--ink);padding:9px 12px;font-weight:800;font-size:.78rem;text-transform:uppercase}.work{background:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 18px}.work-grid figure.wide{grid-column:span 2}.work-grid img{height:410px;object-fit:cover}.review{display:grid;grid-template-columns:1fr 310px;gap:80px;align-items:center}.review blockquote{font-size:clamp(2rem,4vw,3.8rem);line-height:1.1;margin:18px 0}.review .stars{color:#f2bd55;font-size:1.2rem;letter-spacing:0}.review img{max-height:480px;object-fit:contain}.service-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-list span{min-height:100px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800}.contact{background:var(--accent);color:var(--white);display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end}.contact h2{max-width:720px}.contact p{max-width:650px}.contact-actions{justify-content:flex-end}.contact .button.primary{background:var(--forest);border-color:var(--forest)}footer{background:var(--ink);color:var(--white);padding:36px max(24px,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:20px}footer img{width:110px;background:var(--white);padding:4px}footer p{font-size:.84rem}
@media(max-width:780px){.site-header{height:74px}.brand img{width:105px;height:54px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--white);padding:18px 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.hero{min-height:calc(100svh - 74px)}.hero-content{padding:90px 0 100px}.hero-next{left:24px;right:auto}.section,.section-band,.contact{padding:72px 24px}.story,.review,.contact{grid-template-columns:1fr;gap:40px}.comparison{gap:8px}.project-stories{gap:58px}.work-grid{grid-template-columns:1fr 1fr}.work-grid figure.wide{grid-column:span 2}.work-grid img{height:310px}.service-list{grid-template-columns:1fr 1fr}.contact-actions{justify-content:flex-start}footer{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){h1{font-size:3.2rem}.hero-actions .button{width:100%}.story{gap:32px}.comparison{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.work-grid figure.wide{grid-column:auto}.work-grid img{height:360px}.service-list{grid-template-columns:1fr}.review img{max-height:360px}.contact-actions .button{width:100%}}

/* Review quote */
.review{display:block;max-width:none}
.review-copy{max-width:980px;margin:0 auto;text-align:center}
.review blockquote{font-size:clamp(1.55rem,3vw,2.75rem);line-height:1.35}
.review-name{margin:28px 0 0;font-weight:800;color:#c6d0cd}

/* Estimate form page */
.estimate-page{background:var(--paper)}
.estimate-intro{padding:90px max(24px,calc((100% - var(--max))/2)) 64px;background:var(--forest);color:var(--white);display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.estimate-intro h1{font-size:clamp(2.8rem,6vw,5.7rem)}
.estimate-intro>p{font-size:1.08rem;color:#d7e0dd}
.form-section{padding:70px max(24px,calc((100% - var(--max))/2)) 110px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start}
.estimate-form{background:var(--white);border:1px solid var(--line);padding:38px}
.estimate-form fieldset{border:0;border-top:1px solid var(--line);padding:32px 0;margin:0}
.estimate-form fieldset:first-of-type{border-top:0;padding-top:0}
.estimate-form legend{padding:0 14px 0 0;font:700 1.55rem Georgia,serif}
.form-grid{display:grid;gap:20px}
.two-columns{grid-template-columns:1fr 1fr}
.estimate-form label{display:grid;gap:8px;margin-top:20px;font-size:.88rem;font-weight:800}
.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #aeb9b5;background:var(--white);color:var(--ink);border-radius:0;padding:13px 14px;font:inherit}
.estimate-form textarea{resize:vertical}
.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:3px solid rgba(217,111,69,.25);border-color:var(--accent)}
.upload-field{border:2px dashed #9eaaa6;padding:26px;background:#f4f6f4}
.upload-field input{border:0;padding:8px 0;background:transparent}
.upload-field small{font-weight:400;color:var(--muted);overflow-wrap:anywhere}
.choice-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.choice-row label,.consent{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:0;padding:11px 14px;border:1px solid var(--line);background:#f8f9f7}
.choice-row input,.consent input{width:auto;margin:0}
.consent{margin:20px 0 26px}
.submit-button{border:0;cursor:pointer}
.form-aside{position:sticky;top:118px;border-top:4px solid var(--accent);padding-top:28px}
.form-aside h2{font-size:2.5rem}
.form-aside a{display:block;margin-top:10px;font-weight:800}
.thank-you-page{min-height:100vh;display:grid;place-items:center;background:var(--forest);padding:24px}
.thank-you{max-width:720px;text-align:center;color:var(--white)}
.thank-you img{width:160px;margin:0 auto 35px;background:var(--white);padding:8px}
.thank-you p{font-size:1.1rem;margin-bottom:28px}
.home-estimate{padding:100px max(24px,calc((100% - var(--max))/2));background:var(--accent)}
.home-estimate-heading{max-width:780px;color:var(--white);margin-bottom:52px}
.home-estimate-heading .eyebrow{color:var(--forest)}
.home-estimate-heading>p:last-child{font-size:1.08rem}
.home-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:56px;align-items:start}
.home-form-layout .form-aside{color:var(--white);border-color:var(--forest)}
.home-form-layout .form-aside .eyebrow{color:var(--forest)}
.home-form-layout .form-aside a{color:var(--white)}

@media(max-width:780px){.estimate-intro,.form-section,.home-form-layout{grid-template-columns:1fr;gap:36px}.estimate-intro{padding:64px 24px}.form-section{padding:42px 24px 72px}.home-estimate{padding:72px 24px}.estimate-form{padding:24px}.two-columns{grid-template-columns:1fr}.form-aside{position:static}.choice-row{display:grid}.review blockquote{font-size:1.5rem}}

