@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{--ink:#24251f;--sub:#5d5b54;--cream:#f7f5f0;--paper:#fffdfa;--line:#dcd8cc;--olive:#696c58;--accent:#b49c7b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit}a:hover{color:#77745d}.wrap{max-width:1200px;margin:auto;padding:0 30px}.site-header{background:#fffdfa;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.head{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{text-decoration:none;font-size:14px;letter-spacing:.16em;font-weight:700;line-height:1.4;max-width:265px}.logo small{display:block;font-weight:400;letter-spacing:.22em;font-size:10px;margin-top:2px}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 23px;background:var(--ink);color:white!important;text-decoration:none;text-transform:uppercase;letter-spacing:.10em;font-size:11px;font-weight:600;border:1px solid var(--ink);transition:.2s}.btn:hover{background:var(--olive);border-color:var(--olive)}.btn.outline{color:var(--ink)!important;background:transparent}.btn.outline:hover{background:#ece9e1}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}.hero-copy{background:var(--cream);padding:105px max(45px,7vw) 100px max(30px,calc((100vw - 1200px)/2 + 30px));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.23em;color:var(--olive);margin-bottom:24px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.17;margin:0 0 24px}h1{font-size:clamp(44px,5vw,78px);letter-spacing:-.035em}h2{font-size:clamp(34px,3.7vw,52px)}h3{font-size:27px}p{margin:0 0 24px;color:var(--sub);max-width:660px}.hero-copy p{font-size:17px;max-width:500px}.visual{position:relative;min-height:420px;background:linear-gradient(130deg,#bdb9a8 0 27%,#eee8df 27% 49%,#a39f90 49% 52%,#d3ccbf 52% 75%,#aaa38f 75%);overflow:hidden}.visual:after{content:'';position:absolute;left:15%;top:14%;width:58%;height:75%;border:16px solid #e5ddcf;box-shadow:40px 40px 1px #8b8677;background:linear-gradient(90deg,#e0dbd0 49%,#cac2b4 50%)}.visual .placeholder{position:absolute;bottom:25px;right:25px;z-index:2;background:#fffdfae6;font-size:11px;letter-spacing:.08em;padding:9px 12px}.section{padding:110px 0}.section.alt{background:var(--cream)}.two{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.panel{min-height:395px;background:linear-gradient(145deg,#c9c6b9,#ece5db 50%,#bab8a7);border:15px solid #e5e0d7;display:flex;align-items:end;justify-content:center;padding:25px;text-align:center;color:#4d4d46;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:43px 0}.step{border-top:1px solid var(--line);padding-top:22px}.step b{display:block;font-size:12px;color:#9c8c6d;letter-spacing:.13em;margin-bottom:12px}.step h3{font-size:24px;margin-bottom:11px}.step p{font-size:14px}.center{text-align:center}.center p{margin-left:auto;margin-right:auto}.note{font-size:13px;color:var(--sub);margin-top:13px}.page-hero{padding:96px 0 65px;background:var(--cream)}.page-hero h1{max-width:860px}.prose{max-width:775px}.prose p{font-size:17px}.cta{background:#54594a;color:#fff;padding:82px 0;text-align:center}.cta h2{color:white}.cta p{color:#e8e8e1;margin:auto auto 28px}.cta .btn{background:#fffdf6;color:#222!important;border-color:#fffdf6}.cta .note{color:#e8e8e1}footer{padding:40px 0;background:#f5f2ed;border-top:1px solid var(--line);font-size:12px;color:var(--sub)}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot a{margin-left:15px;text-decoration:none}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.project{min-height:270px;background:linear-gradient(145deg,#cbc6ba,#e7e2d8);border:1px solid #d3cec2;display:flex;align-items:end;padding:22px}.project span{background:#fdfbf7;padding:12px 16px;font-size:12px;letter-spacing:.04em}.notice{padding:22px;background:#f1eee6;border-left:3px solid #989a81;margin:30px 0}.booking{padding:30px;border:1px solid var(--line);background:var(--cream);max-width:700px}.booking p{margin-bottom:12px}.mobile-toggle{display:none} @media(max-width:800px){.wrap{padding:0 20px}.head{min-height:75px;flex-wrap:wrap}.logo{font-size:11px}.mobile-toggle{display:inline-flex;background:transparent;border:1px solid var(--line);padding:8px 12px;font:inherit;font-size:12px}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:20px;gap:12px}.nav.open{display:flex}.nav a{padding:8px 0}.nav .btn{width:100%}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px}.visual{min-height:320px}.two,.steps,.project-grid{grid-template-columns:1fr;gap:28px}.section{padding:70px 0}.page-hero{padding:65px 0}.cta{padding:65px 0}.foot a{margin-left:0;margin-right:12px}}