:root{--ink:#26382e;--cream:#f8f3e9;--sand:#e8ddca;--rose:#c9806c;--line:rgba(38,56,46,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:.98;letter-spacing:-.04em}h1{font-size:clamp(3.6rem,7vw,6.8rem)}h2{font-size:clamp(2.8rem,5vw,5rem)}em{color:var(--rose);font-weight:500}.eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.16em}.site-header{height:86px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:1}.brand{font-size:.72rem;letter-spacing:.13em;color:var(--ink);text-decoration:none;font-weight:600}.brand span{font-family:'Playfair Display';font-style:italic;font-size:1.05rem;letter-spacing:0}nav{display:flex;gap:2.2rem;align-items:center}nav a{color:var(--ink);text-decoration:none;font-size:.78rem}.nav-book{border-bottom:1px solid var(--ink);padding-bottom:3px}.menu{display:none;border:0;background:none;font-size:1.3rem}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1fr 1fr;position:relative}.hero-copy{padding:15vh 5.5vw 10vh}.intro{max-width:430px;margin:2rem 0 2.3rem;color:#566358}.button{display:inline-flex;gap:1.7rem;align-items:center;border:0;background:var(--ink);padding:15px 19px;color:white;text-decoration:none;font:600 .72rem 'DM Sans';letter-spacing:.07em;cursor:pointer}.button span{font-size:1.15rem}.hero-image{min-height:590px}.placeholder{background:linear-gradient(135deg,#c8ab92,#e8d7c0 47%,#9b8067);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;letter-spacing:.14em;font-size:.62rem}.placeholder p{letter-spacing:0;font-size:.75rem;margin:8px 20px}.hero-note{position:absolute;bottom:38px;left:5.5vw;display:flex;gap:1rem;align-items:start;font-size:.72rem}.hero-note span{color:var(--rose)}.hero-note p{margin:0}.welcome{padding:12rem 19vw 11rem 39vw;background:#fbf8f1}.welcome>p:not(.eyebrow){max-width:440px;color:#566358;margin:2rem 0}.text-link{color:var(--ink);font-size:.76rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{padding-left:1.2rem}.services{background:var(--sand);padding:8rem 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.service-list article{display:grid;grid-template-columns:35px 1fr auto;gap:1.3rem;padding:1.55rem 0;border-top:1px solid var(--line)}.service-list article span{font-size:.7rem;color:var(--rose)}h3{font:500 1.4rem 'Playfair Display';margin:0}.service-list p{font-size:.8rem;color:#5d695d;margin:.45rem 0 0;max-width:290px}.service-list strong{font-size:.72rem;font-weight:500}.service-list .text-link{display:inline-block;margin-top:1.8rem}.gallery{display:grid;grid-template-columns:1fr 1.1fr 1fr;background:var(--ink);color:#f5efe5;min-height:590px}.gallery .placeholder{min-height:100%;background:linear-gradient(145deg,#8c6b5b,#c9a27e)}.photo-b{background:linear-gradient(145deg,#b9a087,#765d4d)!important}.gallery-copy{padding:10rem 3.5vw;text-align:center}.gallery-copy p:not(.eyebrow){color:#d5d5c9;margin:2rem auto;max-width:300px}.button-light{background:#f5efe5;color:var(--ink)}.booking{padding:9rem 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.booking-intro>p:not(.eyebrow){color:#5a675b;max-width:350px;margin:2rem 0}.appointment-note{font-size:.76rem;border-left:2px solid var(--rose);padding-left:14px}.appointment-note b{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}form{padding-top:1rem}label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:1.5rem}input,select,textarea{width:100%;margin-top:.55rem;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;color:var(--ink);font:14px 'DM Sans';outline-color:var(--rose)}textarea{height:80px;resize:vertical}small{text-transform:none;font-weight:400;letter-spacing:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}.form-status{min-height:24px;font-size:.85rem}.visit{padding:7rem 8vw;background:#f1ebe0;display:grid;grid-template-columns:1fr 1fr}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.visit-details p{font-size:.8rem}.visit-details b{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.visit a{color:var(--ink)}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem 5.5vw;background:var(--ink);color:#eee7dc;font-size:.68rem}footer .brand,footer a{color:#eee7dc;text-decoration:none}@media(max-width:750px){.site-header{height:72px}.menu{display:block}nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:8rem 7vw 5rem}.hero-image{min-height:360px}.hero-note{display:none}.welcome{padding:6rem 9vw}.services,.booking,.visit{grid-template-columns:1fr;padding:5rem 7vw;gap:3rem}.gallery{grid-template-columns:1fr}.gallery .placeholder{min-height:280px}.gallery-copy{padding:5rem 7vw;order:-1}.form-row,.visit-details{grid-template-columns:1fr;gap:0}.service-list article{grid-template-columns:24px 1fr}.service-list strong{grid-column:2}footer{flex-direction:column;gap:1rem;text-align:center}}
