:root{
  --paper:#faf7f2; --card:#fff; --ink:#2f3630; --soft:#6d7570;
  --moss:#4a6350; --clay:#a8613f; --line:#e2ddd3;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.7}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,2.9rem)}
h2{font-size:1.6rem;color:var(--moss)}
h3{font-size:1.1rem}
p{margin:0 0 1rem}
a{color:var(--clay)}
.wrap{max-width:900px;margin:0 auto;padding:0 1.5rem}

/* header + nav — the point of this one */
.top{background:var(--moss);color:#f3f0e9}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1rem;padding-top:1.2rem;padding-bottom:1.2rem}
.mark{font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.04em;text-decoration:none;color:inherit}
.mark small{display:block;font-family:system-ui,sans-serif;font-size:.62rem;
  letter-spacing:.26em;text-transform:uppercase;opacity:.75;margin-top:.2rem}
nav{display:flex;flex-wrap:wrap;gap:1.6rem}
nav a{color:#e6e2d8;text-decoration:none;font-size:.95rem;padding-bottom:3px}
nav a:hover{color:#fff}
nav a[aria-current="page"]{color:#fff;border-bottom:2px solid var(--clay)}

.banner{background:var(--card);border-bottom:1px solid var(--line);padding:3rem 0}
.banner p{color:var(--soft);max-width:52ch;margin:0}

main{padding:3rem 0}
.cols{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:760px){.cols{grid-template-columns:1fr 1fr}}
.room{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.5rem}
.room .rate{color:var(--clay);font-weight:600;margin-top:.4rem}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--moss);border:1px solid var(--line);border-radius:99px;padding:.2rem .7rem;margin-bottom:.7rem}

dl{margin:0}
dt{font-weight:600;margin-top:1.2rem}
dd{margin:.2rem 0 0;color:var(--soft)}

.field{margin-bottom:1rem}
label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.3rem}
input,textarea,select{width:100%;padding:.7rem .8rem;font:inherit;font-size:1rem;
  border:1px solid #cfc9bd;border-radius:3px;background:#fff}
.btn{display:inline-block;background:var(--clay);color:#fff;border:0;font:inherit;font-weight:600;
  padding:.85rem 1.8rem;border-radius:3px;cursor:pointer;text-decoration:none}
.btn:hover{background:#8f5133}

.foot{border-top:1px solid var(--line);margin-top:3rem;padding:2rem 0 3rem;color:var(--soft);font-size:.94rem}

/* --- built out --- */
.hero-img{height:clamp(180px,30vw,300px);background:
  linear-gradient(160deg,#5b7a63 0%,#3f5a4a 45%,#2f4438 100%);
  position:relative;overflow:hidden}
.hero-img::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px)}
.hero-img span{position:absolute;left:1.5rem;bottom:1.1rem;color:#e9e4d8;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;z-index:2}
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:1.5rem 0}
@media(min-width:700px){.gallery{grid-template-columns:repeat(4,1fr)}}
.shot{aspect-ratio:4/3;border-radius:4px;display:grid;place-items:center;
  color:#e9e4d8;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.s1{background:linear-gradient(150deg,#6b8a72,#425c4b)}
.s2{background:linear-gradient(150deg,#a8825f,#75563a)}
.s3{background:linear-gradient(150deg,#7d8fa3,#4e5f72)}
.s4{background:linear-gradient(150deg,#8a7d92,#5c5165)}
.quote{background:#fff;border-left:4px solid var(--moss);padding:1.3rem 1.5rem;margin:1.5rem 0}
.quote p{font-style:italic;margin:0 0 .6rem}
.quote cite{font-style:normal;color:var(--soft);font-size:.9rem}
.split{display:grid;gap:2rem;grid-template-columns:1fr;align-items:start}
@media(min-width:760px){.split{grid-template-columns:1.4fr 1fr}}
.aside{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1.4rem}
.aside h3{margin-top:0;color:var(--moss)}
.aside ul{margin:0;padding-left:1.1rem;color:var(--soft)}
.aside li{margin-bottom:.4rem}
.rates{width:100%;border-collapse:collapse;margin-top:1rem}
.rates td{padding:.7rem 0;border-bottom:1px solid var(--line)}
.rates td:last-child{text-align:right;color:var(--clay);font-weight:600;white-space:nowrap}
