:root{
  --river:#86391b; --river-deep:#5a2414; --river-light:#e8bf7f;
  --chalk:#f6efe4; --paper:#fcf8f2; --flint:#2a201c; --muted:#5e5249;
  --line:#e4d8c8; --hawthorn:#1f3a4d; --hawthorn-deep:#142a39; --meadow:#8a5a12; --gold:#c98b2b;
  --serif:'Young Serif',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --max:72rem; --gap:clamp(1rem,3vw,2rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.65 var(--sans);color:var(--flint);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--river);text-underline-offset:.18em}
a:hover{color:var(--river-deep)}
:focus-visible{outline:3px solid var(--hawthorn);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .5em;color:var(--river-deep)}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)} h3{font-size:1.2rem}
p{margin:0 0 1em;max-width:68ch}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:min(100% - 2*var(--gap),var(--max));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--hawthorn);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}

/* demo label */
.demo-bar{margin:0;max-width:none;background:var(--river-deep);color:var(--chalk);text-align:center;font-size:.8rem;letter-spacing:.04em;padding:.35rem 1rem}

/* header */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.brand{display:block;flex:none;line-height:0;padding-block:.5rem}
.brand img{height:3rem;width:auto}
@media (max-width:48rem){.brand img{height:2.5rem}}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav a{text-decoration:none;color:var(--flint);font-weight:500;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--hawthorn)}
.mini-search input{font:inherit;width:11rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:2rem;background:#fff}
.menu-btn{display:none;font:inherit;font-weight:600;background:none;border:1px solid var(--river);color:var(--river);padding:.4rem .9rem;border-radius:2rem}
@media (max-width:48rem){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;inset:100% 0 auto 0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:1rem var(--gap) 1.4rem;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .mini-search input{width:100%}.mini-search{width:100%}
}

/* breadcrumbs */
.crumbs{padding-block:.9rem;font-size:.9rem;color:var(--muted)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--line)}
.crumbs a{color:var(--muted)}

