:root{
  --forest:#1C2A21; --forest-2:#3D5140; --moss:#6B7F5A; --clay:#A9855A;
  --stone:#ECEDE6; --stone-2:#DFE2D6; --sage:#C9CFBD;
  --ink:#17201A; --ink-2:#3D4A3B; --mute:#5E6F58; --on-dark:#CBD3C2; --on-dark-2:#B9C2AE;
  --accent:#E0A53C; --accent-ink:#8A5A12;
  --display:'Bricolage Grotesque', 'Arial Black', system-ui, sans-serif;
  --body:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--ink)}a:hover{color:var(--accent-ink)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.section{padding-block:112px}
.eyebrow{margin:0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h2{font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.02em}
h3{font-size:24px;line-height:1.15}
p{margin:0}
.muted{color:var(--ink-2)}
.stack{display:flex;flex-direction:column;gap:20px}
.stack p{max-width:36em}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:16px 26px;border-radius:999px}
.btn-accent{background:var(--accent);color:var(--forest)}
.btn-accent:hover{background:#ECB656;color:var(--forest)}
.btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.6);padding:15px 25px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-ghost:hover{color:#fff;border-color:#fff}
.btn-outline{color:var(--forest);border:1.5px solid var(--forest);padding:14.5px 24.5px}
.btn-outline:hover{background:var(--forest);color:var(--stone)}
.photo{position:relative;overflow:hidden;background:var(--sage)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.band{background:var(--stone-2)}
.head{display:flex;flex-wrap:wrap;gap:16px 48px;align-items:flex-end;justify-content:space-between}
.head .stack{flex:1 1 520px;min-width:0}
.head>p{flex:0 1 420px;min-width:0}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px}
.checks li{padding-left:22px;position:relative;color:var(--ink-2)}
.checks li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.note{font-size:15px;color:var(--mute)}

/* glass top bar */
.topbar{position:fixed;left:0;right:0;top:0;z-index:20;padding-top:max(14px,env(safe-area-inset-top));pointer-events:none}
.topbar nav{pointer-events:auto;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:8px 8px 8px 22px;border-radius:999px;color:#fff;
  background:rgba(28,42,33,.28);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 8px 32px rgba(0,0,0,.18);transition:background .3s}
.topbar.scrolled nav{background:rgba(28,42,33,.62)}
.logo{color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:22px}
.logo span{color:var(--accent)}
.logo:hover{color:#fff}
.menu-btn,.menu-close{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--forest);border:0;cursor:pointer;padding:0}
.menu-btn:hover,.menu-close:hover{background:var(--stone)}
.menu-close{font-size:28px;line-height:1}
.bar-actions{display:flex;align-items:center;gap:8px}
.wa-btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:transform .15s,background .15s}
.wa-btn:hover{background:#1ebe5b;color:#fff;transform:scale(1.05)}
.wa-btn svg{width:26px;height:26px;fill:currentColor}
.bars{display:inline-flex;flex-direction:column;gap:5px;width:22px}
.bars i{display:block;height:2px;background:currentColor;border-radius:2px}

/* glass menu */
.menu{position:fixed;inset:0;z-index:50;background:rgba(14,22,17,.5);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);color:#fff;
  display:flex;flex-direction:column;overflow-y:auto;padding:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));
  opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.menu.open{opacity:1;visibility:visible}
.menu-head{display:flex;justify-content:space-between;align-items:center;max-width:1240px;width:100%;margin:0 auto;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22)}
.menu ul{list-style:none;margin:auto;padding:24px 0;width:100%;max-width:1240px;display:flex;flex-direction:column;transform:translateY(12px);transition:transform .3s}
.menu.open ul{transform:none}
.menu li{border-bottom:1px solid rgba(255,255,255,.18)}
.menu li a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:clamp(30px,5.4vw,60px);line-height:1.05;letter-spacing:-.02em}
.menu li a span{font:500 14px var(--body);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);text-align:right}
.menu li a:hover{color:var(--accent)}
.menu-foot{max-width:1240px;width:100%;margin:0 auto;color:rgba(255,255,255,.75);font-size:15px}

