*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#211c1d;--muted:#756a6a;--cream:#f8f2ec;--rose:#c68b83;--rose-dark:#9b5f5a;--gold:#c9a46b;--white:#fff;--line:#e8ddd5}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{text-decoration:none;color:inherit}
.topbar{background:#241d1d;color:#f7eee7;padding:9px 6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.05em}
.topbar a{color:#e6c38d}
.nav{height:84px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:rgba(248,242,236,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(33,28,29,.06)}
.brand,.footer-brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display";font-weight:700;color:var(--rose-dark);font-size:14px}
.brand b,.footer-brand b{display:block;font-family:"Playfair Display";font-size:18px}.brand small,.footer-brand small{display:block;font-size:8px;letter-spacing:.22em;color:var(--muted)}
nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}nav a{transition:.2s}nav a:hover{color:var(--rose-dark)}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px;border-radius:100px}.menu-btn{display:none;border:0;background:none;font-size:25px}
.hero{min-height:calc(100vh - 126px);padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:radial-gradient(circle at 10% 30%,#fff9f3 0,transparent 35%),var(--cream)}
.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--rose-dark);margin-bottom:17px}
h1,h2{font-family:"Playfair Display",serif;font-weight:600;line-height:1.05;letter-spacing:-.03em}h1{font-size:clamp(54px,6.5vw,92px)}h2{font-size:clamp(40px,4.4vw,62px)}em{color:var(--rose-dark);font-style:italic}.hero-copy{max-width:580px;margin:25px 0;color:var(--muted);font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:15px 23px;border-radius:100px;font-weight:700;font-size:13px;transition:.25s}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{transform:translateY(-2px);background:var(--rose-dark)}.btn.ghost{border:1px solid #cdbdb4}.btn.light{background:#fff}.btn:hover{transform:translateY(-2px)}
.trust-row{display:flex;gap:35px;margin-top:45px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font-family:"Playfair Display";font-size:23px}.trust-row span{font-size:11px;color:var(--muted)}
.hero-image{display:flex;justify-content:center}.hero-image-card{position:relative;width:min(520px,100%);height:650px;border-radius:260px 260px 25px 25px;overflow:visible}.hero-image-card>img{width:100%;height:100%;object-fit:cover;border-radius:260px 260px 25px 25px;box-shadow:0 30px 70px rgba(75,47,39,.2)}
.floating-card{position:absolute;left:-35px;bottom:38px;background:#fff;padding:18px 21px;display:flex;gap:13px;align-items:center;border-radius:15px;box-shadow:0 20px 50px rgba(60,40,35,.15)}.sparkle{width:35px;height:35px;border-radius:50%;background:#f4e3da;display:grid;place-items:center;color:var(--rose-dark)}.floating-card b{display:block;font-size:13px}.floating-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.marquee{background:#211c1d;color:#f7eee7;padding:17px 5%;display:flex;justify-content:space-around;gap:20px;align-items:center;font-size:10px;letter-spacing:.24em}.marquee i{color:var(--gold)}
.section{padding:120px 7%}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:55px}.section-head>p:last-child{color:var(--muted);max-width:480px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;padding:34px;min-height:280px;border:1px solid #eadfd7;display:flex;flex-direction:column;align-items:flex-start;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(80,50,40,.08)}.service-card.featured{background:#2b2323;color:#fff}.service-icon{font-size:28px;color:var(--gold);margin-bottom:35px}.service-card h3{font-family:"Playfair Display";font-size:25px;margin-bottom:10px}.service-card p{color:var(--muted);font-size:13px}.featured p{color:#cdbfba}.service-card a{margin-top:auto;padding-top:25px;color:var(--rose-dark);font-size:12px;font-weight:700}.featured a{color:#e8c58d}.image-card{padding:0;position:relative;overflow:hidden}.image-card img{width:100%;height:100%;object-fit:cover}.image-card>div{position:absolute;bottom:0;left:0;right:0;padding:25px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;justify-content:space-between;align-items:end}.image-card a{padding:0;color:#fff}
.split-section{display:grid;grid-template-columns:1fr 1fr;background:#2b2323;color:#fff}.split-image{min-height:700px}.split-image img{width:100%;height:100%;object-fit:cover}.split-copy{padding:100px 12%;align-self:center}.split-copy>p:not(.eyebrow){color:#cfc1bc;max-width:520px;margin:25px 0 38px}.split-copy ul{list-style:none}.split-copy li{display:flex;gap:20px;padding:19px 0;border-top:1px solid #4b4140}.split-copy li span{color:#d4b17a;font-size:11px}.split-copy li b{display:block}.split-copy li small{color:#a99b96}.text-link{display:inline-block;margin-top:25px;color:#e3bd82;font-weight:700;font-size:13px}
.centered{display:block;text-align:center}.centered>p:last-child{margin:18px auto 0}.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:270px 270px;gap:16px}.gallery img{width:100%;height:100%;object-fit:cover}.g1{grid-row:span 2}.g4{grid-column:2 / 4}
.reviews{padding:110px 7%;background:#efe4dc}.reviews-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.review-note{color:var(--muted);margin:22px 0 30px;max-width:430px}.quote-card{background:#fff;padding:50px;box-shadow:0 20px 50px rgba(80,50,40,.07)}.stars{color:#c59b5d;letter-spacing:5px}.quote-card blockquote{font-family:"Playfair Display";font-size:28px;line-height:1.3;margin:25px 0}.quote-card p{font-size:12px;font-weight:700}.quote-card small{display:block;color:#9b8d87;margin-top:20px;font-size:10px}
.visit{padding-top:100px}.visit-card{background:#2b2323;color:#fff;padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-lines{margin:35px 0}.contact-lines p{font-size:13px;color:#d2c4bf;margin:18px 0}.contact-lines span{display:inline-block;width:30px}.contact-lines b{color:#fff;margin-left:5px}.contact-lines a{color:#e1bd82}.contact-lines small{color:#9f918d}.map{min-height:440px;border-radius:2px;overflow:hidden}.map iframe{width:100%;height:100%;border:0;filter:grayscale(100%) contrast(90%)}
footer{padding:45px 7%;background:#211c1d;color:#bcaeaa;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}.footer-brand b{color:#fff}
.mobile-book{display:none}
@media(max-width:900px){nav{gap:15px}.hero{grid-template-columns:1fr;gap:45px}.hero-image-card{height:560px}.section-head,.reviews-inner,.visit-card{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.split-section{grid-template-columns:1fr}.split-image{min-height:520px}.split-copy{padding:80px 8%}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px}.g1{grid-row:auto}.g4{grid-column:auto}}
@media(max-width:650px){.topbar{padding:8px 5%;font-size:9px}.topbar span{display:none}.topbar a{margin-left:auto}.nav{height:70px;padding:0 5%}.menu-btn{display:block}nav{display:none}.brand b{font-size:15px}.brand-mark{width:37px;height:37px}.hero{padding:65px 6% 80px}.hero-copy{font-size:15px}.trust-row{gap:20px}.hero-image-card{height:470px}.floating-card{left:12px}.section{padding:85px 6%}.section-head{margin-bottom:35px}.service-grid{grid-template-columns:1fr}.service-card{min-height:250px}.split-image{min-height:430px}.gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,300px)}.g4{grid-column:auto}.reviews{padding:80px 6%}.quote-card{padding:35px}.visit{padding:65px 6%}.visit-card{padding:38px 25px;gap:35px}.map{min-height:300px}footer{flex-direction:column;align-items:flex-start;padding-bottom:90px}.mobile-book{display:block;position:fixed;z-index:50;bottom:14px;left:5%;right:5%;background:var(--rose-dark);color:#fff;text-align:center;padding:14px;border-radius:100px;font-weight:700;font-size:13px;box-shadow:0 10px 30px rgba(50,30,30,.25)}}
