:root{--ink:#17201d;--cream:#f3efe7;--white:#fff;--sand:#d8c8ad;--green:#334a40;--muted:#68716c;--line:rgba(23,32,29,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fbfaf7;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(251,250,247,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{text-decoration:none;font-family:Georgia,serif;font-size:28px;font-weight:700}.brand span{font-weight:400}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.03em}.nav-contact{border:1px solid var(--ink);padding:9px 15px}.menu-button{display:none;background:none;border:1px solid var(--ink);padding:8px 12px}.hero{height:calc(100vh - 78px);min-height:650px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,14,.78) 0%,rgba(8,18,14,.35) 48%,rgba(8,18,14,.06) 74%),linear-gradient(0deg,rgba(8,18,14,.55),transparent 45%)}.hero-content{position:relative;color:#fff;padding:7vw;max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:12px;margin:0 0 16px}.hero h1,.section h2,.gallery-section h2,.contact h2{font-family:Georgia,serif;font-weight:400;line-height:.98;margin:0}.hero h1{font-size:clamp(56px,8vw,116px)}.hero-address{font-size:25px;margin:22px 0 8px}.hero-meta{display:flex;align-items:center;gap:22px;margin-bottom:28px}.hero-meta strong{font-size:30px}.hero-meta span{border-left:1px solid rgba(255,255,255,.5);padding-left:22px}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;padding:14px 22px;font-weight:700;font-size:14px;border:1px solid transparent}.button-primary{background:var(--sand);color:var(--ink)}.button-ghost{border-color:#fff;color:#fff}.button-light{border-color:#fff;color:#fff}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:-36px auto 0;position:relative;z-index:3;background:#fff;box-shadow:0 20px 50px rgba(15,25,20,.14)}.quick-facts div{padding:28px;border-right:1px solid var(--line);text-align:center}.quick-facts div:last-child{border:0}.quick-facts strong{font-family:Georgia,serif;font-size:32px;display:block}.quick-facts span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.section{padding:110px max(5vw,calc((100vw - 1180px)/2))}.section-heading{max-width:760px;margin-bottom:55px}.section-heading h2,.split-feature h2,.outdoor h2,.location h2{font-size:clamp(42px,5.8vw,76px)}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}.story-copy{font-size:18px}.story-copy .lead{font-size:25px;line-height:1.45}.story-copy h3{font-family:Georgia,serif;font-size:34px;margin-top:45px}.story-image{margin:0;position:sticky;top:115px}.story-image img{height:650px;object-fit:cover}.story-image figcaption{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:12px}.feature-band{background:var(--green);color:#fff;padding:110px max(5vw,calc((100vw - 1180px)/2))}.section-heading.light h2{font-size:clamp(44px,6vw,78px)}.feature-cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.feature-cards article{padding:34px 28px 10px 0;border-right:1px solid rgba(255,255,255,.2);margin-right:28px}.feature-cards article:last-child{border:0}.feature-cards span{font-family:Georgia,serif;font-size:20px;opacity:.6}.feature-cards h3{font-family:Georgia,serif;font-size:27px;line-height:1.15}.feature-cards p{color:rgba(255,255,255,.8)}.split-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.split-feature>img{height:600px;width:100%;object-fit:cover}.split-feature>div p:not(.eyebrow),.outdoor>div>p:not(.eyebrow),.location>div>p:not(.eyebrow){font-size:18px}.outdoor{background:var(--cream);display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.outdoor-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.outdoor-images img{width:100%;height:480px;object-fit:cover}.outdoor-images img:last-child{height:390px}.gallery-section{padding:110px 3vw;background:#fff}.centered{text-align:center;margin:0 auto 50px}.centered h2{font-size:clamp(48px,6vw,80px)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:10px;max-width:1500px;margin:auto}.gallery-item{border:0;padding:0;overflow:hidden;cursor:pointer;background:#ddd}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.03)}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.location{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.location img{height:530px;width:100%;object-fit:cover}.text-link{font-weight:700;text-underline-offset:5px}.contact{text-align:center;background:var(--ink);color:#fff;padding:110px 5vw}.contact h2{font-size:clamp(48px,7vw,88px);max-width:900px;margin:0 auto 26px}.contact>p:not(.eyebrow){font-size:19px}.contact-actions{justify-content:center;margin:30px 0 18px}.contact-email{font-size:14px}footer{padding:38px 5vw;display:flex;justify-content:space-between;gap:40px;font-size:12px}footer div{display:flex;flex-direction:column}footer p{max-width:560px;text-align:right}.lightbox{width:min(94vw,1300px);height:92vh;border:0;padding:0;background:#111;color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{max-width:90%;max-height:84%;object-fit:contain}.lightbox figcaption{padding:10px}.lightbox button{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.lightbox-close{right:14px;top:14px;font-size:34px;width:48px;height:48px}.lightbox-prev,.lightbox-next{top:48%;font-size:54px;width:56px;height:76px}.lightbox-prev{left:12px}.lightbox-next{right:12px}
@media(max-width:900px){.site-header nav{display:none;position:absolute;top:77px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu-button{display:block}.hero{min-height:610px}.hero-content{padding:8vw 6vw}.quick-facts{margin:0;grid-template-columns:repeat(2,1fr)}.story-grid,.split-feature,.outdoor,.location{grid-template-columns:1fr;gap:45px}.story-image{position:static}.story-image img,.split-feature>img,.location img{height:480px}.feature-cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.section{padding:80px 6vw}.feature-band{padding:80px 6vw}footer{flex-direction:column}footer p{text-align:left}}
@media(max-width:560px){.hero{height:78vh;min-height:560px}.hero h1{font-size:52px}.hero-meta{align-items:flex-start;flex-direction:column;gap:5px}.hero-meta span{border:0;padding:0}.quick-facts div{padding:20px 10px}.feature-cards{grid-template-columns:1fr}.feature-cards article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.outdoor-images{grid-template-columns:1fr}.outdoor-images img,.outdoor-images img:last-child{height:360px}.gallery{grid-auto-rows:170px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 1}.story-image img,.split-feature>img,.location img{height:360px}}

.hero-tagline {
  max-width: 42rem;
  margin: 0.8rem 0 0.35rem;
  font-size: clamp(0.9rem, 1.8vw, 1.1rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


/* Corrected bonus-room feature image */
.outdoor-images.single-image {
  display: block;
}
.outdoor-images.single-image img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: inherit;
}


/* Zoom-safe hero: keeps the full headline visible at enlarged browser zoom */
.hero {
  height: auto;
  min-height: calc(100svh - 78px);
  align-items: center;
  overflow: hidden;
}
.hero-content {
  width: min(92vw, 760px);
  max-width: 760px;
  padding: clamp(36px, 6vh, 76px) clamp(24px, 7vw, 110px);
}
.hero h1 {
  font-size: clamp(2.65rem, 6.6vw, 6.5rem);
  line-height: 0.93;
  max-width: 9ch;
  overflow-wrap: normal;
}
.hero h1 span {
  display: block;
  white-space: nowrap;
}
@media (max-height: 760px), (max-width: 900px) {
  .hero-content {
    padding-top: clamp(28px, 5vh, 48px);
    padding-bottom: clamp(28px, 5vh, 48px);
  }
  .hero h1 {
    font-size: clamp(2.35rem, 8vw, 4.8rem);
  }
  .hero-address { margin-top: 16px; }
  .hero-meta { margin-bottom: 18px; }
}
@media (max-width: 560px) {
  .hero {
    height: auto;
    min-height: calc(100svh - 78px);
  }
  .hero-content {
    width: 100%;
    padding-left: 7vw;
    padding-right: 7vw;
  }
  .hero h1 {
    font-size: clamp(2.2rem, 12vw, 3.55rem);
    max-width: none;
  }
}
@media (max-height: 620px) {
  .hero h1 { font-size: clamp(2rem, 8vh, 3.7rem); }
  .hero-tagline { margin-top: .45rem; }
  .hero-address { font-size: 1.15rem; margin-top: 10px; }
  .hero-meta strong { font-size: 1.35rem; }
  .button { padding: 10px 16px; }
}
