/* Hollow Pine Lodges: sample site by TFY Apps */
:root{
  --linen:#efeadf; --linen-2:#e6dfd0; --paper:#f7f4ed; --white:#fff;
  --forest:#1f2a22; --forest-2:#2c3a2f; --moss:#4f584d; --line:#d6cdbb;
  --terra:#b06f4b; --terra-btn:#a8653f; --terra-ink:#8c5032;
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px; --r-sm:14px; --gut:clamp(16px,3.4vw,40px); --max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--linen);color:var(--forest);font:400 16.5px/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .4em;letter-spacing:-.01em}
h2{font-size:clamp(32px,4.6vw,54px);font-weight:300}
h3{font-size:clamp(22px,2.3vw,27px);font-weight:400}
h2 em,h1 em,h3 em{font-style:italic;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.eyebrow{display:inline-block;font:700 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--terra-ink);margin-bottom:16px}
.lede{font-size:clamp(17px,1.5vw,19px);color:var(--moss);max-width:60ch}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;top:56px;z-index:50;background:#fff;padding:10px 14px;border-radius:10px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;
  font:700 15px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-terra{background:var(--terra-btn);color:#fff}
.btn-terra:hover{background:#965636}
.btn-forest{background:var(--forest);color:#fff}
.btn-forest:hover{background:#121a14}
.btn-ghost{background:transparent;color:var(--forest);box-shadow:inset 0 0 0 1.5px var(--forest)}
.btn-white{background:#fff;color:var(--forest)}
.link-arrow{font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}

/* Hero frame with nav over photo */
.hero{position:relative;margin:14px var(--gut) 0;border-radius:var(--r);overflow:hidden;color:#fff;isolation:isolate;
  min-height:clamp(560px,82vh,760px);display:flex;flex-direction:column}
.hero.is-page{min-height:clamp(380px,52vh,500px)}
.hero>img.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(15,22,17,.55) 0%,rgba(15,22,17,.15) 30%,rgba(15,22,17,.25) 60%,rgba(15,22,17,.72) 100%)}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,3vw,36px);position:relative;z-index:5}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:400 22px/1 var(--serif);letter-spacing:-.01em;color:#fff;white-space:nowrap}
.logo svg{width:22px;height:22px;flex:none}
.nav{display:flex;align-items:center;gap:6px}
.nav a{color:#fff;text-decoration:none;font:600 14.5px/1 var(--sans);padding:11px 13px;border-radius:999px;opacity:.92}
.nav a:hover{background:rgba(255,255,255,.14);opacity:1}
.nav a[aria-current="page"]{background:rgba(255,255,255,.18);opacity:1}
.nav a.nav-book{background:#fff;color:var(--forest);padding:13px 20px;margin-left:8px;opacity:1}
.nav a.nav-book:hover{background:var(--linen)}
.menu-btn{display:none;width:48px;height:48px;border-radius:999px;border:0;background:rgba(255,255,255,.95);color:var(--forest);cursor:pointer;
  align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn.is-open span{background:transparent}
.menu-btn.is-open span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn.is-open span::after{transform:translateY(-6px) rotate(-45deg)}

.hero-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(20px,4.2vw,56px) clamp(24px,3vw,40px)}
.pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font:600 13px/1.2 var(--sans);margin-bottom:22px}
.pill i{width:8px;height:8px;border-radius:50%;background:#7fae7a;box-shadow:0 0 0 3px rgba(127,174,122,.3)}
.hero h1{font-size:clamp(46px,7.6vw,104px);font-weight:300;line-height:.98;letter-spacing:-.025em;margin:0 0 22px;max-width:11ch}
.hero.is-page h1{font-size:clamp(42px,6vw,80px);max-width:14ch}
.hero h1 em{font-weight:600;font-style:italic}
.hero-sub{max-width:44ch;font-size:clamp(16px,1.4vw,18px);color:rgba(255,255,255,.9);margin:0 0 30px}

/* Availability bar */
.avail{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;align-items:stretch;background:#fff;color:var(--forest);
  border-radius:16px;padding:8px;gap:0;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.avail .f{display:flex;flex-direction:column;justify-content:center;padding:8px 18px;border-right:1px solid #e7e1d4;min-width:0}
.avail .f:nth-child(3){border-right:0}
.avail label{font:700 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#6b7368;margin-bottom:6px}
.avail input,.avail select{font:700 15px/1.2 var(--sans);color:var(--forest);border:0;background:transparent;padding:4px 0;width:100%;min-width:0;
  appearance:none;-webkit-appearance:none;border-radius:6px}
.avail select{background-image:linear-gradient(45deg,transparent 50%,var(--forest) 50%),linear-gradient(135deg,var(--forest) 50%,transparent 50%);
  background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
.avail .btn{border-radius:12px;min-height:56px;padding:0 28px}

/* Sections */
section{padding:clamp(64px,9vw,120px) 0}
.sec-tight{padding-top:clamp(28px,4vw,48px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{margin:0;max-width:16ch}
.sec-head p{max-width:42ch;margin:0;color:var(--moss)}

/* Photo cards row */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
.card{position:relative;border-radius:var(--r-sm);overflow:hidden;background:var(--forest);color:#fff;text-decoration:none;aspect-ratio:4/3;display:block}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover img{transform:scale(1.04)}
.card .cap{position:absolute;inset:auto 0 0 0;padding:60px 20px 18px;background:linear-gradient(transparent,rgba(12,18,14,.82))}
.card .cap b{display:block;font:400 23px/1.15 var(--serif)}
.card .cap span{font-size:14px;opacity:.88}

/* Intro split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.split.rev>:first-child{order:2}
.split .ph{border-radius:var(--r);overflow:hidden}
.split .ph img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border-radius:50%;
  background:var(--terra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.stats b{display:block;font:300 clamp(34px,4vw,46px)/1 var(--serif);margin-bottom:6px}
.stats span{font-size:14px;color:var(--moss)}

/* Lodge preview grid */
.lodge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px)}
.lodge-mini{background:var(--paper);border-radius:var(--r-sm);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;border:1px solid #e2dacb}
.lodge-mini img{aspect-ratio:4/3;object-fit:cover;width:100%}
.lodge-mini div{padding:18px 18px 20px}
.lodge-mini h3{font-size:23px;margin-bottom:4px}
.lodge-mini p{font-size:14.5px;color:var(--moss);margin:0 0 12px}
.lodge-mini .from{font-weight:700;font-size:14.5px}
.lodge-mini .from em{font:italic 600 20px var(--serif);color:var(--terra-ink)}

/* Dark feature band */
.band{background:var(--forest);color:#efeadf;margin:0 var(--gut);border-radius:var(--r);overflow:hidden}
.band .eyebrow{color:#e0a985}
.band .lede,.band p{color:rgba(239,234,223,.82)}
.band-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(28px,5vw,72px)}
.band-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.band-photos img{border-radius:var(--r-sm);width:100%;aspect-ratio:3/4;object-fit:cover}
.band-photos img:nth-child(2){margin-top:44px}
.band .ticks li::before{background-color:#c98a63}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
.review{background:var(--paper);border:1px solid #e2dacb;border-radius:var(--r-sm);padding:28px;margin:0;display:flex;flex-direction:column}
.review blockquote{margin:0 0 20px;font:400 20px/1.4 var(--serif);flex:1}
.review figcaption{font-size:14px;color:var(--moss);font-weight:600}
.stars{color:var(--terra);letter-spacing:3px;margin-bottom:12px;font-size:15px}

/* CTA */
.cta{position:relative;margin:0 var(--gut);border-radius:var(--r);overflow:hidden;color:#fff;isolation:isolate;text-align:center;padding:clamp(70px,10vw,130px) var(--gut)}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta::after{content:"";position:absolute;inset:0;background:rgba(15,22,17,.55);z-index:-1}
.cta h2{max-width:20ch;margin:0 auto 16px}
.cta p{max-width:46ch;margin:0 auto 28px;color:rgba(255,255,255,.9)}
.cta .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Lodges page */
.lodge{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,5vw,70px);align-items:center;padding:clamp(32px,5vw,60px) 0;border-top:1px solid var(--line)}
.lodge:first-of-type{border-top:0}
.lodge.rev>.lodge-ph{order:2}
.lodge-ph{border-radius:var(--r);overflow:hidden;position:relative}
.lodge-ph img{width:100%;aspect-ratio:5/4;object-fit:cover}
.tag{position:absolute;top:16px;left:16px;background:#fff;color:var(--forest);border-radius:999px;padding:7px 13px;font:700 12.5px/1 var(--sans)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px 28px;margin:18px 0 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{font:700 11px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#6b7368;margin-bottom:6px}
.facts dd{margin:0;font-weight:700}
.feat{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px}
.feat li{background:var(--paper);border:1px solid #e0d8c8;border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600}
.price-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.price{font-size:14.5px;color:var(--moss)}
.price b{font:300 38px/1 var(--serif);color:var(--forest);margin-right:4px}

.incl{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px)}
.incl div{background:var(--paper);border:1px solid #e2dacb;border-radius:var(--r-sm);padding:24px}
.incl h3{font-size:21px}
.incl p{font-size:15px;color:var(--moss);margin:0}
.ic{width:40px;height:40px;border-radius:12px;background:var(--linen-2);display:grid;place-items:center;margin-bottom:16px;color:var(--terra-ink)}
.ic svg{width:22px;height:22px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,230px);gap:clamp(10px,1.4vw,18px)}
.gallery figure{margin:0;border-radius:var(--r-sm);overflow:hidden;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--forest);font:700 12.5px/1 var(--sans);padding:7px 11px;border-radius:999px}
.gallery .w2{grid-column:span 2}.gallery .h2{grid-row:span 2}

/* Explore */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chips a{text-decoration:none;background:var(--paper);border:1px solid #ddd4c3;border-radius:999px;padding:11px 16px;font-weight:700;font-size:14.5px}
.chips a:hover{border-color:var(--forest)}
.walks{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
.walk{background:var(--paper);border:1px solid #e2dacb;border-radius:var(--r-sm);overflow:hidden;display:flex;flex-direction:column}
.walk img{aspect-ratio:16/10;object-fit:cover;width:100%}
.walk>div{padding:22px}
.walk .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.walk .meta span{font:700 12px/1 var(--sans);background:var(--linen-2);border-radius:999px;padding:7px 10px}
.walk p{font-size:15px;color:var(--moss);margin:0}
.list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,4vw,60px)}
.list article{padding:22px 0;border-top:1px solid var(--line)}
.list h3{font-size:22px;margin-bottom:4px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.list h3 small{font:700 13px var(--sans);color:var(--terra-ink);white-space:nowrap}
.list p{margin:0;color:var(--moss);font-size:15.5px}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
.offer{background:var(--paper);border:1px solid #e2dacb;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.offer img{aspect-ratio:4/3;object-fit:cover;width:100%}
.offer .b{padding:26px;display:flex;flex-direction:column;flex:1}
.offer .save{align-self:flex-start;background:var(--terra-btn);color:#fff;border-radius:999px;padding:7px 12px;font:700 12.5px/1 var(--sans);margin-bottom:14px}
.offer h3{font-size:28px}
.offer p{color:var(--moss);font-size:15.5px}
.offer ul{margin:0 0 22px;padding-left:18px;font-size:15px}
.offer ul li{margin-bottom:6px}
.offer .btn{margin-top:auto;align-self:flex-start}
.late{background:#fff;border-radius:var(--r-sm);overflow:hidden;border:1px solid #e2dacb}
.late table{width:100%;border-collapse:collapse;font-size:15px}
.late th,.late td{text-align:left;padding:16px 20px;border-bottom:1px solid #eee7da}
.late th{font:700 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#6b7368;background:var(--paper)}
.late tr:last-child td{border-bottom:0}
.late s{color:#7a8077}
.late .now{font-weight:800;color:var(--terra-ink)}
.small{font-size:14px;color:var(--moss)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.form{background:#fff;border-radius:var(--r);padding:clamp(22px,3.5vw,44px);border:1px solid #e2dacb}
.form h2{font-size:clamp(30px,3.4vw,42px)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fg .full{grid-column:1/-1}
.form label{display:block;font:700 13px/1.3 var(--sans);margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;font:500 16px/1.4 var(--sans);color:var(--forest);background:var(--paper);
  border:1.5px solid #d9d0bf;border-radius:12px;padding:13px 14px;min-height:50px}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(176,111,75,.25)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500 !important;font-size:15px !important}
.check input{width:20px;min-height:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--terra-btn)}
.form .btn{margin-top:22px;width:100%}
.aside{display:grid;gap:18px}
.info{background:var(--paper);border:1px solid #e2dacb;border-radius:var(--r);padding:26px}
.info h3{font-size:22px}
.info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15.5px}
.info dt{font-weight:700}
.info dd{margin:0;color:var(--moss)}
.info a{font-weight:700}
.map{border-radius:var(--r);overflow:hidden;position:relative;background:#dfe3d2;border:1px solid #d6d9c6}
.map svg{display:block;width:100%;height:auto}
.map .addr{position:absolute;left:14px;bottom:14px;right:14px;background:#fff;border-radius:12px;padding:12px 14px;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.map .addr b{display:block;font-size:15px}
.faq{max-width:860px}
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font:400 21px/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 28px/1 var(--sans);color:var(--terra-ink);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--moss);margin:0 0 20px;max-width:70ch}

/* Footer */
.foot{margin:clamp(64px,8vw,110px) var(--gut) 14px;background:var(--forest);color:#d9d4c7;border-radius:var(--r);padding:clamp(36px,5vw,64px) clamp(22px,4vw,56px) 26px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot .logo{margin-bottom:16px}
.foot h4{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#e0a985;margin:6px 0 16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot a{text-decoration:none;color:#f1ede3}
.foot a:hover{text-decoration:underline}
.foot p{font-size:15px;margin:0 0 8px}
.foot-base{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:#b9b6aa}
.foot-base a{color:#fff;text-decoration:underline}

/* Responsive */
@media (max-width:1080px){
  .lodge-grid{grid-template-columns:repeat(2,1fr)}
  .incl{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;top:calc(100% - 6px);left:14px;right:14px;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--paper);border-radius:18px;padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
  .nav.is-open{display:flex}
  .nav a{color:var(--forest);font-size:17px;padding:16px 16px;border-radius:12px}
  .nav a:hover{background:var(--linen)}
  .nav a[aria-current="page"]{background:var(--linen-2)}
  .nav a.nav-book{background:var(--terra-btn);color:#fff;margin:6px 0 0;text-align:center;justify-content:center;padding:17px}
  .split,.band-grid,.lodge,.contact-grid{grid-template-columns:1fr}
  .split.rev>:first-child,.lodge.rev>.lodge-ph{order:0}
  .split .ph img{aspect-ratio:4/3}
  .cards,.reviews,.walks,.offers{grid-template-columns:1fr 1fr}
  .cards .card:last-child,.reviews .review:last-child,.walks .walk:last-child,.offers .offer:last-child{grid-column:1/-1}
  .cards .card:last-child{aspect-ratio:16/8}
  .avail{grid-template-columns:1fr 1fr}
  .avail .f:nth-child(2){border-right:0}
  .avail .f:nth-child(3){grid-column:1/-1;border-top:1px solid #e7e1d4}
  .avail .btn{grid-column:1/-1;margin-top:4px}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .list{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .hero{margin-top:10px;min-height:640px}
  .hero.is-page{min-height:420px}
  .site-head{padding:16px 16px}
  .logo{font-size:19px}
  .hero-body{padding:0 18px 18px}
  .cards,.reviews,.walks,.offers,.lodge-grid,.incl{grid-template-columns:1fr}
  .cards .card:last-child{aspect-ratio:4/3}
  .stats{grid-template-columns:repeat(3,1fr);gap:10px}
  .band-photos img:nth-child(2){margin-top:24px}
  .facts{grid-template-columns:repeat(3,1fr);gap:8px 14px}
  .fg{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .gallery{grid-auto-rows:140px;gap:10px}
  .late th:nth-child(3),.late td:nth-child(3){display:none}
  .late th,.late td{padding:14px 12px}
  .price-row .btn{width:100%}
}
@media (max-width:380px){
  .logo{font-size:18px}
  .hero h1{font-size:44px}
  .avail .f{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
.mt28{margin-top:28px}.mt14{margin-top:14px}.mb22{margin-bottom:22px}.mb10{margin:0 0 10px}.m0{margin:0}
.list.one-col{grid-template-columns:1fr}
.contact-grid>*,.fg>*,.split>*,.lodge>*,.band-grid>*{min-width:0}
.info dd{overflow-wrap:anywhere}
.hero.is-page::after{background:linear-gradient(180deg,rgba(15,22,17,.62) 0%,rgba(15,22,17,.38) 40%,rgba(15,22,17,.62) 75%,rgba(15,22,17,.8) 100%)}
.hero>img.hero-bg{object-position:50% 45%}
@media (max-width:620px){
  .info dl{grid-template-columns:1fr;gap:2px}
  .info dd{margin-bottom:10px;overflow-wrap:normal}
  .map .addr{position:static;border-radius:0;box-shadow:none;border-top:1px solid #d6d9c6}
}
.hero-sub,.hero h1{text-shadow:0 1px 18px rgba(0,0,0,.35)}
