:root{
  --ivory:#f4efe9;
  --silk:#e9e1d7;
  --greige:#cbbfb1;
  --ink:#1b1917;
  --muted:#6f665d;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5vw;background:rgba(244,239,233,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(27,25,23,.07)}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-mark{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.06em}
.brand-logo{height:30px;width:auto}
.brand-sub{font-size:11px;letter-spacing:.35em;text-transform:uppercase}
.nav nav{display:flex;gap:32px}
.nav nav a{font-size:12px;letter-spacing:.22em;text-transform:uppercase;opacity:.75;transition:opacity .2s}
.nav nav a:hover{opacity:1}
.lang button{background:none;border:0;font:inherit;font-size:12px;letter-spacing:.15em;padding:4px 6px;cursor:pointer;color:var(--muted)}
.lang button.on{color:var(--ink);border-bottom:1px solid var(--ink)}

/* shared type */
.eyebrow{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.15}
h1{font-size:clamp(40px,5.2vw,74px);margin-bottom:24px}
h2{font-size:clamp(32px,3.6vw,52px);margin-bottom:22px}
h3{font-size:30px;font-weight:400;margin-bottom:4px}
section{padding:110px 5vw}
.btn{display:inline-block;margin-top:34px;padding:16px 38px;border:1px solid var(--ink);font-size:12px;letter-spacing:.25em;text-transform:uppercase;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--ivory)}

/* hero */
.hero{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:6vw;padding-top:130px;background:linear-gradient(120deg,var(--ivory),var(--silk))}
.lead{max-width:520px;font-size:18px;color:var(--muted)}
.hero-art img{width:min(100%,460px);margin-left:auto;box-shadow:0 40px 80px -30px rgba(60,45,30,.35)}

/* intro */
.intro{text-align:center;max-width:860px;margin:0 auto}
.intro p:last-child{font-size:18px;color:var(--muted)}

/* rooms */
.rooms{background:var(--silk);text-align:center}
.room-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left}
.photo,.map{display:grid;place-items:center;background:linear-gradient(135deg,var(--greige),var(--silk));color:rgba(27,25,23,.4);font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.photo{aspect-ratio:4/5;margin-bottom:26px}
.meta{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.more{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}

/* services */
.services{max-width:1100px;margin:0 auto;text-align:center}
.services ul{list-style:none;margin-top:50px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;text-align:left}
.services li{border-top:1px solid var(--greige);padding-top:22px}
.services strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:8px}
.services span{color:var(--muted);font-size:15px}

/* location */
.location{background:var(--silk);text-align:center}
.location>p:not(.eyebrow){max-width:600px;margin:0 auto;color:var(--muted)}
.map{margin:50px auto 0;max-width:1100px;height:380px}

/* cta */
.cta{text-align:center;background:var(--ink);color:var(--ivory)}
.cta .eyebrow{color:var(--greige)}
.cta>p:not(.eyebrow){max-width:520px;margin:0 auto;color:var(--greige)}
.contact-links{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;font-family:var(--serif);font-size:24px}
.contact-links a{border-bottom:1px solid rgba(244,239,233,.3);padding-bottom:2px}

footer{text-align:center;padding:50px 5vw;background:var(--ivory)}
footer .foot-logo{width:150px;height:auto;margin:0 auto 18px}
footer p{color:var(--muted);font-size:13px;letter-spacing:.12em}
footer .small{margin-top:6px;font-size:11px}

@media(max-width:900px){
  .nav nav{display:none}
  .hero{grid-template-columns:1fr;padding-top:110px;text-align:center}
  .lead{margin:0 auto}
  .hero-art img{margin:20px auto 0;width:min(86%,380px);aspect-ratio:4/5;object-fit:cover;object-position:50% 47%}
  .room-grid{grid-template-columns:1fr}
  .services ul{grid-template-columns:1fr 1fr}
  section{padding:80px 6vw}
}
@media(max-width:520px){.services ul{grid-template-columns:1fr}}
