:root {
  --cream: #f3eee3;
  --paper: #fbf8f2;
  --ink: #252823;
  --muted: #67685e;
  --forest: #283d32;
  --rust: #914b35;
  --rust-dark: #703724;
  --line: rgba(37,40,35,.16);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
a { color: inherit; }
img { display: block; max-width: 100%; }

.site-header {
  height: 88px;
  padding: 0 max(28px, calc((100vw - var(--max)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}
.brand { text-decoration: none; text-transform: uppercase; letter-spacing: .08em; line-height: 1; }
.brand-name { display:block; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 700; letter-spacing: .11em; }
.brand-sub { display:block; margin-top: 6px; color: var(--rust); font-size: .67rem; font-weight: 700; letter-spacing: .25em; }
.nav { display:flex; gap: 30px; }
.nav a { text-decoration: none; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; color: #3e403a; }
.nav a:hover { color: var(--rust); }

.hero { position: relative; min-height: 650px; display:flex; align-items:flex-end; overflow:hidden; background:#1e211d; }
.hero-image { position:absolute; inset:0; background:url("assets/5header.jpg") center 55%/cover no-repeat; transform:scale(1.035); filter:saturate(.95) contrast(1.03); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(15,17,14,.78) 0%, rgba(15,17,14,.48) 48%, rgba(15,17,14,.12) 78%), linear-gradient(0deg, rgba(15,17,14,.52) 0%, transparent 46%); }
.hero-content { position:relative; z-index:2; width:min(var(--max), calc(100% - 56px)); margin:0 auto; padding: 110px 0 80px; color:white; }
.eyebrow, .section-kicker { margin:0 0 18px; font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.hero .eyebrow { color:#eadfcf; }
.hero h1 { margin:0; font-family: Georgia, "Times New Roman", serif; font-size:clamp(4.2rem, 8vw, 7.5rem); font-weight:400; line-height:.88; letter-spacing:-.045em; }
.hero-copy { max-width:590px; margin:32px 0 34px; font-size:1.18rem; color:rgba(255,255,255,.9); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:2px; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:800; }
.button-light { background:var(--cream); color:var(--ink); }
.button-light:hover { background:white; }

.section { width:min(var(--max), calc(100% - 56px)); margin:0 auto; padding:110px 0; }
.section-kicker { color:var(--rust); }
h2 { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.6rem, 5vw, 4.7rem); font-weight:400; line-height:1.02; letter-spacing:-.035em; }
.intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.heritage-copy { font-size:1.07rem; }
.heritage-copy > p:first-child { margin-top:4px; }
blockquote { margin:38px 0 10px; padding-left:28px; border-left:3px solid var(--rust); font-family:Georgia, "Times New Roman", serif; font-size:1.5rem; line-height:1.45; color:#383a34; }
.source-note { margin:0; color:var(--muted); font-size:.85rem; font-style:italic; }

.photo-band { display:grid; grid-template-columns:1.15fr .85fr 1fr; gap:3px; background:var(--forest); }
.photo-band figure { margin:0; aspect-ratio: 16/8.8; overflow:hidden; }
.photo-band img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.photo-band figure:hover img { transform:scale(1.025); }

.amenities { padding-top:120px; }
.section-heading { display:grid; grid-template-columns:1.6fr .65fr; gap:70px; padding-bottom:54px; border-bottom:1px solid var(--line); }
.section-heading > p { align-self:end; margin:0 0 8px; color:var(--muted); font-size:1.02rem; }
.amenity-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.amenity-grid article { min-height:235px; padding:36px 34px 42px 0; border-bottom:1px solid var(--line); }
.amenity-grid article:nth-child(3n+2), .amenity-grid article:nth-child(3n+3) { padding-left:34px; border-left:1px solid var(--line); }
.amenity-grid h3 { margin:0 0 14px; font-family:Georgia, "Times New Roman", serif; font-size:1.45rem; font-weight:400; }
.amenity-grid p { margin:0; color:var(--muted); font-size:.96rem; }

.seasonal { background:var(--forest); color:white; padding:110px 28px; }
.seasonal-panel { width:min(var(--max),100%); margin:0 auto; display:grid; grid-template-columns:1.4fr .65fr; gap:90px; align-items:center; }
.seasonal .section-kicker { color:#dca48e; }
.seasonal h2 { max-width:750px; }
.seasonal-copy > p:not(.section-kicker) { max-width:680px; color:rgba(255,255,255,.76); font-size:1.04rem; }
.rate-card { background:var(--cream); color:var(--ink); padding:42px; border-top:6px solid var(--rust); }
.rate-label { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:800; color:var(--rust-dark); }
.rate { display:block; margin:12px 0 8px; font-family:Georgia, "Times New Roman", serif; font-size:4.15rem; font-weight:400; letter-spacing:-.05em; }
.rate-detail { display:block; font-weight:700; line-height:1.5; }
.rate-note { display:block; margin-top:20px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }

.heritage { display:grid; grid-template-columns:260px 1fr; gap:80px; align-items:center; }
.heritage-mark { width:240px; height:240px; display:flex; align-items:center; justify-content:center; background:var(--cream); border-radius:50%; }
.heritage-mark img { width:145px; mix-blend-mode:multiply; }
.heritage > div:last-child p:last-child { max-width:760px; color:var(--muted); font-size:1rem; }

.contact { background:var(--cream); border-top:1px solid var(--line); }
.contact-inner { width:min(var(--max), calc(100% - 56px)); margin:0 auto; padding:100px 0; display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.contact address { margin-top:26px; font-style:normal; color:var(--muted); font-size:1.08rem; }
.contact-actions { display:flex; flex-direction:column; align-items:stretch; justify-content:center; }
.contact-link { display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); text-decoration:none; font-family:Georgia, "Times New Roman", serif; font-size:1.6rem; }
.contact-link span { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:var(--rust); }
.button-dark { margin-top:28px; align-self:flex-start; background:var(--ink); color:white; }

.footer { min-height:110px; padding:28px max(28px, calc((100vw - var(--max)) / 2)); display:flex; align-items:center; justify-content:space-between; background:#20231f; color:white; }
.footer strong, .footer span { display:block; }
.footer strong { font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:1.08rem; }
.footer span { margin-top:4px; color:rgba(255,255,255,.55); font-size:.75rem; }
.footer a { color:white; text-decoration:none; font-size:.78rem; font-weight:700; }

@media (max-width: 900px) {
  .site-header { height:76px; padding:0 22px; }
  .nav { display:none; }
  .hero { min-height:590px; }
  .hero-image { background-position:58% center; }
  .hero-content { width:calc(100% - 44px); padding:90px 0 55px; }
  .hero h1 { font-size:clamp(3.7rem, 16vw, 6rem); }
  .section { width:calc(100% - 44px); padding:80px 0; }
  .intro-grid, .section-heading, .seasonal-panel, .heritage, .contact-inner { grid-template-columns:1fr; gap:42px; }
  .photo-band { grid-template-columns:1fr; gap:2px; }
  .photo-band figure { aspect-ratio:16/8; }
  .photo-band figure:nth-child(2) { display:none; }
  .amenity-grid { grid-template-columns:1fr 1fr; }
  .amenity-grid article { padding:30px 25px 34px 0; }
  .amenity-grid article:nth-child(3n+2), .amenity-grid article:nth-child(3n+3) { padding-left:0; border-left:0; }
  .amenity-grid article:nth-child(even) { padding-left:25px; border-left:1px solid var(--line); }
  .seasonal { padding:80px 22px; }
  .rate-card { max-width:520px; }
  .heritage-mark { width:190px; height:190px; }
  .heritage-mark img { width:116px; }
  .contact-inner { width:calc(100% - 44px); padding:80px 0; }
}

@media (max-width: 560px) {
  .brand-name { font-size:1.08rem; }
  .hero { min-height:570px; }
  .hero-copy { font-size:1.02rem; }
  .intro-grid { gap:30px; }
  blockquote { font-size:1.28rem; margin-top:30px; }
  .amenity-grid { grid-template-columns:1fr; }
  .amenity-grid article, .amenity-grid article:nth-child(even) { padding:27px 0 30px; border-left:0; }
  .rate-card { padding:30px 26px; }
  .rate { font-size:3.55rem; }
  .contact-link { align-items:flex-start; flex-direction:column; gap:5px; font-size:1.45rem; }
  .footer { min-height:130px; align-items:flex-start; flex-direction:column; justify-content:center; gap:18px; }
}