/* hero: a path through the wood draws itself once */
.hero{background:var(--river);color:var(--chalk);position:relative;overflow:hidden;padding:clamp(3rem,9vw,7rem) 0 clamp(7rem,14vw,10rem)}
.hero-in{position:relative;z-index:1}
.hero-title{font-size:clamp(5rem,22vw,15rem);line-height:.82;margin:0 0 .15em -.04em;color:var(--chalk);letter-spacing:-.02em}
.hero-sub{font:1.3rem/1.3 var(--serif);color:var(--river-light);margin-bottom:.8rem}
.hero-lede{font-size:1.15rem;max-width:46ch;color:#f3e6d6}
.river{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.river path{fill:none;stroke:var(--river-light);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.7}
@media (prefers-reduced-motion:no-preference){.river path{animation:flow 3.2s cubic-bezier(.45,.1,.25,1) .2s both}}
@keyframes flow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media (max-width:40rem){.river path{opacity:.3}}

/* hotel search */
.search-dock{margin-top:calc(-1 * clamp(3.2rem,6vw,4.5rem));position:relative;z-index:5}
.hotel-search{background:#fff;border:1px solid var(--line);border-left:6px solid var(--hawthorn);padding:1.2rem 1.3rem 1rem;box-shadow:0 14px 30px -18px rgba(90,36,20,.5);margin-bottom:1.5rem}
.hs-title{font:1.25rem/1.2 var(--serif);color:var(--river-deep);margin:0 0 .9rem}
.hs-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr);align-items:end}
.hs-grid>*{min-width:0}.hs-grid .btn{grid-column:1/-1}.hs-wide{grid-column:1/-1}
.hs-field input[type=date]{min-height:2.75rem}
.hs-field label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}
.hs-field select,.hs-field input{width:100%;font:inherit;padding:.65rem .7rem;border:1px solid #b9a48f;border-radius:.35rem;background:#fff;color:var(--flint)}
.hs-note{font-size:.82rem;color:var(--muted);margin:.8rem 0 0}
@media (min-width:56rem){.hs-grid{grid-template-columns:2.2fr 1.1fr 1.1fr .7fr auto}.hs-wide,.hs-grid .btn{grid-column:auto}}

.btn{display:inline-block;font:600 1rem var(--sans);padding:.8rem 1.4rem;border:0;border-radius:.4rem;background:var(--river);color:#fff;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--river-deep);color:#fff}
.btn-hot{background:var(--hawthorn)} .btn-hot:hover{background:var(--hawthorn-deep)}

/* sections */
.block{padding-block:clamp(2.2rem,6vw,4.5rem)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:2px solid var(--river);margin-bottom:1rem}
.sec-head h2{margin:0 0 .2em}
.village{display:grid;gap:2rem}
@media (min-width:56rem){.village{grid-template-columns:1.3fr 1fr;gap:4rem}}
.facts div{display:grid;grid-template-columns:minmax(6.5rem,9rem) 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:.95rem} .facts dd{margin:0;font-weight:500}

/* ruled rows (places) */
.rows .row{display:grid;grid-template-columns:1fr;gap:.2rem 2rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.row-cat{color:var(--meadow);font-weight:600;font-size:.95rem}
.row h3{margin:0 0 .25em} .row h3 a{text-decoration:none;color:var(--river-deep)} .row h3 a:hover{text-decoration:underline}
.row p{margin:0;color:var(--muted)}
@media (min-width:48rem){.rows .row{grid-template-columns:12rem 1fr}}

.split{display:grid;gap:2.5rem}
@media (min-width:56rem){.split{grid-template-columns:1fr 1fr;gap:4rem}}
.dates li{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.dates h2,.dates h3{margin:0 0 .15em;font-size:1.15rem} .dates a{text-decoration:none} .dates a:hover{text-decoration:underline}
.dates p{margin:0;color:var(--muted)} .dates small{color:var(--muted)}
.date-chip{flex:none;width:3.6rem;height:3.9rem;background:var(--river);color:var(--chalk);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.8rem;line-height:1.1;border-radius:.3rem}
.date-chip b{font:1.6rem/1 var(--serif)}
.dates.posts li{display:block}
.empty{color:var(--muted);padding:1rem 0}

.band{background:var(--chalk);border-block:1px solid var(--line)}
.band-in{padding-block:clamp(2.4rem,6vw,4rem);display:grid;gap:.5rem;justify-items:start}

/* listing + cards (varied: image cards for posts, rows elsewhere) */
.page-title{font-size:clamp(2rem,1.4rem + 3vw,3.4rem);max-width:20ch}
.lede{font-size:1.2rem;color:var(--muted);max-width:60ch}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.8rem}
.pills a{display:inline-block;padding:.4rem .95rem;border:1px solid var(--river);border-radius:2rem;text-decoration:none;font-weight:500}
.pills a[aria-current],.pills a:hover{background:var(--river);color:#fff}
.pills.big a{padding:.7rem 1.3rem;font-size:1.05rem}
.cards{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.card{border-top:3px solid var(--river);background:#fff;border-bottom:1px solid var(--line)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card-body{padding:1rem 1.1rem 1.3rem}
.card h2{font-size:1.3rem;margin:.3rem 0} .card h2 a{text-decoration:none;color:var(--river-deep)} .card h2 a:hover{text-decoration:underline}
.card p{color:var(--muted);margin:0 0 .5rem}
.tag{display:inline-block;font-size:.88rem;font-weight:600;color:var(--meadow);text-decoration:none}
.pager{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:2.5rem}

/* article */
.article{padding-block:1rem 4rem}
.byline{color:var(--muted)}
.hero-img{width:100%;max-height:34rem;object-fit:cover;margin:1rem 0 2rem;border-radius:.4rem}
.prose{max-width:68ch}
.prose h2{margin-top:1.8em} .prose h3{margin-top:1.5em}
.prose img{margin:1.5rem 0}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2em;max-width:68ch} .prose ul{list-style:disc} .prose ol{list-style:decimal} .prose li{margin:.35em 0}
.prose blockquote{margin:1.5rem 0;padding-left:1.2rem;border-left:4px solid var(--river-light);font:1.2rem/1.5 var(--serif);color:var(--river-deep)}
.prose table{border-collapse:collapse;width:100%} .prose th,.prose td{border:1px solid var(--line);padding:.5rem;text-align:left}
.inline-cta{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.related{margin-top:3rem}

.big-search{display:flex;gap:.6rem;margin:1.2rem 0 2rem;max-width:34rem}
.big-search input{flex:1;font:inherit;padding:.75rem 1rem;border:1px solid #b9a48f;border-radius:.4rem}

/* featured story */
.feature{display:grid;gap:1.5rem;align-items:center}
.feature-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:.4rem}
.feature-text h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem)}
.eyebrow{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--hawthorn);margin-bottom:.6rem}
.text-link{margin-left:1rem;font-weight:600}
@media (min-width:56rem){.feature{grid-template-columns:1.15fr 1fr;gap:3.5rem}}
.card h3{font-size:1.25rem;margin:.3rem 0} .card h3 a{text-decoration:none;color:var(--river-deep)} .card h3 a:hover{text-decoration:underline}
.card img{border-radius:.3rem .3rem 0 0}
.dates.posts li.post-row{display:flex;gap:1rem;align-items:flex-start}
.post-row img{flex:none;width:7.5rem;aspect-ratio:3/2;object-fit:cover;border-radius:.3rem}
.dates.big li{align-items:flex-start}
.ev-img{display:none;flex:none;width:9rem;aspect-ratio:3/2;object-fit:cover;border-radius:.3rem}
@media (min-width:40rem){.ev-img{display:block}}

/* adventure tiles */
.tiles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}
.tile{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.3rem 1.3rem 1.4rem;background:var(--river-deep);color:var(--chalk);text-decoration:none;border-radius:.4rem;transition:transform .15s ease,background .15s ease}
.tile strong{font:400 1.45rem/1.15 var(--serif);color:#fff}
.tile span:last-child{color:#f0dcc6;font-size:.98rem}
.tile-n{font-size:.8rem;letter-spacing:.12em;color:var(--river-light);font-weight:600}
.tile:hover{background:var(--river);color:var(--chalk);transform:translateY(-2px)}
.tiles li:nth-child(3n+2) .tile{background:var(--river)} .tiles li:nth-child(3n+2) .tile:hover{background:var(--river-deep)}
.feature-crest{width:6rem;height:auto;margin-bottom:1rem;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.prose figure{margin:1.8rem 0}
.prose figure img{margin:0;border-radius:.4rem}
.prose figure:has(img[src*="crest-roundel"]):not(:has(img + img)){max-width:15rem}
.prose figure img[src$=".webp"]{border-radius:0;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.prose figure:has(img[src*="wordmark"]){max-width:24rem;margin:0 0 1.8rem}
.prose figure:has(img[src*="wordmark"]) img{filter:none}
.prose figure:has(img + img){display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:center;max-width:none}
.prose figure:has(img + img) figcaption{grid-column:1/-1}
@media (max-width:40rem){.prose figure:has(img + img){grid-template-columns:1fr 1fr}.prose figure:has(img + img) img:nth-child(2){grid-column:1/-1;grid-row:1;max-width:60%;justify-self:center}}
.prose figcaption{font-size:.88rem;color:var(--muted);margin-top:.6rem;text-align:center}
.card:not(:has(img)){background:linear-gradient(180deg,#fff,var(--paper))}

/* feature panel when there is no photo */
.feature-panel{display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;aspect-ratio:3/2;padding:2rem;border-radius:.4rem;color:var(--chalk);font-size:.9rem;letter-spacing:.04em;
  background:radial-gradient(120% 90% at 85% 10%,#c98b2b 0%,rgba(201,139,43,0) 45%),radial-gradient(90% 80% at 10% 100%,#3a160b 0%,rgba(58,22,11,0) 60%),linear-gradient(160deg,#a2481f,#5a2414)}
.feature-img .feature-panel img{width:min(80%,22rem);height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}

/* footer */
.site-foot{background:var(--river-deep);color:#ead9c6;margin-top:3rem;padding-top:3rem}
.site-foot a{color:var(--chalk)}
.foot-logo{margin:0 0 1rem}.foot-logo img{width:16.25rem;max-width:100%;height:auto}
.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.foot-h{font-weight:600;color:#fff;margin-bottom:.5rem} .foot-grid li{margin:.3rem 0}
.legal{border-top:1px solid #7a3a22;margin-top:2rem;padding-block:1.2rem;font-size:.88rem}
.legal p{max-width:none;margin:0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