/* hero */
.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:flex-end;overflow:hidden;background:var(--forest);color:#fff}
.hero.page-hero{min-height:min(72svh,680px)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%;max-width:none}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,22,17,.3) 0%,rgba(14,22,17,0) 22%,rgba(14,22,17,.2) 48%,rgba(14,22,17,.9) 100%),linear-gradient(90deg,rgba(14,22,17,.45) 0%,rgba(14,22,17,0) 60%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-block:140px 72px}
.hero-text{max-width:820px;display:flex;flex-direction:column;gap:24px}
.hero h1{font-weight:800;font-size:clamp(42px,6.4vw,88px);line-height:.98;letter-spacing:-.03em;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero .eyebrow{color:rgba(255,255,255,.85)}
.hero .lead{max-width:34em;font-size:19px;color:rgba(255,255,255,.9)}
.pill{align-self:flex-start;display:inline-block;padding:6px 14px;border-radius:999px;background:var(--accent);color:var(--forest);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}

/* about */
.split{display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.split>*{flex:1 1 440px;min-width:0}
.split .photo{aspect-ratio:4/5;max-height:640px;border-radius:200px 200px 4px 4px}

/* around pharping */
.around-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:56px}
.place{background:var(--stone);display:flex;flex-direction:column}
.place .photo{aspect-ratio:4/3}
.place-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px}
.place h3{font-size:22px}
.place p{color:var(--ink-2);font-size:16px}
.place.tile{background:var(--forest);color:var(--stone);justify-content:flex-end;min-height:360px}
.place.tile .place-body{padding:32px;gap:14px}
.place.tile h3{font-size:clamp(28px,3vw,36px)}
.place.tile p{color:var(--on-dark)}
.place.tile .eyebrow{color:var(--accent)}
@media (min-width:700px){.place.wide{grid-column:span 2}.place.wide .photo{aspect-ratio:8/3}}
@media (min-width:1000px){.around-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* rooms teaser */
.book{display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.book>*{flex:1 1 440px;min-width:0}
.book .photo{aspect-ratio:4/3;border-radius:4px}

/* reset band */
.reset-band{background:var(--forest-2);color:#fff}
.reset-band .wrap{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between;padding-block:56px}
.reset-band .stack{flex:1 1 520px;min-width:0;gap:12px}
.reset-band h2{font-size:clamp(30px,3.4vw,44px)}
.reset-band p{color:var(--on-dark)}

/* groups */
.dark-band{background:var(--forest);color:var(--stone)}
.dark-band .eyebrow{color:var(--on-dark-2)}
.dark-band .stack p{color:var(--on-dark)}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);margin-block:56px}
.spec{background:var(--forest);padding:28px;display:flex;flex-direction:column;gap:6px}
.spec strong{font-family:var(--display);font-weight:800;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.spec span{color:var(--on-dark)}
.leaders{display:flex;flex-wrap:wrap;gap:64px}
.leaders>.stack{flex:1 1 360px;min-width:0}
.steps{flex:1 1 520px;min-width:0;list-style:none;margin:0;padding:0}
.steps li{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--forest-2)}
.steps li:last-child{border-bottom:1px solid var(--forest-2)}
.steps .n{font-family:var(--display);font-weight:800;font-size:32px;color:var(--accent);min-width:48px;line-height:1}
.steps strong{display:block;font-size:19px}
.steps span{color:var(--on-dark)}

/* rooms page */
.room{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:center}
.room+.room{margin-top:104px}
.room:nth-child(even) .photo{order:2}
.room .photo{aspect-ratio:4/3;border-radius:4px}
.room .stack{gap:18px}
.room h2{font-size:clamp(32px,3.6vw,46px)}
.soon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,var(--sage) 0 16px,#C3CAB6 16px 32px);color:var(--ink-2);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.soon span{background:var(--stone);padding:10px 18px;border-radius:999px}
.includes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--sage);border:1px solid var(--sage);margin-top:48px}
.includes div{background:var(--stone);padding:24px;display:flex;flex-direction:column;gap:4px}
.includes strong{font-family:var(--display);font-size:20px}
.includes span{color:var(--ink-2);font-size:16px}

