@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Manrope:wght@400;500;600&display=swap');

:root{
  --bg:#FBF6F3;
  --surface:#FFFFFF;
  --ink:#3B2A2E;
  --blush:#ED93B1;
  --blush-deep:#72243E;
  --gold:#C79A4B;
  --gold-deep:#7A5E26;
  --line:rgba(59,42,46,0.12);
  --font-display:'Cormorant Garamond', serif;
  --font-body:'Manrope', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.7;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:1040px; margin:0 auto; padding:0 28px;}

header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(251,246,243,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
.logo{font-family:var(--font-display); font-weight:600; font-size:24px; letter-spacing:0.01em; color:var(--blush-deep);}
.logo em{font-style:italic; color:var(--gold-deep);}
nav.links{display:flex; gap:28px;}
nav.links a{font-size:13px; font-weight:500; letter-spacing:0.03em; opacity:0.7;}
nav.links a:hover{opacity:1;}
nav.links a.active{opacity:1; border-bottom:1px solid var(--gold-deep);}
.call-btn{
  background:var(--blush-deep); color:#fff; font-size:13px; font-weight:600;
  padding:10px 20px; border-radius:3px; white-space:nowrap;
}
@media (max-width:680px){ nav.links{display:none;} }

.hero{padding:68px 0 60px;}
.eyebrow{
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--gold-deep); font-weight:600; margin-bottom:14px;
  display:flex; align-items:center; gap:8px;
}
.eyebrow::before{content:''; width:18px; height:1px; background:var(--gold-deep);}
.hero h1{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(32px,5.2vw,56px); line-height:1.08;
  max-width:700px; margin-bottom:18px;
}
.hero h1 em{font-style:italic; color:var(--blush-deep);}
.hero p.lede{font-size:17px; max-width:480px; opacity:0.78; margin-bottom:28px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; padding:12px 24px; border-radius:3px;}
.btn-primary{background:var(--blush-deep); color:#fff;}
.btn-ghost{border:1px solid var(--line); color:var(--ink);}

.photo-slot{
  border-radius:8px;
  overflow:hidden;
  min-height:230px;
  background:var(--blush-deep);
}
.photo-slot img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-slot.placeholder{
  background:linear-gradient(135deg, #C79A4B 0%, #72243E 100%);
  color:#FBF6F3;
  display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:13px; letter-spacing:0.02em;
  padding:20px; opacity:0.9;
}
.photo-slot span{opacity:0.65; display:block; margin-top:6px; font-size:12px;}

section{padding:60px 0;}
section.alt{background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
h2.h{font-family:var(--font-display); font-weight:500; font-size:clamp(26px,3.8vw,38px); margin-bottom:10px;}
p.sub{opacity:0.72; max-width:520px; margin-bottom:36px;}

.info-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:680px){ .info-strip{grid-template-columns:1fr;} }
.info-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:18px 20px;}
.info-card .label{font-size:11px; text-transform:uppercase; letter-spacing:0.06em; opacity:0.55; margin-bottom:6px; font-weight:600;}
.info-card .val{font-size:15px; font-weight:600;}

.room-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:780px){ .room-grid{grid-template-columns:1fr;} }
.room-card{background:var(--surface); border:1px solid var(--line); border-radius:10px; overflow:hidden;}
.room-card .photo-slot{min-height:140px; border-radius:0; margin-bottom:0;}
.room-card .body{padding:18px 20px;}
.room-card h4{font-family:var(--font-display); font-weight:600; font-size:19px; margin-bottom:4px;}
.room-card .price{font-weight:600; color:var(--blush-deep); margin-bottom:8px; font-size:14px;}
.room-card p{font-size:13px; opacity:0.7;}

.amenity-tags{display:flex; flex-wrap:wrap; gap:10px;}
.amenity-tag{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:8px 16px; font-size:13px; font-weight:600;}

.package-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
@media (max-width:680px){ .package-grid{grid-template-columns:1fr;} }
.package-card{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:28px;}
.package-card .ptag{font-size:11px; text-transform:uppercase; letter-spacing:0.06em; opacity:0.55; font-weight:600; margin-bottom:8px;}
.package-card .pnum{font-family:var(--font-display); font-weight:600; font-size:34px; color:var(--blush-deep); margin-bottom:14px;}
.package-card ul{list-style:none;}
.package-card li{font-size:14px; opacity:0.78; padding:7px 0; border-top:1px solid var(--line);}
.package-card li:first-child{border-top:none;}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
@media (max-width:680px){ .contact-grid{grid-template-columns:1fr;} }
form .field{margin-bottom:16px;}
form label{display:block; font-size:13px; font-weight:600; margin-bottom:6px;}
form input, form textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:6px;
  font-family:var(--font-body); font-size:14px; background:var(--surface); color:var(--ink);
}
form textarea{resize:vertical; min-height:100px;}
.contact-detail{display:flex; align-items:flex-start; gap:12px; margin-bottom:18px;}
.contact-detail .k{font-size:12px; text-transform:uppercase; letter-spacing:0.05em; opacity:0.55; width:90px; flex-shrink:0; padding-top:2px;}
.contact-detail .v{font-weight:600; font-size:15px;}

footer.site{background:var(--blush-deep); color:#FBF6F3; padding:36px 0; margin-top:40px;}
footer.site .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
footer.site .biz{font-family:var(--font-display); font-weight:600; font-size:18px;}
footer.site .credit{font-size:12px; opacity:0.7;}
footer.site .credit a{text-decoration:underline;}
