/* Retreat homepage visual system — values come only from Retreat Homepage CMS. */
.vv-retreats-landing.vvrh-page{background:var(--vvrh-page-bg);font-family:var(--vvrh-body-font);overflow:clip}
.vvrh-page *{box-sizing:border-box}.vvrh-page .vvrh-section{position:relative;isolation:isolate;background:var(--vvrh-bg);color:var(--vvrh-ink);overflow:hidden}
.vvrh-page .vvrh-section .vvrh-inner{position:relative;z-index:2;width:min(calc(100% - clamp(36px,7vw,130px)),var(--vvrh-max));margin-inline:auto;padding-block:clamp(65px,8vw,125px)}
.vvrh-page .vvrh-space--compact .vvrh-inner{padding-block:32px}.vvrh-page .vvrh-space--normal .vvrh-inner{padding-block:65px}.vvrh-page .vvrh-space--large .vvrh-inner{padding-block:clamp(110px,14vw,210px)}
.vvrh-page .vvrh-width--narrow .vvrh-inner{max-width:840px}.vvrh-page .vvrh-width--wide .vvrh-inner{width:min(calc(100% - 40px),1600px)}
.vvrh-page .vvrh-align--center .vvrh-copy{text-align:center;margin-inline:auto}.vvrh-page .vvrh-align--right .vvrh-copy{text-align:right;margin-left:auto}
.vvrh-page .vvrh-kicker{color:var(--vvrh-accent);font:800 .7rem/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.2rem}
.vvrh-page .vvrh-copy{max-width:950px}.vvrh-page .vvrh-copy h1,.vvrh-page .vvrh-copy h2{color:inherit;margin:0;font-family:var(--vvrh-heading-font);font-size:clamp(2.6rem,5.8vw,var(--vvrh-heading-size));font-weight:500;line-height:.99;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:break-word}
.vvrh-page .vvrh-body{max-width:690px;margin-top:1.6rem;font-family:var(--vvrh-body-section-font);font-size:var(--vvrh-body-size);line-height:1.72;opacity:.88}.vvrh-page .vvrh-body p{margin:0 0 1em;color:inherit}.vvrh-page .vvrh-align--center .vvrh-body{margin-inline:auto}.vvrh-page .vvrh-align--right .vvrh-body{margin-left:auto}
.vvrh-page .vvrh-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem}.vvrh-page .vvrh-align--center .vvrh-actions{justify-content:center}.vvrh-page .vvrh-align--right .vvrh-actions{justify-content:end}
.vvrh-page .vvrh-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;background:var(--vvrh-accent);border:1px solid var(--vvrh-accent);color:var(--vvrh-bg);font:800 .69rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.075em;text-decoration:none;text-transform:uppercase;transition:transform .2s,filter .2s}.vvrh-page .vvrh-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.vvrh-page .vvrh-button.is-secondary{background:transparent;color:var(--vvrh-ink);border-color:currentColor}
.vvrh-page .vvrh-background{position:absolute;inset:0;z-index:0;pointer-events:none}.vvrh-page .vvrh-background:after{content:"";position:absolute;inset:0;background:#061d16;opacity:var(--vvrh-overlay)}.vvrh-page .vvrh-background,.vvrh-page .vvrh-background .vvrh-image{width:100%;height:100%}.vvrh-page .vvrh-background img{width:100%;height:100%;object-fit:cover}
.vvrh-page .vvrh-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,95px);align-items:center}.vvrh-page .vvrh-editorial:not(:has(>.vvrh-image)){display:block}.vvrh-page .vvrh-image--left .vvrh-editorial>.vvrh-image{order:-1}.vvrh-page .vvrh-editorial>.vvrh-image{width:100%;height:450px;overflow:hidden}.vvrh-page .vvrh-editorial>.vvrh-image img{width:100%;height:100%;object-fit:cover}.vvrh-page .vvrh-fit--contain .vvrh-editorial>.vvrh-image img{object-fit:contain}
.vvrh-page .vvrh-layout--hero .vvrh-inner{min-height:clamp(550px,75svh,900px);display:flex;align-items:center}.vvrh-page .vvrh-layout--hero .vvrh-copy h1{font-size:clamp(4rem,8vw,var(--vvrh-heading-size));max-width:13ch}.vvrh-page .vvrh-layout--center .vvrh-editorial,.vvrh-page .vvrh-layout--fullbleed .vvrh-editorial{display:flex;flex-direction:column;align-items:center}.vvrh-page .vvrh-layout--center .vvrh-copy,.vvrh-page .vvrh-layout--fullbleed .vvrh-copy{text-align:center}.vvrh-page .vvrh-layout--center .vvrh-body,.vvrh-page .vvrh-layout--fullbleed .vvrh-body{margin-inline:auto}.vvrh-page .vvrh-layout--fullbleed .vvrh-inner{min-height:65svh;display:flex;align-items:center;justify-content:center}
.vvrh-page .vvrh-section--catalogue .vvrh-copy,.vvrh-page .vvrh-section--gallery .vvrh-copy{margin-bottom:clamp(30px,4vw,65px)}
.vvrh-page .vvrh-retreat-grid,.vvrh-page .vvrh-gallery-grid,.vvrh-page .vvrh-custom-cards{display:grid;grid-template-columns:repeat(var(--vvrh-columns),minmax(0,1fr));gap:var(--vvrh-gap)}
.vvrh-page .vvrh-retreat-card{display:grid;grid-template-columns:.92fr 1.08fr;min-width:0;min-height:340px;background:#fbf8f1;color:#17382e;overflow:hidden;border-radius:var(--vvrh-radius);box-shadow:0 15px 45px #0d322012}.vvrh-page .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured{grid-column:1/-1;grid-template-columns:1.15fr 1fr;min-height:440px}
.vvrh-page .vvrh-retreat-media{position:relative;min-height:260px;overflow:hidden;background:#1c473a}.vvrh-page .vvrh-retreat-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.vvrh-page .vvrh-retreat-card:hover .vvrh-retreat-media img{transform:scale(1.035)}.vvrh-page .vvrh-retreat-placeholder{height:100%;min-height:280px;display:grid;place-items:center;font:500 clamp(90px,14vw,180px)/1 Georgia,serif;color:#dce7de3b;background:linear-gradient(130deg,#14382f,#466651)}
.vvrh-page .vvrh-retreat-info{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.vvrh-page .vvrh-retreat-intent{font:800 .68rem/1.5 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#a56c3a;margin:0 0 16px}.vvrh-page .vvrh-retreat-info h3{font:500 clamp(28px,3vw,48px)/1 var(--vvrh-heading-font);letter-spacing:-.035em;margin:0;max-width:18ch;color:inherit;overflow-wrap:break-word}.vvrh-page .vvrh-retreat-tagline{font-size:16px;line-height:1.5;margin:14px 0 0}.vvrh-page .vvrh-retreat-meta{font:700 .7rem/1.6 Manrope,sans-serif;text-transform:uppercase;color:#6c7d71;margin:15px 0 0}.vvrh-page .vvrh-retreat-excerpt{line-height:1.7;color:#5c6c60;margin:14px 0 0}.vvrh-page .vvrh-retreat-actions{margin-top:auto;padding-top:25px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.vvrh-page .vvrh-retreat-actions .vvrh-button{background:#14382f;border-color:#14382f;color:#fff}.vvrh-page .vvrh-retreat-explore{font:800 .68rem/1.4 Manrope,sans-serif;text-decoration:none;color:#17382e;text-transform:uppercase}
.vvrh-page .vvrh-card-style--stacked .vvrh-retreat-card,.vvrh-page .vvrh-card-style--minimal .vvrh-retreat-card{display:flex;flex-direction:column}.vvrh-page .vvrh-card-style--stacked .vvrh-retreat-media{height:290px}.vvrh-page .vvrh-card-style--minimal .vvrh-retreat-media{display:none}.vvrh-page .vvrh-card-style--minimal .vvrh-retreat-card{border:1px solid #d6dfd7;min-height:270px}
.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-card{position:relative;display:flex;align-items:flex-end;min-height:440px;color:#fff;background:#14382f}.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-media{position:absolute;inset:0;height:100%}.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 10%,#081e1bea 100%)}.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-info{position:relative;z-index:2;width:100%}.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-meta,.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-excerpt{color:#e2e9e3}.vvrh-page .vvrh-card-style--overlay .vvrh-retreat-explore{color:#fff}
.vvrh-page .vvrh-gallery-grid figure{margin:0;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:var(--vvrh-radius);background:#1c473a}.vvrh-page .vvrh-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.vvrh-page .vvrh-gallery-grid figure:hover img{transform:scale(1.03)}
.vvrh-page .vvrh-custom-cards{margin-top:clamp(30px,4vw,60px)}.vvrh-page .vvrh-custom-card{border:1px solid currentColor;border-radius:var(--vvrh-radius);overflow:hidden}.vvrh-page .vvrh-custom-card>img{display:block;width:100%;height:220px;object-fit:cover}.vvrh-page .vvrh-custom-card-body{padding:24px}.vvrh-page .vvrh-custom-card h3{font:500 clamp(22px,2.2vw,32px)/1.1 var(--vvrh-heading-font);margin:0 0 12px;color:inherit}.vvrh-page .vvrh-custom-card p{font-size:var(--vvrh-body-size);line-height:1.6}.vvrh-page .vvrh-custom-card a{color:inherit;font-weight:700}
@media(max-width:1080px){.vvrh-page .vvrh-retreat-card,.vvrh-page .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured{display:flex;flex-direction:column}.vvrh-page .vvrh-retreat-media{height:290px;min-height:0}.vvrh-page .vvrh-retreat-grid{grid-template-columns:repeat(min(2,var(--vvrh-columns)),minmax(0,1fr))}}
@media(max-width:760px){.vvrh-page .vvrh-section .vvrh-inner{width:calc(100% - 36px);padding-block:55px}.vvrh-page .vvrh-layout--hero .vvrh-inner{min-height:75svh}.vvrh-page .vvrh-layout--hero .vvrh-copy h1{font-size:clamp(3.1rem,12vw,5.8rem)}.vvrh-page .vvrh-editorial{display:flex;flex-direction:column;gap:28px}.vvrh-page .vvrh-editorial>.vvrh-image{height:280px}.vvrh-page .vvrh-image--left .vvrh-editorial>.vvrh-image{order:0}.vvrh-page .vvrh-retreat-grid,.vvrh-page .vvrh-custom-cards,.vvrh-page .vvrh-gallery-grid{grid-template-columns:repeat(var(--vvrh-mobile-cols),minmax(0,1fr))}.vvrh-page .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured{grid-column:auto}.vvrh-page .vvrh-retreat-info h3{font-size:clamp(30px,8vw,42px)}.vvrh-page .vvrh-retreat-actions .vvrh-button{width:100%}}

/* CMS card and button fine controls */
.vvrh-page .vvrh-section .vvrh-button:not(.is-secondary){background:var(--vvrh-button-bg);border-color:var(--vvrh-button-bg);color:var(--vvrh-button-ink)}
.vvrh-page .vvrh-retreat-card{background:var(--vvrh-card-bg);color:var(--vvrh-card-ink);border-radius:var(--vvrh-card-radius)}
.vvrh-page .vvrh-retreat-info h3{font-size:clamp(26px,3vw,var(--vvrh-card-heading))}
.vvrh-page .vvrh-card-style--stacked .vvrh-retreat-media{height:var(--vvrh-card-img-height)}
.vvrh-page .vvrh-custom-card{background:var(--vvrh-card-bg);color:var(--vvrh-card-ink);border-radius:var(--vvrh-card-radius)}
.vvrh-page .vvrh-custom-card>img{height:var(--vvrh-card-img-height)}
.vvrh-page .vvrh-custom-card h3{font-size:clamp(20px,2.2vw,var(--vvrh-card-heading))}
.vvrh-page .vvrh-fit--contain .vvrh-background img{object-fit:contain}
@media(prefers-reduced-motion:reduce){.vvrh-page .vvrh-button,.vvrh-page .vvrh-retreat-media img,.vvrh-page .vvrh-gallery-grid img{transition:none}}

/* v0.27.12: editorial retreat catalogue, fully scoped to the CMS section. */
.vvrh-page .vvrh-section--catalogue .vvrh-inner{width:min(calc(100% - clamp(32px,6vw,120px)),var(--vvrh-max))}
.vvrh-page .vvrh-section--catalogue .vvrh-copy{max-width:920px}
.vvrh-page .vvrh-section--catalogue .vvrh-copy h2{line-height:1.06;max-width:19ch}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid{align-items:stretch}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-card{display:flex;flex-direction:column;min-width:0;min-height:0;box-shadow:0 14px 38px rgba(16,43,34,.07)}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-media{height:clamp(230px,28vw,400px);min-height:0;flex:none}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-media img{display:block;width:100%;height:100%;object-fit:cover}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-info{padding:clamp(22px,3vw,42px);flex:1}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-info h3{max-width:24ch;font-size:clamp(26px,2.8vw,var(--vvrh-card-heading));line-height:1.08;overflow-wrap:normal;word-break:normal}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-intent{font-size:11px;letter-spacing:.12em}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-actions{width:100%}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:430px}
.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured .vvrh-retreat-media{height:100%;min-height:430px}
.vvrh-page .vvrh-section--catalogue .vvrh-card-style--overlay .vvrh-retreat-card{position:relative;display:flex;min-height:430px;justify-content:end}
.vvrh-page .vvrh-section--catalogue .vvrh-card-style--overlay .vvrh-retreat-media{position:absolute;inset:0;height:100%}
.vvrh-page .vvrh-section--catalogue .vvrh-card-style--overlay .vvrh-retreat-info{flex:none}
.vvrh-page .vvrh-section--catalogue .vvrh-card-style--minimal .vvrh-retreat-media{display:none}
.vvrh-page .vvrh-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.vvrh-page .vvrh-filters button{cursor:pointer;border:1px solid currentColor;background:transparent;color:inherit;border-radius:100px;padding:11px 18px;font:600 12px/1.3 Manrope,Arial,sans-serif;max-width:100%}
.vvrh-page .vvrh-filters button.is-active,.vvrh-page .vvrh-filters button:hover{background:var(--vvrh-ink);color:var(--vvrh-bg)}
.vvrh-page .vvrh-retreat-card[hidden],.vvrh-page .vvrh-filter-empty[hidden]{display:none!important}
.vvrh-page .vvrh-filter-empty{padding:25px 0}
@media(max-width:1050px){.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured{display:flex;flex-direction:column;min-height:0}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured .vvrh-retreat-media{height:320px;min-height:0}}
@media(max-width:700px){.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid{grid-template-columns:minmax(0,1fr)!important}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-media,.vvrh-page .vvrh-section--catalogue .vvrh-retreat-grid.has-featured .vvrh-retreat-card.is-featured .vvrh-retreat-media{height:clamp(215px,62vw,340px)}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-info{padding:24px}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-info h3{font-size:clamp(28px,8vw,40px)}.vvrh-page .vvrh-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.vvrh-page .vvrh-filters button{white-space:nowrap;flex:none}}
@media(max-width:360px){.vvrh-page .vvrh-section--catalogue .vvrh-inner{width:calc(100% - 28px)}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-info{padding:19px}.vvrh-page .vvrh-section--catalogue .vvrh-retreat-actions{flex-direction:column;align-items:stretch}}

/* v0.27.14 — Retreat atmosphere. Scoped, optional, and controlled by saved CMS settings. */
.vvrh-page.vvrh-mood--immersive{background:var(--vvrh-page-bg);}
.vvrh-mood--immersive .vvrh-section--intro{background-image:radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--vvrh-sage) 15%,transparent),transparent 55%)}
.vvrh-mood--immersive .vvrh-section--catalogue{background-image:radial-gradient(ellipse at 0% 20%,color-mix(in srgb,var(--vvrh-clay) 8%,transparent),transparent 52%)}
.vvrh-mood--immersive .vvrh-section--gallery{background-image:radial-gradient(ellipse at 95% 30%,color-mix(in srgb,var(--vvrh-sage) 19%,transparent),transparent 55%)}
.vvrh-mood--immersive .vvrh-section--closing{background-image:linear-gradient(120deg,color-mix(in srgb,var(--vvrh-moss) 14%,transparent),transparent 70%)}
.vvrh-mood--immersive .vvrh-section--hero .vvrh-inner{min-height:min(90svh,940px)}
.vvrh-mood--immersive .vvrh-section--hero .vvrh-copy{max-width:720px;text-shadow:0 2px 30px #061e1640}
.vvrh-mood--immersive .vvrh-section--hero .vvrh-background:after{background:linear-gradient(90deg,#081e18bf 0%,#081e1855 52%,#081e181a 100%);opacity:var(--vvrh-overlay)}
.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,100px)}
.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial>.vvrh-image{height:auto;min-height:360px;aspect-ratio:1.25;box-shadow:0 26px 75px #112a201c}
.vvrh-page .vvrh-atmosphere-quote{grid-column:1/-1;max-width:500px;font-family:var(--vvrh-heading-font);font-size:clamp(25px,3.4vw,47px);font-style:italic;line-height:1.15;color:var(--vvrh-moss);margin:0;padding:0 0 0 22px;border-left:2px solid var(--vvrh-clay);overflow-wrap:anywhere}
.vvrh-page .vvrh-atmosphere-quote>span{display:none}
.vvrh-page .vvrh-atmosphere-quote small{display:block;font:600 12px/1.6 var(--vvrh-body-font);letter-spacing:.08em;margin-top:16px}
.vvrh-page .vvrh-section--hero .vvrh-atmosphere-quote{color:var(--vvrh-quote-color);border-color:var(--vvrh-clay);position:absolute;right:0;bottom:clamp(25px,5vw,70px);max-width:230px;font-size:clamp(21px,2.5vw,33px)}
.vvrh-page .vvrh-gallery-quote{font-family:var(--vvrh-heading-font);font-style:italic;font-size:clamp(24px,3.5vw,44px);max-width:18ch;line-height:1.16;color:var(--vvrh-moss);margin:0 0 28px auto}
.vvrh-mood--immersive .vvrh-card-style--stacked .vvrh-retreat-card{box-shadow:0 18px 45px #122e2317;transition:transform .25s,box-shadow .25s}
.vvrh-mood--immersive .vvrh-card-style--stacked .vvrh-retreat-card:hover{transform:translateY(-4px);box-shadow:0 26px 55px #122e2324}
.vvrh-mood--immersive .vvrh-retreat-info{gap:2px}
.vvrh-mood--immersive .vvrh-retreat-info h3{line-height:1.08}
.vvrh-mood--immersive .vvrh-gallery-grid figure{box-shadow:0 9px 25px #122e2314}
.vvrh-page .vvrh-section .vvrh-inner,.vvrh-page .vvrh-editorial,.vvrh-page .vvrh-copy,.vvrh-page .vvrh-retreat-card,.vvrh-page .vvrh-retreat-info{min-width:0;max-width:100%}
.vvrh-page .vvrh-retreat-card[hidden]{display:none!important}
@media(max-width:900px){.vvrh-page .vvrh-section--hero .vvrh-atmosphere-quote{position:static;margin-top:38px;max-width:400px}.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial{grid-template-columns:1fr}.vvrh-page .vvrh-atmosphere-quote{grid-column:auto}}
@media(max-width:760px){.vvrh-mood--immersive .vvrh-section--hero .vvrh-inner{min-height:75svh}.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial>.vvrh-image{min-height:0;aspect-ratio:4/3;height:auto}.vvrh-page .vvrh-gallery-quote{margin:0 0 24px}.vvrh-page .vvrh-retreat-grid{grid-template-columns:minmax(0,1fr)}.vvrh-page .vvrh-atmosphere-quote{font-size:clamp(24px,7vw,34px)}}
@media(max-width:360px){.vvrh-page .vvrh-section .vvrh-inner{width:calc(100% - 32px)}.vvrh-page .vvrh-copy h1,.vvrh-page .vvrh-copy h2{overflow-wrap:normal;word-break:normal;font-size:clamp(32px,10vw,48px)}.vvrh-page .vvrh-retreat-info{padding:20px}.vvrh-page .vvrh-filters{max-width:100%;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.vvrh-page .vvrh-retreat-card,.vvrh-page .vvrh-retreat-media img{transition:none!important}}

/* v0.27.15 — CMS-selectable editorial gallery and immersive closing. */
.vvrh-page .vvrh-section--gallery .vvrh-inner{position:relative}
.vvrh-page .vvrh-gallery-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(20px,5vw,80px);align-items:end;margin-bottom:clamp(28px,4vw,54px)}
.vvrh-page .vvrh-gallery-heading .vvrh-gallery-quote{margin:0 0 6px;max-width:19ch}
.vvrh-page .vvrh-section--gallery.vvrh-gallery-style--editorial .vvrh-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(8px,1.1vw,16px)}
.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure{grid-column:span 3;aspect-ratio:4/3;min-width:0}
.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure:first-child{grid-column:span 6;grid-row:span 2;aspect-ratio:auto;min-height:360px}
.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure:nth-child(6n + 5){grid-column:span 6;aspect-ratio:2/1}
.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure img{display:block;width:100%;height:100%;object-fit:cover}
.vvrh-page .vvrh-gallery-style--mosaic .vvrh-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vvrh-page .vvrh-gallery-style--mosaic .vvrh-gallery-grid figure:nth-child(5n + 1){grid-column:span 2;aspect-ratio:1.8}
.vvrh-page .vvrh-section--closing{position:relative;isolation:isolate}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--forest{--vvrh-bg:var(--vvrh-moss);--vvrh-ink:#f6f0e6;background:var(--vvrh-moss);color:#f6f0e6;background-image:linear-gradient(125deg,rgba(5,29,23,.42),transparent 65%)}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--forest .vvrh-copy,.vvrh-page .vvrh-section--closing.vvrh-closing-style--forest .vvrh-copy h2,.vvrh-page .vvrh-section--closing.vvrh-closing-style--forest .vvrh-body{color:#f6f0e6}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic{background:#102d25;color:#fff}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic .vvrh-background{position:absolute;inset:0;z-index:-1}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic .vvrh-background:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,27,.9),rgba(9,35,27,.6));opacity:1}
.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic .vvrh-copy,.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic .vvrh-copy h2,.vvrh-page .vvrh-section--closing.vvrh-closing-style--photographic .vvrh-body{color:#fff}
.vvrh-page .vvrh-section--closing .vvrh-inner{padding-block:clamp(85px,11vw,170px)}
.vvrh-page .vvrh-section--closing .vvrh-editorial{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,110px);align-items:center}
.vvrh-page .vvrh-section--closing .vvrh-copy{max-width:920px}
.vvrh-page .vvrh-section--closing .vvrh-copy h2{max-width:18ch;line-height:1.08}
.vvrh-page .vvrh-section--closing .vvrh-body{max-width:55ch}
.vvrh-page .vvrh-section--closing .vvrh-atmosphere-quote{color:inherit;grid-column:auto}
.vvrh-page .vvrh-section--closing .vvrh-background img{height:100%;width:100%;object-fit:cover}
@media(max-width:900px){.vvrh-page .vvrh-gallery-heading{grid-template-columns:1fr}.vvrh-page .vvrh-section--closing .vvrh-editorial{grid-template-columns:1fr}.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure:first-child{min-height:250px}}
@media(max-width:600px){.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure,.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure:nth-child(6n + 5){grid-column:span 1;grid-row:auto;aspect-ratio:1}.vvrh-page .vvrh-gallery-style--editorial .vvrh-gallery-grid figure:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:1.45;min-height:0}.vvrh-page .vvrh-gallery-style--mosaic .vvrh-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vvrh-page .vvrh-gallery-style--mosaic .vvrh-gallery-grid figure:nth-child(5n + 1){grid-column:span 2}.vvrh-page .vvrh-section--closing .vvrh-inner{padding-block:76px}.vvrh-page .vvrh-section--closing .vvrh-copy h2{font-size:clamp(36px,10vw,58px)}}
@media(prefers-reduced-motion:reduce){.vvrh-page .vvrh-gallery-grid img{transition:none}}

/* v0.27.16 — editorial finishing pass; scoped to the immersive Retreats homepage.
   Existing CMS variables remain authoritative for colours, sizing and imagery. */
.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-background:after{background:linear-gradient(90deg,rgba(5,23,19,.78) 0%,rgba(5,23,19,.46) 49%,rgba(5,23,19,.12) 100%);opacity:var(--vvrh-overlay)}
.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-copy{position:relative;z-index:2;max-width:min(720px,100%)}
.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-body{opacity:1;max-width:53ch;text-shadow:0 2px 16px rgba(0,0,0,.7);line-height:1.7}
.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-kicker{text-shadow:0 1px 8px rgba(0,0,0,.65)}
.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial{align-items:center;column-gap:clamp(28px,5vw,86px)}
.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial>.vvrh-image{width:100%;min-width:0;aspect-ratio:5/4;min-height:0;max-height:680px}
.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-copy h2{line-height:1.06}
.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-atmosphere-quote{margin-top:clamp(12px,2vw,30px);max-width:30ch}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-info{gap:0}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-info h3{line-height:1.12;letter-spacing:-.025em}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-tagline{margin-top:12px;line-height:1.6}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-meta{margin-top:16px;line-height:1.65;overflow-wrap:anywhere}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-excerpt{line-height:1.75;margin-top:14px}
.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-actions{padding-top:24px;gap:14px}
.vvrh-page.vvrh-mood--immersive .vvrh-section--gallery .vvrh-gallery-grid{align-items:stretch}
.vvrh-page.vvrh-mood--immersive .vvrh-section--gallery .vvrh-gallery-grid figure{min-width:0;overflow:hidden}
.vvrh-page.vvrh-mood--immersive .vvrh-section--gallery .vvrh-gallery-grid figure img{display:block;width:100%;height:100%;object-fit:cover}
.vvrh-page.vvrh-mood--immersive .vvrh-section--closing .vvrh-inner{padding-block:clamp(90px,10vw,155px)}
.vvrh-page.vvrh-mood--immersive .vvrh-section--closing .vvrh-editorial{align-items:center}
.vvrh-page.vvrh-mood--immersive .vvrh-section--closing .vvrh-body{opacity:.95;line-height:1.8}
.vvrh-page.vvrh-mood--immersive .vvrh-section--closing .vvrh-actions{margin-top:30px}
@media(max-width:900px){.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial>.vvrh-image{aspect-ratio:4/3}.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-background:after{background:linear-gradient(90deg,rgba(5,23,19,.78),rgba(5,23,19,.3));opacity:var(--vvrh-overlay)}}
@media(max-width:600px){.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-copy h1{line-height:1.04}.vvrh-page.vvrh-mood--immersive .vvrh-section--intro .vvrh-editorial>.vvrh-image{aspect-ratio:4/3}.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-info{padding:clamp(20px,5vw,28px)}.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-meta{font-size:12px}.vvrh-page.vvrh-mood--immersive .vvrh-section--gallery .vvrh-gallery-heading{gap:16px}.vvrh-page.vvrh-mood--immersive .vvrh-section--closing .vvrh-inner{padding-block:76px}}
@media(max-width:360px){.vvrh-page.vvrh-mood--immersive .vvrh-section--catalogue .vvrh-retreat-info h3{overflow-wrap:break-word}.vvrh-page.vvrh-mood--immersive .vvrh-section--hero .vvrh-body{overflow-wrap:break-word}}
