:root{--ink:#111;--paper:#f7f8f5;--white:#fff;--green:#8dc63f;--muted:#5a6258;--line:#d9ded5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{width:min(100% - 48px,1160px);margin-inline:auto}
.site-header{background:#111;color:#fff}
.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:25px;font-weight:900;text-decoration:none;white-space:nowrap}
.brand span{color:var(--green)}
.site-nav{display:flex;align-items:center;gap:25px;font-size:14px}
.site-nav a{text-decoration:none}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--green)}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 22px;background:var(--green);color:#111;font-weight:800;text-decoration:none;border:1px solid var(--green)}
.button:hover,.button:focus-visible{background:#a6d76a}
.button.ghost{background:transparent;color:#fff;border-color:#fff}
.button.ghost:hover,.button.ghost:focus-visible{background:#fff;color:#111}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#535b52;padding-block:14px}
.breadcrumbs a:hover{text-decoration:none}
.hero{position:relative;isolation:isolate;min-height:520px;height:65vh;max-height:700px;color:#fff;background:#222 center/cover no-repeat;display:flex;align-items:flex-end}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28) 70%,rgba(0,0,0,.08))}
.hero-content{padding-block:74px}
.eyebrow{font-size:14px;font-weight:800;text-transform:uppercase;color:#c6ef8c;margin:0 0 15px}
h1{font-size:54px;line-height:1.08;letter-spacing:0;max-width:780px;margin:0 0 20px}
.hero p.summary{max-width:660px;font-size:18px;margin:0 0 27px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
section{padding:72px 0;border-top:1px solid var(--line)}
h2{font-size:34px;line-height:1.2;letter-spacing:0;margin:0 0 22px}
h3{font-size:20px;line-height:1.25;letter-spacing:0;margin:0 0 10px}
p{margin:0 0 16px}
.section-intro{max-width:720px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.fact{padding:20px 18px;border-right:1px solid var(--line)}
.fact:first-child{padding-left:0}
.fact:last-child{border-right:0}
.fact small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.fact strong{font-size:17px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.clean-list{padding:0;margin:0;list-style:none}
.clean-list li{padding:15px 0;border-bottom:1px solid var(--line)}
.clean-list li:first-child{border-top:1px solid var(--line)}
.clean-list strong{display:block;margin-bottom:4px}
.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
.gallery img{height:320px;width:100%;object-fit:cover}
.gallery img:first-child{grid-row:span 2;height:654px}
.gallery.two{grid-template-columns:1fr 1fr}
.gallery.two img:first-child{grid-row:auto;height:320px}
.question{border-bottom:1px solid var(--line);padding:15px 0}
.question:first-child{border-top:1px solid var(--line)}
.question summary{font-weight:800;cursor:pointer}
.question p{margin:10px 0 0;color:var(--muted);max-width:760px}
.rates{background:#fff}
.rates .button{margin-top:12px}
.rate-table-wrap{overflow-x:auto;margin:24px 0 18px}
.rate-table{width:100%;border-collapse:collapse;text-align:left;min-width:390px}
.rate-table caption{text-align:left;font-weight:800;font-size:18px;margin-bottom:12px}
.rate-table th,.rate-table td{padding:12px 16px;border:1px solid var(--line)}
.rate-table thead{background:#e9eee5}
.rate-table tbody th{font-weight:800}
.rate-table td:last-child{font-weight:800;white-space:nowrap}
.rate-note{max-width:760px;color:var(--muted)}
.booking-band{background:var(--green);border:0}
.booking-band .split{align-items:center}
.booking-band p{max-width:620px}
.booking-band .button{background:#111;color:#fff;border-color:#111}
.booking-band .button:hover{background:#333}
.contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.contact-row a{font-weight:800}
.other-location{background:#e9eee5}
.other-location .split{align-items:center}
.other-location img{width:100%;height:280px;object-fit:cover}
.footer{background:#111;color:#e8e8e8;padding:34px 0}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer a,.footer button{color:#e8e8e8}
.footer button{border:0;background:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:800px){
  .site-nav{gap:14px}
  .site-nav .hide-small{display:none}
  .hero{min-height:410px;height:56vh}
  .hero-content{padding-block:44px}
  h1{font-size:39px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .fact:nth-child(3){padding-left:0}
  .split{grid-template-columns:1fr;gap:28px}
  .gallery img{height:250px}
  .gallery img:first-child{height:514px}
  .gallery.two img:first-child{height:250px}
}
@media(max-width:520px){
  .wrap{width:min(100% - 36px,1160px)}
  .header-inner{min-height:66px}
  .brand{font-size:21px}
  .site-nav .button{min-height:42px;padding:9px 13px;font-size:12px}
  .hero{min-height:480px;height:auto;background-position:center}
  .hero::before{background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.2) 85%)}
  .hero-content{padding-block:32px}
  .hero .eyebrow{margin-bottom:10px}
  h1{font-size:33px;overflow-wrap:break-word}
  .hero p.summary{font-size:16px;margin-bottom:20px}
  .actions .button{width:100%}
  section{padding:52px 0}
  h2{font-size:28px}
  .facts{display:block}
  .fact,.fact:first-child,.fact:nth-child(3){padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}
  .fact:last-child{border-bottom:0}
  .gallery,.gallery.two{grid-template-columns:1fr}
  .gallery img,.gallery img:first-child{height:245px;grid-row:auto}
}
