:root{
  --maroon:#7d1f2a; --deep:#4e151d; --gold:#b98945; --cream:#fbf7ef;
  --paper:#fffdf9; --ink:#241d1b; --muted:#6e6460; --line:#e9dfd5;
  --shadow:0 18px 50px rgba(54,29,20,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{text-decoration:none;color:inherit}
.topbar{height:78px;padding:0 5%;display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:20;background:rgba(255,253,249,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--maroon);color:#fff;font-size:12px;font-weight:800}
.brand strong{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:11px}
nav{display:flex;gap:22px;font-size:13px;color:#514744}nav a:hover{color:var(--maroon)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 18px;font-weight:750;font-size:14px}
.nav-cta,.primary{background:var(--maroon);color:#fff;box-shadow:0 8px 22px rgba(125,31,42,.18)}
.secondary{border:1px solid #d9ccc0;background:#fff;color:var(--maroon)}
.hero{min-height:640px;padding:72px 6%;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;background:radial-gradient(circle at 85% 15%,#f4e6d4 0,transparent 28%),linear-gradient(135deg,#fffdf9,#f7efe6)}
.eyebrow,.section-kicker{letter-spacing:.16em;font-size:11px;font-weight:850;color:var(--gold)}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:1.04;margin:14px 0 20px;max-width:700px;color:var(--deep)}
.hero p{font-size:18px;color:var(--muted);max-width:640px}
.hero-actions{display:flex;gap:12px;margin:28px 0;flex-wrap:wrap}
.quick-points{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#625854}
.hero-card{background:#fff;padding:12px;border-radius:24px;box-shadow:var(--shadow);transform:rotate(.4deg)}
.photo-placeholder{min-height:210px;border-radius:16px;background:linear-gradient(135deg,#e7d5c0,#c9a47d 55%,#7d1f2a);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;font-weight:900;letter-spacing:.08em;padding:20px;position:relative;overflow:hidden}
.photo-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 40%,rgba(255,255,255,.18));pointer-events:none}
.photo-placeholder span,.photo-placeholder small{position:relative;z-index:1}.photo-placeholder small{font-size:10px;letter-spacing:0;margin-top:6px;font-weight:500;opacity:.9}
.photo-placeholder.large{height:380px}.hero-card-bottom{display:flex;justify-content:space-between;gap:15px;padding:18px 10px 8px}.hero-card-bottom div{display:flex;flex-direction:column}.hero-card-bottom strong{font-size:14px}.hero-card-bottom span{font-size:11px;color:var(--muted)}
.section{padding:88px 7%}.intro{display:grid;grid-template-columns:.8fr 1fr;gap:70px;border-bottom:1px solid var(--line)}h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,46px);line-height:1.12;margin:10px 0 0;color:var(--deep)}.intro p{font-size:18px;color:var(--muted);margin:4px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.centered{justify-content:center;text-align:center}.text-link{font-weight:800;color:var(--maroon);font-size:14px}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.room-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(54,29,20,.05)}.photo-placeholder.room{height:270px}.card-content{padding:25px}.pill{display:inline-block;background:#f4e7d7;color:var(--maroon);border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800}.card-content h3{font-family:Georgia,serif;font-size:25px;margin:12px 0 8px}.card-content p{color:var(--muted);margin:0 0 18px}.btn.small{padding:9px 14px;background:#f8f0e8;color:var(--maroon)}
.soft{background:var(--cream)}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.amenity{padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px}.amenity b{font-size:25px}.amenity h3{font-size:17px;margin:10px 0 4px}.amenity p{font-size:13px;color:var(--muted);margin:0}
.location-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.location-copy>p{color:var(--muted);margin:18px 0}.nearby-list{border-top:1px solid var(--line);margin:25px 0}.nearby-list div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.nearby-list b{color:var(--maroon)}.map-card{min-height:470px;border-radius:25px;background:linear-gradient(135deg,#e7dcc9,#d5c6a8);display:grid;place-items:center;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.map-card:before,.map-card:after{content:"";position:absolute;background:rgba(255,255,255,.35);height:2px;width:140%;transform:rotate(-25deg)}.map-card:after{transform:rotate(35deg)}.map-inner{position:relative;z-index:1;background:rgba(255,253,249,.94);border-radius:20px;padding:35px;text-align:center;box-shadow:0 15px 35px rgba(50,40,20,.12)}.map-pin{font-size:38px}.map-inner h3{font-family:Georgia,serif;font-size:25px;margin:8px}.map-inner p{margin:0;color:var(--muted)}.map-inner span{font-size:12px;color:var(--maroon);font-weight:800}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid .photo-placeholder{min-height:220px}.gallery-grid .photo-placeholder:nth-child(2),.gallery-grid .photo-placeholder:nth-child(5){min-height:290px}.muted{font-size:12px;color:var(--muted)}
.review-box{max-width:850px;margin:auto;text-align:center;padding:55px 25px}.stars{letter-spacing:5px;color:var(--gold);font-size:25px}.review-box p{color:var(--muted);max-width:600px;margin:12px auto 25px}
.booking{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:linear-gradient(135deg,var(--deep),var(--maroon));color:#fff}.booking h2{color:#fff}.booking-copy p{max-width:650px;color:#f0deda}.contact-lines{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;font-weight:800}.booking-actions{display:flex;flex-direction:column;gap:12px;min-width:250px}.booking .secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.4)}.btn.big{padding:16px 20px}
footer{background:#241719;color:#eee8e3;padding:45px 7% 20px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-brand{font-family:Georgia,serif;font-size:25px}.footer-main p{color:#b9aaa5;font-size:13px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:13px}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:16px;color:#9f918c;font-size:11px}.floating-wa{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1f9d55;color:#fff;font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:30}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding:55px 6%}.hero-card{max-width:650px;width:100%;margin:auto}.intro,.location-section,.booking{grid-template-columns:1fr;gap:30px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{padding:0 4%;height:70px}.nav-cta{padding:9px 12px;font-size:12px}.brand strong{font-size:14px}.hero{min-height:auto;padding:45px 5%}.hero h1{font-size:43px}.hero p{font-size:16px}.section{padding:65px 5%}.room-grid,.amenity-grid,.gallery-grid{grid-template-columns:1fr}.photo-placeholder.large{height:290px}.section-heading{align-items:start;flex-direction:column;gap:12px}.gallery-grid .photo-placeholder:nth-child(2),.gallery-grid .photo-placeholder:nth-child(5){min-height:220px}.footer-main{grid-template-columns:1fr}.hero-card-bottom{flex-direction:column}.booking-actions{width:100%}}
