:root{--navy:#10263c;--navy2:#183a55;--green:#6d8264;--sage:#e8eee5;--cream:#f6f1e8;--ink:#1d2832;--muted:#65717a;--white:#fff;--line:#dce2df}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px;z-index:999}.skip-link:focus{left:10px}.section{max-width:1240px;margin:auto;padding:110px 36px}.site-header{height:102px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(6,31,57,.98);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}.brand{width:205px;height:88px}.brand img{object-fit:contain}.site-header nav{display:flex;gap:25px}.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em;position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--green);transition:right .2s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;background:#7f8f55;color:#fff;text-decoration:none;padding:14px 23px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.04em;box-shadow:0 8px 28px rgba(0,0,0,.18)}.button-small{background:#7f8f55;color:#fff;padding:12px 19px;border-radius:999px;box-shadow:none}.menu-toggle{display:none}.hero{height:calc(100vh - 102px);min-height:650px;position:relative;color:#fff}.hero>img{position:absolute;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,49,.88),rgba(5,27,49,.22) 72%),linear-gradient(0deg,rgba(5,27,49,.46),transparent 48%)}.hero-content{position:absolute;left:max(6vw,36px);top:50%;transform:translateY(-50%);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--green);margin:0 0 16px}.eyebrow.light{color:#dcead4}.hero h1,.closing h2{font:700 clamp(48px,6.4vw,92px)/1.02 "Playfair Display",serif;margin:0 0 24px}.hero-content>p:not(.eyebrow){max-width:660px;font-size:19px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px}.text-link{text-decoration:none;font-weight:700}.light-link{color:#fff}.hero-facts{position:absolute;bottom:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.95);color:var(--navy);min-width:610px}.hero-facts span{padding:21px;border-left:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hero-facts strong{display:block;font:700 28px "Playfair Display",serif}.statement{background:#fff}.statement-grid,.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.statement h2,.section h2,.feature-copy h2,.outdoors h2,.walks h2{font:700 clamp(38px,4.3vw,65px)/1.05 "Playfair Display",serif;color:var(--navy);margin:0}.lead{font-size:20px}.stay-section{display:grid;grid-template-columns:1.15fr .85fr;min-height:700px;background:var(--cream)}.feature-copy{padding:90px;display:flex;flex-direction:column;justify-content:center}.feature-copy p{font-size:17px}.facts-list{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 0}.facts-list span{padding:14px 0;border-bottom:1px solid rgba(16,38,60,.15);font-size:13px;font-weight:600}.section-heading>p{max-width:520px}.gallery-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:45px}.gallery-cards figure{margin:0;background:var(--cream)}.gallery-cards figure.large{grid-column:span 2;grid-row:span 2}.gallery-cards img{aspect-ratio:1/1}.gallery-cards .large img{aspect-ratio:1/1.18}.gallery-cards figcaption{padding:16px}.gallery-cards strong,.gallery-cards span{display:block}.gallery-cards span{font-size:13px;color:var(--muted);margin-top:4px}.outdoors{background:var(--navy);color:#fff}.outdoors-copy{padding-bottom:40px}.outdoors h2{color:#fff;max-width:800px}.outdoors-copy>p:last-child{max-width:730px;font-size:18px}.outdoor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:0}.outdoor-grid figure{margin:0;position:relative;height:340px}.outdoor-grid figure.wide{grid-column:span 2}.outdoor-grid figcaption{position:absolute;left:16px;bottom:16px;background:rgba(16,38,60,.82);padding:8px 12px;font-size:12px}.guide-grid,.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:48px}.guide-grid article,.event-grid article{padding:28px;background:var(--cream);border-top:4px solid var(--green)}.guide-grid span,.event-grid span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--green);font-weight:700}.guide-grid h3,.event-grid h3,.timeline h3,.shops-callout h3,.walk-grid h3{font:700 25px "Playfair Display",serif;color:var(--navy);margin:10px 0}.guide-grid p,.event-grid p{font-size:14px}.shops-callout{margin-top:20px;background:var(--navy);color:#fff;padding:35px 40px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.shops-callout h3{color:#fff;margin:0}.walks{background:linear-gradient(var(--navy),var(--navy2));color:#fff}.walks h2{color:#fff}.walks-intro>p:last-child{max-width:720px;font-size:18px}.walk-grid{padding-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.walk-grid article{background:rgba(255,255,255,.08);padding:24px;border:1px solid rgba(255,255,255,.12)}.walk-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#cfdfc7}.walk-grid h3{color:#fff}.walk-grid p{font-size:13px;color:#d9e1e8}.post-walk{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:50px}.post-walk img{height:430px}.events{background:#f5f7f3}.event-grid{grid-template-columns:repeat(4,1fr)}.keyword-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.keyword-strip span{background:var(--navy);color:#fff;padding:9px 13px;border-radius:99px;font-size:11px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.timeline article{padding:28px;border-left:3px solid var(--green);background:var(--cream)}.timeline span{font-weight:700;color:var(--green)}.good-to-know{background:var(--navy);color:#fff}.good-to-know h2{color:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}.faq-grid details{background:rgba(255,255,255,.08);padding:20px;border:1px solid rgba(255,255,255,.12)}.faq-grid summary{cursor:pointer;font-weight:700}.faq-grid p{color:#d9e1e8;font-size:14px}.photo-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:12px;margin-top:40px}.photo-wall .wide{grid-column:span 2}.closing{height:760px;position:relative;color:#fff}.closing>img,.closing-overlay{position:absolute;inset:0}.closing-overlay{background:linear-gradient(90deg,rgba(7,20,32,.82),rgba(7,20,32,.15))}.closing-content{position:absolute;left:max(7vw,36px);top:50%;transform:translateY(-50%);max-width:680px}.closing-content>p:not(.eyebrow,.signature){font-size:18px}.signature{font:600 25px "Playfair Display",serif}.closing .button{margin-top:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 36px;background:#0b1c2b;color:#fff;font-size:12px}footer img{width:160px;height:60px;object-fit:contain}footer div{display:flex;gap:20px}footer a{text-decoration:none}
@media(max-width:980px){.desktop-book{display:none}.site-header nav{display:none;position:absolute;top:101px;left:0;right:0;background:var(--navy);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:10px 14px}.hero-facts{min-width:0;left:0;right:0}.stay-section{grid-template-columns:1fr}.feature-image{height:560px}.feature-copy{padding:70px 36px}.statement-grid,.section-heading,.shops-callout,.post-walk{grid-template-columns:1fr;gap:30px}.gallery-cards,.outdoor-grid,.walk-grid,.event-grid{grid-template-columns:repeat(2,1fr)}.guide-grid{grid-template-columns:repeat(2,1fr)}.photo-wall{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr}}
@media(max-width:640px){.section{padding:78px 22px}.site-header{height:82px;padding:0 18px}.brand{width:150px;height:68px}.site-header nav{top:81px}.hero{height:760px;min-height:0}.hero-content{left:22px;right:22px;top:43%}.hero h1{font-size:50px}.hero-content>p:not(.eyebrow){font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-facts{grid-template-columns:repeat(2,1fr)}.hero-facts span{padding:13px 18px}.feature-image{height:420px}.feature-copy{padding:65px 22px}.gallery-cards,.outdoor-grid,.guide-grid,.walk-grid,.event-grid,.timeline{grid-template-columns:1fr}.gallery-cards figure.large,.outdoor-grid figure.wide{grid-column:auto;grid-row:auto}.gallery-cards .large img,.gallery-cards img{aspect-ratio:4/3}.outdoor-grid figure{height:310px}.post-walk{padding-top:20px}.post-walk img{height:300px}.photo-wall{grid-template-columns:1fr;grid-auto-rows:250px}.photo-wall .wide{grid-column:auto}.closing{height:700px}.closing-content{left:22px;right:22px}.closing h2{font-size:48px}footer{flex-direction:column;text-align:center}footer div{flex-direction:column;gap:8px}}

.retreat-features{padding-top:78px;padding-bottom:88px;text-align:center}
.retreat-heading{max-width:720px;margin:0 auto 42px}
.retreat-heading h2{font:700 clamp(34px,3.7vw,54px)/1.08 "Playfair Display",serif;color:var(--navy);margin:0}
.retreat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.retreat-grid article{padding:8px 12px}
.retreat-grid svg{width:52px;height:52px;margin:0 auto 14px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.retreat-grid h3{font:700 19px "Playfair Display",serif;color:var(--navy);margin:0 0 7px}
.retreat-grid p{font-size:12px;color:var(--muted);margin:0}
.gallery-cards figure,.guide-grid article,.event-grid article,.timeline article,.faq-grid details{border-radius:12px;overflow:hidden}
.outdoor-grid figure,.photo-wall img{border-radius:12px;overflow:hidden}
.feature-image img,.post-walk img{border-radius:0}
.site-header .brand img,footer img{object-fit:contain}

@media(max-width:980px){
  .retreat-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .retreat-features{padding-top:64px;padding-bottom:64px}
  .retreat-grid{grid-template-columns:1fr 1fr;gap:30px 14px}
  .retreat-grid article:last-child{grid-column:1/-1;max-width:240px;margin:auto}
}