/* footer */
footer{background:var(--accent)}
footer .wrap{padding-block:96px 40px;display:flex;flex-direction:column;gap:64px}
.cta{display:flex;flex-wrap:wrap;gap:32px 64px;align-items:flex-end;justify-content:space-between}
.cta h2{flex:1 1 520px;min-width:0;font-size:clamp(40px,6vw,80px);line-height:.98;letter-spacing:-.03em}
.contact{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;gap:14px;font-size:18px}
.contact .btn{background:var(--forest);color:var(--stone);align-self:flex-start}
.contact .btn:hover{background:#2A3B2F;color:var(--stone)}
.bottom{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;padding-top:24px;border-top:1px solid var(--forest);font-size:14px}
.bottom div{display:flex;flex-wrap:wrap;gap:8px 24px}

@media (max-width:760px){
  .section{padding-block:72px}
  .hero .wrap{padding-block:120px 48px}
  .hero .lead{font-size:17px}
  .hero-bg{object-position:64% 60%}
  .split .photo{aspect-ratio:1/1;border-radius:140px 140px 4px 4px}
  .room{grid-template-columns:1fr;gap:24px}
  .room:nth-child(even) .photo{order:0}
  .room+.room{margin-top:72px}
}
@media (max-width:600px){
  .menu li a{flex-direction:column;align-items:flex-start;gap:4px;font-size:32px;padding:14px 0}
  .menu li a span{text-align:left;font-size:12px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu,.menu ul{transition:none}}

/* walking times */
.walks-block{margin-top:24px;background:var(--stone);padding:40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;align-items:start}
.walks-block h3{font-size:clamp(26px,2.6vw,32px)}
.more{font-weight:700;color:var(--forest);text-decoration:none}
.more:hover{color:var(--accent-ink)}
.walks{list-style:none;margin:0;padding:0}
.walks li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--sage)}
.walks li:first-child{border-top:1px solid var(--sage)}
.walks span{font-weight:700;color:var(--ink)}
.walks small{display:block;font-weight:500;font-size:14px;color:var(--mute);margin-top:2px}
.walks b{font-family:var(--display);font-weight:800;font-size:22px;color:var(--forest);white-space:nowrap;font-variant-numeric:tabular-nums}

/* journal */
.hero .eyebrow a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.hero .meta{font-size:15px;color:rgba(255,255,255,.85)}
.hero.article-hero h1{font-size:clamp(38px,5.2vw,72px)}
.post-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center;text-decoration:none;color:inherit}
.post-card .photo{aspect-ratio:4/3;border-radius:4px}
.post-card h2{font-size:clamp(30px,3.4vw,44px);transition:color .15s}
.post-card:hover{color:inherit}
.post-card:hover h2,.post-card:hover .more{color:var(--accent-ink)}
.journal-note{margin-top:56px;padding-top:24px;border-top:1px solid var(--sage)}

.article{max-width:720px;margin:0 auto}
.article>*+*{margin-top:22px}
.article>p:first-child{font-size:20px;line-height:1.55;color:var(--ink)}
.article p,.article li{color:var(--ink-2)}
.article h2{font-size:clamp(30px,3.2vw,40px);margin-top:72px}
.article h3{font-size:22px;margin-top:36px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.article h3 span{font-family:var(--body);font-size:15px;font-weight:700;color:var(--accent-ink);white-space:nowrap}
.article h3+p{margin-top:8px}
.article ul{padding-left:22px}
.article li+li{margin-top:8px}
.article li::marker{color:var(--accent)}
.article p a{color:var(--forest);font-weight:700}
.article figure{margin:48px 0 0}
.article figure img{width:100%;border-radius:4px}
.article figcaption{margin-top:10px;font-size:14px;color:var(--mute)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--sage);border:1px solid var(--sage);margin-block:40px 0}
.facts div{background:var(--stone-2);padding:20px 22px}
.facts dt{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.facts dd{margin:6px 0 0;color:var(--ink)}
.article .walks{margin-top:28px}
.article-cta{margin-top:80px!important;background:var(--forest);color:var(--stone);padding:40px;border-radius:4px;display:flex;flex-direction:column;gap:16px}
.article-cta h2{margin:0;font-size:clamp(28px,3vw,36px)}
.article-cta p{color:var(--on-dark)}
.article-cta .btn-outline{color:var(--stone);border-color:var(--stone)}
.article-cta .btn-outline:hover{background:var(--stone);color:var(--forest)}

@media (max-width:760px){
  .walks-block{grid-template-columns:1fr;gap:28px;padding:28px 22px}
  .post-card{grid-template-columns:1fr;gap:24px}
  .facts{grid-template-columns:1fr}
  .article>p:first-child{font-size:18px}
  .article h2{margin-top:56px}
  .article-cta{padding:28px 22px}
}
.nowrap{white-space:nowrap}

/* temporary closure notice */
.bar-note{display:none}
@media (min-width:860px){
  .bar-note{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#fff;letter-spacing:.02em}
  .bar-note i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(224,165,60,.7);animation:pulse 2s infinite}
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(224,165,60,.7)}70%{box-shadow:0 0 0 8px rgba(224,165,60,0)}100%{box-shadow:0 0 0 0 rgba(224,165,60,0)}}
@media (prefers-reduced-motion:reduce){.bar-note i{animation:none}}
