:root{--ink:#153329;--green:#1b382e;--green-2:#294b3e;--cream:#f5efe5;--paper:#fbf8f2;--wine:#840524;--line:rgba(21,51,41,.18);--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.skip-link{position:fixed;top:-60px;left:1rem;z-index:100;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,5rem);background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;font-family:var(--serif);font-size:1.75rem;line-height:1}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-size:1.03rem;letter-spacing:.2em}.brand small{font-size:.58rem;letter-spacing:.33em;margin-top:.38rem}.main-nav{display:flex;align-items:center;gap:clamp(1.1rem,2.5vw,2.4rem);font-size:.86rem}.main-nav>a:not(.nav-cta){position:relative}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.25s}.main-nav>a:hover:after{width:100%}.nav-cta{border:1px solid var(--ink);padding:.75rem 1rem}.menu-toggle{display:none;border:0;background:none;padding:.5rem}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink);margin:6px}
.hero{min-height:calc(100svh - 92px);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,24,.86) 0%,rgba(9,29,24,.55) 45%,rgba(9,29,24,.06) 80%),linear-gradient(0deg,rgba(9,29,24,.5),transparent 45%)}.hero-content{position:relative;z-index:2;padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,7rem);max-width:840px}.eyebrow,.section-label{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,7vw,7.2rem);line-height:.92;letter-spacing:-.035em;margin:.9rem 0 1.5rem}.hero h1 em{font-weight:400;color:#f3d8c2}.hero-copy{max-width:620px;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;color:rgba(255,255,255,.84)}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button{display:inline-flex;justify-content:center;align-items:center;padding:1rem 1.35rem;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:.25s}.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:#fff;transform:translateY(-2px)}.text-link{font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.5);padding:.5rem 0}.text-link span{margin-left:.5rem}.hero-note{position:absolute;z-index:2;right:clamp(1.25rem,4vw,5rem);bottom:2rem;display:flex;gap:.75rem;align-items:flex-start;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.hero-note span{color:#f3d8c2}.hero-note p{margin:0}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:3rem;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,7rem);border-bottom:1px solid var(--line)}.intro h2,.section-heading h2,.process h2,.local-note h2,.consultation h2{font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,5.3rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:0}.intro>div>p{font-size:1.08rem;max-width:690px;margin:2rem 0 0 auto;color:#496158}.services{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}.section-heading h2{max-width:780px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:530px}.service-card{position:relative;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;transition:.3s;overflow:hidden}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 35%,rgba(0,0,0,.16));pointer-events:none}.service-card>*{position:relative}.service-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.6rem);line-height:1;margin:0 0 1rem;font-weight:400}.service-card p{max-width:330px}.service-card a{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:1rem;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem}.service-card:hover{transform:translateY(-7px)}.service-kitchen{background:var(--green);color:#fff}.service-closet{background:#d9c6ad;color:var(--ink)}.service-reface{background:var(--wine);color:#fff}.card-number{font-size:.75rem;letter-spacing:.2em}
.statement{background:var(--cream);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem);text-align:center}.statement-kicker{letter-spacing:.3em;font-size:.65rem}.statement blockquote{font-family:var(--serif);font-size:clamp(2.5rem,5.6vw,6rem);line-height:1.04;max-width:1200px;margin:4rem auto}.statement-footer{border-top:1px solid var(--line);padding-top:1rem;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}.process{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(3rem,8vw,9rem);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,7rem);background:#fff}.process-copy>p:not(.section-label){max-width:520px;color:#566a63;margin:2rem 0}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:var(--wine)}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.6rem 0;border-top:1px solid var(--line)}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-list>li>span{font-size:.75rem;letter-spacing:.15em;color:var(--wine)}.process-list h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin:0}.process-list p{color:#66766f;margin:.4rem 0}.local-note{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,9vw,9rem);background:var(--green-2);color:#fff;text-align:center}.local-note>p:first-child{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#efd4bd}.local-note h2{max-width:950px;margin:2rem auto}.local-note>p:last-child{max-width:580px;margin:auto;color:rgba(255,255,255,.72)}.consultation{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;padding:clamp(4rem,7vw,7rem) clamp(1.25rem,7vw,7rem);background:var(--wine);color:#fff}.consultation h2{max-width:800px}.consultation .section-label{color:#f1d2be}footer{background:#10261f;color:#fff;padding:4rem clamp(1.25rem,5vw,5rem) 2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;align-items:start}footer>p,footer>div{color:rgba(255,255,255,.65);font-size:.88rem;margin:0}.footer-brand{color:#fff}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:1.2rem;margin-top:2rem!important;font-size:.72rem!important}
@media(max-width:850px){.site-header{height:74px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{min-height:760px}.hero-note{display:none}.hero-content{padding-bottom:4rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.75rem}.intro{grid-template-columns:1fr}.intro>div>p{margin-left:0}.section-heading{display:block}.service-grid{grid-template-columns:1fr;min-height:0}.service-card{min-height:410px}.process{grid-template-columns:1fr}.consultation{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.brand-mark{width:36px;height:36px}.hero{min-height:700px}.hero-shade{background:linear-gradient(90deg,rgba(9,29,24,.86),rgba(9,29,24,.36)),linear-gradient(0deg,rgba(9,29,24,.6),transparent 55%)}.hero h1{font-size:3.25rem}.button{width:100%}.statement-footer{gap:1rem;text-align:left}.consultation .button{width:100%}footer{grid-template-columns:1fr}.intro,.services,.process{padding-left:1.25rem;padding-right:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-image{overflow:hidden}.brand-image img{display:block;width:clamp(220px,19vw,305px);height:auto;mix-blend-mode:multiply}.footer-logo{display:grid;place-items:center;background:var(--paper);width:240px;height:240px;padding:1.5rem;border-radius:50%;overflow:hidden}.footer-logo img{display:block;width:195px;max-width:100%;height:auto;mix-blend-mode:multiply}
@media(max-width:520px){.brand-image img{width:190px}}
@media(max-width:520px){.footer-logo{width:210px;height:210px;padding:1.25rem}.footer-logo img{width:170px}}
.main-nav [aria-current="page"]{color:var(--wine)}
.page-hero{padding:clamp(6rem,12vw,12rem) clamp(1.25rem,8vw,8rem);background:var(--green);color:#fff;min-height:620px;display:flex;flex-direction:column;justify-content:flex-end}.page-hero h1{font-family:var(--serif);font-size:clamp(3.3rem,7vw,7.5rem);font-weight:400;line-height:.94;letter-spacing:-.04em;max-width:1100px;margin:1rem 0 1.5rem}.page-hero h1 em{font-weight:400;color:#f1d2be}.page-hero>p:last-child{max-width:680px;font-size:1.15rem;color:rgba(255,255,255,.78)}.page-hero-wine{background:var(--wine)}.page-hero-cream{background:var(--cream);color:var(--ink)}.page-hero-cream>p:last-child{color:#51675f}
.split-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem);background:#fff}.split-content h2,.seo-copy h2,.gallery-feature h2,.gallery-empty h2,.contact-layout h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.4rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:1rem 0}.split-content>div:last-child{font-size:1.06rem;color:#52675f}.feature-list{list-style:none;padding:0;margin:2rem 0;border-top:1px solid var(--line)}.feature-list li{padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink)}.feature-list li:before{content:"+";color:var(--wine);margin-right:.8rem}
.option-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);padding:clamp(4rem,7vw,7rem) clamp(1.25rem,5vw,5rem)}.option-grid article{padding:2rem;border-left:1px solid var(--line);min-height:300px}.option-grid article:first-child{border-left:0}.option-grid span{font-size:.72rem;letter-spacing:.2em;color:var(--wine)}.option-grid h3,.comparison h3,.values h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1}.seo-copy,.gallery-empty{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,10vw,10rem);text-align:center;background:var(--paper)}.seo-copy p:last-child,.gallery-empty p:last-child{max-width:700px;margin:1rem auto;color:#52675f}
.comparison{display:grid;grid-template-columns:1fr 1fr}.comparison>div{padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,6rem)}.comparison>div:first-child{background:var(--cream)}.comparison>div:last-child{background:var(--green-2);color:#fff}.timeline{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9rem);background:#fff}.timeline article{display:grid;grid-template-columns:90px 1fr;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line)}.timeline article:last-child{border-bottom:1px solid var(--line)}.timeline span{color:var(--wine);letter-spacing:.2em}.timeline h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);font-weight:400;line-height:1;margin:0}.timeline p{max-width:650px;color:#587068}
.gallery-feature{display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch;background:#fff}.gallery-feature img{width:100%;height:100%;min-height:600px;object-fit:cover}.gallery-feature>div{padding:clamp(3rem,7vw,7rem);align-self:center}.values{display:grid;grid-template-columns:repeat(3,1fr);background:var(--cream);padding:clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,6rem)}.values article{padding:2rem;border-left:1px solid var(--line)}.values article:first-child{border-left:0}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(3rem,9vw,9rem);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,8rem);background:#fff}.contact-link{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.5rem);margin:.7rem 0}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.project-form label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.project-form input,.project-form select,.project-form textarea{display:block;width:100%;margin-top:.45rem;padding:1rem;border:1px solid var(--line);background:var(--paper);font:inherit;color:var(--ink);border-radius:0}.project-form label:nth-last-of-type(1),.project-form .button,.form-note{grid-column:1/-1}.form-note{font-size:.82rem;color:#687b74}.legal{max-width:860px;margin:auto;padding:clamp(5rem,10vw,10rem) 1.25rem}.legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,6rem);line-height:1}.legal h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin-top:3rem}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:850px){.page-hero{min-height:520px}.split-content,.comparison,.gallery-feature,.contact-layout{grid-template-columns:1fr}.option-grid,.values{grid-template-columns:1fr 1fr}.option-grid article:nth-child(3),.values article:nth-child(3){border-top:1px solid var(--line)}.gallery-feature img{min-height:420px}}
@media(max-width:520px){.option-grid,.values,.project-form{grid-template-columns:1fr}.option-grid article,.values article{border-left:0;border-top:1px solid var(--line);min-height:auto}.timeline article{grid-template-columns:44px 1fr}.page-hero{padding-top:5rem}.page-hero h1{font-size:3.2rem}}

/* Project photography */
.service-card{color:#fff}
.service-card:before{display:none}
.service-photo{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-photo-storage{object-position:center 55%}
.service-overlay{position:absolute!important;inset:0;background:linear-gradient(180deg,rgba(20,20,16,.2),rgba(20,20,16,.38) 46%,rgba(20,20,16,.9))}
.service-card>*:not(.service-photo):not(.service-overlay){position:relative}
.service-card:hover .service-photo{transform:scale(1.035)}
.work{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem);background:var(--paper)}
.work-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:clamp(2rem,8vw,8rem);align-items:end;margin-bottom:3rem}
.work-heading h2{font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,5.3rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:0;max-width:850px}
.work-heading>p{color:#596d65;margin:0 0 .6rem}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:360px;gap:1rem}
.home-project-grid{grid-template-columns:repeat(3,1fr)}
.home-project-grid .project-wide{grid-column:span 1}
.project{position:relative;margin:0;overflow:hidden;background:var(--cream)}
.project-wide{grid-column:span 2}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,23,20,.82));pointer-events:none}
.project:hover img{transform:scale(1.035)}
.project figcaption{position:absolute;z-index:1;left:1.35rem;right:1.35rem;bottom:1.25rem;color:#fff}
.project figcaption span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.63rem;margin-bottom:.3rem;color:#f1d2be}
.project figcaption strong{font-family:var(--serif);font-size:1.45rem;font-weight:400;line-height:1.15}
.work-cta{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}
.work-cta p{font-family:var(--serif);font-size:1.65rem;margin:0}
.reviews{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem);background:var(--cream)}
.reviews-heading{display:grid;grid-template-columns:.7fr 2fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:3rem}
.reviews-heading h2{font-family:var(--serif);font-size:clamp(2.5rem,4.8vw,4.8rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:0}
.reviews-heading>p:last-child{color:#596d65;margin:0 0 .45rem}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.review-card{display:flex;flex-direction:column;min-height:330px;margin:0;padding:2rem;background:var(--paper);border-top:4px solid var(--wine)}
.review-stars{color:var(--wine);font-size:.9rem;letter-spacing:.18em}
.review-card blockquote{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.3;margin:1.5rem 0 2.5rem}
.review-card figcaption{display:flex;flex-direction:column;margin-top:auto;border-top:1px solid var(--line);padding-top:1rem}
.review-card figcaption strong{font-size:.9rem}.review-card figcaption span{font-size:.72rem;color:#65776f;margin-top:.25rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:850px){.work-heading{grid-template-columns:1fr}.project-grid,.home-project-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:330px}}
@media(max-width:850px){.reviews-heading{grid-template-columns:1fr}.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.project-grid{grid-template-columns:1fr;grid-auto-rows:300px}.project-wide{grid-column:span 1}.work-cta{align-items:flex-start;flex-direction:column}.work{padding-left:1.25rem;padding-right:1.25rem}}
@media(max-width:520px){.reviews{padding-left:1.25rem;padding-right:1.25rem}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}}
