@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{--ink:#29302f;--paper:#f7f3ed;--sand:#e9e0d4;--clay:#c8785a;--line:#d9d0c5;--muted:#6e716c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,243,237,.96);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:10px;line-height:1.15;letter-spacing:.13em;text-transform:uppercase}.brand b{font-size:11px;letter-spacing:.02em;text-transform:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--paper);font-weight:700;letter-spacing:-.08em}.main-nav{display:flex;gap:30px;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.main-nav a,.header-call{transition:color .2s}.main-nav a:hover,.header-call:hover{color:var(--clay)}.header-call{font-size:12px}.header-call span{border-bottom:1px solid var(--clay);padding-bottom:5px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:665px;position:relative;padding:76px 5vw 80px;display:grid;grid-template-columns:42% 58%;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2;padding-bottom:70px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.clay{color:var(--clay)}h1,h2{font:500 clamp(45px,6vw,84px)/.98 'Playfair Display',serif;letter-spacing:-.045em;margin:20px 0}h1 em,h2 em{color:var(--clay);font-style:italic}.hero-text{max-width:380px;color:var(--muted);font-size:17px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:35px;padding:15px 18px 15px 22px;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:18px;font-weight:400}.button-dark{background:var(--ink);color:var(--paper)}.button-light{background:var(--paper);color:var(--ink)}.text-link{font-size:12px;font-weight:700}.text-link span{color:var(--clay);font-size:19px;margin-left:8px}.hero-visual{height:565px;position:relative;margin-left:-5%;overflow:hidden}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,48,47,.13),transparent 40%)}.hero-visual img{height:100%;filter:saturate(.7)}.photo-label{position:absolute;z-index:1;left:25px;bottom:25px;color:white;font-size:11px;letter-spacing:.06em}.photo-label b{margin:0 8px;color:var(--clay)}.hero-index{position:absolute;right:22px;top:22px;color:white;font-size:12px;z-index:1}.hero-note{position:absolute;bottom:62px;left:5vw;border-left:2px solid var(--clay);padding-left:13px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.hero-note b{color:var(--clay)}.section-pad{padding:125px 10vw}.section-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);display:flex;gap:20px;align-items:center}.section-kicker span{color:var(--muted);letter-spacing:.08em}.about{background:#ebe3d8}.about-grid{display:grid;grid-template-columns:48% 42%;gap:10%;align-items:center;margin-top:42px}.about-image{position:relative}.about-image img{height:530px}.about-image span{position:absolute;bottom:-18px;right:-18px;padding:17px 20px;background:var(--clay);color:#fff;font:italic 18px 'Playfair Display'}.about-copy h2,.section-heading h2,.process h2,.gallery h2,.reviews h2,.why h2,.contact h2{font-size:clamp(41px,5vw,68px)}.about-copy p,.section-heading>p,.process-intro>p,.gallery-top>p,.reviews-head>p,.contact-intro>p{color:var(--muted);max-width:500px}.signature{display:flex;align-items:center;gap:15px;margin-top:28px;font-family:'Playfair Display';font-size:18px}.signature small{font:11px 'DM Sans';color:var(--muted)}.sig-line{width:48px;height:1px;background:var(--clay)}.services{background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:65px}.section-heading .section-kicker{grid-column:1/-1}.section-heading h2{margin:0}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:10% 1fr 30px;gap:20px;padding:25px 12px;border-bottom:1px solid var(--line);align-items:start;transition:background .25s,padding .25s}.service-list article:hover{background:var(--sand);padding-left:24px}.service-list article>span{color:var(--clay);font-size:11px;letter-spacing:.14em}.service-list h3{margin:0 0 5px;font:500 25px 'Playfair Display'}.service-list p{margin:0;color:var(--muted);max-width:580px}.service-list article>b{font-size:22px;font-weight:400;color:var(--clay)}.service-tail{display:flex;gap:35px;border-bottom:1px solid var(--line);padding:22px 12px;font-size:12px}.service-tail span{color:var(--clay);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.service-tail p{margin:0;color:var(--muted)}.process{background:var(--sand);display:grid;grid-template-columns:30% 65%;gap:5%}.process h2{margin-top:28px}.process-rail{display:grid;grid-template-columns:repeat(5,1fr);align-items:start;gap:0;border-top:1px solid #bfb4a7;margin-top:75px}.process-rail>div{padding:19px 17px 0 0;border-right:1px solid #bfb4a7;min-height:220px}.process-rail>div+div{padding-left:17px}.process-rail>div:last-child{border:0}.process-rail span{color:var(--clay);font-size:11px}.process-rail h3{font:500 20px 'Playfair Display';margin:25px 0 9px}.process-rail p{color:var(--muted);font-size:13px;margin:0}.gallery{background:var(--paper)}.gallery-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.gallery-top h2{margin-bottom:0}.gallery-top>p{width:270px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr 1.15fr;grid-auto-rows:235px;gap:18px}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-grid figure img{height:100%;transition:transform .6s}.gallery-grid figure:hover img{transform:scale(1.05)}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 15px 12px;color:#fff;font-size:11px;letter-spacing:.08em;background:linear-gradient(transparent,rgba(0,0,0,.65))}.g-tall{grid-row:span 2}.g-wide{grid-column:span 2}.reviews{background:#ebe3d8}.reviews-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 45px}.reviews-head h2{margin:0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-grid blockquote{margin:0;padding:28px;background:var(--paper);min-height:255px;border-top:3px solid var(--clay)}.review-grid blockquote>span{font:50px 'Playfair Display';color:var(--clay);line-height:.5}.review-grid p{font:18px/1.45 'Playfair Display';margin:15px 0 24px}.review-grid footer{font-size:11px;font-weight:700}.review-grid small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.why{display:grid;grid-template-columns:42% 50%;gap:8%;background:var(--ink);color:var(--paper)}.why h2{margin:25px 0 40px}.why-points{border-top:1px solid #56605d}.why-points>div{display:grid;grid-template-columns:45px 1fr;gap:12px;border-bottom:1px solid #56605d;padding:23px 0}.why-points b{color:var(--clay);font-size:11px}.why-points h3{margin:0;font:500 22px 'Playfair Display'}.why-points p{grid-column:2;margin:0;color:#b8beb9;max-width:400px}.cta{height:450px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.cta:after{content:'';position:absolute;inset:0;background:rgba(41,48,47,.62)}.cta img{position:absolute;height:100%;filter:saturate(.55)}.cta>div{position:relative;z-index:1}.cta h2{margin:17px 0 30px}.contact{display:grid;grid-template-columns:45% 45%;gap:10%;background:var(--sand)}.contact h2{margin:25px 0}.contact-details{display:flex;gap:40px;margin:34px 0;color:var(--muted);font-size:13px}.contact-details p{margin:0}.contact-details b{color:var(--ink)}.contact-details a{border-bottom:1px solid var(--clay);line-height:2.1}.map-wrap{position:relative;height:210px;overflow:hidden}.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(1)}.map-wrap>a{position:absolute;right:10px;bottom:10px;background:var(--paper);padding:7px 10px;font-size:10px}.form-card{background:var(--paper);padding:42px 45px;box-shadow:0 12px 40px rgba(41,48,47,.08)}.form-card form{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px}.form-card label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:12px}.form-card label span{color:var(--clay)}.form-card input,.form-card textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;font:15px 'DM Sans';outline:0;color:var(--ink)}.form-card input:focus,.form-card textarea:focus{border-color:var(--clay)}.form-card label:nth-of-type(5),.form-card textarea,.form-card button{grid-column:1/-1}.form-card button{border:0;margin-top:20px;justify-content:space-between;cursor:pointer}.form-card textarea{resize:vertical}.form-card #form-success{display:none;padding:20px;background:#dbe4d8;color:#314637;margin-top:20px}.site-footer{background:#202725;color:var(--paper);padding:70px 10vw 50px;display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:8%;position:relative}.footer-brand h2{font:500 31px/1 'Playfair Display';margin:20px 0}.footer-brand p{color:#aeb5b0;max-width:330px;font-size:13px}.footer-brand small{display:block;color:#737e78;margin-top:40px;font-size:10px}.footer-contact{font-size:13px;color:#aeb5b0}.footer-contact b{color:var(--paper)}.footer-contact a{display:block;color:var(--paper);margin-top:15px;font-size:12px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-nav div{display:flex;flex-direction:column;gap:13px}.footer-nav a{font-size:12px}.footer-nav a:hover{color:var(--clay)}.reveal,.service-list article,.process-rail>div,.review-grid blockquote{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.visible{opacity:1;transform:none}@media(max-width:800px){.site-header{height:72px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px 8vw;background:var(--ink);color:var(--paper);flex-direction:column;gap:18px}.main-nav.open{display:flex}.menu-toggle{display:block;order:3;width:38px}.menu-toggle i{display:block;width:25px;height:1px;background:var(--ink);margin:7px}.header-call{display:none}.hero{display:block;padding:60px 7vw 50px}.hero-copy{padding:0}.hero-visual{height:390px;margin:45px 0 0}.hero-note{position:static;margin-top:25px}.section-pad{padding:80px 7vw}.about-grid,.contact,.process,.why{display:block}.about-image img{height:370px}.about-copy{margin-top:55px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:25px}.process-rail{display:block;margin-top:45px;border-top:0}.process-rail>div,.process-rail>div+div{border-right:0;border-left:1px solid #bfb4a7;padding:5px 0 23px 24px;min-height:0}.process-rail>div h3{margin:10px 0 4px}.gallery-top,.reviews-head{display:block}.gallery-top>p{width:auto;margin-top:25px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:10px}.g-wide{grid-column:span 2}.review-grid{grid-template-columns:1fr}.why-points{margin-top:60px}.contact-intro{margin-bottom:50px}.contact-details{display:block}.contact-details p+p{margin-top:20px}.form-card{padding:30px 22px}.site-footer{grid-template-columns:1fr 1fr;padding:55px 7vw;gap:35px}.footer-brand{grid-column:1/-1}.footer-nav{grid-column:1/-1}.hero-actions{flex-wrap:wrap}}
