:root{
  --green:#0b2a20;
  --green-2:#163b2d;
  --green-3:#214b3a;
  --cream:#f7f1e5;
  --cream-2:#ece0ca;
  --cream-3:#dfcfad;
  --gold:#b38d43;
  --gold-dark:#896929;
  --red:#963a28;
  --red-dark:#762719;
  --ink:#17231c;
  --muted:#58645d;
  --line:#cdbb96;
  --white:#fffdf8;
  --shadow:0 20px 58px rgba(7,31,24,.16);
  --shadow-soft:0 10px 30px rgba(7,31,24,.10);
  --header-height:88px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
svg{display:block}
[hidden]{display:none!important}

.skip-link{position:fixed;left:16px;top:-70px;z-index:1000;padding:12px 18px;background:#fff;color:var(--green);border:2px solid var(--gold);font-weight:700;transition:top .2s}
.skip-link:focus{top:16px}

:focus-visible{outline:3px solid #d8aa48;outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{
  position:fixed;inset:0 0 auto;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  min-height:var(--header-height);padding:8px clamp(20px,5vw,76px);
  background:linear-gradient(180deg,rgba(5,29,21,.94),rgba(5,29,21,.76));
  color:#fff;border-bottom:1px solid rgba(181,147,78,.55);
  backdrop-filter:blur(10px);transition:background .25s,box-shadow .25s,min-height .25s
}
.site-header.scrolled{background:rgba(5,29,21,.98);box-shadow:0 8px 30px rgba(0,0,0,.19);min-height:76px}
.brand{display:flex;align-items:center;min-width:80px}
.brand img{width:auto;height:78px;max-width:205px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));transition:height .25s}
.site-header.scrolled .brand img{height:66px}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,34px)}
.site-nav>a:not(.button){position:relative;padding:12px 0;color:#f9f2e5;font-size:14px;font-weight:600;letter-spacing:.035em}
.site-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--gold);transition:right .2s}
.site-nav>a:not(.button):hover::after,.site-nav>a:not(.button):focus-visible::after{right:0}
.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:1px solid rgba(255,255,255,.28);background:transparent;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;margin:5px auto;background:#fff;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;
  border:1px solid #cba65a;border-radius:2px;background:var(--red);color:#fff;
  text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:12px;cursor:pointer;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.07);transition:transform .2s,background .2s,box-shadow .2s
}
.button:hover{transform:translateY(-2px);background:var(--red-dark);box-shadow:0 8px 18px rgba(80,24,15,.2)}
.button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
.button-small{min-height:40px;padding:10px 17px}
.text-link{display:inline-flex;align-items:center;gap:7px;color:#fff;border-bottom:1px solid rgba(255,255,255,.55);padding:7px 0 3px;font-weight:600}
.text-link:hover{border-color:var(--gold);color:#fff2d7}
.inline-link{display:inline-flex;gap:7px;margin-top:8px;color:var(--green);border-bottom:1px solid var(--gold);font-weight:700}

.hero{min-height:720px;position:relative;display:grid;place-items:center start;overflow:hidden;background:var(--green)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,18,13,.94) 0%,rgba(2,18,13,.75) 34%,rgba(2,18,13,.30) 64%,rgba(2,18,13,.10) 100%)}
.hero-overlay::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 30%,rgba(0,0,0,.14))}
.hero-content{position:relative;z-index:1;width:min(670px,90vw);margin-left:clamp(24px,8vw,132px);padding:calc(var(--header-height) + 70px) 0 75px;color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;line-height:1.5;font-weight:800;color:var(--gold-dark);margin:0 0 12px}
.hero h1{font:600 clamp(65px,8.8vw,112px)/.83 "Cormorant Garamond",serif;letter-spacing:-.035em;margin:0 0 27px;max-width:600px}
.hero h1 span{display:block;color:#fff4da}
.hero-lede{max-width:610px;margin:0;font-size:19px;line-height:1.68;color:#fffaf1;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.hero-facts{display:flex;flex-wrap:wrap;gap:7px 11px;max-width:640px;margin:20px 0 0;font-size:14px;font-weight:700;letter-spacing:.02em;color:#f0dfba}
.hero-facts span{color:var(--gold)}
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1440px;margin:0 auto;border-bottom:1px solid var(--line);background:#f9f4e9}
.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:14px;min-height:108px;padding:21px 24px;border-right:1px solid #ded0b4;color:#48564e;font-size:14px;line-height:1.45}
.trust-strip>div:last-child{border-right:0}
.trust-strip svg{width:29px;height:29px;flex:0 0 29px;fill:none;stroke:var(--green);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.trust-strip strong{display:block;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.1}

.section{padding:96px clamp(22px,6vw,96px)}
.section-heading{text-align:center;max-width:770px;margin:0 auto 44px}
.section-heading h2,.intro h2,.location h2,.booking h2,.faq h2{font:700 clamp(40px,5vw,60px)/.98 "Cormorant Garamond",serif;letter-spacing:-.025em;margin:0 0 19px;color:var(--green)}
.section-heading>p:last-child{margin:0 auto;color:var(--muted);font-size:17px}

.intro{display:grid;grid-template-columns:minmax(160px,205px) minmax(0,1fr);gap:48px;align-items:center;max-width:1190px;margin:auto}
.intro-mark{display:flex;justify-content:center}
.intro-mark img{width:min(178px,100%);height:auto;object-fit:contain}
.intro-copy{max-width:830px}
.intro-copy p:not(.eyebrow){font-size:18px;margin:0 0 15px;color:#334139}
.intro-copy p:first-of-type:not(.eyebrow){font-size:19px;color:var(--ink)}

.property-facts-wrap{padding-top:0;padding-bottom:80px}
.property-facts{display:grid;grid-template-columns:repeat(6,1fr);max-width:1260px;margin:auto;border:1px solid #c9b58d;background:#c9b58d;gap:1px;box-shadow:var(--shadow-soft)}
.fact{display:grid;align-content:center;min-height:116px;padding:20px 10px;text-align:center;background:#fbf6ec}
.fact strong{display:block;font:700 clamp(25px,2.3vw,34px)/1 "Cormorant Garamond",serif;color:var(--green)}
.fact span{margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#657068}
.drive-time-note{margin:16px auto 0;text-align:center;font-size:14px;color:#5e6861}

.sleeping{background:#fbf7ee}
.bedroom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1240px;margin:auto}
.bedroom-grid article{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:176px;padding:26px 18px;border:1px solid #cfbea0;background:#fff;text-align:center;transition:transform .2s,box-shadow .2s,border-color .2s}
.bedroom-grid article:hover{transform:translateY(-3px);border-color:#ad915d;box-shadow:var(--shadow-soft)}
.room-number{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#727a74}
.room-badge{position:absolute;top:10px;right:10px;padding:4px 8px;background:#e7dcc4;color:var(--green);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.bedroom-grid h3{font:700 24px/1.1 "Cormorant Garamond",serif;color:var(--green);margin:10px 0 5px}
.bedroom-grid p{margin:0;color:#556159;font-size:15px}
.access-note{display:flex;align-items:flex-start;gap:12px;max-width:850px;margin:26px auto 0;padding:15px 18px;border-left:3px solid var(--gold);background:#f1e7d4;color:#536059}
.access-note svg{width:21px;height:21px;flex:0 0 21px;margin-top:2px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round}
.access-note p{margin:0;font-size:15px}

.amenities{background:#efe3cf}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1210px;margin:auto}
.amenity-grid article{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:27px 25px;background:rgba(255,255,255,.6);border:1px solid #cdbb96;text-align:center;transition:transform .2s,background .2s,box-shadow .2s}
.amenity-grid article:hover{transform:translateY(-3px);background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft)}
.amenity-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:15px;border:1px solid #b99c65;border-radius:50%}
.amenity-icon svg{width:29px;height:29px;fill:none;stroke:var(--green);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.amenity-grid h3{font:700 25px/1.05 "Cormorant Garamond",serif;color:var(--green);margin:4px 0 9px}
.amenity-grid p{margin:0;max-width:285px;color:#46554c;font-size:15px}

.gallery-section{background:#fbf8f0}
.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:-13px auto 30px}
.gallery-filter{min-height:42px;padding:9px 15px;border:1px solid #ad9c78;background:transparent;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.035em;cursor:pointer;transition:background .2s,color .2s}
.gallery-filter:hover,.gallery-filter.active{background:var(--green);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(2,230px);grid-auto-rows:220px;gap:12px;max-width:1240px;margin:auto}
.gallery-card{position:relative;min-height:220px;padding:0;border:0;overflow:hidden;cursor:pointer;background:#d9d2c6;box-shadow:0 4px 18px rgba(7,31,24,.10)}
.gallery-card:nth-child(1){grid-column:span 6;grid-row:span 2}
.gallery-card:nth-child(n+2):nth-child(-n+5){grid-column:span 2}
.gallery-card:nth-child(n+6){grid-column:span 2}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .3s}
.gallery-card::after{content:"";position:absolute;inset:43% 0 0;background:linear-gradient(transparent,rgba(3,23,16,.82));pointer-events:none}
.gallery-card:hover img{transform:scale(1.045);filter:saturate(1.06)}
.gallery-meta{position:absolute;z-index:1;left:16px;right:16px;bottom:14px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#fff;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.75)}
.gallery-meta strong{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f4d99b}
.gallery-meta small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}
.gallery-empty{grid-column:1/-1;padding:50px;border:1px dashed #b9a884;text-align:center;color:var(--muted)}
.gallery-more{display:flex;margin:30px auto 0}

.verified-reviews{background:#f1e6d3}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1160px;margin:auto}
.review-card{margin:0;padding:28px;border:1px solid #c5ad7e;background:#fff;box-shadow:var(--shadow-soft)}
.review-stars{color:#a67922;letter-spacing:.12em;font-size:15px}
.review-card blockquote{margin:12px 0 18px;font:600 23px/1.35 "Cormorant Garamond",serif;color:var(--green)}
.review-card footer{font-size:12px;color:var(--muted)}
.review-card footer strong{color:var(--ink)}

.location{display:grid;grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr);gap:66px;align-items:center;background:#e6d7b9}
.location-copy{max-width:680px}
.location-copy>p:not(.eyebrow){font-size:18px}
.experience-list{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.experience-list span{padding:9px 12px;border:1px solid #a88a52;background:rgba(255,255,255,.42);font-size:13px;font-weight:700}
.location-note{padding:15px 17px;border-left:3px solid var(--red);background:rgba(255,255,255,.4);font-size:14px!important;color:#3e4b43}
.location-map img{width:100%;border:8px solid rgba(255,255,255,.52);box-shadow:var(--shadow)}
.travel-details{margin-top:23px;border-top:1px solid #bba170;border-bottom:1px solid #bba170}
.travel-details summary{padding:14px 0;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:700;cursor:pointer}
.travel-details div{padding:0 0 13px}
.travel-details p{font-size:14px!important;margin:0 0 8px}

.policies{background:var(--green);color:#fff}
.light h2{color:#fff}
.light>p:last-child{color:#d9d5ca}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1160px;margin:auto}
.policy-grid article{padding:27px;border:1px solid rgba(181,147,78,.58);background:rgba(255,255,255,.035)}
.policy-grid h3{font:700 25px/1.05 "Cormorant Garamond",serif;color:#fff;margin:0 0 10px}
.policy-grid p{margin:0;color:#f0e9dd;font-size:15px;line-height:1.65}
.full-policies{max-width:1160px;margin:28px auto 0;border:1px solid rgba(181,147,78,.65);background:rgba(255,255,255,.035)}
.full-policies>summary{padding:17px 22px;color:#fff;font-weight:700;cursor:pointer;text-align:center;text-transform:uppercase;letter-spacing:.09em;font-size:12px}
.full-policies[open]>summary{border-bottom:1px solid rgba(181,147,78,.45)}
.policy-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:28px}
.policy-detail-grid h3{font:700 23px "Cormorant Garamond",serif;margin:0 0 8px;color:#fff}
.policy-detail-grid p{margin:0;color:#e9e3d8;font-size:15px}
.policy-document-link{text-align:center;margin:0;padding:0 25px 26px}
.policy-document-link a{border-bottom:1px solid var(--gold);color:#f5e4bd;font-weight:700}

.booking{display:grid;grid-template-columns:minmax(270px,.64fr) minmax(620px,1.36fr);gap:52px;align-items:start;background:#f7f0e3}
.booking-copy{position:sticky;top:calc(var(--header-height) + 28px)}
.booking-copy>p:not(.eyebrow){font-size:17px;color:#3d4a42}
.last-minute-disclosure{padding:14px 16px;border-left:3px solid var(--gold);background:#eee2cd;font-size:14px!important}
.booking-steps{display:flex;flex-wrap:wrap;gap:9px 15px;margin:27px 0 0;padding:0;list-style:none}
.booking-steps li{display:flex;align-items:center;gap:6px;color:#6b756f;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.booking-steps span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #a9997b;border-radius:50%;font-size:10px}
.booking-steps li.active{color:var(--green)}
.booking-steps li.active span{background:var(--green);color:#fff;border-color:var(--green)}
.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:12px}
.calendar-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{display:inline-block;width:14px;height:14px;border:1px solid #9b927f;border-radius:2px}
.legend-dot.available{background:#fff}
.legend-dot.selected{background:var(--green);border-color:var(--green);position:relative}
.legend-dot.selected::after{content:"✓";position:absolute;inset:-4px 0 0 2px;color:#fff;font-size:11px}
.legend-dot.unavailable{background:#ddd7ca;border-color:#c6c0b5;position:relative}
.legend-dot.unavailable::after{content:"";position:absolute;left:1px;right:1px;top:6px;height:1px;background:#8f887d;transform:rotate(-35deg)}

.booking-calendar-shell{background:#fff;border:1px solid #cdbb96;box-shadow:var(--shadow);overflow:hidden}
.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #e2d6bd;background:#fbf7ed;text-align:center}
.calendar-title{margin:0;font:700 27px "Cormorant Garamond",serif;color:var(--green)}
.calendar-instruction{margin:3px 0 0;font-size:14px;color:#56625b}
.calendar-nav{width:42px;height:42px;border:1px solid #b9a67e;background:#fff;color:var(--green);font-size:30px;line-height:1;cursor:pointer}
.calendar-nav:hover{background:#f1eadc}
.calendar-nav:disabled{opacity:.35;cursor:not-allowed}
.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.calendar-month{padding:22px}
.calendar-month+.calendar-month{border-left:1px solid #e2d6bd}
.month-name{text-align:center;font:700 28px "Cormorant Garamond",serif;color:var(--green);margin:0 0 15px}
.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.weekday-row span{text-align:center;font-size:9px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#7b817c;padding:4px}
.day{aspect-ratio:1;border:1px solid transparent;background:#fff;color:#243128;display:grid;place-items:center;position:relative;cursor:pointer;border-radius:2px;font-weight:700;min-width:39px;font-size:14px;transition:background .15s,border-color .15s}
.day:hover:not(:disabled){z-index:2;border-color:var(--gold);background:#faf5e9}
.day.other-month{visibility:hidden}
.day.unavailable,.day:disabled{background:#e5e1d9;color:#969087;cursor:not-allowed;text-decoration:line-through}
.day.unavailable::after{content:"";position:absolute;left:18%;right:18%;top:50%;height:1px;background:#9a948b;transform:rotate(-36deg)}
.day.past{background:#f1eee8;color:#bdb7ae;cursor:not-allowed}
.day.past::after{display:none}
.day.selected-start,.day.selected-end{background:var(--green);color:#fff;border-color:var(--green)}
.day.selected-start::before,.day.selected-end::before{content:"✓";position:absolute;top:1px;left:3px;font-size:8px;color:#e9d6a8}
.day.in-range{background:#dce8df;color:var(--green);border-top-color:#c3d3c7;border-bottom-color:#c3d3c7}
.day.today{box-shadow:inset 0 0 0 2px var(--red)}
.day-rate{position:absolute;bottom:1px;right:2px;font-size:7px;font-weight:500;color:#8d8067}
.day.selected-start .day-rate,.day.selected-end .day-rate{color:#e5d6ae}
.day.unavailable .day-rate,.day.past .day-rate{display:none}

.stay-summary{display:grid;grid-template-columns:1.2fr .52fr;gap:15px;padding:22px 24px;background:#fbf7ed;border-top:1px solid #e2d6bd}
.stay-dates{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.stay-dates div{padding:11px 13px;border:1px solid #d7c9aa;background:#fff}
.stay-dates span,.guest-selector{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#6c746f}
.stay-dates strong{display:block;margin-top:4px;color:var(--green);font-size:15px}
.guest-selector select{width:100%;margin-top:7px;padding:11px;border:1px solid #d7c9aa;background:#fff;color:var(--green);font-weight:700}
.quote-panel{grid-column:1/-1;display:grid;gap:8px;padding:17px;background:#f1e7d4;border:1px solid #d3c09a}
.quote-panel[hidden]{display:none}
.quote-panel>div{display:flex;justify-content:space-between;gap:20px;font-size:13px}
.quote-panel strong{color:var(--green)}
.quote-total{padding-top:10px;border-top:1px solid #cdbb96;font-size:18px!important;color:var(--green)}
.quote-note{margin:4px 0 0;padding-top:8px;border-top:1px dashed #cbb994;color:#5f6963;font-size:11px}
.booking-continue{grid-column:1/-1;width:100%}
.form-message{grid-column:1/-1;margin:0;min-height:22px;font-weight:700;color:var(--green);font-size:13px}
.form-message.error{color:#942e22}
.secure-note{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#677169;font-size:11px;text-align:center}
.secure-note svg{width:15px;height:15px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.faq{background:#fbf7ee}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1030px;margin:auto}
.faq-list details{border:1px solid #cfbea0;background:#fff}
.faq-list summary{padding:17px 19px;color:var(--green);font-weight:700;cursor:pointer}
.faq-list p{margin:0;padding:0 22px 21px;color:#46544c;font-size:16px}

.site-footer{background:#061f17;color:#fff}
.footer-main{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.65fr));gap:46px;padding:58px clamp(22px,6vw,90px) 45px}
.footer-brand{display:block}
.footer-brand img{width:auto;height:92px;max-width:240px;object-fit:contain;margin-bottom:15px}
.footer-brand p{max-width:380px;margin:0;color:#d5d6cb;font-size:15px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.footer-column h2{margin:0 0 8px;font:700 21px "Cormorant Garamond",serif;color:#f2dfb7}
.footer-column a{color:#e0dfd6;font-size:14px}
.footer-column a:hover{color:var(--gold)}
.footer-column p{margin:0;color:#c8cec7;font-size:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:20px clamp(22px,6vw,90px);border-top:1px solid rgba(181,147,78,.35);color:#c2c8c1;font-size:13px}
.footer-bottom p{margin:0}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom a:hover{color:#fff}
.admin-link{opacity:.65}

.mobile-booking-bar{display:none;position:fixed;z-index:90;left:14px;right:14px;bottom:13px;min-height:50px;padding:14px 20px;border:1px solid #d0ac60;background:var(--red);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .25s,opacity .25s}
.mobile-booking-bar.hidden{transform:translateY(90px);opacity:0;pointer-events:none}

.reserve-dialog{width:min(690px,94vw);max-height:92vh;border:0;padding:0;background:#faf5e9;box-shadow:0 30px 90px rgba(0,0,0,.4);overflow:auto}
.reserve-dialog::backdrop{background:rgba(3,20,14,.82);backdrop-filter:blur(3px)}
.reserve-dialog-body{padding:40px}
.reserve-dialog h2{font:700 45px/1 "Cormorant Garamond",serif;color:var(--green);margin:0 0 20px}
.dialog-close{position:absolute;z-index:2;top:10px;right:14px;width:40px;height:40px;border:0;background:transparent;color:var(--green);font-size:32px;cursor:pointer}
.reserve-stay-summary{padding:17px 18px;margin-bottom:18px;background:#e9dfcb;border:1px solid #cfbd97;color:#39463f}
.reserve-stay-summary strong{color:var(--green)}
.reserve-price-list{display:grid;gap:4px;margin-top:8px;font-size:12px}
.reserve-price-list div{display:flex;justify-content:space-between;gap:20px}
.reserve-price-list .total{margin-top:5px;padding-top:6px;border-top:1px solid #bda982;font-weight:700;color:var(--green)}
.dialog-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:0 0 22px;padding:0;list-style:none}
.dialog-steps li{padding:7px 4px;border-bottom:3px solid #c8c2b7;color:#777f79;text-align:center;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.08em}
.dialog-steps .complete{border-color:#819a88;color:var(--green)}
.dialog-steps .active{border-color:var(--gold);color:var(--green)}
#reserve-form{display:grid;gap:18px}
#reserve-form fieldset{margin:0;padding:0;border:0}
#reserve-form legend{width:100%;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #d4c4a5;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:700}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#58625c}
.form-grid .form-wide{grid-column:1/-1}
#reserve-form input[type="text"],#reserve-form input[type="email"],#reserve-form input[type="tel"],#reserve-form textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #cbbd9e;background:#fff;color:var(--ink)}
#reserve-form textarea{resize:vertical}
.optional{font-weight:400;letter-spacing:0;text-transform:none;color:#7b827e}
.agreement-fieldset{display:grid;gap:10px}
.check-label{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid #d1c1a1;background:#fff;color:#48534c;font-size:12px;cursor:pointer}
.check-label input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--green)}
.check-label a{color:var(--green);font-weight:700;border-bottom:1px solid var(--gold)}
#reserve-form>.button{width:100%}
.payment-note{font-size:11px;color:#717873;margin:0;text-align:center}

.lightbox{width:min(1160px,94vw);max-width:none;border:0;padding:0;background:transparent;overflow:visible}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox figure{margin:0;display:grid;justify-items:center}
.lightbox img{max-height:82vh;max-width:90vw;object-fit:contain;background:#111;box-shadow:0 20px 65px rgba(0,0,0,.55)}
.lightbox figcaption{width:min(90vw,100%);padding:12px 16px;background:#fff;color:#222;text-align:center;font-size:13px}
.lightbox-close{position:absolute;right:0;top:-46px;width:42px;height:42px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}
.lightbox-nav{position:absolute;top:45%;z-index:2;width:48px;height:58px;border:1px solid rgba(255,255,255,.55);background:rgba(5,29,21,.72);color:#fff;font-size:35px;cursor:pointer}
.lightbox-prev{left:-60px}.lightbox-next{right:-60px}
.noscript-message{margin:0;padding:15px;background:#fff2c7;color:#4b3e18;text-align:center;font-weight:700}

.legal-page{min-height:100vh;background:#f8f2e7}
.legal-header{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,70px);background:var(--green);color:#fff;border-bottom:2px solid var(--gold)}
.legal-header img{height:66px;width:auto}
.legal-header a:last-child{font-size:13px;font-weight:700;border-bottom:1px solid var(--gold)}
.legal-content{max-width:930px;margin:auto;padding:70px 24px 90px}
.legal-content h1{font:700 clamp(48px,7vw,72px)/1 "Cormorant Garamond",serif;color:var(--green);margin:0 0 18px}
.legal-content h2{font:700 31px "Cormorant Garamond",serif;color:var(--green);margin:38px 0 8px}
.legal-content p,.legal-content li{color:#445149}
.legal-content .updated{font-size:12px;color:#788078}
.legal-content a{color:var(--green);font-weight:700;border-bottom:1px solid var(--gold)}


.hero .eyebrow{color:#e8c878}.light .eyebrow{color:#d8b66e}
.button-secondary{border-color:rgba(255,255,255,.78);background:rgba(5,29,21,.38);box-shadow:none}
.button-secondary:hover{background:rgba(5,29,21,.82);border-color:#fff}
.hero-overlay{background:linear-gradient(90deg,rgba(2,18,13,.96) 0%,rgba(2,18,13,.79) 35%,rgba(2,18,13,.34) 65%,rgba(2,18,13,.10) 100%)}
.main-floor-room{border:2px solid #aa8744!important;background:#fffcf5!important;box-shadow:inset 0 4px 0 #b38d43}
.bed-icon{display:grid;place-items:center;width:42px;height:42px;margin-top:13px;border-radius:50%;background:#f0e5d1;color:var(--green)}
.bed-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.amenity-grid article:nth-child(-n+3){min-height:235px;background:rgba(255,255,255,.83);border-top:4px solid var(--gold);box-shadow:var(--shadow-soft)}
.location.section{padding-block:78px}
.location-map{position:relative;max-width:650px;margin:0;overflow:hidden;border:8px solid rgba(255,255,255,.58);background:#d8c8a8;box-shadow:var(--shadow)}
.location-map img{position:relative;z-index:1;width:100%;height:auto;border:0;box-shadow:none}
.location-map figcaption{position:relative;z-index:2;padding:12px 16px;background:#f7f0e3;color:#435048;text-align:center;font-size:13px;font-weight:600}
.map-placeholder{position:absolute;z-index:0;inset:0 0 41px;display:grid;place-content:center;text-align:center;color:var(--green);background:radial-gradient(circle at center,#efe2c8,#d6c29d)}
.map-placeholder span{font:700 40px "Cormorant Garamond",serif}.map-placeholder small{font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.location-map.is-error img{display:none}
.policy-intro{max-width:1160px;margin:-18px auto 24px;text-align:center;color:#efe5d3;font-size:15px}
.full-policies>summary{display:flex;align-items:center;justify-content:center;min-height:50px;background:rgba(181,147,78,.10);font-size:13px}
.full-policies>summary:hover{background:rgba(181,147,78,.19)}
.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}
.booking-steps li{justify-content:flex-start;padding:9px 10px;border:1px solid #cfbea0;background:#fbf7ee;font-size:10px}
.booking-steps li.complete{color:var(--green);border-color:#8ca091;background:#e8efe9}
.booking-steps li.complete span{background:var(--green);color:#fff;border-color:var(--green)}
.minimum-stay-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:var(--green);color:#fff;text-align:center}
.minimum-stay-banner strong{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#f3dca9}.minimum-stay-banner span{font-size:14px;color:#f5f1e8}
.quote-due{margin-top:2px;padding:10px 0 0;border-top:1px dashed #bba77e;color:var(--green);font-size:15px!important}
.quote-due strong{font-size:18px}
.day.in-range{border-radius:0;box-shadow:3px 0 0 #dce8df,-3px 0 0 #dce8df}
.faq-list{grid-template-columns:1fr;max-width:920px;gap:10px}
.faq-list details{transition:border-color .2s,box-shadow .2s}
.faq-list details:hover{border-color:#a98c55;box-shadow:0 5px 18px rgba(7,31,24,.07)}
.faq-list summary{position:relative;padding:20px 58px 20px 22px;font-size:16px;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:1px solid #bba77d;border-radius:50%;font-size:21px;font-weight:500}
.faq-list details[open] summary::after{content:"−"}
.footer-brand img{height:108px;max-width:270px}
.footer-trust{margin:0;padding:15px clamp(22px,6vw,90px);border-top:1px solid rgba(181,147,78,.22);color:#f0dfb8;text-align:center;font-size:13px;font-weight:700;letter-spacing:.035em}

@media(max-width:1120px){
  .site-nav{gap:18px}.site-nav>a:not(.button){font-size:12px}
  .property-facts{grid-template-columns:repeat(3,1fr)}
  .bedroom-grid{grid-template-columns:repeat(3,1fr)}
  .booking{grid-template-columns:1fr}.booking-copy{position:static;max-width:780px}
  .policy-detail-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1.3fr repeat(2,.7fr)}
  .footer-contact{grid-column:2/4}
}

@media(max-width:900px){
  :root{--header-height:76px}
  .site-header{min-height:var(--header-height);padding:7px 20px;background:rgba(5,29,21,.97)}
  .brand img,.site-header.scrolled .brand img{height:61px;max-width:160px}
  .menu-toggle{display:block}
  .site-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 22px;background:#061f17;border-bottom:2px solid var(--gold);box-shadow:0 15px 30px rgba(0,0,0,.25)}
  .site-nav.open{display:flex}
  .site-nav>a:not(.button){padding:13px 6px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}
  .site-nav>a:not(.button)::after{display:none}
  .site-nav .button{margin-top:13px}
  .hero{min-height:660px}
  .hero-content{margin-left:clamp(22px,6vw,60px);padding-top:calc(var(--header-height) + 65px)}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .trust-strip>div:nth-child(2){border-right:0}.trust-strip>div:nth-child(-n+2){border-bottom:1px solid #ded0b4}
  .intro,.location{grid-template-columns:1fr}
  .intro-mark{display:none}
  .location-copy{max-width:none}.location-map{max-width:680px;margin:auto}
  .amenity-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:225px}
  .gallery-card:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-card:nth-child(4){grid-column:span 1}
  .review-grid,.policy-grid{grid-template-columns:1fr 1fr}
  .calendar-months{grid-template-columns:1fr}
  .calendar-month:nth-child(2){display:none}
  .calendar-month+.calendar-month{border-left:0}
  .footer-main{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}.footer-contact{grid-column:auto}
}

@media(max-width:700px){
  .section{padding:72px 20px}
  .section-heading{margin-bottom:34px}
  .hero{min-height:650px;align-items:end}
  .hero-media{object-position:57% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(2,18,13,.91) 0%,rgba(2,18,13,.66) 62%,rgba(2,18,13,.24) 100%)}
  .hero-content{width:auto;margin:0;padding:calc(var(--header-height) + 74px) 22px 58px}
  .hero h1{font-size:68px}
  .hero-lede{font-size:16px}
  .hero-facts{font-size:12px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:12px}
  .trust-strip{grid-template-columns:1fr}
  .trust-strip>div{justify-content:flex-start;min-height:78px;border-right:0;border-bottom:1px solid #ded0b4!important;padding-left:28px}
  .trust-strip>div:last-child{border-bottom:0!important}
  .property-facts-wrap{padding-top:0}
  .property-facts{grid-template-columns:repeat(2,1fr)}
  .bedroom-grid{grid-template-columns:1fr}
  .bedroom-grid article{min-height:145px}
  .amenity-grid{grid-template-columns:1fr}
  .amenity-grid article{min-height:205px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:245px}
  .gallery-card:nth-child(1),.gallery-card:nth-child(4){grid-column:auto;grid-row:auto}
  .gallery-card .gallery-caption{display:none}
  .review-grid,.policy-grid,.policy-detail-grid{grid-template-columns:1fr}
  .booking-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
  .booking-steps li{display:grid;justify-items:center;text-align:center;font-size:8px}
  .calendar-month{padding:15px 10px}
  .day{min-width:29px}
  .stay-summary{grid-template-columns:1fr;padding:18px 14px}
  .stay-dates{grid-template-columns:1fr 1fr}
  .faq-list{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px;padding-top:45px}
  .footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .mobile-booking-bar{display:block}
  body{padding-bottom:74px}
  .reserve-dialog-body{padding:34px 22px}
  .form-grid{grid-template-columns:1fr}.form-grid .form-wide{grid-column:auto}
  .lightbox-nav{top:auto;bottom:-54px;width:52px;height:42px}
  .lightbox-prev{left:25%}.lightbox-next{right:25%}
}

@media(max-width:430px){
  .brand img,.site-header.scrolled .brand img{height:56px;max-width:145px}
  .hero h1{font-size:59px}
  .property-facts{grid-template-columns:1fr 1fr}
  .fact{min-height:100px}.fact strong{font-size:26px}
  .stay-dates{grid-template-columns:1fr}
  .calendar-toolbar{padding:16px 12px}
  .calendar-nav{width:38px;height:38px}
  .calendar-month{padding:12px 5px}
  .weekday-row,.calendar-grid{gap:2px}
  .day{min-width:27px;font-size:12px}
  .day-rate{display:none}
  .footer-main{grid-template-columns:1fr}
  .footer-brand,.footer-contact{grid-column:auto}
  .dialog-steps li{font-size:7px}
}


@media(max-width:1120px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,230px);grid-auto-rows:230px}
  .gallery-card:nth-child(1){grid-column:span 2;grid-row:span 2}
  .gallery-card:nth-child(n+2){grid-column:span 1;grid-row:span 1}
}
@media(max-width:900px){
  .location.section{padding-block:70px}.location-map{margin:auto}
  .booking-steps li{justify-content:center}
}
@media(max-width:700px){
  .hero-actions{width:100%}.hero-actions .button{width:min(100%,300px)}
  .amenity-grid article:nth-child(-n+3){min-height:220px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:260px}
  .gallery-card:nth-child(n){grid-column:auto;grid-row:auto}
  .gallery-meta small{display:block;font-size:13px}
  .minimum-stay-banner{align-items:flex-start;flex-direction:column;gap:2px;text-align:left}
  .booking-steps{grid-template-columns:repeat(3,1fr);gap:5px}.booking-steps li{flex-direction:column;justify-content:center;gap:5px;padding:8px 4px;text-align:center;font-size:8px}
  .faq-list summary{font-size:15px;padding-left:18px}
  .footer-trust{text-align:left;font-size:12px}
}
@media(max-width:430px){
  .hero-lede{font-size:16px}.hero-facts{font-size:12px}
  .day{min-width:29px;font-size:12px}
  .location-map figcaption{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
