/**
 * Vila Serrano — composições editoriais 1.14.0.
 * Cada página possui ritmo próprio dentro do sistema Entre Pedra e Jardim.
 */

.vs-composition-index {
	margin: 0 0 clamp(42px, 6vw, 84px);
	color: var(--vs-clay);
	font-family: var(--vs-heading);
	font-size: clamp(52px, 6vw, 88px);
	line-height: .72;
}

/*
 * Client feedback 1.23.0 — photographic FAQ hero, expanded contact copy and
 * the Chapada guide composition based on the approved editorial mock-up.
 */
.vs-faq-hero { position: relative; overflow: hidden; }
.vs-faq-hero--image { display: grid; min-height: min(620px, 68svh); align-items: end; background: var(--vs-forest); }
.vs-faq-hero__media,
.vs-faq-hero__shade { position: absolute; inset: 0; margin: 0; }
.vs-faq-hero__media .vs-composition-image { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.vs-faq-hero__shade { background: linear-gradient(0deg, rgba(7, 20, 12, .84), rgba(7, 20, 12, .16) 76%); }
.vs-faq-hero--image .vs-faq-hero__inner { position: relative; z-index: 1; width: min(calc(100% - 48px), 1240px); padding-block: clamp(128px, 14vw, 190px) clamp(62px, 7vw, 94px); }
.vs-faq-hero--image .vs-faq-hero__heading h1 { max-width: 920px; font-size: clamp(48px, 5.7vw, 84px); }

.vs-contact-channels > a {
	grid-template-rows: auto auto auto 1fr auto;
	align-content: start;
	gap: 0;
}
.vs-contact-channels small { align-self: auto; }
.vs-contact-channels h3 { max-width: 320px; margin: 14px 0 10px; font-size: clamp(25px, 2vw, 31px); line-height: 1.04; }
.vs-contact-channels p { max-width: 340px; margin: 0 0 24px; color: var(--vs-muted); font-size: 13px; line-height: 1.55; }
.vs-contact-channels strong { align-self: end; }

.vs-guide-hero { display: grid; min-height: min(830px, 86svh); grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr); background: var(--vs-paper); }
.vs-guide-hero__copy { display: flex; align-items: center; padding: clamp(118px, 10vw, 164px) clamp(26px, 5vw, 78px) clamp(64px, 7vw, 104px); }
.vs-guide-hero__copy-inner { width: min(100%, 650px); margin-left: auto; }
.vs-guide-hero .vs-breadcrumbs { margin-bottom: clamp(38px, 5vw, 68px); }
.vs-guide-hero h1 { max-width: 670px; margin: 12px 0 26px; font-size: clamp(58px, 6.4vw, 102px); line-height: .9; text-wrap: balance; }
.vs-guide-hero__lede { max-width: 610px; margin: 0 0 23px; color: var(--vs-night); font-family: var(--vs-heading); font-size: clamp(22px, 2.1vw, 31px); font-style: italic; line-height: 1.35; }
.vs-guide-hero__copy-inner > p:not(.vs-editorial-label, .vs-guide-hero__lede) { max-width: 590px; color: var(--vs-muted); font-size: 15px; line-height: 1.7; }
.vs-guide-actions { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: center; margin-top: 32px; }
.vs-guide-link { display: inline-flex; gap: 10px; align-items: center; padding-block: 9px; border-bottom: 1px solid currentColor; color: var(--vs-clay-dark); font-size: 11px; font-weight: 750; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.vs-guide-link:hover,
.vs-guide-link:focus-visible { color: var(--vs-night); }
.vs-guide-hero__media { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: var(--vs-forest); }
.vs-guide-hero__media::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 20, 12, .5), transparent 42%); content: ''; }
.vs-guide-hero__media .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-guide-hero__media figcaption { position: absolute; z-index: 1; right: 28px; bottom: 24px; left: 28px; color: rgba(255, 250, 240, .8); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.vs-guide-overview { padding: clamp(76px, 8vw, 122px) 0; background: var(--vs-cream); }
.vs-guide-overview + .vs-guide-overview { padding-top: 0; }
.vs-guide-overview h2,
.vs-guide-section-heading h2 { max-width: 1000px; margin: 12px 0 clamp(38px, 5vw, 66px); font-size: clamp(46px, 5.1vw, 76px); line-height: .97; text-wrap: balance; }
.vs-guide-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 60px); }
.vs-guide-columns p { margin: 0; color: var(--vs-muted); font-size: 15px; line-height: 1.74; }

.vs-guide-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr); background: var(--vs-night); color: var(--vs-white); }
.vs-guide-feature__media { min-height: 760px; margin: 0; overflow: hidden; }
.vs-guide-feature__media .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-guide-feature__copy { align-self: center; max-width: 760px; padding: clamp(70px, 8vw, 126px) clamp(32px, 7vw, 112px); }
.vs-guide-feature h2,
.vs-guide-tier h2 { margin: 12px 0 26px; color: inherit; font-size: clamp(48px, 5vw, 76px); line-height: .95; }
.vs-guide-stats { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 0 0 27px; padding-block: 13px; border-block: 1px solid currentColor; color: var(--vs-clay-dark); }
.vs-guide-feature .vs-guide-stats { color: var(--vs-gold); }
.vs-guide-stats span { padding: 0 14px; font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.vs-guide-stats span:first-child { padding-left: 0; }
.vs-guide-stats span + span { border-left: 1px solid currentColor; }
.vs-guide-dek { margin: 0 0 30px; color: inherit; font-size: 16px; line-height: 1.73; }
.vs-guide-feature .vs-guide-dek { color: rgba(255, 250, 240, .78); }
.vs-guide-list { margin: 0; padding: 0; border-top: 1px solid rgba(119, 111, 95, .34); list-style: none; }
.vs-guide-list li { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr); gap: 22px; padding: 20px 0; border-bottom: 1px solid rgba(119, 111, 95, .34); }
.vs-guide-list strong { font-family: var(--vs-heading); font-size: 22px; font-weight: 500; line-height: 1.08; }
.vs-guide-list span { color: var(--vs-muted); font-size: 13px; line-height: 1.62; }
.vs-guide-feature .vs-guide-list { border-color: rgba(255, 250, 240, .2); }
.vs-guide-feature .vs-guide-list li { border-color: rgba(255, 250, 240, .2); }
.vs-guide-feature .vs-guide-list span { color: rgba(255, 250, 240, .68); }

.vs-guide-landmarks { padding: clamp(82px, 9vw, 138px) 0; background: var(--vs-paper); }
.vs-guide-section-heading { max-width: 1060px; margin-bottom: clamp(48px, 6vw, 82px); }
.vs-guide-section-heading > p:last-child { max-width: 760px; color: var(--vs-muted); font-size: 16px; line-height: 1.72; }
.vs-guide-landmarks__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--vs-line); border-left: 1px solid var(--vs-line); }
.vs-guide-landmarks__grid article { display: flex; grid-column: span 2; flex-direction: column; min-height: 340px; border-right: 1px solid var(--vs-line); border-bottom: 1px solid var(--vs-line); }
.vs-guide-landmarks__grid article:nth-child(4),
.vs-guide-landmarks__grid article:nth-child(5) { grid-column: span 3; }
.vs-guide-landmark__body { display: flex; flex: 1; flex-direction: column; padding: clamp(26px, 3vw, 42px); }
.vs-guide-landmark__body > span { color: var(--vs-clay-dark); font-size: 9px; font-weight: 750; letter-spacing: .13em; }
.vs-guide-landmarks__grid h3 { margin: clamp(50px, 6vw, 82px) 0 18px; font-size: clamp(30px, 3vw, 44px); line-height: 1; }
/* 29/09/2026: foto opcional no topo de cada destaque; sem foto, o texto desce para alinhar com os vizinhos. */
.vs-guide-landmarks__grid article:not(.vs-guide-landmark--media) h3 { margin-top: auto; padding-top: clamp(50px, 6vw, 82px); }
.vs-guide-landmark__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--vs-stone); }
.vs-guide-landmarks__grid article:nth-child(4) .vs-guide-landmark__media,
.vs-guide-landmarks__grid article:nth-child(5) .vs-guide-landmark__media { aspect-ratio: 16 / 9; }
.vs-guide-landmark__media .vs-composition-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
/* Fotos verticais ficam em moldura vertical, inclusive no destaque largo final. */
.vs-guide-landmarks__grid article.vs-guide-landmark--portrait .vs-guide-landmark__media { align-self: center; width: min(72%, 340px); aspect-ratio: 4 / 5; }
.vs-guide-landmarks__grid article:nth-child(5).vs-guide-landmark--portrait { display: grid; grid-template-columns: minmax(0, .44fr) minmax(0, .56fr); }
.vs-guide-landmarks__grid article:nth-child(5).vs-guide-landmark--portrait .vs-guide-landmark__media { align-self: start; width: 100%; aspect-ratio: 4 / 5; }
.vs-guide-landmark--media:hover .vs-composition-image { transform: scale(1.035); }
.vs-guide-landmark--media h3 { margin-top: clamp(22px, 2.4vw, 32px); }
/* Quando a grade tem fotos, o card ainda sem foto vira um painel escuro, como os dados práticos do guia. */
.vs-guide-landmarks__grid:has(.vs-guide-landmark--media) article:not(.vs-guide-landmark--media) { background: var(--vs-forest); color: var(--vs-white); }
.vs-guide-landmarks__grid:has(.vs-guide-landmark--media) article:not(.vs-guide-landmark--media) .vs-guide-landmark__body > span { color: var(--vs-gold); }
.vs-guide-landmarks__grid:has(.vs-guide-landmark--media) article:not(.vs-guide-landmark--media) h3 { color: var(--vs-white); }
.vs-guide-landmarks__grid:has(.vs-guide-landmark--media) article:not(.vs-guide-landmark--media) p { color: rgba(255, 250, 240, .7); }
.vs-guide-landmarks__grid p { margin: 0; color: var(--vs-muted); font-size: 14px; line-height: 1.68; }

.vs-guide-intro { padding: clamp(54px, 6vw, 88px) 0; background: var(--vs-clay); color: var(--vs-white); }
.vs-guide-intro .vs-shell { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1.6fr); gap: clamp(32px, 7vw, 110px); align-items: start; }
.vs-guide-intro .vs-editorial-label { color: rgba(255, 250, 240, .72); }
.vs-guide-intro p:last-child { max-width: 920px; margin: 0; font-family: var(--vs-heading); font-size: clamp(25px, 2.7vw, 40px); line-height: 1.25; }

.vs-guide-tier { display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, 1fr); background: var(--vs-cream); }
.vs-guide-tier:nth-child(even) { background: var(--vs-paper); }
.vs-guide-tier__media { position: relative; min-height: 820px; padding: clamp(26px, 4vw, 58px); background: var(--vs-forest); color: var(--vs-white); }
.vs-guide-tier:nth-child(2) .vs-guide-tier__media { background: var(--vs-clay); }
.vs-guide-tier:nth-child(3) .vs-guide-tier__media { background: var(--vs-night); }
.vs-guide-tier__number { position: absolute; z-index: 2; top: clamp(28px, 4vw, 58px); left: clamp(28px, 4vw, 58px); font-family: var(--vs-heading); font-size: clamp(68px, 8vw, 124px); line-height: .8; text-shadow: 0 2px 24px rgba(0, 0, 0, .22); }
.vs-guide-tier__images { display: grid; height: 100%; padding-top: clamp(92px, 10vw, 142px); }
.vs-guide-tier__images--duo { grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 16px; }
.vs-guide-tier__images figure { min-height: 0; margin: 0; overflow: hidden; }
.vs-guide-tier__images .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-guide-tier__copy { align-self: center; max-width: 760px; padding: clamp(72px, 8vw, 128px) clamp(34px, 7vw, 116px); }
.vs-guide-tier--reverse .vs-guide-tier__media { order: 2; }
.vs-guide-tier--reverse .vs-guide-tier__copy { margin-left: auto; }
.vs-guide-tier .vs-guide-dek { color: var(--vs-muted); }

.vs-guide-facts { padding: clamp(70px, 8vw, 116px) 0; background: var(--vs-forest); color: var(--vs-white); }
.vs-guide-facts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 250, 240, .24); border-left: 1px solid rgba(255, 250, 240, .24); }
.vs-guide-facts article { min-height: 310px; padding: clamp(28px, 4vw, 52px); border-right: 1px solid rgba(255, 250, 240, .24); border-bottom: 1px solid rgba(255, 250, 240, .24); }
.vs-guide-facts h3 { margin: 0 0 clamp(46px, 6vw, 76px); color: var(--vs-gold); font-family: var(--vs-body); font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.vs-guide-facts strong { display: block; margin-bottom: 22px; color: var(--vs-white); font-family: var(--vs-heading); font-size: clamp(40px, 4vw, 60px); font-weight: 500; line-height: 1; }
.vs-guide-facts p { margin: 0; color: rgba(255, 250, 240, .7); font-size: 14px; line-height: 1.65; }

.vs-guide-logistics { padding: clamp(84px, 9vw, 140px) 0; background: var(--vs-paper); }
.vs-guide-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 30px; border-top: 1px solid var(--vs-line); border-left: 1px solid var(--vs-line); }
.vs-guide-routes article { min-height: 300px; padding: clamp(28px, 3.5vw, 46px); border-right: 1px solid var(--vs-line); border-bottom: 1px solid var(--vs-line); }
.vs-guide-routes article > span { color: var(--vs-clay-dark); font-size: 9px; font-weight: 750; letter-spacing: .13em; }
.vs-guide-routes strong { display: block; margin: 54px 0 20px; font-family: var(--vs-heading); font-size: clamp(31px, 3vw, 44px); font-weight: 500; line-height: 1; }
.vs-guide-routes p { margin: 0; color: var(--vs-muted); font-size: 14px; line-height: 1.68; }
.vs-guide-overview--guides { padding-block: clamp(82px, 9vw, 136px); background: var(--vs-cream); }

.vs-guide-stay { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr); background: var(--vs-night); color: var(--vs-white); }
.vs-guide-stay > figure { min-height: 700px; margin: 0; overflow: hidden; }
.vs-guide-stay > figure .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-guide-stay__copy { align-self: center; max-width: 760px; padding: clamp(72px, 8vw, 126px) clamp(34px, 7vw, 112px); }
.vs-guide-stay h2 { margin: 12px 0 28px; color: var(--vs-white); font-size: clamp(48px, 5vw, 76px); line-height: .96; }
.vs-guide-stay__copy > p:not(.vs-editorial-label) { color: rgba(255, 250, 240, .72); font-size: 15px; line-height: 1.72; }
.vs-guide-stay .vs-button { margin-top: 18px; }

.vs-guide-faq { padding: clamp(82px, 9vw, 138px) 0; background: var(--vs-paper); }
.vs-guide-faq h2 { max-width: 920px; margin: 12px 0 clamp(42px, 5vw, 68px); font-size: clamp(46px, 5vw, 74px); line-height: .97; }
.vs-guide-faq__list { max-width: 980px; border-top: 1px solid var(--vs-line); }
.vs-guide-faq details { border-bottom: 1px solid var(--vs-line); }
.vs-guide-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 24px; align-items: center; padding: 24px 0; cursor: pointer; font-family: var(--vs-heading); font-size: clamp(23px, 2.2vw, 32px); line-height: 1.15; list-style: none; }
.vs-guide-faq summary::-webkit-details-marker { display: none; }
.vs-guide-faq summary span { color: var(--vs-clay-dark); font-family: var(--vs-body); font-size: 22px; text-align: center; transition: transform .2s ease; }
.vs-guide-faq details[open] summary span { transform: rotate(45deg); }
.vs-guide-faq details p { max-width: 820px; margin: 0; padding: 0 50px 28px 0; color: var(--vs-muted); font-size: 15px; line-height: 1.72; }

.vs-guide-closer { padding: clamp(90px, 11vw, 170px) 0; background: var(--vs-clay); color: var(--vs-white); text-align: center; }
.vs-guide-closer .vs-shell { display: flex; align-items: center; flex-direction: column; }
.vs-guide-closer h2 { max-width: 1050px; margin: 0; color: var(--vs-white); font-size: clamp(62px, 8.5vw, 136px); line-height: .86; }
.vs-guide-closer p { max-width: 620px; margin: 32px auto; color: rgba(255, 250, 240, .78); font-size: 16px; line-height: 1.7; }

@media (max-width: 980px) {
	.vs-guide-hero,
	.vs-guide-feature,
	.vs-guide-tier,
	.vs-guide-stay { grid-template-columns: 1fr; }
	.vs-guide-hero { min-height: 0; }
	.vs-guide-hero__copy { padding-top: 132px; }
	.vs-guide-hero__copy-inner { width: 100%; max-width: 760px; margin-inline: auto; }
	.vs-guide-hero__media { min-height: 72svh; }
	.vs-guide-feature__media,
	.vs-guide-tier__media,
	.vs-guide-stay > figure { min-height: 620px; }
	.vs-guide-tier--reverse .vs-guide-tier__media { order: 0; }
	.vs-guide-tier--reverse .vs-guide-tier__copy { margin-left: 0; }
	.vs-guide-columns { grid-template-columns: 1fr; gap: 22px; }
	.vs-guide-landmarks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-guide-landmarks__grid article,
	.vs-guide-landmarks__grid article:nth-child(4),
	.vs-guide-landmarks__grid article:nth-child(5) { grid-column: span 1; }
	.vs-guide-landmarks__grid article:last-child { grid-column: 1 / -1; }
	.vs-guide-landmarks__grid article:nth-child(4) .vs-guide-landmark__media { aspect-ratio: 4 / 3; }
	.vs-guide-landmarks__grid article:last-child .vs-guide-landmark__media { aspect-ratio: 21 / 9; }
	.vs-guide-landmarks__grid article:last-child.vs-guide-landmark--portrait .vs-guide-landmark__media { aspect-ratio: 4 / 5; }
	.vs-guide-intro .vs-shell { grid-template-columns: 1fr; gap: 20px; }
	.vs-guide-facts__grid,
	.vs-guide-routes { grid-template-columns: 1fr; }
	.vs-guide-facts article,
	.vs-guide-routes article { min-height: 0; }
	.vs-guide-facts h3,
	.vs-guide-routes strong { margin-top: 0; margin-bottom: 24px; }
}

@media (max-width: 640px) {
	.vs-faq-hero--image { min-height: 540px; }
	.vs-faq-hero--image .vs-faq-hero__inner { width: min(calc(100% - 32px), 1240px); padding-block: 112px 54px; }
	.vs-faq-hero--image .vs-faq-hero__heading h1 { font-size: clamp(39px, 11.4vw, 50px); }
	.vs-contact-channels h3 { font-size: 25px; }
	.vs-contact-channels p { font-size: 13px; }
	.vs-guide-hero__copy { padding: 112px 16px 58px; }
	.vs-guide-hero .vs-breadcrumbs { margin-bottom: 38px; }
	.vs-guide-hero h1 { font-size: clamp(50px, 15vw, 68px); }
	.vs-guide-hero__lede { font-size: 22px; }
	.vs-guide-actions { align-items: stretch; flex-direction: column; }
	.vs-guide-actions .vs-button,
	.vs-guide-actions .vs-guide-link { justify-content: center; text-align: center; }
	.vs-guide-hero__media { min-height: 620px; }
	.vs-guide-overview,
	.vs-guide-landmarks,
	.vs-guide-logistics,
	.vs-guide-overview--guides,
	.vs-guide-faq { padding-block: 62px; }
	.vs-guide-overview + .vs-guide-overview { padding-top: 0; }
	.vs-guide-overview h2,
	.vs-guide-section-heading h2,
	.vs-guide-faq h2 { font-size: clamp(39px, 11.5vw, 50px); }
	.vs-guide-feature__media,
	.vs-guide-tier__media,
	.vs-guide-stay > figure { min-height: 112vw; }
	.vs-guide-feature__copy,
	.vs-guide-tier__copy,
	.vs-guide-stay__copy { padding: 58px 16px; }
	.vs-guide-feature h2,
	.vs-guide-tier h2,
	.vs-guide-stay h2 { font-size: clamp(41px, 12vw, 53px); }
	.vs-guide-stats span { padding-inline: 9px; font-size: 8px; }
	.vs-guide-list li { grid-template-columns: 1fr; gap: 8px; }
	.vs-guide-landmarks__grid { grid-template-columns: 1fr; }
	.vs-guide-landmarks__grid article,
	.vs-guide-landmarks__grid article:last-child { min-height: 0; grid-column: auto; }
	.vs-guide-landmark__body { padding: 26px 20px; }
	.vs-guide-landmarks__grid h3 { margin: 42px 0 15px; }
	.vs-guide-landmarks__grid article:not(.vs-guide-landmark--media) h3 { margin-top: 0; padding-top: 42px; }
	.vs-guide-landmarks__grid article .vs-guide-landmark__media { aspect-ratio: 3 / 2; }
	.vs-guide-landmarks__grid article:nth-child(5).vs-guide-landmark--portrait { display: flex; flex-direction: column; }
	.vs-guide-landmarks__grid article.vs-guide-landmark--portrait .vs-guide-landmark__media,
	.vs-guide-landmarks__grid article:nth-child(5).vs-guide-landmark--portrait .vs-guide-landmark__media { width: 100%; aspect-ratio: 4 / 5; }
	.vs-guide-landmark--media h3 { margin-top: 20px; }
	.vs-guide-intro { padding-block: 50px; }
	.vs-guide-tier__media { padding: 16px; }
	.vs-guide-tier__number { top: 26px; left: 26px; }
	.vs-guide-tier__images { padding-top: 90px; }
	.vs-guide-tier__images--duo { gap: 10px; }
	.vs-guide-facts { padding-block: 56px; }
	.vs-guide-facts article,
	.vs-guide-routes article { padding: 28px 20px; }
	.vs-guide-faq summary { grid-template-columns: minmax(0, 1fr) 22px; gap: 14px; padding-block: 21px; font-size: 23px; }
	.vs-guide-faq details p { padding: 0 28px 24px 0; font-size: 14px; }
	.vs-guide-closer h2 { font-size: clamp(58px, 18vw, 82px); }
}

/*
 * Refinamento editorial 1.15.1.
 * Rótulos de bastidor, folios e linhas decorativas repetidos foram removidos:
 * a hierarquia passa a depender de títulos, texto e fotografia reais.
 */
.vs-kicker,
.vs-composition-index,
.vs-composition-feature__number,
.vs-breakfast-note__number,
.vs-chapada-manifesto__number,
.vs-room-selector__number,
.vs-blog-spotlight__number,
.vs-blog-tile__number,
.vs-experience-slide__folio,
.vs-journey-step__number { display: none !important; }

/* A Pousada: duas colunas independentes. Texto e imagem nunca compartilham a mesma grade. */
.vs-guesthouse-story { padding: clamp(56px, 6vw, 92px) 0 clamp(76px, 8vw, 112px); }
.vs-guesthouse-chapter { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); column-gap: clamp(42px, 6vw, 96px); }
.vs-guesthouse-chapter__copy { max-width: 440px; }
.vs-guesthouse-chapter__copy h2 { margin: 0 0 20px; font-size: clamp(40px, 3.9vw, 58px); line-height: 1.02; }
.vs-guesthouse-chapter__copy .vs-richtext { max-width: 430px; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy { grid-column: 1; grid-row: 1; padding: 0; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media { grid-column: 2; grid-row: 1; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail { right: 2%; bottom: -13%; width: min(19vw, 250px); }
.vs-guesthouse-chapter--landscape { grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); margin-top: clamp(104px, 11vw, 158px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media { grid-column: 1; grid-row: 1; }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 2; grid-row: 1; padding: 0; }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { right: 5%; bottom: -11%; width: min(18vw, 235px); }
.vs-composition-feature__inner,
.vs-breakfast-note__inner,
.vs-chapada-manifesto__inner,
.vs-experience-planning__inner { grid-template-columns: minmax(0, 780px); }
.vs-room-selector__slide { grid-template-columns: minmax(0, 1fr); }
.vs-journey-step { grid-template-columns: minmax(0, 1fr); }
.vs-chapada-path--conditions .vs-chapada-path__copy { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.vs-chapada-path--conditions h2 { grid-column: 1; grid-row: 1; }
.vs-chapada-path--conditions .vs-richtext { grid-column: 2; grid-row: 1; }

@media (max-width: 880px) {
	.vs-guesthouse-chapter,
	.vs-guesthouse-chapter--landscape { grid-template-columns: 1fr; gap: 30px; }
	.vs-guesthouse-chapter__copy { max-width: 620px; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy,
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 1; grid-row: auto; padding: 0; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { width: min(52vw, 330px); }
	.vs-chapada-path--conditions .vs-chapada-path__copy { grid-template-columns: 1fr; }
	.vs-chapada-path--conditions h2,
	.vs-chapada-path--conditions .vs-richtext { grid-column: 1; grid-row: auto; }
}

@media (max-width: 640px) {
	.vs-guesthouse-story { padding-block: 48px 68px; }
	.vs-guesthouse-chapter__copy h2 { font-size: clamp(36px, 10.4vw, 46px); }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { width: min(64vw, 300px); }
}

/* Client page set — 2026-09-23. */
.vs-lodge-look { padding: clamp(62px, 7vw, 104px) 0; overflow: hidden; background: var(--vs-cream); }
.vs-lodge-look__heading { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: clamp(32px, 7vw, 110px); align-items: start; margin-bottom: clamp(38px, 5vw, 66px); }
.vs-lodge-look__heading h2 { max-width: 870px; margin: 0; font-size: clamp(40px, 4.6vw, 66px); line-height: .99; }
.vs-lodge-look__carousel { position: relative; }
.vs-lodge-look__slide { position: relative; min-width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--vs-stone); }
.vs-lodge-look__slide .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-lodge-look__slide figcaption { position: absolute; right: 18px; bottom: 16px; padding: 8px 11px; background: rgba(12, 28, 18, .76); color: var(--vs-white); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.vs-lodge-look .vs-carousel__controls { justify-content: flex-end; padding-top: 20px; }
.vs-lodge-stay__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.vs-lodge-stay-card { grid-column: span 2; }
.vs-lodge-stay-card:nth-child(n + 4) { grid-column: span 3; }

.vs-wellness-stories { background: var(--vs-paper); }
.vs-wellness-story { padding: clamp(68px, 8vw, 124px) 0; border-bottom: 1px solid var(--vs-line); }
.vs-wellness-story:nth-child(even) { background: var(--vs-cream); }
.vs-wellness-story__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(42px, 8vw, 122px); align-items: center; }
.vs-wellness-story--reverse .vs-wellness-story__media { order: 2; }
.vs-wellness-story__media { height: clamp(440px, 48vw, 690px); min-height: 0; margin: 0; overflow: hidden; background: var(--vs-stone); }
.vs-wellness-story__media .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-wellness-story__copy { max-width: 620px; }
.vs-wellness-story__number { margin: 0 0 clamp(40px, 5vw, 70px); padding-top: 10px; border-top: 1px solid var(--vs-line); color: var(--vs-clay-dark); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.vs-wellness-story__copy h2 { margin: 10px 0 24px; font-size: clamp(43px, 4.7vw, 68px); line-height: .98; }
.vs-wellness-story__copy .vs-richtext { color: var(--vs-muted); }
.vs-wellness-story--text { padding-block: clamp(86px, 10vw, 150px); background: var(--vs-night) !important; color: var(--vs-white); }
.vs-wellness-story--text .vs-wellness-story__layout { display: block; }
.vs-wellness-story--text .vs-wellness-story__copy { max-width: 920px; margin-inline: auto; }
.vs-wellness-story--text .vs-wellness-story__number { border-color: rgba(255,255,255,.24); color: var(--vs-gold); }
.vs-wellness-story--text h2 { color: var(--vs-white); }
.vs-wellness-story--text .vs-richtext { max-width: 720px; color: rgba(255,250,240,.76); }
.vs-wellness-closing { padding: clamp(64px, 7vw, 104px) 0; background: var(--vs-forest); color: var(--vs-white); }
.vs-wellness-closing__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: clamp(44px, 8vw, 120px); align-items: center; }
.vs-wellness-closing h2 { max-width: 700px; margin: 10px 0 0; color: var(--vs-white); font-size: clamp(38px, 4vw, 58px); }
.vs-wellness-closing .vs-richtext { color: rgba(255,250,240,.76); }
.vs-wellness-closing .vs-button { margin-top: 18px; }

.vs-contact-map { padding: clamp(70px, 8vw, 120px) 0; background: var(--vs-cream); }
.vs-contact-map__layout { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 8vw, 120px); align-items: center; }
.vs-contact-map__copy { max-width: 540px; }
.vs-contact-map__copy h2 { margin: 10px 0 22px; font-size: clamp(40px, 4.4vw, 63px); line-height: .99; }
.vs-contact-map__copy > p:not(.vs-editorial-label),
.vs-contact-map__copy address { color: var(--vs-muted); font-size: 15px; line-height: 1.68; }
.vs-contact-map__copy address { margin: 26px 0 20px; padding-top: 20px; border-top: 1px solid var(--vs-line); font-style: normal; }

.vs-journal { padding: clamp(68px, 8vw, 124px) 0; background: var(--vs-cream); }
.vs-journal__intro { max-width: 780px; margin: 0 auto clamp(78px, 9vw, 132px); color: var(--vs-night); font-size: clamp(18px, 1.55vw, 23px); line-height: 1.75; }
.vs-journal__intro p + p { margin-top: 1.25em; }
.vs-journal__heading { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: clamp(32px, 7vw, 110px); align-items: start; margin-bottom: clamp(44px, 5vw, 72px); }
.vs-journal__heading h2 { max-width: 900px; margin: 0; font-size: clamp(40px, 4.5vw, 66px); line-height: .99; }
.vs-journal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(26px, 3vw, 44px) clamp(18px, 2.4vw, 34px); }
.vs-journal-card { display: flex; min-width: 0; flex-direction: column; border-top: 1px solid var(--vs-line); }
.vs-journal-card__media,
.vs-journal-card__placeholder { display: grid; width: 100%; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: var(--vs-forest); place-items: center; }
.vs-journal-card__media .vs-composition-image { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.vs-journal-card.is-published:hover .vs-journal-card__media .vs-composition-image { transform: scale(1.025); }
.vs-journal-card__placeholder { background: radial-gradient(circle at 70% 24%, rgba(204,157,72,.23), transparent 26%), linear-gradient(145deg, var(--vs-forest), var(--vs-night)); color: rgba(255,250,240,.5); }
.vs-journal-card__placeholder span { font-family: var(--vs-heading); font-size: clamp(54px, 7vw, 96px); }
.vs-journal-card__copy { display: flex; flex: 1; flex-direction: column; padding-top: 24px; }
.vs-journal-card__meta { display: flex; justify-content: space-between; gap: 20px; margin: 0 0 17px; color: var(--vs-clay-dark); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.vs-journal-card h2 { margin: 0 0 16px; font-size: clamp(29px, 2.75vw, 40px); line-height: 1.03; }
.vs-journal-card h2 a { color: inherit; text-decoration: none; }
.vs-journal-card__copy > p:not(.vs-journal-card__meta, .vs-journal-card__status) { color: var(--vs-muted); font-size: 14px; line-height: 1.65; }
.vs-journal-card .vs-text-link,
.vs-journal-card__status { margin-top: auto; padding-top: 21px; }
.vs-journal-card__status { color: var(--vs-clay-dark); font-size: 9px; font-weight: 700; letter-spacing: .14em; }

.vs-destination-intro--alternate { margin-top: clamp(48px, 6vw, 84px); padding-top: clamp(48px, 6vw, 84px); border-top: 1px solid var(--vs-line); }
.vs-destination-practical__panel .vs-richtext { color: rgba(255,250,240,.76); }
.vs-destination-practical__panel .vs-richtext p + p { margin-top: 1em; }
.vs-destination-practical__panel .vs-text-link { margin-top: 22px; }
.vs-destination-guides__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vs-destination-guide-card--copy > div { display: block; min-height: 0; }
.vs-destination-guide-card--copy h3 { margin: 10px 0 18px; }
.vs-destination-guide-card--copy .vs-richtext { color: var(--vs-muted); font-size: 14px; line-height: 1.68; }

@media (max-width: 980px) {
	.vs-lodge-look__heading,
	.vs-journal__heading,
	.vs-wellness-story__layout,
	.vs-wellness-closing__inner,
	.vs-contact-map__layout { grid-template-columns: 1fr; }
	.vs-lodge-stay__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-lodge-stay-card,
	.vs-lodge-stay-card:nth-child(n + 4) { grid-column: auto; }
	.vs-wellness-story--reverse .vs-wellness-story__media { order: 0; }
	.vs-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-contact-map__copy { max-width: 700px; }
}

@media (max-width: 640px) {
	.vs-lodge-look { padding-block: 52px; }
	.vs-lodge-look__heading { gap: 12px; margin-bottom: 32px; }
	.vs-lodge-look__heading h2,
	.vs-journal__heading h2 { font-size: clamp(35px, 10vw, 44px); }
	.vs-lodge-look__slide { aspect-ratio: 4 / 5; }
	.vs-lodge-stay__grid,
	.vs-journal__grid { grid-template-columns: 1fr; }
	.vs-wellness-story { padding-block: 54px; }
	.vs-wellness-story__layout { gap: 32px; }
	.vs-wellness-story__media { height: 105vw; min-height: 0; }
	.vs-wellness-story__copy h2 { font-size: clamp(37px, 10.8vw, 47px); }
	.vs-wellness-closing { padding-block: 52px; }
	.vs-contact-map { padding-block: 54px; }
	.vs-contact-map__layout { gap: 34px; }
	.vs-contact-map .vs-directions-map__frame { width: calc(100% + 32px); margin-left: -16px; }
	.vs-journal { padding-block: 54px; }
	.vs-journal__intro { margin-bottom: 68px; font-size: 17px; }
	.vs-journal__heading { gap: 12px; margin-bottom: 36px; }
	.vs-journal__grid { gap: 52px; }
	.vs-journal-card h2 { font-size: clamp(31px, 9.5vw, 41px); }
	.vs-destination-guides__rail { display: grid; grid-template-columns: 1fr; padding-right: 0; overflow: visible; }
	.vs-destination-guide-card { width: 100%; }
}

/* Como chegar — mapa e todas as alternativas na mesma página. */
.vs-page--como-chegar .vs-inner-hero--utility.vs-inner-hero--immersive,
.vs-page--getting-here .vs-inner-hero--utility.vs-inner-hero--immersive { min-height: min(430px, 58svh); }
.vs-page--como-chegar .vs-inner-hero h1,
.vs-page--getting-here .vs-inner-hero h1 { font-size: clamp(44px, 5vw, 66px); }

.vs-directions-map { padding: clamp(56px, 6.5vw, 92px) 0; background: var(--vs-paper); }
.vs-directions-map__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: clamp(28px, 6vw, 96px); align-items: end; margin-bottom: clamp(28px, 4vw, 48px); }
.vs-directions-map__heading h2,
.vs-directions-options__heading h2 { max-width: 790px; margin: 10px 0 0; color: var(--vs-ink); font-size: clamp(38px, 4.1vw, 58px); font-weight: 400; line-height: 1.02; }
.vs-directions-map__heading address { max-width: 430px; margin: 0; color: var(--vs-muted); font-size: 14px; font-style: normal; line-height: 1.65; }
.vs-directions-map__frame { position: relative; width: 100%; height: clamp(390px, 43vw, 560px); overflow: hidden; background: var(--vs-forest); }
.vs-directions-map__frame iframe { width: 100%; height: 100%; border: 0; }
.vs-directions-map__placeholder { position: absolute; inset: 0; z-index: 1; display: grid; padding: clamp(28px, 5vw, 70px); background: var(--vs-forest); color: var(--vs-white); place-items: center; text-align: center; }
.vs-directions-map__placeholder::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
	background-size: 56px 56px;
	content: '';
}
.vs-directions-map__placeholder > div { position: relative; z-index: 1; display: grid; max-width: 520px; gap: 20px; justify-items: center; }
.vs-directions-map__placeholder p { margin: 0; color: rgba(255, 250, 240, .78); }
.vs-directions-map__frame.is-loaded .vs-directions-map__placeholder { display: none; }

.vs-directions-options { padding: clamp(64px, 7.5vw, 108px) 0; background: var(--vs-cream); }
.vs-directions-options__heading { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: clamp(24px, 5vw, 74px); align-items: start; margin-bottom: clamp(38px, 5vw, 64px); }
.vs-directions-options__heading .vs-editorial-label { margin-top: 12px; }
.vs-directions-options__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--vs-line); border-left: 1px solid var(--vs-line); }
.vs-directions-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; min-width: 0; padding: clamp(28px, 4vw, 50px); border-right: 1px solid var(--vs-line); border-bottom: 1px solid var(--vs-line); background: var(--vs-paper); }
.vs-directions-card__number { margin: 7px 0 0; color: var(--vs-clay); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.vs-directions-card .vs-kicker { display: block !important; margin-bottom: 10px; }
.vs-directions-card h3 { margin: 0 0 16px; color: var(--vs-ink); font-size: clamp(29px, 2.9vw, 41px); font-weight: 400; line-height: 1.08; }
.vs-directions-card .vs-richtext { color: var(--vs-muted); font-size: 14px; line-height: 1.65; }
.vs-directions-card .vs-richtext p { margin-bottom: 12px; }
.vs-directions-card .vs-text-link { margin-top: 16px; }

.vs-directions-arrival { padding: clamp(56px, 6.5vw, 88px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-directions-arrival__inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(38px, 7vw, 100px); align-items: center; }
.vs-directions-arrival__copy .vs-kicker { display: block !important; color: var(--vs-gold); }
.vs-directions-arrival__copy h2 { max-width: 700px; margin: 12px 0 18px; color: var(--vs-white); font-size: clamp(38px, 4vw, 56px); font-weight: 400; line-height: 1.02; }
.vs-directions-arrival__copy .vs-richtext { max-width: 680px; color: rgba(255, 250, 240, .72); }
.vs-directions-arrival__actions { display: grid; gap: 24px; }
.vs-directions-arrival__actions address { padding-top: 20px; border-top: 1px solid var(--vs-line-light); color: rgba(255, 250, 240, .82); font-size: 14px; font-style: normal; line-height: 1.65; }
.vs-directions-arrival__actions .vs-button { width: 100%; }

@media (max-width: 880px) {
	.vs-directions-map__heading,
	.vs-directions-options__heading,
	.vs-directions-arrival__inner { grid-template-columns: 1fr; }
	.vs-directions-options__grid { grid-template-columns: 1fr; }
	.vs-directions-map__frame { height: min(68vw, 480px); }
}

@media (max-width: 640px) {
	.vs-page--como-chegar .vs-inner-hero--utility.vs-inner-hero--immersive,
	.vs-page--getting-here .vs-inner-hero--utility.vs-inner-hero--immersive { min-height: 390px; }
	.vs-page--como-chegar .vs-inner-hero h1,
	.vs-page--getting-here .vs-inner-hero h1 { font-size: clamp(37px, 10.6vw, 46px); }
	.vs-directions-map { padding-block: 52px; }
	.vs-directions-map__heading h2,
	.vs-directions-options__heading h2 { font-size: clamp(35px, 10vw, 44px); }
	.vs-directions-map__frame { height: 390px; }
	.vs-directions-map__placeholder { padding: 24px 18px; }
	.vs-directions-options { padding-block: 54px; }
	.vs-directions-card { grid-template-columns: 28px minmax(0, 1fr); gap: 11px; padding: 26px 18px; }
	.vs-directions-card h3 { font-size: clamp(29px, 8.7vw, 37px); }
	.vs-directions-arrival { padding-block: 52px; }
	.vs-directions-arrival__copy h2 { font-size: clamp(35px, 10vw, 44px); }
}

/*
 * 1.16.0 — reconstrução editorial fotográfica.
 * Componentes novos substituem os palcos tipográficos da versão anterior sem
 * associar fotografias gerais a categorias de acomodação ainda não mapeadas.
 */
.vs-editorial-label {
	margin: 0 0 14px;
	color: var(--vs-clay-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.vs-lodge-story__primary,
.vs-lodge-story__detail,
.vs-lodge-stay-card__media,
.vs-lodge-location__media,
.vs-room-photo-mosaic figure,
.vs-room-category-scene__media,
.vs-destination-collage figure,
.vs-destination-practical__media,
.vs-destination-guide-card figure,
.vs-activity-slide__media,
.vs-room-detail-hero__media,
.vs-room-detail-gallery__item,
.vs-room-detail-next__media {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: var(--vs-stone);
}

.vs-lodge-story__visuals .vs-composition-image,
.vs-lodge-stay-card__media .vs-composition-image,
.vs-lodge-location__media .vs-composition-image,
.vs-room-photo-mosaic .vs-composition-image,
.vs-room-category-scene__media .vs-composition-image,
.vs-destination-collage .vs-composition-image,
.vs-destination-practical__media .vs-composition-image,
.vs-destination-guide-card .vs-composition-image,
.vs-activity-slide__media .vs-composition-image,
.vs-room-detail-gallery__item .vs-composition-image,
.vs-room-detail-next__media .vs-composition-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* A Pousada — narrativa do cliente dentro da identidade editorial existente. */
.vs-page--a-pousada .vs-inner-hero--immersive,
.vs-page--guesthouse .vs-inner-hero--immersive {
	min-height: clamp(620px, 78svh, 820px);
	padding: 110px 0 clamp(50px, 7vw, 86px);
}
.vs-page--a-pousada .vs-inner-hero--immersive .vs-inner-hero__shade,
.vs-page--guesthouse .vs-inner-hero--immersive .vs-inner-hero__shade {
	background: rgba(8, 22, 13, .46);
}
.vs-page--a-pousada .vs-inner-hero--immersive .vs-inner-hero__content,
.vs-page--guesthouse .vs-inner-hero--immersive .vs-inner-hero__content { max-width: 740px; }
.vs-page--a-pousada .vs-inner-hero--immersive h1,
.vs-page--guesthouse .vs-inner-hero--immersive h1 {
	max-width: 720px;
	font-size: clamp(43px, 5.25vw, 70px);
	line-height: .98;
}
.vs-page--a-pousada .vs-inner-hero--immersive .vs-inner-hero__intro,
.vs-page--guesthouse .vs-inner-hero--immersive .vs-inner-hero__intro { max-width: 560px; font-size: clamp(16px, 1.15vw, 18px); }

.vs-lodge-story { padding: clamp(76px, 9vw, 136px) 0 clamp(96px, 11vw, 164px); background: var(--vs-paper); }
.vs-lodge-story__layout {
	display: grid;
	grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
	gap: clamp(54px, 9vw, 138px);
	align-items: center;
}
.vs-lodge-story__copy { max-width: 540px; }
.vs-lodge-story__copy h2 { margin: 0 0 28px; font-size: clamp(44px, 4.65vw, 68px); line-height: .98; }
.vs-lodge-story__copy .vs-richtext { color: var(--vs-muted); }
.vs-lodge-story__copy .vs-richtext p + p { margin-top: 1.1em; }
.vs-lodge-story__visuals { position: relative; min-width: 0; padding: 0 clamp(40px, 6vw, 88px) clamp(54px, 7vw, 104px) 0; }
.vs-lodge-story__primary { aspect-ratio: 4 / 3; }
.vs-lodge-story__detail {
	position: absolute;
	right: 0;
	bottom: 0;
	width: clamp(190px, 34%, 320px);
	aspect-ratio: 4 / 5;
	border: clamp(7px, .8vw, 12px) solid var(--vs-paper);
}

.vs-lodge-values { padding: 0 0 clamp(86px, 9vw, 136px); background: var(--vs-paper); color: var(--vs-night); }
.vs-lodge-values__layout {
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
	gap: clamp(44px, 7vw, 108px);
	align-items: start;
	padding: clamp(42px, 5.2vw, 76px);
	border-top: 3px solid var(--vs-gold);
	background: var(--vs-cream);
}
.vs-lodge-values__heading { max-width: 520px; }
.vs-lodge-values .vs-editorial-label { margin-bottom: clamp(18px, 2vw, 28px); color: var(--vs-rust); }
.vs-lodge-values h2 { max-width: 520px; margin: 0; color: var(--vs-night); font-size: clamp(43px, 4.7vw, 68px); line-height: .98; }
.vs-lodge-values__copy { max-width: 650px; padding-top: clamp(31px, 3.1vw, 46px); border-top: 1px solid var(--vs-line); }
.vs-lodge-values .vs-richtext { color: var(--vs-muted); }
.vs-lodge-values .vs-richtext p:first-child { margin-top: 0; color: var(--vs-night); font-size: clamp(17px, 1.25vw, 19px); line-height: 1.62; }
.vs-lodge-values .vs-richtext p + p { margin-top: 1.15em; }

.vs-lodge-stay { padding: clamp(82px, 9vw, 132px) 0; background: var(--vs-cream); }
.vs-lodge-stay__heading { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: clamp(42px, 8vw, 124px); align-items: start; margin-bottom: clamp(48px, 6vw, 86px); }
.vs-lodge-stay__heading h2 { max-width: 870px; margin: 0; font-size: clamp(43px, 4.8vw, 70px); line-height: .98; }
.vs-lodge-stay__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.4vw, 38px); }
.vs-lodge-stay-card { display: flex; min-width: 0; flex-direction: column; border-top: 1px solid var(--vs-line); }
.vs-lodge-stay-card__media { aspect-ratio: 4 / 3; }
.vs-lodge-stay-card__copy { display: flex; flex: 1; flex-direction: column; padding: clamp(24px, 3vw, 38px) 0 0; }
.vs-lodge-stay-card h3 { margin: 0 0 18px; font-size: clamp(31px, 3vw, 43px); line-height: 1.02; }
.vs-lodge-stay-card .vs-richtext { color: var(--vs-muted); font-size: 15px; }
.vs-lodge-stay-card .vs-text-link { margin-top: auto; padding-top: 20px; }

.vs-lodge-location { padding: clamp(88px, 10vw, 148px) 0; background: var(--vs-paper); }
.vs-lodge-location__layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(340px, .78fr); align-items: center; }
.vs-lodge-location__media { min-height: clamp(520px, 51vw, 720px); }
.vs-lodge-location__copy { position: relative; z-index: 2; margin-left: clamp(-112px, -8vw, -72px); padding: clamp(42px, 5.5vw, 74px); background: var(--vs-night); color: var(--vs-white); }
.vs-lodge-location__copy .vs-editorial-label { color: var(--vs-gold); }
.vs-lodge-location__copy h2 { margin: 0 0 22px; color: var(--vs-white); font-size: clamp(39px, 4vw, 58px); line-height: 1; }
.vs-lodge-location__copy .vs-richtext { color: rgba(255, 250, 240, .76); }
.vs-lodge-location__links { display: flex; flex-direction: column; margin-top: clamp(28px, 4vw, 46px); border-top: 1px solid rgba(255, 250, 240, .25); }
.vs-lodge-location__links a { display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid rgba(255, 250, 240, .25); color: var(--vs-white); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.vs-lodge-location__links a:hover,
.vs-lodge-location__links a:focus-visible { color: var(--vs-gold); }

/* Quartos — fotografias gerais e categorias sem associação inventada. */
.vs-room-mosaic-section { padding: clamp(72px, 8vw, 118px) 0 clamp(86px, 9vw, 138px); }
.vs-room-mosaic-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr); gap: clamp(42px, 8vw, 118px); align-items: end; margin-bottom: clamp(42px, 5vw, 72px); }
.vs-room-mosaic-heading h2 { max-width: 760px; margin: 0; font-size: clamp(43px, 4.8vw, 68px); line-height: .98; }
.vs-room-mosaic-heading > p { max-width: 520px; margin: 0; color: var(--vs-muted); font-size: 14px; }
.vs-room-photo-mosaic {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: minmax(300px, 28vw) minmax(190px, 19vw);
	gap: clamp(9px, 1vw, 16px);
}
.vs-room-photo-mosaic__item--1 { grid-column: 1 / 9; grid-row: 1; }
.vs-room-photo-mosaic__item--2 { grid-column: 9 / 13; grid-row: 1 / 3; }
.vs-room-photo-mosaic__item--3 { grid-column: 1 / 4; grid-row: 2; }
.vs-room-photo-mosaic__item--4 { grid-column: 4 / 7; grid-row: 2; }
.vs-room-photo-mosaic__item--5 { grid-column: 7 / 9; grid-row: 2; }
.vs-room-categories { padding: clamp(82px, 9vw, 132px) 0; background: var(--vs-cream); }
.vs-room-categories__heading { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: clamp(40px, 8vw, 120px); align-items: start; margin-bottom: clamp(52px, 7vw, 96px); }
.vs-room-categories__heading h2 { max-width: 900px; margin: 0; font-size: clamp(43px, 4.7vw, 68px); line-height: .99; }
.vs-room-categories__list { display: grid; gap: clamp(58px, 8vw, 116px); }
.vs-room-category-scene { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.vs-room-category-scene__media { grid-column: 1 / 9; grid-row: 1; min-height: clamp(430px, 43vw, 640px); color: var(--vs-white); text-decoration: none; }
.vs-room-category-scene__copy { grid-column: 9 / 13; grid-row: 1; padding-left: clamp(32px, 5vw, 74px); }
.vs-room-category-scene--reverse .vs-room-category-scene__media { grid-column: 5 / 13; }
.vs-room-category-scene--reverse .vs-room-category-scene__copy { grid-column: 1 / 5; padding-right: clamp(32px, 5vw, 74px); padding-left: 0; }
.vs-room-category-scene__count { margin: 0 0 28px; color: var(--vs-clay-dark); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.vs-room-category-scene h3 { margin: 0 0 20px; font-size: clamp(37px, 3.8vw, 54px); line-height: 1; }
.vs-room-category-scene .vs-richtext { color: var(--vs-muted); font-size: 15px; }
.vs-room-category-scene .vs-text-link { margin-top: 20px; }
.vs-room-category-scene__media--pending { display: grid; place-items: center; padding: clamp(26px, 5vw, 72px); background: var(--vs-forest); }
.vs-photo-requirement { max-width: 520px; padding: clamp(22px, 3vw, 38px); border: 1px solid rgba(255, 250, 240, .46); color: var(--vs-white); }
.vs-photo-requirement strong { display: block; color: var(--vs-gold); font-size: clamp(12px, 1.1vw, 15px); letter-spacing: .13em; line-height: 1.35; }
.vs-photo-requirement p { max-width: 430px; margin: 12px 0 0; color: rgba(255, 250, 240, .76); font-size: 14px; line-height: 1.55; }
.vs-room-reservation-band { padding: clamp(58px, 6vw, 88px) 0; background: var(--vs-paper); border-top: 1px solid var(--vs-line); }
.vs-room-reservation-band__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.vs-room-reservation-band h2 { max-width: 720px; margin: 0; font-size: clamp(38px, 4.1vw, 58px); }
.vs-room-reservation-band .vs-richtext { color: var(--vs-muted); }
.vs-room-reservation-band .vs-button { margin-top: 18px; }

/* Chapada — colagem vertical, painel prático e rail fotográfico. */
.vs-destination-editorial { padding: clamp(74px, 8vw, 120px) 0; }
.vs-destination-heading { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: clamp(42px, 8vw, 120px); align-items: start; margin-bottom: clamp(46px, 6vw, 82px); }
.vs-destination-heading h2 { max-width: 880px; margin: 0; font-size: clamp(44px, 4.8vw, 69px); line-height: .98; }
.vs-destination-collage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: minmax(310px, 32vw) minmax(250px, 27vw); gap: clamp(12px, 1.6vw, 24px); }
.vs-destination-collage__item--1 { grid-column: 1 / 7; grid-row: 1 / 3; }
.vs-destination-collage__item--2 { grid-column: 7 / 13; grid-row: 1; }
.vs-destination-collage__item--3 { grid-column: 8 / 13; grid-row: 2; }
.vs-destination-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(46px, 9vw, 132px); align-items: start; padding-top: clamp(62px, 7vw, 104px); }
.vs-destination-intro h2 { max-width: 650px; margin: 0; font-size: clamp(39px, 4vw, 58px); line-height: 1; }
.vs-destination-intro .vs-richtext { max-width: 620px; color: var(--vs-muted); }
.vs-destination-intro .vs-text-link { margin-top: 18px; }
.vs-destination-practical { overflow: hidden; background: var(--vs-night); color: var(--vs-white); }
.vs-destination-practical__layout { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(520px, .84fr); width: 100%; min-height: clamp(560px, 64svh, 700px); }
.vs-destination-practical__media { position: relative; min-height: 100%; }
.vs-destination-practical__media::after { position: absolute; inset: 0; background: rgba(8, 22, 13, .18); content: ''; }
.vs-destination-practical__media--pending { display: grid; place-items: center; padding: clamp(36px, 6vw, 90px); background: var(--vs-forest); }
.vs-destination-practical__media--pending::after { display: none; }
.vs-destination-practical__panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(56px, 6vw, 104px) clamp(42px, 5vw, 88px); background: var(--vs-night); }
.vs-destination-practical .vs-editorial-label { color: var(--vs-gold); }
.vs-destination-practical h2 { margin: 0 0 34px; font-size: clamp(41px, 4.4vw, 62px); }
.vs-destination-practical ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 250, 240, .3); }
.vs-destination-practical li { display: grid; grid-template-columns: minmax(145px, .42fr) minmax(0, .58fr); gap: 24px; padding: 19px 0; border-bottom: 1px solid rgba(255, 250, 240, .3); }
.vs-destination-practical li strong { color: var(--vs-white); font-size: 12px; letter-spacing: .05em; }
.vs-destination-practical li span { color: rgba(255, 250, 240, .72); font-size: 13px; }
.vs-destination-guides { padding: clamp(78px, 8.5vw, 126px) 0; overflow: hidden; }
.vs-destination-guides__heading { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: clamp(42px, 8vw, 120px); margin-bottom: clamp(40px, 5vw, 68px); }
.vs-destination-guides__heading h2 { max-width: 820px; margin: 0; font-size: clamp(40px, 4.2vw, 60px); line-height: 1; }
.vs-destination-guides__rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 30px); }
.vs-destination-guide-card { min-width: 0; color: inherit; text-decoration: none; }
.vs-destination-guide-card figure { display: grid; aspect-ratio: 4 / 3; place-items: center; }
.vs-destination-guide-card .vs-photo-requirement--guide { width: calc(100% - 48px); border-color: rgba(255, 250, 240, .5); background: var(--vs-forest); }
.vs-destination-guide-card > div { display: flex; flex-direction: column; min-height: 132px; justify-content: space-between; padding: 22px 2px 0; border-top: 1px solid var(--vs-line); }
.vs-destination-guide-card h3 { margin: 0 0 20px; font-size: clamp(27px, 2.5vw, 36px); line-height: 1.05; }
.vs-destination-guide-card span { color: var(--vs-clay-dark); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.vs-destination-closing { padding: clamp(58px, 6.5vw, 92px) 0; background: var(--vs-forest); color: var(--vs-white); }
.vs-destination-closing__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: clamp(44px, 8vw, 120px); align-items: center; }
.vs-destination-closing .vs-editorial-label { color: var(--vs-gold); }
.vs-destination-closing h2 { max-width: 720px; margin: 0; font-size: clamp(38px, 4vw, 58px); }
.vs-destination-closing .vs-richtext { color: rgba(255, 250, 240, .72); }
.vs-destination-closing .vs-button { margin-top: 18px; }

/* O que fazer — navegação lateral, fotografia a 70% e faixa curta. */
.vs-activity-stage { padding: clamp(74px, 8vw, 120px) 0 clamp(82px, 9vw, 136px); }
.vs-activity-stage__heading { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: clamp(42px, 8vw, 120px); margin-bottom: clamp(44px, 5vw, 72px); }
.vs-activity-stage__heading h2 { max-width: 840px; margin: 0; font-size: clamp(44px, 4.8vw, 68px); line-height: .98; }
.vs-activity-switcher { display: grid; grid-template-columns: minmax(220px, .27fr) minmax(0, 1.73fr); gap: clamp(34px, 5vw, 76px); }
.vs-activity-switcher__nav { display: flex; flex-direction: column; border-top: 1px solid var(--vs-line); }
.vs-activity-switcher__nav button { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 19px 0; border: 0; border-bottom: 1px solid var(--vs-line); background: transparent; color: var(--vs-muted); font-family: var(--vs-heading); font-size: clamp(20px, 1.8vw, 27px); line-height: 1.05; text-align: left; cursor: pointer; }
.vs-activity-switcher__nav button span { color: var(--vs-clay-dark); font-family: var(--vs-body); font-size: 9px; font-weight: 700; }
.vs-activity-switcher__nav button[aria-current='true'] { color: var(--vs-night); padding-left: 12px; }
.vs-activity-switcher__stage { min-width: 0; }
.vs-activity-slide { display: grid; min-height: clamp(500px, 49vw, 680px); grid-template-columns: minmax(0, 7fr) minmax(290px, 3fr); background: var(--vs-cream); }
.vs-activity-slide__media { min-height: 100%; }
.vs-activity-slide__copy { display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 3.2vw, 46px); }
.vs-activity-slide__count { margin: 0 0 auto; color: var(--vs-clay-dark); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.vs-activity-slide__copy h3 { margin: 30px 0 18px; font-size: clamp(35px, 3.25vw, 48px); line-height: 1; }
.vs-activity-slide__copy .vs-richtext { color: var(--vs-muted); font-size: 14px; }
.vs-activity-slide__copy .vs-text-link { margin-top: 18px; }
.vs-activity-slide__fallback { display: grid; place-items: center; padding: 40px; background: var(--vs-forest); color: var(--vs-white); font-family: var(--vs-heading); font-size: clamp(40px, 6vw, 72px); text-align: center; }
.vs-activity-switcher__stage .vs-carousel__controls { justify-content: flex-end; }
.vs-activity-planning { padding: clamp(48px, 5vw, 72px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-activity-planning__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.vs-activity-planning .vs-editorial-label { color: var(--vs-gold); }
.vs-activity-planning h2 { max-width: 680px; margin: 0; font-size: clamp(36px, 3.8vw, 54px); }
.vs-activity-planning .vs-richtext { color: rgba(255, 250, 240, .72); font-size: 14px; }
.vs-activity-planning .vs-text-link { margin-top: 14px; }

/* Estrutura histórica dos detalhes de categoria, mantida para compatibilidade. */
.vs-room-detail-hero { position: relative; display: grid; min-height: clamp(620px, 78svh, 820px); align-items: end; overflow: hidden; background: var(--vs-night); color: var(--vs-white); }
.vs-room-detail-hero__media,
.vs-room-detail-hero__shade,
.vs-room-detail-hero__placeholder { position: absolute; inset: 0; }
.vs-room-detail-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.vs-room-detail-hero__shade { background: rgba(8, 22, 13, .44); }
.vs-room-detail-hero__placeholder { background: var(--vs-night); }
.vs-room-detail-hero__placeholder::before,
.vs-room-detail-hero__placeholder::after { position: absolute; border: 1px solid rgba(255, 250, 240, .12); content: ''; }
.vs-room-detail-hero__placeholder::before { inset: 14% 5% 12% 34%; }
.vs-room-detail-hero__placeholder::after { inset: 22% 12% 20% 42%; border-color: rgba(215, 171, 53, .34); }
.vs-room-detail-hero__placeholder-frame { position: absolute; top: 23%; right: 14%; z-index: 1; width: min(45vw, 650px); }
.vs-room-detail-hero__content { position: relative; z-index: 3; width: min(calc(100% - 48px), 680px); margin: 0 auto clamp(42px, 6vw, 76px) max(24px, calc((100vw - 1340px) / 2)); padding: clamp(26px, 3vw, 40px); background: rgba(8, 22, 13, .9); }
.vs-room-detail-hero .vs-breadcrumbs { margin-bottom: 20px; }
.vs-room-detail-hero .vs-breadcrumbs a,
.vs-room-detail-hero .vs-breadcrumbs span { color: rgba(255, 250, 240, .76); }
.vs-room-detail-hero__eyebrow { margin: 0 0 12px; color: var(--vs-gold); font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.vs-room-detail-hero h1 { max-width: 620px; margin: 0 0 16px; font-size: clamp(44px, 5vw, 70px); line-height: .98; }
.vs-room-detail-hero__summary { max-width: 560px; color: rgba(255, 250, 240, .76); font-size: 16px; }
.vs-room-detail-hero__summary p { margin: 0; }
.vs-room-detail-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 34px; border-bottom: 1px solid var(--vs-line); }
.vs-room-detail-facts div { padding: 8px clamp(18px, 2.5vw, 34px); border-left: 1px solid var(--vs-line); }
.vs-room-detail-facts div:first-child { padding-left: 0; border-left: 0; }
.vs-room-detail-facts dt { color: var(--vs-muted); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.vs-room-detail-facts dd { margin: 7px 0 0; font-family: var(--vs-heading); font-size: clamp(23px, 2vw, 30px); }
.vs-room-detail-story { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: clamp(48px, 9vw, 136px); align-items: start; padding-block: clamp(74px, 8vw, 120px); }
.vs-room-detail-story header { position: sticky; top: 120px; }
.vs-room-detail-story h2 { max-width: 550px; margin: 0; font-size: clamp(41px, 4.25vw, 62px); line-height: .99; }
.vs-room-detail-story__copy { max-width: 720px; color: var(--vs-muted); font-size: 16px; line-height: 1.72; }
.vs-room-detail-story__copy > :first-child { margin-top: 0; color: var(--vs-night); font-family: var(--vs-heading); font-size: clamp(24px, 2.3vw, 32px); line-height: 1.28; }
.vs-room-detail-story__copy h2 { margin: 42px 0 14px; color: var(--vs-night); font-size: clamp(28px, 2.7vw, 38px); line-height: 1.08; }
.vs-room-detail-story__copy .vs-article-closing { margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--vs-line); color: var(--vs-clay-dark); }
.vs-room-detail-ambient { padding: clamp(64px, 7vw, 102px) 0; overflow: hidden; border-top: 1px solid var(--vs-line); }
.vs-room-detail-ambient__heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: clamp(42px, 8vw, 120px); align-items: end; margin-bottom: clamp(38px, 4.5vw, 62px); }
.vs-room-detail-ambient__heading h2 { max-width: 760px; margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1; }
.vs-room-detail-ambient__heading > p { max-width: 520px; margin: 0; color: var(--vs-muted); font-size: 14px; }
.vs-room-detail-ambient__rail { display: flex; gap: clamp(12px, 1.5vw, 22px); overflow-x: auto; padding: 0 max(24px, calc((100vw - 1340px) / 2)) 20px; scroll-snap-type: x proximity; }
.vs-room-detail-ambient__rail figure { flex: 0 0 min(480px, 72vw); height: clamp(360px, 36vw, 520px); margin: 0; overflow: hidden; background: var(--vs-stone); scroll-snap-align: start; }
.vs-room-detail-ambient__rail .vs-composition-image { width: 100%; height: 100%; object-fit: cover; }
.vs-room-detail-gallery { padding: clamp(72px, 8vw, 118px) 0; background: var(--vs-cream); }
.vs-room-detail-gallery__heading { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: clamp(42px, 8vw, 120px); margin-bottom: clamp(42px, 5vw, 72px); }
.vs-room-detail-gallery__heading h2 { max-width: 820px; margin: 0; font-size: clamp(42px, 4.5vw, 64px); line-height: 1; }
.vs-room-detail-gallery__mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: minmax(270px, 27vw) minmax(180px, 19vw); gap: 14px; }
.vs-room-detail-gallery__item--1 { grid-column: 1 / 9; grid-row: 1; }
.vs-room-detail-gallery__item--2 { grid-column: 9 / 13; grid-row: 1 / 3; }
.vs-room-detail-gallery__item--3 { grid-column: 1 / 4; grid-row: 2; }
.vs-room-detail-gallery__item--4 { grid-column: 4 / 7; grid-row: 2; }
.vs-room-detail-gallery__item--5 { grid-column: 7 / 9; grid-row: 2; }
.vs-room-detail-gallery__pending { position: relative; display: grid; min-height: clamp(480px, 48vw, 650px); grid-template-columns: 1.45fr .55fr; grid-template-rows: 1fr 1fr; gap: 14px; }
.vs-room-detail-gallery__pending-frame { border: 1px solid rgba(29, 61, 39, .28); background: rgba(29, 61, 39, .08); }
.vs-room-detail-gallery__pending-frame--wide { grid-row: 1 / 3; }
.vs-photo-requirement--gallery { position: absolute; top: 50%; left: 50%; width: min(calc(100% - 48px), 560px); border-color: rgba(255, 250, 240, .55); background: var(--vs-forest); transform: translate(-50%, -50%); }
.vs-room-detail-amenities { padding-block: clamp(70px, 8vw, 110px); }
.vs-room-detail-amenities h2 { max-width: 760px; margin: 0 0 34px; font-size: clamp(41px, 4.2vw, 60px); }
.vs-room-detail-amenities ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.vs-room-detail-amenities li { padding: 14px 0; border-bottom: 1px solid var(--vs-line); }
.vs-room-detail-booking { padding: clamp(54px, 6vw, 82px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-room-detail-booking .vs-booking-panel { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr); grid-template-rows: auto auto; gap: 14px clamp(54px, 8vw, 124px); align-items: start; padding: 10px 0 10px clamp(22px, 2.4vw, 34px); border-left: 2px solid var(--vs-gold); background: transparent; }
.vs-room-detail-booking .vs-booking-panel .vs-kicker { display: block !important; grid-column: 1; margin: 0; color: var(--vs-gold); }
.vs-room-detail-booking .vs-booking-panel h2 { grid-column: 1; max-width: 760px; margin: 0; color: var(--vs-white); font-size: clamp(40px, 4.3vw, 62px); }
.vs-room-detail-booking .vs-booking-panel > p { grid-column: 2; grid-row: 1; max-width: 520px; margin: 0; color: rgba(255, 250, 240, .72); }
.vs-room-detail-booking .vs-booking-panel .vs-button { grid-column: 2; grid-row: 2; align-self: end; justify-self: start; margin-top: 12px; }
.vs-room-detail-next { padding: clamp(72px, 8vw, 118px) 0; }
.vs-room-detail-next__link { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); color: inherit; text-decoration: none; }
.vs-room-detail-next__media { min-height: clamp(360px, 37vw, 520px); }
.vs-room-detail-next__media--pending { display: grid; place-items: center; padding: clamp(28px, 5vw, 72px); background: var(--vs-forest); }
.vs-room-detail-next__copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(32px, 5vw, 68px); background: var(--vs-cream); }
.vs-room-detail-next h2 { margin: 0 0 28px; font-size: clamp(38px, 4vw, 58px); line-height: 1; }
.vs-room-detail-next__copy > span { color: var(--vs-clay-dark); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 1080px) {
	.vs-lodge-stay__heading,
	.vs-room-mosaic-heading,
	.vs-room-categories__heading,
	.vs-destination-heading,
	.vs-destination-guides__heading,
	.vs-activity-stage__heading,
	.vs-room-detail-gallery__heading { grid-template-columns: 1fr; gap: 18px; }
	.vs-activity-switcher { grid-template-columns: 1fr; }
	.vs-activity-switcher__nav { display: grid; grid-template-columns: repeat(3, minmax(190px, 1fr)); overflow-x: auto; }
	.vs-activity-switcher__nav button { padding-inline: 16px; border-right: 1px solid var(--vs-line); }
	.vs-activity-switcher__nav button[aria-current='true'] { padding-left: 16px; background: var(--vs-cream); }
}

@media (max-width: 880px) {
	.vs-lodge-story__layout,
	.vs-lodge-values__layout,
	.vs-lodge-location__layout,
	.vs-room-reservation-band__inner,
	.vs-destination-intro,
	.vs-destination-closing__inner,
	.vs-activity-planning__inner,
	.vs-room-detail-story,
	.vs-room-detail-ambient__heading,
	.vs-room-detail-next__link { grid-template-columns: 1fr; }
	.vs-lodge-story__layout { gap: 52px; }
	.vs-lodge-story__copy { max-width: 680px; }
	.vs-lodge-values__layout { gap: 30px; }
	.vs-lodge-values__copy { max-width: 720px; }
	.vs-lodge-stay__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vs-lodge-location__copy { width: calc(100% - 64px); margin: -64px auto 0; }
	.vs-room-category-scene { grid-template-columns: 1fr; }
	.vs-room-category-scene__media,
	.vs-room-category-scene--reverse .vs-room-category-scene__media,
	.vs-room-category-scene__copy,
	.vs-room-category-scene--reverse .vs-room-category-scene__copy { grid-column: 1; grid-row: auto; padding: 0; }
	.vs-room-category-scene__copy { max-width: 640px; padding-top: 30px; }
	.vs-room-category-scene--reverse .vs-room-category-scene__media { order: 1; }
	.vs-room-category-scene--reverse .vs-room-category-scene__copy { order: 2; }
	.vs-room-category-scene__media { min-height: 500px; }
	.vs-destination-practical__layout { grid-template-columns: 1fr; min-height: 0; }
	.vs-destination-practical__media { min-height: clamp(380px, 58vw, 520px); }
	.vs-room-detail-story header { position: static; }
	.vs-room-detail-next__copy { min-height: 260px; }
	.vs-room-detail-booking .vs-booking-panel { grid-template-columns: 1fr; }
	.vs-room-detail-booking .vs-booking-panel .vs-kicker,
	.vs-room-detail-booking .vs-booking-panel h2,
	.vs-room-detail-booking .vs-booking-panel > p,
	.vs-room-detail-booking .vs-booking-panel .vs-button { grid-column: 1; grid-row: auto; }
	.vs-room-detail-booking .vs-booking-panel > p { margin: 6px 0 14px; }
}

@media (max-width: 640px) {
	.vs-page--a-pousada .vs-inner-hero--immersive,
	.vs-page--guesthouse .vs-inner-hero--immersive { min-height: 72svh; padding: 86px 0 34px; }
	.vs-page--a-pousada .vs-inner-hero--immersive h1,
	.vs-page--guesthouse .vs-inner-hero--immersive h1 { font-size: clamp(38px, 11vw, 48px); }
	.vs-lodge-story,
	.vs-lodge-stay,
	.vs-lodge-location,
	.vs-room-mosaic-section,
	.vs-destination-editorial,
	.vs-activity-stage { padding-block: 56px 72px; }
	.vs-lodge-story__copy h2,
	.vs-lodge-values h2,
	.vs-lodge-stay__heading h2,
	.vs-lodge-location__copy h2,
	.vs-room-mosaic-heading h2,
	.vs-room-categories__heading h2,
	.vs-destination-heading h2,
	.vs-activity-stage__heading h2 { font-size: clamp(36px, 10.6vw, 46px); }
	.vs-room-photo-mosaic,
	.vs-destination-collage { display: flex; width: calc(100vw - 16px); margin-left: calc(50% - 50vw + 8px); gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
	.vs-room-photo-mosaic figure,
	.vs-destination-collage figure { flex: 0 0 82vw; height: 68svh; min-height: 460px; scroll-snap-align: center; }
	.vs-lodge-story__visuals { padding: 0 36px 42px 0; }
	.vs-lodge-story__primary { aspect-ratio: 4 / 5; }
	.vs-lodge-story__detail { width: 46%; }
	.vs-lodge-values { padding: 0 0 72px; }
	.vs-lodge-values__layout { gap: 24px; padding: 30px 24px 36px; }
	.vs-lodge-values__copy { padding-top: 24px; }
	.vs-lodge-stay__heading { grid-template-columns: 1fr; gap: 12px; margin-bottom: 38px; }
	.vs-lodge-stay__grid { grid-template-columns: 1fr; gap: 54px; }
	.vs-lodge-stay-card__media { aspect-ratio: 16 / 11; }
	.vs-lodge-location__media { min-height: 72vw; }
	.vs-lodge-location__copy { width: 100%; margin: 0; padding: 34px 20px; }
	.vs-room-reservation-band h2,
	.vs-room-reservation-band h2,
	.vs-destination-intro h2,
	.vs-destination-closing h2,
	.vs-activity-planning h2 { font-size: clamp(34px, 9.8vw, 43px); }
	.vs-room-categories { padding-block: 64px; }
	.vs-room-categories__list { gap: 76px; }
	.vs-room-category-scene__media { min-height: 62svh; }
	.vs-room-category-scene h3 { font-size: clamp(35px, 10vw, 44px); }
	.vs-photo-requirement { padding: 22px 18px; }
	.vs-photo-requirement strong { font-size: 11px; }
	.vs-photo-requirement p { font-size: 13px; }
	.vs-room-reservation-band { padding-block: 50px; }
	.vs-destination-intro { padding-top: 52px; }
	.vs-destination-practical__media { min-height: 72vw; }
	.vs-destination-practical__panel { width: 100%; margin: 0; padding: 38px 20px 42px; }
	.vs-destination-practical h2 { margin-bottom: 24px; font-size: clamp(36px, 10.5vw, 46px); }
	.vs-destination-practical li { grid-template-columns: 1fr; gap: 6px; padding-block: 14px; }
	.vs-destination-guides { padding-block: 62px; }
	.vs-destination-guides__heading h2 { font-size: clamp(35px, 10vw, 45px); }
	.vs-destination-guides__rail { display: flex; width: 100%; gap: 14px; overflow-x: auto; padding-right: 16px; padding-bottom: 18px; scrollbar-width: thin; scroll-snap-type: x mandatory; }
	.vs-destination-guide-card { flex: 0 0 82vw; scroll-snap-align: start; }
	.vs-destination-closing { padding-block: 50px; }
	.vs-activity-switcher__nav { width: calc(100vw - 32px); grid-template-columns: repeat(3, minmax(190px, 1fr)); margin-left: calc(50% - 50vw + 16px); }
	.vs-activity-switcher__stage { width: 100vw; margin-left: calc(50% - 50vw); }
	.vs-activity-slide { position: relative; display: block; min-height: 84svh; background: var(--vs-night); }
	.vs-activity-slide__media,
	.vs-activity-slide__fallback { position: absolute; inset: 0; min-height: 0; }
	.vs-activity-slide__copy { position: absolute; z-index: 2; right: 10px; bottom: 10px; left: 10px; min-height: 0; padding: 24px 20px; background: rgba(8, 22, 13, .92); color: var(--vs-white); }
	.vs-activity-slide__count { margin-bottom: 20px; color: var(--vs-gold); }
	.vs-activity-slide__copy h3 { margin: 0 0 12px; font-size: clamp(34px, 10vw, 44px); }
	.vs-activity-slide__copy .vs-richtext { color: rgba(255, 250, 240, .76); }
	.vs-activity-slide__copy .vs-text-link { color: var(--vs-white); }
	.vs-activity-switcher__stage .vs-carousel__controls { padding-inline: 16px; }
	.vs-activity-planning { padding-block: 46px; }
	.vs-room-detail-hero { min-height: 76svh; }
	.vs-room-detail-hero__placeholder::before { inset: 14% 12% 26% 12%; }
	.vs-room-detail-hero__placeholder::after { inset: 20% 18% 32% 18%; }
	.vs-room-detail-hero__placeholder-frame { top: 22%; right: 50%; width: calc(100% - 64px); transform: translateX(50%); }
	.vs-room-detail-hero__content { width: calc(100% - 20px); margin: 0 10px 10px; padding: 22px 18px; }
	.vs-room-detail-hero h1 { font-size: clamp(38px, 11vw, 48px); }
	.vs-room-detail-facts { grid-template-columns: 1fr 1fr; padding-block: 28px; }
	.vs-room-detail-facts div { padding: 12px; }
	.vs-room-detail-facts div:nth-child(odd) { padding-left: 0; border-left: 0; }
	.vs-room-detail-story { gap: 30px; padding-block: 58px; }
	.vs-room-detail-story h2 { font-size: clamp(36px, 10.5vw, 46px); }
	.vs-room-detail-ambient { padding-block: 52px; }
	.vs-room-detail-ambient__heading h2 { font-size: clamp(34px, 9.8vw, 43px); }
	.vs-room-detail-ambient__rail figure { flex-basis: 78vw; height: 62svh; min-height: 430px; }
	.vs-room-detail-gallery { padding-block: 58px; }
	.vs-room-detail-gallery__heading h2 { font-size: clamp(36px, 10.5vw, 46px); }
	.vs-room-detail-gallery__mosaic { display: flex; width: calc(100vw - 16px); margin-left: calc(50% - 50vw + 8px); gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
	.vs-room-detail-gallery__item { flex: 0 0 82vw; height: 68svh; min-height: 460px; scroll-snap-align: center; }
	.vs-room-detail-gallery__pending { min-height: 62svh; grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
	.vs-room-detail-gallery__pending-frame--wide { grid-row: 1; }
	.vs-room-detail-gallery__pending-frame:last-of-type { display: none; }
	.vs-photo-requirement--gallery { width: calc(100% - 36px); }
	.vs-room-detail-amenities ul { grid-template-columns: 1fr; }
	.vs-room-detail-booking { padding-block: 52px; }
	.vs-room-detail-booking .vs-booking-panel h2 { font-size: clamp(36px, 10.5vw, 46px); }
	.vs-room-detail-next { padding-block: 58px; }
	.vs-room-detail-next__media { min-height: 58svh; }
	.vs-room-detail-next__copy { min-height: 230px; padding: 28px 20px; }
	.vs-room-detail-next h2 { font-size: clamp(35px, 10vw, 45px); }
}

@media (prefers-reduced-motion: reduce) {
	.vs-guide-landmark__media .vs-composition-image { transition: none; }
	.vs-guide-landmark--media:hover .vs-composition-image { transform: none; }
	.vs-room-photo-mosaic,
	.vs-destination-collage,
	.vs-room-detail-gallery__mosaic { scroll-behavior: auto; }
}

/* Ajustes originados da revisão visual de 21/08: ritmo e quebras reais. */
.vs-page--perguntas-frequentes .vs-inner-hero--text .vs-inner-hero__content,
.vs-page--faq .vs-inner-hero--text .vs-inner-hero__content { max-width: min(100%, 1160px); }
.vs-page--perguntas-frequentes .vs-inner-hero h1,
.vs-page--faq .vs-inner-hero h1 { max-width: 1160px; font-size: clamp(40px, 4.15vw, 62px); }
.vs-page--perguntas-frequentes .vs-inner-section--feature,
.vs-page--faq .vs-inner-section--feature { padding-block: clamp(56px, 6vw, 86px); background: var(--vs-night) !important; }
.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-inner-section__grid,
.vs-page--faq .vs-inner-section--feature .vs-inner-section__grid { grid-template-columns: minmax(0, 1120px); }
.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-inner-section__content,
.vs-page--faq .vs-inner-section--feature .vs-inner-section__content { max-width: 1120px; text-align: left; }
.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-inner-section__content h2,
.vs-page--faq .vs-inner-section--feature .vs-inner-section__content h2 { max-width: 1080px; margin-inline: 0; font-size: clamp(38px, 4vw, 58px); }
.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-richtext,
.vs-page--faq .vs-inner-section--feature .vs-richtext { max-width: 820px; margin-inline: 0; }
.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-button,
.vs-page--faq .vs-inner-section--feature .vs-button { margin-top: 20px; }

.vs-journey-board__heading { grid-template-columns: minmax(150px, .28fr) minmax(0, 1.72fr); gap: clamp(26px, 4vw, 60px); }
.vs-journey-board__heading h2 { max-width: 1040px; font-size: clamp(40px, 4.25vw, 62px); text-wrap: balance; }
.vs-journey-board__grid { align-items: stretch; }
.vs-journey-board__visual { height: 100%; min-height: 620px; }

.vs-contact-desk__heading { grid-template-columns: minmax(150px, .26fr) minmax(0, 1.74fr); gap: clamp(26px, 4vw, 60px); }
.vs-contact-desk__heading h2 { max-width: 1050px; font-size: clamp(38px, 4vw, 58px); text-wrap: balance; }
.vs-contact-desk { padding-top: clamp(52px, 5.5vw, 78px); }
.vs-contact-channels { margin-bottom: clamp(38px, 4.5vw, 60px); }

@media (max-width: 880px) {
	.vs-journey-board__heading,
	.vs-contact-desk__heading { grid-template-columns: 1fr; gap: 16px; }
	.vs-journey-board__visual { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
}

@media (max-width: 640px) {
	.vs-page--perguntas-frequentes .vs-inner-hero h1,
	.vs-page--faq .vs-inner-hero h1 { font-size: clamp(34px, 9.7vw, 43px); }
	.vs-page--perguntas-frequentes .vs-inner-section--feature,
	.vs-page--faq .vs-inner-section--feature { padding-block: 48px; }
	.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-inner-section__content h2,
	.vs-page--faq .vs-inner-section--feature .vs-inner-section__content h2,
	.vs-journey-board__heading h2,
	.vs-contact-desk__heading h2 { font-size: clamp(34px, 9.8vw, 43px); }
}
.vs-composition-heading {
	display: grid;
	grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr);
	gap: clamp(40px, 8vw, 130px);
	align-items: end;
	margin-bottom: clamp(50px, 7vw, 94px);
}
.vs-composition-heading > p,
.vs-experience-stage__heading > p,
.vs-journey-board__heading > p,
.vs-contact-desk__heading > p {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	color: var(--vs-clay-dark);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.vs-composition-heading > p span,
.vs-experience-stage__heading > p span,
.vs-journey-board__heading > p span,
.vs-contact-desk__heading > p span { color: var(--vs-clay); font-family: var(--vs-heading); font-size: 34px; font-weight: 400; letter-spacing: 0; }
.vs-composition-heading h2,
.vs-experience-stage__heading h2,
.vs-journey-board__heading h2,
.vs-contact-desk__heading h2 { margin: 0; font-size: clamp(54px, 6vw, 90px); }

[data-vs-parallax] { position: relative; overflow: hidden; }
[data-vs-parallax] .vs-composition-image {
	display: block;
	width: 100%;
	height: 112%;
	object-fit: cover;
	transform: translate3d(0, var(--vs-parallax-y, -5%), 0) scale(1.055);
	transform-origin: center;
	will-change: transform;
}
.vs-carousel__viewport { min-width: 0; overflow: hidden; }
.vs-carousel__track { display: flex; width: 100%; transition: transform 720ms var(--vs-ease); }
.vs-carousel__slide { min-width: 100%; margin: 0; }
.vs-carousel__controls { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 24px; }
.vs-carousel__controls button {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--vs-line);
	border-radius: 50%;
	background: transparent;
	color: var(--vs-ink);
	font: inherit;
	cursor: pointer;
}
.vs-carousel__controls button:hover { border-color: var(--vs-clay); background: var(--vs-clay); color: var(--vs-white); }
.vs-carousel__controls p { min-width: 62px; margin: 0; color: var(--vs-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-align: center; }
.vs-carousel__controls--light button { border-color: var(--vs-line-light); color: var(--vs-white); }
.vs-carousel__controls--light p { color: rgba(255, 250, 240, .62); }

/* A Pousada — dois capítulos entrelaçados, não uma pilha de seções. */
.vs-guesthouse-story { padding: clamp(110px, 12vw, 190px) 0 clamp(120px, 13vw, 210px); background: var(--vs-paper); }
.vs-guesthouse-story__canvas { position: relative; }
.vs-guesthouse-chapter { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.vs-guesthouse-chapter__copy { position: relative; z-index: 3; }
.vs-guesthouse-chapter__copy h2 { max-width: 660px; margin: 14px 0 26px; font-size: clamp(53px, 6.2vw, 92px); }
.vs-guesthouse-chapter__copy .vs-richtext { max-width: 570px; color: var(--vs-muted); }
.vs-guesthouse-chapter__media { z-index: 1; min-height: 0; margin: 0; aspect-ratio: 5 / 4; background: var(--vs-stone); }
.vs-guesthouse-chapter__detail { z-index: 2; min-height: 0; margin: 0; aspect-ratio: 4 / 5; border: 12px solid var(--vs-paper); background: var(--vs-stone); }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy { grid-column: 1 / 6; grid-row: 1; padding: 64px clamp(20px, 3vw, 52px) 64px 0; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media { grid-column: 5 / 13; grid-row: 1; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail { position: absolute; right: 1.5%; bottom: -21%; width: min(29vw, 390px); }
.vs-guesthouse-chapter--landscape { margin-top: clamp(180px, 20vw, 300px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media { grid-column: 1 / 8; grid-row: 1; aspect-ratio: 4 / 5; }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 8 / 13; grid-row: 1; padding-left: clamp(42px, 6vw, 96px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { position: absolute; right: 28%; bottom: -13%; width: min(25vw, 340px); aspect-ratio: 5 / 4; }
.vs-composition-feature { position: relative; overflow: hidden; background: var(--vs-night); color: var(--vs-white); }
.vs-composition-feature__inner { position: relative; display: grid; grid-template-columns: 140px minmax(0, 850px); gap: clamp(28px, 5vw, 74px); align-items: start; padding-block: clamp(90px, 10vw, 150px); }
.vs-composition-feature__number { margin: 0; color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(64px, 7vw, 102px); line-height: .75; }
.vs-composition-feature h2 { max-width: 840px; margin: 14px 0 24px; font-size: clamp(54px, 6vw, 90px); }
.vs-composition-feature .vs-richtext { max-width: 650px; color: rgba(255, 250, 240, .74); }
.vs-composition-feature .vs-button { margin-top: 24px; }
.vs-composition-feature__word { position: absolute; right: -4vw; bottom: -13%; margin: 0; color: rgba(255, 250, 240, .035); font-family: var(--vs-heading); font-size: clamp(190px, 27vw, 430px); line-height: .72; pointer-events: none; }

/* Quartos — fotografia geral separada das categorias ainda não mapeadas. */
.vs-room-scenes { padding: clamp(100px, 11vw, 170px) 0; background: var(--vs-paper); }
.vs-photo-carousel { position: relative; }
.vs-photo-carousel .vs-carousel__viewport { box-shadow: 22px 22px 0 rgba(164, 71, 40, .1); }
.vs-photo-carousel .vs-carousel__slide { aspect-ratio: 16 / 7; overflow: hidden; background: var(--vs-stone); }
.vs-photo-carousel .vs-composition-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.vs-room-selector { padding: clamp(100px, 11vw, 165px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-room-selector__heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: clamp(50px, 8vw, 124px); align-items: end; margin-bottom: clamp(62px, 8vw, 110px); }
.vs-room-selector__heading h2 { max-width: 780px; margin: 14px 0 0; font-size: clamp(56px, 6.5vw, 96px); }
.vs-room-selector__heading > p { max-width: 560px; margin: 0; color: rgba(255, 250, 240, .7); }
.vs-room-selector__carousel { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 8vw, 124px); align-items: stretch; }
.vs-room-selector__nav { display: flex; flex-direction: column; border-top: 1px solid var(--vs-line-light); }
.vs-room-selector__nav button {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 19px 0;
	border: 0;
	border-bottom: 1px solid var(--vs-line-light);
	background: transparent;
	color: rgba(255, 250, 240, .55);
	font-family: var(--vs-heading);
	font-size: clamp(21px, 2vw, 29px);
	line-height: 1;
	text-align: left;
	cursor: pointer;
	transition: color 180ms ease, padding-left 260ms var(--vs-ease);
}
.vs-room-selector__nav button span { color: var(--vs-gold); font-family: var(--vs-body); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.vs-room-selector__nav button[aria-current='true'] { padding-left: 16px; color: var(--vs-white); }
.vs-room-selector__stage { min-width: 0; }
.vs-room-selector__slide { display: grid; min-height: 580px; grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr); gap: clamp(30px, 5vw, 76px); align-items: end; padding: clamp(38px, 6vw, 84px); border: 1px solid var(--vs-line-light); background: var(--vs-forest); }
.vs-room-selector__number { align-self: start; margin: 0; color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(88px, 11vw, 170px); line-height: .7; }
.vs-room-selector__slide h3 { max-width: 720px; margin: 12px 0 24px; font-size: clamp(58px, 6.8vw, 100px); }
.vs-room-selector__slide .vs-richtext { max-width: 600px; color: rgba(255, 250, 240, .7); }
.vs-room-choice { padding: clamp(110px, 12vw, 185px) 0; }
.vs-room-choice__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: clamp(54px, 9vw, 140px); align-items: center; }
.vs-room-choice figure { min-height: 0; margin: 0; aspect-ratio: 5 / 4; background: var(--vs-stone); box-shadow: 18px 18px 0 rgba(164, 71, 40, .1); }
.vs-room-choice h2 { margin: 14px 0 24px; font-size: clamp(52px, 5.8vw, 84px); }
.vs-room-choice .vs-button { margin-top: 22px; }

/* Café da manhã — tipografia e conteúdo, sem multiplicar a única fotografia. */
.vs-page--cafe-da-manha .vs-inner-hero--framed,
.vs-page--breakfast .vs-inner-hero--framed { background: var(--vs-night); color: var(--vs-white); }
.vs-page--cafe-da-manha .vs-inner-hero--framed .vs-breadcrumbs a,
.vs-page--breakfast .vs-inner-hero--framed .vs-breadcrumbs a { color: var(--vs-white); }
.vs-breakfast-table { position: relative; min-height: 820px; overflow: hidden; padding: clamp(120px, 14vw, 210px) 0; }
.vs-breakfast-table__word { position: absolute; top: 3%; left: -2vw; margin: 0; color: rgba(164, 71, 40, .065); font-family: var(--vs-heading); font-size: clamp(180px, 31vw, 500px); line-height: .72; pointer-events: none; }
.vs-breakfast-table__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .65fr); gap: clamp(60px, 11vw, 170px); align-items: end; }
.vs-breakfast-table__copy h2 { max-width: 760px; margin: 14px 0 30px; font-size: clamp(61px, 7vw, 104px); }
.vs-breakfast-table__copy .vs-richtext { max-width: 660px; }
.vs-breakfast-table__list { margin: 0; padding: 0; border-top: 1px solid var(--vs-line); list-style: none; }
.vs-breakfast-table__list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--vs-line); font-family: var(--vs-heading); font-size: clamp(29px, 3vw, 42px); line-height: 1; }
.vs-breakfast-table__list span { color: var(--vs-clay); font-family: var(--vs-body); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.vs-breakfast-note { padding: clamp(92px, 10vw, 150px) 0; background: var(--vs-forest); color: var(--vs-white); }
.vs-breakfast-note__inner { display: grid; grid-template-columns: minmax(100px, .35fr) minmax(0, 1.65fr); gap: clamp(34px, 7vw, 110px); align-items: start; }
.vs-breakfast-note__number { margin: 0; color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(84px, 10vw, 150px); line-height: .72; }
.vs-breakfast-note h2 { max-width: 900px; margin: 14px 0 25px; font-size: clamp(58px, 7vw, 102px); }
.vs-breakfast-note .vs-richtext { max-width: 720px; color: rgba(255, 250, 240, .74); }
.vs-breakfast-note .vs-button { margin-top: 22px; }

/* Chapada — capítulos imersivos com direção alternada. */
.vs-chapada-path { padding: clamp(110px, 12vw, 190px) 0; }
.vs-chapada-path__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.vs-chapada-path figure { min-height: 0; margin: 0; aspect-ratio: 5 / 4; background: var(--vs-stone); }
.vs-chapada-path__copy { position: relative; z-index: 2; padding: clamp(45px, 7vw, 96px); }
.vs-chapada-path__copy h2 { margin: 14px 0 27px; font-size: clamp(55px, 6.4vw, 96px); }
.vs-chapada-path__copy .vs-richtext { max-width: 590px; }
.vs-chapada-path--base figure { grid-column: 1 / 8; grid-row: 1; }
.vs-chapada-path--base .vs-chapada-path__copy { grid-column: 7 / 13; grid-row: 1; background: var(--vs-cream); box-shadow: 18px 18px 0 rgba(164, 71, 40, .1); }
.vs-chapada-path--conditions { background: var(--vs-forest); color: var(--vs-white); }
.vs-chapada-path--conditions .vs-chapada-path__grid { min-height: 540px; }
.vs-chapada-path--conditions .vs-chapada-path__grid::after { grid-column: 9 / 13; grid-row: 1; align-self: center; color: rgba(255, 250, 240, .055); content: '02'; font-family: var(--vs-heading); font-size: clamp(190px, 24vw, 360px); line-height: .65; }
.vs-chapada-path--conditions .vs-chapada-path__copy { grid-column: 1 / 8; grid-row: 1; align-self: center; padding-left: 0; }
.vs-chapada-path--conditions .vs-richtext { color: rgba(255, 250, 240, .72); }
.vs-chapada-manifesto { position: relative; overflow: hidden; padding: clamp(100px, 12vw, 180px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-chapada-manifesto__inner { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1.65fr); gap: clamp(36px, 8vw, 124px); }
.vs-chapada-manifesto__number { margin: 0; color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(88px, 12vw, 180px); line-height: .72; }
.vs-chapada-manifesto h2 { max-width: 980px; margin: 14px 0 28px; font-size: clamp(60px, 7vw, 106px); }
.vs-chapada-manifesto .vs-richtext { max-width: 730px; color: rgba(255, 250, 240, .72); }
.vs-chapada-manifesto .vs-button { margin-top: 24px; }

/* O que fazer — experiências navegáveis em um palco único. */
.vs-experience-stage { padding: clamp(110px, 12vw, 185px) 0; }
.vs-experience-stage__heading,
.vs-journey-board__heading,
.vs-contact-desk__heading { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); gap: clamp(48px, 9vw, 140px); align-items: end; margin-bottom: clamp(58px, 8vw, 110px); }
.vs-experience-carousel { display: grid; grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr); gap: clamp(38px, 7vw, 104px); }
.vs-experience-carousel__nav { display: flex; flex-direction: column; border-top: 1px solid var(--vs-line); }
.vs-experience-carousel__nav button { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; padding: 19px 0; border: 0; border-bottom: 1px solid var(--vs-line); background: transparent; color: var(--vs-muted); font-family: var(--vs-heading); font-size: clamp(21px, 2vw, 29px); line-height: 1; text-align: left; cursor: pointer; }
.vs-experience-carousel__nav button span { color: var(--vs-clay); font-family: var(--vs-body); font-size: 9px; font-weight: 700; }
.vs-experience-carousel__nav button[aria-current='true'] { color: var(--vs-clay-dark); transform: translateX(12px); }
.vs-experience-carousel__stage { min-width: 0; }
.vs-experience-slide { display: grid; min-height: 610px; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); background: var(--vs-cream); }
.vs-experience-slide__media { min-height: 0; }
.vs-experience-slide__media .vs-composition-image { height: 112%; }
.vs-experience-slide__copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(34px, 4vw, 58px); }
.vs-experience-slide__copy h3 { max-width: 100%; margin: 12px 0 24px; overflow-wrap: normal; word-break: normal; hyphens: none; font-size: clamp(44px, 3.8vw, 58px); }
.vs-experience-slide__copy .vs-richtext { color: var(--vs-muted); }
.vs-experience-slide__folio { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(42px, 7vw, 88px); background: var(--vs-forest); color: var(--vs-white); }
.vs-experience-slide__folio span { color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(150px, 22vw, 310px); line-height: .68; }
.vs-experience-slide__folio small { font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.vs-experience-planning { padding: clamp(90px, 10vw, 150px) 0; background: var(--vs-night); color: var(--vs-white); }
.vs-experience-planning__inner { display: grid; grid-template-columns: minmax(110px, .32fr) minmax(0, 1.68fr); gap: clamp(34px, 7vw, 108px); }
.vs-experience-planning h2 { max-width: 900px; margin: 14px 0 26px; font-size: clamp(58px, 6.8vw, 100px); }
.vs-experience-planning .vs-richtext { max-width: 720px; color: rgba(255, 250, 240, .72); }
.vs-experience-planning .vs-button { margin-top: 22px; }

/* Como chegar — um único quadro de jornada, em vez de três blocos. */
.vs-journey-board { padding: clamp(110px, 12vw, 185px) 0; }
.vs-journey-board__grid { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); gap: clamp(46px, 8vw, 124px); align-items: stretch; }
.vs-journey-board__grid > * { min-width: 0; }
.vs-journey-board__visual { width: 100%; max-width: 100%; height: clamp(720px, 61vw, 880px); min-width: 0; min-height: 0; margin: 0; align-self: start; justify-self: stretch; aspect-ratio: auto; background: var(--vs-stone); box-shadow: 18px 18px 0 rgba(164, 71, 40, .1); }
.vs-journey-board__steps { display: flex; min-width: 0; flex-direction: column; border-top: 1px solid var(--vs-line); }
.vs-journey-step { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: clamp(22px, 4vw, 54px); padding: clamp(30px, 4.5vw, 58px) 0; border-bottom: 1px solid var(--vs-line); }
.vs-journey-step__number { margin: 0; color: var(--vs-clay); font-family: var(--vs-heading); font-size: clamp(45px, 5vw, 72px); line-height: .8; }
.vs-journey-step h3 { margin: 10px 0 18px; font-size: clamp(38px, 4.2vw, 62px); }
.vs-journey-step .vs-richtext { max-width: 660px; color: var(--vs-muted); }
.vs-journey-step .vs-button { margin-top: 18px; }
.vs-journey-step--action { margin-top: 24px; padding: clamp(34px, 5vw, 62px); border: 0; background: var(--vs-forest); color: var(--vs-white); }
.vs-journey-step--action .vs-richtext { color: rgba(255, 250, 240, .72); }

/* Contato — canais imediatos, formulário dominante e nota lateral. */
.vs-contact-desk { padding: clamp(105px, 12vw, 180px) 0; }
.vs-contact-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: clamp(90px, 11vw, 160px); border-top: 1px solid var(--vs-line); border-left: 1px solid var(--vs-line); }
.vs-contact-channels > a { position: relative; display: grid; min-height: 240px; grid-template-rows: auto 1fr auto; padding: clamp(26px, 3.5vw, 48px); border-right: 1px solid var(--vs-line); border-bottom: 1px solid var(--vs-line); text-decoration: none; }
.vs-contact-channels > a > span { color: var(--vs-clay); font-family: var(--vs-heading); font-size: 42px; line-height: 1; }
.vs-contact-channels small { align-self: end; margin-top: 50px; color: var(--vs-clay-dark); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.vs-contact-channels strong { overflow-wrap: anywhere; font-family: var(--vs-heading); font-size: clamp(25px, 2.7vw, 38px); font-weight: 500; line-height: 1.08; }
.vs-contact-channels i { position: absolute; top: 30px; right: 30px; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--vs-line); font-style: normal; }
.vs-contact-channels > a:hover { background: var(--vs-cream); }
.vs-contact-workspace { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr); gap: clamp(42px, 8vw, 120px); align-items: start; }
.vs-contact-workspace__form { padding: clamp(34px, 5vw, 70px); background: var(--vs-cream); }
.vs-contact-workspace__form > h2 { margin: 12px 0 46px; font-size: clamp(56px, 6vw, 90px); }
.vs-contact-workspace__form .vs-contact-form { padding: 0; background: transparent; }
.vs-contact-workspace__aside { display: grid; gap: 30px; }
.vs-contact-workspace__aside figure { min-height: 0; margin: 0; aspect-ratio: 4 / 5; background: var(--vs-stone); }
.vs-contact-workspace__note { padding: clamp(28px, 4vw, 46px); background: var(--vs-night); color: var(--vs-white); }
.vs-contact-workspace__note .vs-composition-index { margin-bottom: 34px; color: var(--vs-gold); }
.vs-contact-workspace__note h3 { margin: 12px 0 18px; font-size: clamp(37px, 4vw, 55px); }
.vs-contact-workspace__note .vs-richtext { color: rgba(255, 250, 240, .72); font-size: 15px; }

/* Blog — capa de revista e grade compacta, sem folios que fingem ser fotos. */
.vs-blog-magazine { padding: clamp(100px, 11vw, 175px) 0; }
.vs-blog-magazine__opening { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(330px, .68fr); gap: clamp(22px, 3vw, 42px); align-items: stretch; }
.vs-blog-lead { display: grid; grid-template-rows: minmax(420px, 1fr) auto; min-width: 0; background: var(--vs-cream); }
.vs-blog-lead__media { min-height: 0; aspect-ratio: 16 / 9; }
.vs-blog-lead__copy { padding: clamp(32px, 5vw, 68px); }
.vs-blog-lead__copy h2 { max-width: 900px; margin: 12px 0 22px; font-size: clamp(55px, 6.3vw, 94px); }
.vs-blog-lead__copy h2 a,
.vs-blog-spotlight h2 a,
.vs-blog-tile h2 a { text-decoration: none; }
.vs-blog-lead__copy > p:not(.vs-blog-card__meta) { max-width: 660px; color: var(--vs-muted); }
.vs-blog-spotlight { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; padding: clamp(34px, 5vw, 66px); background: var(--vs-night); color: var(--vs-white); }
.vs-blog-spotlight__number { margin: 0 0 100px; color: var(--vs-gold); font-family: var(--vs-heading); font-size: clamp(74px, 9vw, 132px); line-height: .72; }
.vs-blog-spotlight .vs-blog-card__meta { color: rgba(255, 250, 240, .55); }
.vs-blog-spotlight h2 { margin: 12px 0 23px; font-size: clamp(43px, 4.7vw, 70px); }
.vs-blog-spotlight > div > p:not(.vs-blog-card__meta) { color: rgba(255, 250, 240, .7); }
.vs-blog-magazine__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(22px, 3vw, 42px); margin-top: clamp(22px, 3vw, 42px); }
.vs-blog-tile { position: relative; display: flex; min-height: 390px; flex-direction: column; justify-content: space-between; padding: clamp(28px, 4vw, 52px); border-top: 1px solid var(--vs-line); background: var(--vs-paper); }
.vs-blog-tile:nth-child(1) { grid-column: span 7; background: var(--vs-cream); }
.vs-blog-tile:nth-child(2) { grid-column: span 5; }
.vs-blog-tile:nth-child(n + 3) { grid-column: span 4; }
.vs-blog-tile__number { margin: 0 0 72px; color: var(--vs-clay); font-family: var(--vs-heading); font-size: clamp(58px, 7vw, 98px); line-height: .72; }
.vs-blog-tile h2 { margin: 10px 0 18px; font-size: clamp(34px, 3.5vw, 52px); }
.vs-blog-tile div > p:not(.vs-blog-card__meta) { max-width: 560px; color: var(--vs-muted); font-size: 15px; }
.vs-blog-tile__link { position: absolute; top: 34px; right: 34px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--vs-line); text-decoration: none; }
.vs-blog-tile:hover .vs-blog-tile__link { border-color: var(--vs-clay); background: var(--vs-clay); color: var(--vs-white); }

@media (max-width: 1080px) {
	.vs-room-selector__carousel,
	.vs-experience-carousel { grid-template-columns: 1fr; }
	.vs-room-selector__nav,
	.vs-experience-carousel__nav { display: grid; grid-template-columns: repeat(3, minmax(190px, 1fr)); overflow-x: auto; }
	.vs-room-selector__nav button,
	.vs-experience-carousel__nav button { border-right: 1px solid var(--vs-line-light); }
	.vs-experience-carousel__nav button { border-right-color: var(--vs-line); }
	.vs-room-selector__nav button[aria-current='true'],
	.vs-experience-carousel__nav button[aria-current='true'] { padding-left: 0; transform: none; }
}

@media (max-width: 880px) {
	.vs-composition-heading,
	.vs-room-selector__heading,
	.vs-experience-stage__heading,
	.vs-journey-board__heading,
	.vs-contact-desk__heading { grid-template-columns: 1fr; gap: 24px; }
	.vs-guesthouse-chapter { grid-template-columns: 1fr; gap: 34px; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy,
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 1; grid-row: auto; padding: 0; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy { order: 1; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media { order: 2; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { position: relative; right: auto; bottom: auto; order: 3; width: min(58vw, 420px); margin-top: -22%; margin-left: auto; }
	.vs-guesthouse-chapter--landscape { margin-top: 130px; }
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { margin-top: 38px; }
	.vs-composition-feature__inner,
	.vs-breakfast-note__inner,
	.vs-chapada-manifesto__inner,
	.vs-experience-planning__inner { grid-template-columns: 90px minmax(0, 1fr); }
	.vs-breakfast-table__grid,
	.vs-room-choice__grid,
	.vs-journey-board__grid,
	.vs-contact-workspace { grid-template-columns: 1fr; }
	.vs-journey-board__visual { height: auto; aspect-ratio: 4 / 5; }
	.vs-room-selector__slide { min-height: 520px; }
	.vs-chapada-path__grid { grid-template-columns: 1fr; gap: 0; }
	.vs-chapada-path--base figure,
	.vs-chapada-path--base .vs-chapada-path__copy,
	.vs-chapada-path--conditions figure,
	.vs-chapada-path--conditions .vs-chapada-path__copy { grid-column: 1; grid-row: auto; }
	.vs-chapada-path--base .vs-chapada-path__copy { width: calc(100% - 48px); margin: -80px auto 0; }
	.vs-chapada-path--conditions .vs-chapada-path__copy { order: 2; padding: 58px 0 0; }
	.vs-chapada-path--conditions .vs-chapada-path__grid::after { display: none; }
	.vs-experience-slide { grid-template-columns: 1fr; }
	.vs-experience-slide__media,
	.vs-experience-slide__folio { min-height: 460px; }
	.vs-contact-channels { grid-template-columns: 1fr; }
	.vs-contact-channels > a { min-height: 190px; }
	.vs-contact-workspace__aside { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.vs-blog-magazine__opening { grid-template-columns: 1fr; }
	.vs-blog-spotlight { min-height: 540px; }
	.vs-blog-tile:nth-child(1),
	.vs-blog-tile:nth-child(2),
	.vs-blog-tile:nth-child(n + 3) { grid-column: span 6; }
}

@media (max-width: 640px) {
	.vs-composition-heading h2,
	.vs-experience-stage__heading h2,
	.vs-journey-board__heading h2,
	.vs-contact-desk__heading h2 { font-size: clamp(43px, 12.6vw, 58px); }
	.vs-composition-index { margin-bottom: 44px; font-size: 54px; }
	[data-vs-parallax] .vs-composition-image { height: 100%; transform: none; will-change: auto; }
	.vs-guesthouse-story { padding-block: 82px 110px; }
	.vs-guesthouse-chapter__copy h2 { font-size: clamp(44px, 13vw, 58px); }
	.vs-guesthouse-chapter__media { aspect-ratio: 4 / 5; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { width: 64vw; border-width: 8px; }
	.vs-composition-feature__inner,
	.vs-breakfast-note__inner,
	.vs-chapada-manifesto__inner,
	.vs-experience-planning__inner { grid-template-columns: 1fr; gap: 34px; }
	.vs-composition-feature h2,
	.vs-breakfast-note h2,
	.vs-chapada-manifesto h2,
	.vs-experience-planning h2 { font-size: clamp(44px, 13vw, 60px); }
	.vs-composition-feature__word { bottom: -4%; }
	.vs-photo-carousel { width: calc(100vw - 24px); margin-left: calc(50% - 50vw + 12px); }
	.vs-photo-carousel .vs-carousel__slide { aspect-ratio: 4 / 5; }
	.vs-photo-carousel .vs-carousel__viewport { box-shadow: 8px 8px 0 rgba(164, 71, 40, .1); }
	.vs-room-selector__nav,
	.vs-experience-carousel__nav { grid-template-columns: repeat(5, minmax(180px, 1fr)); width: calc(100vw - 32px); margin-left: calc(50% - 50vw + 16px); }
	.vs-room-selector__nav button,
	.vs-experience-carousel__nav button { padding: 17px 14px; }
	.vs-room-selector__slide { min-height: 500px; grid-template-columns: 1fr; gap: 50px; padding: 30px 22px; }
	.vs-room-selector__number { font-size: 94px; }
	.vs-room-selector__slide h3 { font-size: clamp(45px, 13vw, 60px); }
	.vs-room-choice figure { aspect-ratio: 4 / 5; box-shadow: 8px 8px 0 rgba(164, 71, 40, .1); }
	.vs-room-choice h2 { font-size: clamp(44px, 12.7vw, 58px); }
	.vs-breakfast-table { min-height: 0; padding-block: 100px; }
	.vs-breakfast-table__word { top: 1%; font-size: 220px; }
	.vs-breakfast-table__grid { gap: 70px; }
	.vs-breakfast-table__copy h2 { font-size: clamp(46px, 13.3vw, 62px); }
	.vs-breakfast-table__list li { font-size: 31px; }
	.vs-chapada-path { padding-block: 82px; }
	.vs-chapada-path figure { aspect-ratio: 4 / 5; }
	.vs-chapada-path__copy { padding: 34px 22px; }
	.vs-chapada-path__copy h2 { font-size: clamp(44px, 12.8vw, 58px); }
	.vs-chapada-path--base .vs-chapada-path__copy { width: calc(100% - 28px); margin-top: -48px; }
	.vs-experience-slide { min-height: 0; }
	.vs-experience-slide__media,
	.vs-experience-slide__folio { min-height: 390px; }
	.vs-experience-slide__copy { min-height: 390px; padding: 34px 22px; }
	.vs-experience-slide__copy h3 { font-size: clamp(44px, 13vw, 58px); }
	.vs-journey-board__visual { aspect-ratio: 4 / 5; box-shadow: 8px 8px 0 rgba(164, 71, 40, .1); }
	.vs-journey-step { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; }
	.vs-journey-step h3 { font-size: clamp(35px, 10.7vw, 46px); }
	.vs-journey-step--action { grid-template-columns: 1fr; padding: 30px 22px; }
	.vs-contact-channels > a { min-height: 174px; padding: 24px 20px; }
	.vs-contact-workspace__form { padding: 30px 18px; }
	.vs-contact-workspace__form > h2 { font-size: clamp(45px, 13vw, 58px); }
	.vs-contact-workspace__aside { grid-template-columns: 1fr; }
	.vs-contact-workspace__aside figure { aspect-ratio: 4 / 5; }
	.vs-blog-lead { grid-template-rows: auto auto; }
	.vs-blog-lead__media { aspect-ratio: 4 / 5; }
	.vs-blog-lead__copy { padding: 30px 20px 38px; }
	.vs-blog-lead__copy h2 { font-size: clamp(44px, 13vw, 58px); }
	.vs-blog-spotlight { min-height: 500px; padding: 34px 22px; }
	.vs-blog-spotlight h2 { font-size: clamp(41px, 12vw, 54px); }
	.vs-blog-magazine__grid { grid-template-columns: 1fr; }
	.vs-blog-tile:nth-child(1),
	.vs-blog-tile:nth-child(2),
	.vs-blog-tile:nth-child(n + 3) { grid-column: 1; }
	.vs-blog-tile { min-height: 350px; padding: 28px 20px; }
	.vs-blog-tile h2 { font-size: clamp(35px, 10.8vw, 47px); }
}

@media (prefers-reduced-motion: reduce) {
	.vs-carousel__track { transition: none; }
	[data-vs-parallax] .vs-composition-image { height: 100%; transform: none; will-change: auto; }
}

/*
 * Ritmo anti-template — 1.15.0.
 * Mais conteúdo por dobra, escala humana e números usados como navegação,
 * nunca como preenchimento decorativo.
 */
.vs-composition-index {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	color: var(--vs-clay-dark);
	font-family: var(--vs-body);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	line-height: 1;
}
.vs-composition-index::after { width: 38px; height: 1px; background: var(--vs-clay); content: ''; }
.vs-composition-heading {
	grid-template-columns: minmax(190px, .46fr) minmax(0, 1.54fr);
	gap: clamp(32px, 5vw, 76px);
	margin-bottom: clamp(36px, 4.5vw, 58px);
}
.vs-composition-heading h2,
.vs-experience-stage__heading h2,
.vs-journey-board__heading h2,
.vs-contact-desk__heading h2 { max-width: 880px; font-size: clamp(43px, 4.55vw, 68px); line-height: .98; }
.vs-composition-heading > p span,
.vs-experience-stage__heading > p span,
.vs-journey-board__heading > p span,
.vs-contact-desk__heading > p span { font-family: var(--vs-body); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.vs-composition-feature__word,
.vs-breakfast-table__word,
.vs-chapada-path--conditions .vs-chapada-path__grid::after { display: none; }
.vs-composition-feature__number,
.vs-breakfast-note__number,
.vs-chapada-manifesto__number,
.vs-room-selector__number {
	margin: 4px 0 0;
	padding-top: 10px;
	border-top: 1px solid currentColor;
	font-family: var(--vs-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
}

/* A Pousada. */
.vs-guesthouse-story { padding: clamp(70px, 7.5vw, 108px) 0 clamp(84px, 9vw, 126px); }
.vs-guesthouse-chapter__copy h2 { margin: 11px 0 21px; font-size: clamp(43px, 4.7vw, 68px); line-height: .99; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy { padding: 38px clamp(18px, 2.5vw, 38px) 38px 0; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail { bottom: -15%; width: min(25vw, 330px); }
.vs-guesthouse-chapter--landscape { margin-top: clamp(112px, 13vw, 178px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { padding-left: clamp(32px, 4.5vw, 68px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { bottom: -9%; width: min(22vw, 290px); }
.vs-composition-feature__inner { grid-template-columns: 58px minmax(0, 780px); gap: clamp(24px, 4vw, 54px); padding-block: clamp(68px, 7.5vw, 104px); }
.vs-composition-feature h2 { margin: 10px 0 21px; font-size: clamp(44px, 4.8vw, 70px); line-height: .98; }

/* Quartos. */
.vs-room-scenes { padding: clamp(66px, 7vw, 100px) 0; }
.vs-photo-carousel .vs-carousel__viewport { box-shadow: none; }
.vs-photo-carousel .vs-carousel__slide { aspect-ratio: 16 / 8; }
.vs-room-selector { padding: clamp(68px, 7.5vw, 106px) 0; }
.vs-room-selector__heading { gap: clamp(36px, 5vw, 76px); margin-bottom: clamp(40px, 5vw, 62px); }
.vs-room-selector__heading h2 { max-width: 720px; margin-top: 10px; font-size: clamp(44px, 4.8vw, 70px); line-height: .98; }
.vs-room-selector__carousel { gap: clamp(32px, 5vw, 74px); }
.vs-room-selector__nav button { padding-block: 15px; font-size: clamp(19px, 1.65vw, 25px); }
.vs-room-selector__slide { min-height: 430px; grid-template-columns: 54px minmax(0, 1fr); gap: clamp(26px, 4vw, 52px); padding: clamp(34px, 4.5vw, 58px); }
.vs-room-selector__slide h3 { margin: 10px 0 20px; font-size: clamp(44px, 4.7vw, 68px); line-height: .98; }
.vs-room-choice { padding: clamp(70px, 8vw, 112px) 0; }
.vs-room-choice__grid { gap: clamp(40px, 6vw, 88px); }
.vs-room-choice figure { box-shadow: none; }
.vs-room-choice h2 { margin: 10px 0 21px; font-size: clamp(42px, 4.45vw, 64px); }

/* Café da manhã. */
.vs-breakfast-table { min-height: 0; padding: clamp(72px, 8vw, 116px) 0; }
.vs-breakfast-table__grid { gap: clamp(48px, 7vw, 102px); }
.vs-breakfast-table__copy h2 { margin: 10px 0 24px; font-size: clamp(45px, 4.8vw, 70px); line-height: .98; }
.vs-breakfast-table__list li { grid-template-columns: 38px minmax(0, 1fr); gap: 15px; padding: 15px 0; font-size: clamp(25px, 2.35vw, 34px); }
.vs-breakfast-note { padding: clamp(66px, 7vw, 100px) 0; }
.vs-breakfast-note__inner { grid-template-columns: 58px minmax(0, 1fr); gap: clamp(26px, 4.5vw, 62px); }
.vs-breakfast-note h2 { margin: 10px 0 21px; font-size: clamp(44px, 4.7vw, 68px); line-height: .98; }

/* Chapada. */
.vs-chapada-path { padding: clamp(70px, 7.8vw, 112px) 0; }
.vs-chapada-path__copy { padding: clamp(34px, 4.5vw, 60px); }
.vs-chapada-path__copy h2 { margin: 10px 0 21px; font-size: clamp(44px, 4.7vw, 68px); line-height: .98; }
.vs-chapada-path--base .vs-chapada-path__copy { border: 1px solid var(--vs-line); box-shadow: none; }
.vs-chapada-path--conditions .vs-chapada-path__grid { min-height: 0; }
.vs-chapada-path--conditions .vs-chapada-path__copy {
	display: grid;
	grid-template-columns: 42px minmax(0, 1.1fr) minmax(300px, .9fr);
	column-gap: clamp(28px, 5vw, 78px);
	align-items: end;
	padding: clamp(58px, 6.5vw, 88px) 0;
}
.vs-chapada-path--conditions .vs-composition-index { grid-column: 1; grid-row: 1 / 3; align-self: start; }
.vs-chapada-path--conditions .vs-kicker { grid-column: 2; grid-row: 1; }
.vs-chapada-path--conditions h2 { grid-column: 2; grid-row: 2; margin-bottom: 0; }
.vs-chapada-path--conditions .vs-richtext { grid-column: 3; grid-row: 2; }
.vs-chapada-manifesto { padding: clamp(68px, 7.5vw, 104px) 0; }
.vs-chapada-manifesto__inner { grid-template-columns: 58px minmax(0, 1fr); gap: clamp(28px, 4.5vw, 64px); }
.vs-chapada-manifesto h2 { margin: 10px 0 22px; font-size: clamp(45px, 4.9vw, 70px); line-height: .98; }

/* Experiências. */
.vs-experience-stage { padding: clamp(68px, 7.5vw, 106px) 0; }
.vs-experience-stage__heading,
.vs-journey-board__heading,
.vs-contact-desk__heading { grid-template-columns: minmax(190px, .46fr) minmax(0, 1.54fr); gap: clamp(32px, 5vw, 76px); margin-bottom: clamp(38px, 4.5vw, 58px); }
.vs-experience-carousel { gap: clamp(30px, 5vw, 72px); }
.vs-experience-carousel__nav button { padding-block: 15px; font-size: clamp(19px, 1.7vw, 25px); }
.vs-experience-slide { min-height: 460px; grid-template-columns: minmax(0, 1.14fr) minmax(290px, .86fr); }
.vs-experience-slide__copy { padding: clamp(30px, 3.5vw, 48px); }
.vs-experience-slide__copy h3 { margin: 10px 0 19px; font-size: clamp(39px, 3.5vw, 52px); }
.vs-experience-slide__folio { justify-content: space-between; padding: clamp(30px, 4vw, 52px); }
.vs-experience-slide__folio span { padding-top: 10px; border-top: 1px solid var(--vs-gold); font-family: var(--vs-body); font-size: 11px; font-weight: 700; letter-spacing: .14em; line-height: 1; }
.vs-experience-planning { padding: clamp(66px, 7vw, 100px) 0; }
.vs-experience-planning__inner { grid-template-columns: 58px minmax(0, 1fr); gap: clamp(28px, 4.5vw, 64px); }
.vs-experience-planning h2 { margin: 10px 0 21px; font-size: clamp(44px, 4.7vw, 68px); line-height: .98; }

/* Como chegar. */
.vs-journey-board { padding: clamp(68px, 7.5vw, 106px) 0; }
.vs-journey-board__grid { gap: clamp(38px, 6vw, 88px); }
.vs-journey-board__visual { height: clamp(520px, 49vw, 690px); box-shadow: none; }
.vs-journey-step { grid-template-columns: 42px minmax(0, 1fr); gap: clamp(18px, 2.5vw, 34px); padding: clamp(24px, 3vw, 38px) 0; }
.vs-journey-step__number { margin-top: 7px; font-family: var(--vs-body); font-size: 9px; font-weight: 700; letter-spacing: .13em; line-height: 1; }
.vs-journey-step h3 { margin: 6px 0 14px; font-size: clamp(32px, 3.2vw, 46px); }
.vs-journey-step--action { margin-top: 18px; padding: clamp(28px, 3.5vw, 44px); }

/* Contato. */
.vs-contact-desk { padding: clamp(60px, 6.5vw, 92px) 0 clamp(72px, 8vw, 112px); }
.vs-contact-channels { margin-bottom: clamp(46px, 5.5vw, 72px); }
.vs-contact-channels > a { min-height: 164px; padding: clamp(22px, 2.6vw, 34px); }
.vs-contact-channels > a > span { font-family: var(--vs-body); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.vs-contact-channels small { margin-top: 26px; }
.vs-contact-channels strong { font-size: clamp(22px, 2.15vw, 31px); }
.vs-contact-channels i { top: 22px; right: 22px; width: 34px; height: 34px; }
.vs-contact-workspace { gap: clamp(38px, 6vw, 84px); }
.vs-contact-workspace__form { padding: clamp(30px, 4vw, 52px); }
.vs-contact-workspace__form > h2 { margin: 10px 0 32px; font-size: clamp(43px, 4.5vw, 64px); }
.vs-contact-workspace__note .vs-composition-index { margin-bottom: 22px; }
.vs-contact-workspace__note h3 { margin: 10px 0 16px; font-size: clamp(32px, 3.3vw, 46px); }

/* Blog. */
.vs-blog-magazine { padding: clamp(58px, 6.5vw, 94px) 0; }
.vs-blog-lead { grid-template-rows: minmax(330px, 1fr) auto; }
.vs-blog-lead__copy { padding: clamp(28px, 4vw, 52px); }
.vs-blog-lead__copy h2 { margin: 10px 0 18px; font-size: clamp(42px, 4.55vw, 66px); line-height: .98; }
.vs-blog-spotlight { position: relative; justify-content: center; padding: clamp(72px, 8vw, 118px) clamp(28px, 4vw, 52px) clamp(34px, 4.5vw, 60px); }
.vs-blog-spotlight__number,
.vs-blog-tile__number { margin: 0 0 32px; padding-top: 9px; border-top: 1px solid currentColor; font-family: var(--vs-body); font-size: 9px; font-weight: 700; letter-spacing: .14em; line-height: 1; }
.vs-blog-spotlight__number { position: absolute; top: clamp(30px, 4vw, 50px); right: clamp(28px, 4vw, 52px); left: clamp(28px, 4vw, 52px); }
.vs-blog-spotlight h2 { margin: 10px 0 18px; font-size: clamp(35px, 3.65vw, 52px); line-height: 1; }
.vs-blog-tile { min-height: 270px; padding: clamp(24px, 3vw, 38px); }
.vs-blog-tile h2 { margin: 8px 0 15px; font-size: clamp(30px, 3vw, 43px); }
.vs-blog-tile__link { top: 24px; right: 24px; width: 36px; height: 36px; }

@media (max-width: 880px) {
	.vs-composition-heading,
	.vs-room-selector__heading,
	.vs-experience-stage__heading,
	.vs-journey-board__heading,
	.vs-contact-desk__heading { grid-template-columns: 1fr; gap: 18px; }
	.vs-composition-feature__inner,
	.vs-breakfast-note__inner,
	.vs-chapada-manifesto__inner,
	.vs-experience-planning__inner { grid-template-columns: 42px minmax(0, 1fr); gap: 24px; }
	.vs-guesthouse-chapter--landscape { margin-top: 100px; }
	.vs-room-selector__slide { min-height: 400px; }
	.vs-experience-slide { grid-template-columns: 1fr; }
	.vs-experience-slide__media { min-height: 390px; }
	.vs-experience-slide__folio { min-height: 190px; }
	.vs-journey-board__visual { height: auto; aspect-ratio: 16 / 10; }
	.vs-contact-channels > a { min-height: 142px; }
	.vs-blog-spotlight { min-height: 360px; }
	.vs-chapada-path--conditions .vs-chapada-path__copy { grid-template-columns: 34px minmax(0, 1fr); column-gap: 20px; }
	.vs-chapada-path--conditions .vs-composition-index { grid-column: 1; grid-row: 1 / 4; }
	.vs-chapada-path--conditions .vs-kicker,
	.vs-chapada-path--conditions h2,
	.vs-chapada-path--conditions .vs-richtext { grid-column: 2; grid-row: auto; }
}

@media (max-width: 640px) {
	.vs-composition-heading h2,
	.vs-experience-stage__heading h2,
	.vs-journey-board__heading h2,
	.vs-contact-desk__heading h2 { font-size: clamp(36px, 10.6vw, 46px); }
	.vs-composition-index { margin-bottom: 18px; font-size: 8px; }
	.vs-guesthouse-story { padding-block: 56px 72px; }
	.vs-guesthouse-chapter__copy h2 { font-size: clamp(37px, 10.8vw, 47px); }
	.vs-guesthouse-chapter--landscape { margin-top: 78px; }
	.vs-composition-feature__inner,
	.vs-breakfast-note__inner,
	.vs-chapada-manifesto__inner,
	.vs-experience-planning__inner { grid-template-columns: 1fr; gap: 18px; }
	.vs-composition-feature h2,
	.vs-breakfast-note h2,
	.vs-chapada-manifesto h2,
	.vs-experience-planning h2 { font-size: clamp(38px, 11vw, 49px); }
	.vs-room-scenes,
	.vs-room-selector,
	.vs-room-choice,
	.vs-experience-stage,
	.vs-journey-board { padding-block: 58px; }
	.vs-photo-carousel .vs-carousel__slide { aspect-ratio: 4 / 3; }
	.vs-room-selector__slide { min-height: 360px; grid-template-columns: 1fr; gap: 22px; padding: 28px 20px; }
	.vs-room-selector__slide h3 { font-size: clamp(38px, 11vw, 49px); }
	.vs-room-choice h2 { font-size: clamp(37px, 10.7vw, 47px); }
	.vs-breakfast-table { padding-block: 58px; }
	.vs-breakfast-table__grid { gap: 38px; }
	.vs-breakfast-table__copy h2 { font-size: clamp(39px, 11.2vw, 50px); }
	.vs-breakfast-table__list li { font-size: 26px; }
	.vs-chapada-path { padding-block: 58px; }
	.vs-chapada-path__copy { padding: 28px 20px; }
	.vs-chapada-path__copy h2 { font-size: clamp(38px, 10.9vw, 48px); }
	.vs-chapada-path--base .vs-chapada-path__copy { width: calc(100% - 20px); margin-top: -36px; }
	.vs-chapada-path--conditions .vs-chapada-path__copy { display: block; padding: 52px 0; }
	.vs-experience-slide__media { min-height: 330px; }
	.vs-experience-slide__folio { min-height: 150px; }
	.vs-experience-slide__copy { min-height: 0; padding: 28px 20px; }
	.vs-experience-slide__copy h3 { font-size: clamp(37px, 10.8vw, 47px); }
	.vs-journey-step { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding-block: 24px; }
	.vs-journey-step h3 { font-size: clamp(31px, 9vw, 39px); }
	.vs-contact-desk { padding-block: 52px 68px; }
	.vs-contact-channels { margin-bottom: 42px; }
	.vs-contact-channels > a { min-height: 132px; padding: 21px 18px; }
	.vs-contact-workspace__form { padding: 26px 16px; }
	.vs-contact-workspace__form > h2 { font-size: clamp(38px, 11vw, 49px); }
	.vs-blog-magazine { padding-block: 52px; }
	.vs-blog-lead__media { aspect-ratio: 4 / 3; }
	.vs-blog-lead__copy { padding: 26px 18px 32px; }
	.vs-blog-lead__copy h2 { font-size: clamp(38px, 11vw, 49px); }
	.vs-blog-spotlight { min-height: 320px; padding: 72px 20px 28px; }
	.vs-blog-spotlight__number { top: 28px; right: 20px; left: 20px; }
	.vs-blog-spotlight h2 { font-size: clamp(35px, 10vw, 44px); }
	.vs-blog-tile { min-height: 250px; padding: 25px 18px; }
	.vs-blog-tile h2 { font-size: clamp(31px, 9vw, 40px); }
}

/* 1.15.1 â€” acabamento final: sem ornamentos repetidos e sem sobreposiÃ§Ã£o de grade. */
.vs-kicker,
.vs-composition-index,
.vs-composition-feature__number,
.vs-breakfast-note__number,
.vs-chapada-manifesto__number,
.vs-room-selector__number,
.vs-blog-spotlight__number,
.vs-blog-tile__number,
.vs-experience-slide__folio,
.vs-journey-step__number { display: none !important; }

.vs-guesthouse-story { padding: clamp(56px, 6vw, 92px) 0 clamp(76px, 8vw, 112px); }
.vs-guesthouse-chapter { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); column-gap: clamp(42px, 6vw, 96px); }
.vs-guesthouse-chapter__copy { max-width: 440px; }
.vs-guesthouse-chapter__copy h2 { margin: 0 0 20px; font-size: clamp(40px, 3.9vw, 58px); line-height: 1.02; }
.vs-guesthouse-chapter__copy .vs-richtext { max-width: 430px; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy { grid-column: 1; grid-row: 1; padding: 0; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media { grid-column: 2; grid-row: 1; }
.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail { right: 2%; bottom: -13%; width: min(19vw, 250px); }
.vs-guesthouse-chapter--landscape { grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); margin-top: clamp(104px, 11vw, 158px); }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media { grid-column: 1; grid-row: 1; }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 2; grid-row: 1; padding: 0; }
.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { right: 5%; bottom: -11%; width: min(18vw, 235px); }
.vs-composition-feature__inner,
.vs-breakfast-note__inner,
.vs-chapada-manifesto__inner,
.vs-experience-planning__inner { grid-template-columns: minmax(0, 780px); }
.vs-room-selector__slide,
.vs-journey-step { grid-template-columns: minmax(0, 1fr); }
.vs-chapada-path--conditions .vs-chapada-path__copy { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.vs-chapada-path--conditions h2 { grid-column: 1; grid-row: 1; }
.vs-chapada-path--conditions .vs-richtext { grid-column: 2; grid-row: 1; }

@media (max-width: 880px) {
	.vs-guesthouse-chapter,
	.vs-guesthouse-chapter--landscape { grid-template-columns: 1fr; gap: 30px; }
	.vs-guesthouse-chapter__copy { max-width: 620px; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__copy,
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__media,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__copy { grid-column: 1; grid-row: auto; padding: 0; }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { width: min(52vw, 330px); }
	.vs-chapada-path--conditions .vs-chapada-path__copy { grid-template-columns: 1fr; }
	.vs-chapada-path--conditions h2,
	.vs-chapada-path--conditions .vs-richtext { grid-column: 1; grid-row: auto; }
}

@media (max-width: 640px) {
	.vs-guesthouse-story { padding-block: 48px 68px; }
	.vs-guesthouse-chapter__copy h2 { font-size: clamp(36px, 10.4vw, 46px); }
	.vs-guesthouse-chapter--arrival .vs-guesthouse-chapter__detail,
	.vs-guesthouse-chapter--landscape .vs-guesthouse-chapter__detail { width: min(64vw, 300px); }
}

/*
 * Consistência tipográfica global — 1.18.5.
 * Esta camada fica deliberadamente por último para prevalecer sobre as
 * variações históricas de cada composição sem apagar sua hierarquia semântica.
 */
.vs-inner-main .vs-inner-hero h1,
.vs-inner-main .vs-inner-hero h1.vs-title--long,
.vs-inner-main .vs-inner-hero h1.vs-title--very-long,
.vs-inner-main .vs-article-hero h1,
.vs-inner-main .vs-room-detail-hero h1 {
	font-size: var(--vs-type-page-title);
	line-height: 1;
}

.vs-inner-main .vs-directions-map__heading h2,
.vs-inner-main .vs-directions-options__heading h2,
.vs-inner-main .vs-directions-arrival__copy h2,
.vs-inner-main .vs-lodge-story__copy h2,
.vs-inner-main .vs-lodge-values h2,
.vs-inner-main .vs-lodge-stay__heading h2,
.vs-inner-main .vs-lodge-location__copy h2,
.vs-inner-main .vs-room-mosaic-heading h2,
.vs-inner-main .vs-room-categories__heading h2,
.vs-inner-main .vs-room-reservation-band h2,
.vs-inner-main .vs-destination-heading h2,
.vs-inner-main .vs-destination-intro h2,
.vs-inner-main .vs-destination-practical h2,
.vs-inner-main .vs-destination-guides__heading h2,
.vs-inner-main .vs-destination-closing h2,
.vs-inner-main .vs-activity-stage__heading h2,
.vs-inner-main .vs-activity-planning h2,
.vs-inner-main .vs-room-detail-story > header h2,
.vs-inner-main .vs-room-detail-ambient__heading h2,
.vs-inner-main .vs-room-detail-gallery__heading h2,
.vs-inner-main .vs-room-detail-amenities h2,
.vs-inner-main .vs-room-detail-booking .vs-booking-panel h2,
.vs-inner-main .vs-room-detail-next h2,
.vs-inner-main.vs-page--perguntas-frequentes .vs-inner-section--feature .vs-inner-section__content h2,
.vs-inner-main.vs-page--faq .vs-inner-section--feature .vs-inner-section__content h2,
.vs-inner-main .vs-journey-board__heading h2,
.vs-inner-main .vs-contact-desk__heading h2,
.vs-inner-main .vs-contact-workspace__form > h2,
.vs-inner-main .vs-composition-heading h2,
.vs-inner-main .vs-experience-stage__heading h2,
.vs-inner-main .vs-composition-feature h2,
.vs-inner-main .vs-room-selector__heading h2,
.vs-inner-main .vs-room-choice h2,
.vs-inner-main .vs-breakfast-table__copy h2,
.vs-inner-main .vs-breakfast-note h2,
.vs-inner-main .vs-chapada-path__copy h2,
.vs-inner-main .vs-chapada-manifesto h2,
.vs-inner-main .vs-experience-planning h2,
.vs-inner-main .vs-blog-lead__copy h2 {
	font-size: var(--vs-type-section-title);
	line-height: 1.02;
}

.vs-inner-main .vs-directions-card h3,
.vs-inner-main .vs-room-category-scene h3,
.vs-inner-main .vs-activity-slide__copy h3,
.vs-inner-main .vs-room-detail-story__copy h2,
.vs-inner-main .vs-journey-step h3,
.vs-inner-main .vs-contact-workspace__note h3,
.vs-inner-main .vs-blog-spotlight h2,
.vs-inner-main .vs-blog-tile h2,
.vs-inner-main .vs-room-selector__slide h3,
.vs-inner-main .vs-lodge-stay-card h3 {
	font-size: var(--vs-type-subsection-title);
	line-height: 1.08;
}

.vs-inner-main .vs-inner-hero .vs-inner-hero__intro,
.vs-inner-main .vs-room-detail-hero__summary {
	font-size: clamp(16px, 1.18vw, 18px);
	line-height: 1.58;
}

.vs-inner-main .vs-richtext,
.vs-inner-main .vs-room-category-scene .vs-richtext,
.vs-inner-main .vs-activity-slide__copy .vs-richtext,
.vs-inner-main .vs-activity-planning .vs-richtext,
.vs-inner-main .vs-directions-card .vs-richtext,
.vs-inner-main .vs-room-detail-story__copy,
.vs-inner-main .vs-contact-workspace__note .vs-richtext,
.vs-inner-main .vs-room-mosaic-heading > p,
.vs-inner-main .vs-room-detail-ambient__heading > p,
.vs-inner-main .vs-directions-map__heading address,
.vs-inner-main .vs-directions-arrival__actions address,
.vs-inner-main .vs-blog-tile div > p:not(.vs-blog-card__meta) {
	font-size: var(--vs-type-body);
	line-height: 1.68;
}

@media (max-width: 640px) {
	.vs-inner-main .vs-inner-hero .vs-inner-hero__intro,
	.vs-inner-main .vs-room-detail-hero__summary {
		font-size: 16px;
		line-height: 1.55;
	}
}

/*
 * Acomodações — duas camadas públicas, 1.19.0.
 * A listagem funciona como um índice compacto de seis categorias. Cada
 * categoria reúne os apartamentos e suas fotografias sem criar uma terceira
 * camada pública de navegação.
 */
.vs-page--quartos .vs-inner-hero--marketing,
.vs-page--rooms .vs-inner-hero--marketing {
	min-height: 0;
	padding-block: clamp(28px, 3vw, 44px);
}

.vs-page--quartos .vs-inner-hero--marketing.vs-inner-hero--framed .vs-inner-hero__frame,
.vs-page--rooms .vs-inner-hero--marketing.vs-inner-hero--framed .vs-inner-hero__frame {
	grid-template-columns: minmax(0, .82fr) minmax(380px, 1.18fr);
	gap: clamp(34px, 5vw, 72px);
}

.vs-page--quartos .vs-inner-hero--marketing .vs-inner-hero__frame-media,
.vs-page--rooms .vs-inner-hero--marketing .vs-inner-hero__frame-media {
	aspect-ratio: 16 / 9;
}

.vs-page--quartos .vs-inner-hero h1,
.vs-page--rooms .vs-inner-hero h1 {
	font-size: clamp(40px, 4.2vw, 62px);
}

.vs-page--quartos .vs-room-categories,
.vs-page--rooms .vs-room-categories {
	padding-block: clamp(52px, 6vw, 84px);
}

.vs-page--quartos .vs-room-categories__heading,
.vs-page--rooms .vs-room-categories__heading {
	grid-template-columns: minmax(160px, .34fr) minmax(0, 1.66fr);
	gap: clamp(24px, 5vw, 70px);
	margin-bottom: clamp(34px, 4vw, 54px);
}

.vs-page--quartos .vs-room-categories__heading h2,
.vs-page--rooms .vs-room-categories__heading h2 {
	max-width: 780px;
	font-size: clamp(34px, 3.4vw, 48px);
	line-height: 1.03;
}

.vs-room-categories__heading > div > p {
	max-width: 660px;
	margin: 16px 0 0;
	color: var(--vs-muted);
	font-size: 15px;
}

.vs-page--quartos .vs-room-categories__list,
.vs-page--rooms .vs-room-categories__list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(34px, 4vw, 56px) clamp(18px, 2.2vw, 32px);
}

.vs-page--quartos .vs-room-category-scene,
.vs-page--rooms .vs-room-category-scene {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: stretch;
}

.vs-page--quartos .vs-room-category-scene__media,
.vs-page--rooms .vs-room-category-scene__media {
	display: block;
	min-height: 0;
	aspect-ratio: 4 / 3;
	background: var(--vs-forest);
}

.vs-page--quartos .vs-room-category-scene__copy,
.vs-page--rooms .vs-room-category-scene__copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px 0 0;
}

.vs-page--quartos .vs-room-category-scene__count,
.vs-page--rooms .vs-room-category-scene__count {
	margin-bottom: 12px;
}

.vs-page--quartos .vs-room-category-scene h3,
.vs-page--rooms .vs-room-category-scene h3 {
	margin-bottom: 10px;
	font-size: clamp(27px, 2.5vw, 34px);
	line-height: 1.05;
}

.vs-room-category-scene__units {
	margin: 0 0 12px;
	color: var(--vs-clay-dark);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.5;
	text-transform: uppercase;
}

.vs-page--quartos .vs-room-category-scene .vs-richtext,
.vs-page--rooms .vs-room-category-scene .vs-richtext {
	font-size: 14px;
	line-height: 1.55;
}

.vs-page--quartos .vs-room-category-scene .vs-richtext p,
.vs-page--rooms .vs-room-category-scene .vs-richtext p {
	margin-top: 0;
}

.vs-page--quartos .vs-room-category-scene .vs-text-link,
.vs-page--rooms .vs-room-category-scene .vs-text-link {
	margin-top: auto;
	padding-top: 15px;
}

.vs-room-category-hero {
	/* Protege HTML antigo em cache: o cabeçalho inteiro da categoria foi retirado. */
	display: none !important;
}

.vs-room-units {
	padding: clamp(58px, 7vw, 102px) 0;
	background: var(--vs-cream);
}

.vs-room-units__heading {
	display: block;
	margin-bottom: clamp(34px, 4.5vw, 62px);
	text-align: center;
}

.vs-room-units__heading-copy {
	max-width: 820px;
	margin-inline: auto;
}

.vs-room-units__heading .vs-editorial-label {
	margin-bottom: 12px;
}

.vs-room-units__heading h1 {
	max-width: 820px;
	margin: 0;
	font-size: clamp(36px, 3.5vw, 50px);
	line-height: 1.02;
}

.vs-room-units__heading-copy > p:not(.vs-editorial-label) {
	max-width: 660px;
	margin: 14px auto 0;
	color: var(--vs-muted);
	font-size: 15px;
}

.vs-room-units__list {
	border-top: 1px solid var(--vs-line);
}

.vs-room-unit {
	display: grid;
	grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
	gap: clamp(30px, 5vw, 72px);
	align-items: start;
	padding: clamp(46px, 5.5vw, 78px) 0;
	border-bottom: 1px solid var(--vs-line);
}

.vs-room-unit--reverse {
	grid-template-columns: minmax(0, 1.14fr) minmax(320px, .86fr);
}

.vs-room-unit--reverse .vs-room-unit__copy {
	grid-column: 2;
	grid-row: 1;
}

.vs-room-unit--reverse .vs-room-unit__gallery {
	grid-column: 1;
	grid-row: 1;
}

.vs-room-unit__copy {
	min-width: 0;
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--vs-line);
	background: var(--vs-paper);
	background: color-mix(in srgb, var(--vs-paper) 82%, transparent);
}

.vs-room-unit__number {
	margin: 0 0 10px;
	color: var(--vs-clay-dark);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vs-room-unit__number span {
	margin-left: 5px;
	font-family: var(--vs-heading);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: 0;
}

.vs-room-unit__title h2 {
	margin: 0 0 20px;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1.03;
}

.vs-room-unit__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 22px;
}

.vs-room-unit__facts div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid var(--vs-line);
	background: rgba(250, 246, 239, .58);
}

.vs-room-unit__facts div + div {
	padding-left: 14px;
}

.vs-room-unit__facts div:only-child {
	grid-column: 1 / -1;
}

.vs-room-unit__facts dt,
.vs-room-unit__details dt {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--vs-muted);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.25;
	text-transform: uppercase;
}

.vs-room-unit__facts dd {
	margin: 8px 0 0 34px;
	color: var(--vs-night);
	font-family: var(--vs-heading);
	font-size: 20px;
	line-height: 1.12;
}

.vs-room-unit__icon {
	display: inline-grid;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border: 1px solid rgba(150, 57, 23, .24);
	border-radius: 50%;
	background: rgba(221, 160, 82, .1);
	color: var(--vs-clay-dark);
	place-items: center;
}

.vs-room-unit__icon svg,
.vs-room-unit__amenity-icon svg,
.vs-room-unit__gallery-controls svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.vs-room-unit__description {
	padding-inline: 2px;
	color: var(--vs-muted);
	font-size: 15px;
	line-height: 1.65;
}

.vs-room-unit__description p {
	margin: 0;
}

.vs-room-unit__details {
	display: grid;
	gap: 8px;
	margin: 22px 0 0;
}

.vs-room-unit__details div {
	display: grid;
	grid-template-columns: minmax(112px, .38fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 11px 14px;
	border: 1px solid var(--vs-line);
	background: rgba(250, 246, 239, .42);
}

.vs-room-unit__details dd {
	margin: 0;
	padding-top: 3px;
	font-size: 13px;
	line-height: 1.55;
}

.vs-room-unit__amenities {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.vs-room-unit__amenities li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px 6px 7px;
	border: 1px solid var(--vs-line);
	border-radius: 999px;
	background: rgba(250, 246, 239, .42);
	color: var(--vs-muted);
	font-size: 10px;
	line-height: 1.35;
}

.vs-room-unit__amenity-icon {
	display: inline-grid;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(100, 106, 76, .12);
	color: var(--vs-forest);
	place-items: center;
}

.vs-room-unit__amenity-icon svg {
	width: 11px;
	height: 11px;
	stroke-width: 2;
}

.vs-room-unit__gallery {
	display: grid;
	min-width: 0;
	gap: 10px;
}

.vs-room-unit__viewport {
	position: relative;
	min-width: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--vs-stone);
	touch-action: pan-y;
}

.vs-room-unit__track {
	display: flex;
	width: 100%;
	height: 100%;
}

.vs-room-unit__gallery.is-ready .vs-room-unit__track {
	transition: transform 480ms var(--vs-ease);
	will-change: transform;
}

.vs-room-unit__slide {
	flex: 0 0 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--vs-stone);
}

.vs-room-unit__gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vs-room-unit__gallery-controls {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	display: none;
	grid-template-columns: 42px auto 42px;
	align-items: center;
	overflow: hidden;
	border: 1px solid rgba(255, 250, 240, .34);
	background: rgba(50, 64, 39, .9);
	color: var(--vs-white);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
}

.vs-room-unit__gallery.is-ready .vs-room-unit__gallery-controls {
	display: grid;
}

.vs-room-unit__gallery-controls button {
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	place-items: center;
	transition: background-color 180ms ease, color 180ms ease;
}

.vs-room-unit__gallery-controls button:hover {
	background: var(--vs-gold);
	color: var(--vs-night);
}

.vs-room-unit__gallery-controls button:focus-visible {
	outline: 2px solid var(--vs-gold);
	outline-offset: -4px;
	box-shadow: none;
}

.vs-room-unit__gallery-controls svg {
	width: 19px;
	height: 19px;
}

.vs-room-unit__gallery-count {
	min-width: 70px;
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1;
	text-align: center;
}

.vs-room-unit__thumbs {
	display: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}

.vs-room-unit__gallery.is-ready .vs-room-unit__thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vs-room-unit__thumbs button {
	position: relative;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent;
	background: var(--vs-stone);
	cursor: pointer;
	opacity: .58;
	aspect-ratio: 4 / 3;
	transition: border-color 180ms ease, opacity 180ms ease;
}

.vs-room-unit__thumbs button:hover,
.vs-room-unit__thumbs button[aria-current="true"] {
	border-color: var(--vs-clay-dark);
	opacity: 1;
}

.vs-room-unit__thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vs-room-unit__gallery--pending {
	display: grid;
	min-height: 340px;
	place-items: center;
	padding: 30px;
	background: var(--vs-forest);
}

.vs-room-unit__placeholder {
	margin: 0;
	color: var(--vs-white);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-align: center;
	text-transform: uppercase;
}

.vs-room-category-next {
	padding: 28px 0;
	background: var(--vs-paper);
}

.vs-room-category-next a {
	display: grid;
	grid-template-columns: minmax(140px, .45fr) minmax(0, 1fr) auto 140px;
	gap: clamp(18px, 3vw, 42px);
	align-items: center;
	min-height: 112px;
	padding-block: 12px;
	color: inherit;
	text-decoration: none;
}

.vs-room-category-next__label {
	color: var(--vs-clay-dark);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .13em;
}

.vs-room-category-next strong {
	font-family: var(--vs-heading);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 500;
	line-height: 1;
}

.vs-room-category-next__arrow {
	font-size: 28px;
}

.vs-room-category-next__media {
	display: block;
	width: 140px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.vs-room-category-next__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* A faixa de reserva permanece visível durante todo o fluxo de acomodações. */
body.vs-accommodation-context {
	padding-bottom: 68px;
}

.vs-accommodation-context .vs-booking-strip {
	right: 0;
	bottom: 0;
	left: 0;
	justify-content: flex-end;
	width: 100%;
	max-width: none;
	min-height: 68px;
	padding: 8px max(16px, calc((100vw - 1340px) / 2));
	border: 0;
	border-top: 1px solid rgba(255, 250, 240, .22);
	box-shadow: 0 -10px 30px rgba(0, 0, 0, .16);
}

.vs-accommodation-context .vs-booking-strip__copy {
	flex: 0 1 auto;
	min-width: 220px;
}

.vs-accommodation-context.vs-footer-visible .vs-booking-strip,
.vs-accommodation-context.vs-booking-strip-avoiding .vs-booking-strip,
.vs-accommodation-context.vs-review-visible .vs-booking-strip {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transform: none;
}

@media (max-width: 1040px) {
	.vs-page--quartos .vs-room-categories__list,
	.vs-page--rooms .vs-room-categories__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vs-room-unit,
	.vs-room-unit--reverse { gap: 30px; }
}

@media (max-width: 780px) {
	.vs-page--quartos .vs-inner-hero--marketing.vs-inner-hero--framed .vs-inner-hero__frame,
	.vs-page--rooms .vs-inner-hero--marketing.vs-inner-hero--framed .vs-inner-hero__frame {
		grid-template-columns: 1fr;
	}

	.vs-room-unit,
	.vs-room-unit--reverse {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.vs-room-unit__copy { padding: clamp(24px, 6vw, 36px); }

	.vs-room-unit--reverse .vs-room-unit__copy,
	.vs-room-unit--reverse .vs-room-unit__gallery {
		grid-column: 1;
		grid-row: auto;
	}

	.vs-room-category-next a {
		grid-template-columns: minmax(0, 1fr) auto 96px;
	}

	.vs-room-category-next__label {
		grid-column: 1 / 4;
	}

	.vs-room-category-next__media {
		width: 96px;
	}
}

@media (max-width: 640px) {
	.vs-page--quartos .vs-inner-hero h1,
	.vs-page--rooms .vs-inner-hero h1 {
		font-size: clamp(36px, 10vw, 46px);
	}

	.vs-page--quartos .vs-room-categories__heading,
	.vs-page--rooms .vs-room-categories__heading {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.vs-page--quartos .vs-room-categories__heading h2,
	.vs-page--rooms .vs-room-categories__heading h2,
	.vs-room-units__heading h1 {
		font-size: clamp(31px, 8.8vw, 40px);
	}

	.vs-page--quartos .vs-room-categories__list,
	.vs-page--rooms .vs-room-categories__list {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.vs-page--quartos .vs-room-category-scene__media,
	.vs-page--rooms .vs-room-category-scene__media {
		aspect-ratio: 16 / 11;
	}

	.vs-room-unit {
		padding-block: 42px;
	}

	.vs-room-unit__title h2 {
		font-size: clamp(29px, 8.4vw, 37px);
	}

	.vs-room-unit__viewport {
		aspect-ratio: 4 / 3;
	}

	.vs-room-unit__details div {
		grid-template-columns: minmax(104px, .38fr) minmax(0, 1fr);
	}

	.vs-room-unit__gallery-controls {
		right: 10px;
		bottom: 10px;
	}

	.vs-room-unit__thumbs { gap: 5px; }

	.vs-room-category-next a {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.vs-room-category-next__label {
		grid-column: 1 / 3;
	}

	.vs-room-category-next__media {
		display: none;
	}

	body.vs-accommodation-context {
		padding-bottom: 60px;
	}

	.vs-accommodation-context .vs-booking-strip {
		right: 0;
		bottom: 0;
		left: 0;
		min-height: 60px;
		max-width: none;
		padding: 6px 8px 6px 14px;
	}

	.vs-accommodation-context .vs-booking-strip__copy {
		min-width: 0;
	}

	.vs-accommodation-context .vs-booking-strip__copy small {
		display: block;
		font-size: 8px;
	}

	.vs-accommodation-context .vs-booking-strip__copy strong {
		font-size: 14px;
	}
}

@media (max-width: 420px) {
	.vs-room-unit__facts { grid-template-columns: 1fr; }
	.vs-room-unit__facts div:only-child,
	.vs-room-unit__facts div { grid-column: 1; }
	.vs-room-unit__details div { grid-template-columns: 1fr; gap: 8px; }
	.vs-room-unit__details dd { padding: 0 0 0 34px; }
}

@media (prefers-reduced-motion: reduce) {
	.vs-room-unit__gallery.is-ready .vs-room-unit__track { transition: none; }
}

/* Feedback do cliente — visão geral das acomodações e FAQ, 2026-09-21. */
.vs-rooms-overview {
	padding: clamp(18px, 2vw, 30px) 0 clamp(70px, 8vw, 118px);
	background: var(--vs-paper);
}

.vs-rooms-overview__media {
	width: min(1600px, calc(100% - 24px));
	height: clamp(420px, 53vw, 760px);
	margin: 0 auto;
	overflow: hidden;
	background: var(--vs-forest);
}

.vs-rooms-overview__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 52%;
}

.vs-rooms-overview__content {
	display: grid;
	grid-template-areas:
		'breadcrumbs breadcrumbs'
		'copy amenities';
	grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr);
	column-gap: clamp(54px, 7vw, 104px);
	row-gap: clamp(30px, 3.2vw, 46px);
	align-items: start;
	padding-top: clamp(52px, 5.5vw, 80px);
}

.vs-rooms-overview__content > .vs-breadcrumbs {
	grid-area: breadcrumbs;
	margin: 0;
}

.vs-rooms-overview__copy {
	grid-area: copy;
	max-width: 720px;
}

.vs-rooms-overview__copy h1 {
	max-width: 720px;
	margin: 14px 0 28px;
	font-size: var(--vs-type-page-title);
	line-height: 1;
}

.vs-rooms-overview__intro {
	max-width: 690px;
	color: var(--vs-muted);
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.72;
}

.vs-rooms-overview__intro p { margin: 0; text-wrap: pretty; }
.vs-rooms-overview__amenities {
	grid-area: amenities;
	align-self: stretch;
	min-width: 0;
	padding: 4px 0 0 clamp(30px, 3.5vw, 52px);
	border-left: 1px solid var(--vs-line);
}
.vs-rooms-overview__amenities > p { margin-bottom: 20px; }
.vs-rooms-overview__amenities ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(20px, 2.2vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.vs-rooms-overview__amenities li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	min-height: 54px;
	padding: 11px 0;
	border-bottom: 1px solid var(--vs-line);
	color: var(--vs-ink);
	font-size: 13px;
	line-height: 1.45;
}

.vs-rooms-overview__amenities li span { display: inline-grid; color: var(--vs-clay-dark); place-items: center; }
.vs-rooms-overview__amenities li svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.vs-page--quartos .vs-room-categories,
.vs-page--rooms .vs-room-categories { padding-block: clamp(68px, 7vw, 104px); }
.vs-page--quartos .vs-room-categories__heading,
.vs-page--rooms .vs-room-categories__heading {
	grid-template-columns: minmax(160px, .34fr) minmax(0, 1.66fr);
	align-items: end;
	margin-bottom: clamp(40px, 5vw, 68px);
}
.vs-page--quartos .vs-room-categories__heading h2,
.vs-page--rooms .vs-room-categories__heading h2 { max-width: 790px; }
.vs-page--quartos .vs-room-category-scene__copy,
.vs-page--rooms .vs-room-category-scene__copy { padding-top: 22px; }
.vs-page--quartos .vs-room-category-scene h3,
.vs-page--rooms .vs-room-category-scene h3 { margin-bottom: 9px; }
.vs-room-category-scene h3 a { color: inherit; text-decoration: none; }
.vs-room-category-scene h3 a:hover { color: var(--vs-clay-dark); }
.vs-room-category-scene__units { margin-bottom: 16px; }
.vs-room-category-scene__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 0;
	margin: auto 0 0;
	padding: 15px 0 0;
	border-top: 1px solid var(--vs-line);
	color: var(--vs-muted);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .03em;
	line-height: 1.45;
	list-style: none;
}
.vs-room-category-scene__facts li + li { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--vs-line); }
.vs-page--quartos .vs-room-category-scene__count,
.vs-page--rooms .vs-room-category-scene__count,
.vs-page--quartos .vs-room-category-scene .vs-richtext,
.vs-page--rooms .vs-room-category-scene .vs-richtext,
.vs-page--quartos .vs-room-category-scene .vs-text-link,
.vs-page--rooms .vs-room-category-scene .vs-text-link { display: none; }

.vs-faq-hero { background: linear-gradient(135deg, #4a533a 0%, #2b3824 100%); color: var(--vs-white); }
.vs-faq-hero__inner { width: min(calc(100% - 48px), 940px); padding: clamp(60px, 5vw, 68px) 0 clamp(72px, 6vw, 82px); }
.vs-faq-hero .vs-breadcrumbs { margin: 0 0 clamp(24px, 2.4vw, 28px); color: rgba(255, 250, 240, .82); }
.vs-faq-hero .vs-breadcrumbs a,
.vs-faq-hero .vs-breadcrumbs span { color: inherit; }
.vs-faq-hero__heading .vs-editorial-label { margin: 0 0 13px; color: #f0bd75; }
.vs-faq-hero__heading h1 { max-width: 1000px; margin: 0; color: var(--vs-white); font-size: clamp(42px, 3.3vw, 52px); font-weight: 500; letter-spacing: -.025em; line-height: 1.03; }

.vs-faq-overview { padding: clamp(60px, 7vw, 96px) 0 clamp(96px, 10vw, 148px); background: var(--vs-paper); }
.vs-faq-overview__inner { width: min(calc(100% - 48px), 940px); }
.vs-faq-overview__intro { max-width: 720px; color: var(--vs-muted); font-size: 15px; line-height: 1.7; }
.vs-faq-overview__intro p { margin: 0; }
.vs-faq-overview__questions { min-width: 0; padding-top: clamp(44px, 5vw, 68px); }
.vs-faq-topics { margin: 0 0 clamp(58px, 7vw, 84px); padding: 16px 0 17px; border-block: 1px solid var(--vs-line); }
.vs-faq-topics__heading { margin: 0 0 12px; color: var(--vs-clay-dark); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.vs-faq-topics__links { display: flex; flex-wrap: wrap; column-gap: 0; row-gap: 8px; }
.vs-faq-topics a { display: inline-flex; align-items: center; color: var(--vs-night); font-size: 12px; font-weight: 650; line-height: 1.4; text-decoration: none; }
.vs-faq-topics a:not(:last-child)::after { width: 2px; height: 2px; margin: 0 13px; border-radius: 50%; background: var(--vs-clay); content: ''; }
.vs-faq-topics a:hover,
.vs-faq-topics a:focus-visible { color: var(--vs-clay-dark); text-decoration: underline; text-underline-offset: 4px; }
.vs-faq-overview .vs-faq-list { max-width: none; margin: 0; border-top: 0; }
.vs-faq-group { scroll-margin-top: 110px; }
.vs-faq-group + .vs-faq-group { margin-top: clamp(48px, 5.5vw, 68px); }
.vs-faq-group > header { display: flex; gap: 5px; align-items: baseline; padding: 0 2px 13px; border-bottom: 1px solid var(--vs-line); }
.vs-faq-group__number,
.vs-faq-group > header h2 { color: var(--vs-clay-dark); font-family: var(--vs-heading); font-size: clamp(24px, 2vw, 29px); font-weight: 500; letter-spacing: -.015em; line-height: 1.15; }
.vs-faq-group__number { flex: 0 0 auto; }
.vs-faq-group > header h2 { max-width: 820px; margin: 0; }
.vs-faq-overview .vs-faq-item summary { display: grid; grid-template-columns: minmax(0, 1fr) 20px; gap: 18px; align-items: center; padding: 20px 2px; font-family: var(--vs-body); font-size: 15px; font-weight: 700; line-height: 1.45; }
.vs-faq-item__question { min-width: 0; }
.vs-faq-overview .vs-faq-item__marker { color: var(--vs-clay-dark); font-size: 17px; text-align: right; }
.vs-faq-overview .vs-faq-item__answer { max-width: 780px; margin-left: 0; padding: 0 36px 24px 2px; font-size: 15px; line-height: 1.72; }
.vs-faq-overview .vs-faq-item__answer > *:first-child { margin-top: 0; }
.vs-faq-closing { padding: clamp(66px, 7vw, 104px) 0; background: var(--vs-forest); color: var(--vs-white); text-align: center; }
.vs-faq-closing__inner { display: flex; align-items: center; flex-direction: column; gap: 24px; }
.vs-faq-closing__inner > div { max-width: 720px; }
.vs-faq-closing h2 { margin: 12px 0 14px; color: var(--vs-cream); font-size: clamp(32px, 3.3vw, 48px); line-height: 1.05; }
.vs-faq-closing .vs-richtext { color: rgba(255, 250, 240, .76); }
.vs-faq-closing .vs-button { flex: 0 0 auto; }

@media (max-width: 1100px) {
	.vs-rooms-overview__content {
		grid-template-areas:
			'breadcrumbs'
			'copy'
			'amenities';
		grid-template-columns: 1fr;
		row-gap: 36px;
	}
	.vs-rooms-overview__copy { max-width: 760px; }
	.vs-rooms-overview__amenities { padding: 34px 0 0; border-top: 1px solid var(--vs-line); border-left: 0; }
}

@media (max-width: 980px) {
	.vs-faq-topics { margin-bottom: 62px; }
}

@media (max-width: 640px) {
	.vs-rooms-overview { padding-top: 8px; }
	.vs-rooms-overview__media { width: calc(100% - 16px); height: min(62svh, 520px); }
	.vs-rooms-overview__content { row-gap: 30px; padding-top: 42px; }
	.vs-rooms-overview__copy h1 { margin-bottom: 22px; }
	.vs-rooms-overview__intro { font-size: 16px; line-height: 1.62; }
	.vs-rooms-overview__amenities { padding-top: 28px; }
	.vs-rooms-overview__amenities ul { grid-template-columns: 1fr; }
	.vs-rooms-overview__amenities li { min-height: 48px; padding-block: 10px; }
	.vs-page--quartos .vs-room-categories__heading,
	.vs-page--rooms .vs-room-categories__heading { align-items: start; }
	.vs-room-category-scene__facts { margin-top: 2px; }
	.vs-faq-hero__inner { width: min(calc(100% - 32px), 940px); padding: 48px 0 60px; }
	.vs-faq-hero .vs-breadcrumbs { margin-bottom: 24px; }
	.vs-faq-hero__heading h1 { font-size: clamp(36px, 10.2vw, 44px); line-height: 1.05; }
	.vs-faq-overview { padding: 52px 0 84px; }
	.vs-faq-overview__inner { width: min(calc(100% - 32px), 940px); }
	.vs-faq-overview__intro { font-size: 15px; }
	.vs-faq-overview__questions { padding-top: 38px; }
	.vs-faq-topics { margin-bottom: 50px; padding-block: 15px; }
	.vs-faq-topics__links { row-gap: 9px; }
	.vs-faq-topics a { font-size: 11px; }
	.vs-faq-topics a:not(:last-child)::after { margin-inline: 10px; }
	.vs-faq-group + .vs-faq-group { margin-top: 46px; }
	.vs-faq-group__number,
	.vs-faq-group > header h2 { font-size: 24px; }
	.vs-faq-overview .vs-faq-item summary { grid-template-columns: minmax(0, 1fr) 18px; gap: 12px; padding: 18px 2px; font-size: 14px; }
	.vs-faq-overview .vs-faq-item__answer { padding: 0 26px 22px 2px; font-size: 14px; }
}

/*
 * A Pousada 1.22.2 — composição fiel ao mockup do cliente.
 * Esta camada final corrige a combinação histórica de uma grade de 3 colunas
 * com cards que ainda ocupavam 2/3 colunas, origem da página excessivamente
 * longa. As regras ficam deliberadamente escopadas aos dois slugs.
 */
.vs-page--a-pousada .vs-inner-hero--immersive,
.vs-page--guesthouse .vs-inner-hero--immersive {
	min-height: min(650px, 72svh);
}

.vs-page--a-pousada .vs-lodge-look,
.vs-page--guesthouse .vs-lodge-look {
	padding: clamp(62px, 7vw, 96px) 0 clamp(78px, 8vw, 112px);
	background: var(--vs-cream);
}

.vs-page--a-pousada .vs-lodge-look__intro,
.vs-page--guesthouse .vs-lodge-look__intro {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto clamp(48px, 5vw, 70px);
	color: var(--vs-night);
	font-family: var(--vs-heading);
	font-size: clamp(21px, 2vw, 29px);
	font-style: italic;
	font-weight: 500;
	line-height: 1.48;
	text-wrap: pretty;
}

.vs-page--a-pousada .vs-lodge-look__intro p,
.vs-page--guesthouse .vs-lodge-look__intro p {
	max-width: 1110px;
	margin: 0;
}

.vs-page--a-pousada .vs-lodge-look__heading,
.vs-page--guesthouse .vs-lodge-look__heading {
	display: block;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto 15px;
}

.vs-page--a-pousada .vs-lodge-look__carousel,
.vs-page--guesthouse .vs-lodge-look__carousel {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
}

.vs-page--a-pousada .vs-lodge-look__slide,
.vs-page--guesthouse .vs-lodge-look__slide {
	aspect-ratio: 1.9 / 1;
	border-radius: 18px;
}

.vs-page--a-pousada .vs-lodge-look__slide figcaption,
.vs-page--guesthouse .vs-lodge-look__slide figcaption {
	right: 16px;
	bottom: 14px;
	border-radius: 999px;
}

.vs-page--a-pousada .vs-lodge-look .vs-carousel__controls,
.vs-page--guesthouse .vs-lodge-look .vs-carousel__controls {
	position: absolute;
	inset: 0;
	display: block;
	padding: 0;
	pointer-events: none;
}

.vs-page--a-pousada .vs-lodge-look .vs-carousel__controls button,
.vs-page--guesthouse .vs-lodge-look .vs-carousel__controls button {
	position: absolute;
	top: 50%;
	width: 42px;
	height: 42px;
	border-color: rgba(12, 28, 18, .14);
	border-radius: 50%;
	background: rgba(255, 250, 240, .92);
	color: var(--vs-night);
	box-shadow: 0 8px 24px rgba(12, 28, 18, .13);
	pointer-events: auto;
	transform: translateY(-50%);
}

.vs-page--a-pousada .vs-lodge-look [data-vs-carousel-prev],
.vs-page--guesthouse .vs-lodge-look [data-vs-carousel-prev] { left: 16px; }
.vs-page--a-pousada .vs-lodge-look [data-vs-carousel-next],
.vs-page--guesthouse .vs-lodge-look [data-vs-carousel-next] { right: 16px; }

.vs-page--a-pousada .vs-lodge-look .vs-carousel__controls p,
.vs-page--guesthouse .vs-lodge-look .vs-carousel__controls p {
	position: absolute;
	right: auto;
	bottom: -38px;
	left: 50%;
	margin: 0;
	color: var(--vs-clay-dark);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	transform: translateX(-50%);
}

.vs-page--a-pousada .vs-lodge-story,
.vs-page--guesthouse .vs-lodge-story {
	padding: clamp(74px, 8vw, 116px) 0;
	background: var(--vs-paper);
}

.vs-page--a-pousada .vs-lodge-story__layout,
.vs-page--guesthouse .vs-lodge-story__layout {
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
	gap: clamp(54px, 8vw, 118px);
	align-items: center;
}

.vs-page--a-pousada .vs-lodge-story__copy,
.vs-page--guesthouse .vs-lodge-story__copy {
	max-width: 690px;
	padding-top: 8px;
}

.vs-page--a-pousada .vs-lodge-story__copy h2,
.vs-page--guesthouse .vs-lodge-story__copy h2 {
	margin: 0 0 25px;
	font-size: clamp(38px, 3.5vw, 52px);
}

.vs-page--a-pousada .vs-lodge-story__visuals,
.vs-page--guesthouse .vs-lodge-story__visuals {
	display: grid;
	gap: 20px;
	padding: 0;
}

.vs-page--a-pousada .vs-lodge-story__quote,
.vs-page--guesthouse .vs-lodge-story__quote {
	margin: 0;
	padding: clamp(28px, 3.1vw, 43px);
	border-radius: 18px;
	background: var(--vs-forest);
	color: var(--vs-white);
}

.vs-page--a-pousada .vs-lodge-story__quote p,
.vs-page--guesthouse .vs-lodge-story__quote p {
	margin: 0 0 20px;
	font-family: var(--vs-heading);
	font-size: clamp(26px, 2.35vw, 35px);
	font-style: italic;
	font-weight: 600;
	line-height: 1.18;
}

.vs-page--a-pousada .vs-lodge-story__quote cite,
.vs-page--guesthouse .vs-lodge-story__quote cite {
	color: var(--vs-gold);
	font-family: var(--vs-body);
	font-size: 10px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vs-page--a-pousada .vs-lodge-story__primary,
.vs-page--guesthouse .vs-lodge-story__primary {
	min-height: 0;
	margin: 0;
	aspect-ratio: 1.45 / 1;
	border-radius: 18px;
	overflow: hidden;
}

.vs-page--a-pousada .vs-lodge-values,
.vs-page--guesthouse .vs-lodge-values {
	padding: clamp(72px, 8vw, 116px) 0;
	background: var(--vs-cream);
}

.vs-page--a-pousada .vs-lodge-values__layout,
.vs-page--guesthouse .vs-lodge-values__layout {
	grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr);
	gap: clamp(52px, 7vw, 104px);
	align-items: center;
	padding: 0;
	border: 0;
	background: transparent;
}

.vs-page--a-pousada .vs-lodge-values__media,
.vs-page--guesthouse .vs-lodge-values__media {
	min-height: 0;
	margin: 0;
	aspect-ratio: 1.32 / 1;
	border-radius: 18px;
	overflow: hidden;
	background: var(--vs-stone);
}

.vs-page--a-pousada .vs-lodge-values__media .vs-composition-image,
.vs-page--guesthouse .vs-lodge-values__media .vs-composition-image,
.vs-page--a-pousada .vs-lodge-story__primary .vs-composition-image,
.vs-page--guesthouse .vs-lodge-story__primary .vs-composition-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vs-page--a-pousada .vs-lodge-values__content,
.vs-page--guesthouse .vs-lodge-values__content { max-width: 690px; }
.vs-page--a-pousada .vs-lodge-values__heading,
.vs-page--guesthouse .vs-lodge-values__heading { max-width: 650px; }
.vs-page--a-pousada .vs-lodge-values h2,
.vs-page--guesthouse .vs-lodge-values h2 {
	margin: 10px 0 25px;
	font-size: clamp(38px, 3.5vw, 52px);
}
.vs-page--a-pousada .vs-lodge-values__copy,
.vs-page--guesthouse .vs-lodge-values__copy {
	max-width: none;
	padding: 0;
	border: 0;
}

.vs-page--a-pousada .vs-lodge-stay,
.vs-page--guesthouse .vs-lodge-stay {
	padding: clamp(74px, 8vw, 112px) 0;
	background: var(--vs-paper);
}

.vs-page--a-pousada .vs-lodge-stay__heading,
.vs-page--guesthouse .vs-lodge-stay__heading {
	grid-template-columns: minmax(160px, .32fr) minmax(0, 1.68fr);
	gap: clamp(34px, 6vw, 86px);
	margin-bottom: clamp(38px, 4.5vw, 62px);
}

.vs-page--a-pousada .vs-lodge-stay__heading h2,
.vs-page--guesthouse .vs-lodge-stay__heading h2 {
	max-width: 820px;
	font-size: clamp(38px, 3.7vw, 54px);
}

.vs-page--a-pousada .vs-lodge-stay__grid,
.vs-page--guesthouse .vs-lodge-stay__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(12px, 1.45vw, 22px);
}

.vs-page--a-pousada .vs-lodge-stay-card,
.vs-page--guesthouse .vs-lodge-stay-card,
.vs-page--a-pousada .vs-lodge-stay-card:nth-child(n + 4),
.vs-page--guesthouse .vs-lodge-stay-card:nth-child(n + 4) {
	grid-column: auto;
	border: 1px solid rgba(12, 28, 18, .12);
	border-radius: 16px;
	overflow: hidden;
	background: var(--vs-cream);
	box-shadow: 0 10px 28px rgba(12, 28, 18, .07);
}

.vs-page--a-pousada .vs-lodge-stay-card__media,
.vs-page--guesthouse .vs-lodge-stay-card__media {
	margin: 0;
	aspect-ratio: 1.24 / 1;
}

.vs-page--a-pousada .vs-lodge-stay-card__copy,
.vs-page--guesthouse .vs-lodge-stay-card__copy { padding: 22px 18px 24px; }

.vs-page--a-pousada .vs-lodge-stay-card h3,
.vs-page--guesthouse .vs-lodge-stay-card h3 {
	margin: 0 0 13px;
	font-size: clamp(22px, 1.8vw, 28px);
	line-height: 1.08;
}

.vs-page--a-pousada .vs-lodge-stay-card .vs-richtext,
.vs-page--guesthouse .vs-lodge-stay-card .vs-richtext {
	font-size: 13px;
	line-height: 1.62;
}

.vs-page--a-pousada .vs-lodge-stay-card .vs-richtext p,
.vs-page--guesthouse .vs-lodge-stay-card .vs-richtext p { margin-block: 0 .75em; }
.vs-page--a-pousada .vs-lodge-stay-card .vs-text-link,
.vs-page--guesthouse .vs-lodge-stay-card .vs-text-link {
	padding-top: 15px;
	font-size: 9px;
}

.vs-page--a-pousada .vs-lodge-location,
.vs-page--guesthouse .vs-lodge-location {
	padding: clamp(74px, 8vw, 116px) 0;
	background: var(--vs-cream);
}

.vs-page--a-pousada .vs-lodge-location__layout,
.vs-page--guesthouse .vs-lodge-location__layout {
	grid-template-columns: minmax(0, 1fr) minmax(390px, 1fr);
	gap: clamp(52px, 7vw, 98px);
	align-items: center;
}

.vs-page--a-pousada .vs-lodge-location__media,
.vs-page--guesthouse .vs-lodge-location__media {
	min-height: 0;
	margin: 0;
	aspect-ratio: 1.28 / 1;
	border-radius: 18px;
	overflow: hidden;
}

.vs-page--a-pousada .vs-lodge-location__copy,
.vs-page--guesthouse .vs-lodge-location__copy {
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--vs-night);
}

.vs-page--a-pousada .vs-lodge-location__copy .vs-editorial-label,
.vs-page--guesthouse .vs-lodge-location__copy .vs-editorial-label { color: var(--vs-clay-dark); }
.vs-page--a-pousada .vs-lodge-location__copy h2,
.vs-page--guesthouse .vs-lodge-location__copy h2 {
	margin: 10px 0 22px;
	color: var(--vs-night);
	font-size: clamp(38px, 3.5vw, 52px);
}
.vs-page--a-pousada .vs-lodge-location__copy .vs-richtext,
.vs-page--guesthouse .vs-lodge-location__copy .vs-richtext { color: var(--vs-muted); }
.vs-page--a-pousada .vs-lodge-location__links,
.vs-page--guesthouse .vs-lodge-location__links {
	margin-top: 28px;
	padding: 10px 22px;
	border: 1px dashed rgba(12, 28, 18, .22);
	border-radius: 16px;
	background: rgba(255, 255, 255, .5);
}
.vs-page--a-pousada .vs-lodge-location__links a,
.vs-page--guesthouse .vs-lodge-location__links a {
	border-color: rgba(12, 28, 18, .14);
	color: var(--vs-night);
}
.vs-page--a-pousada .vs-lodge-location__links a:hover,
.vs-page--a-pousada .vs-lodge-location__links a:focus-visible,
.vs-page--guesthouse .vs-lodge-location__links a:hover,
.vs-page--guesthouse .vs-lodge-location__links a:focus-visible { color: var(--vs-clay-dark); }

@media (max-width: 1180px) {
	.vs-page--a-pousada .vs-lodge-stay__grid,
	.vs-page--guesthouse .vs-lodge-stay__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.vs-page--a-pousada .vs-lodge-story__layout,
	.vs-page--guesthouse .vs-lodge-story__layout,
	.vs-page--a-pousada .vs-lodge-values__layout,
	.vs-page--guesthouse .vs-lodge-values__layout,
	.vs-page--a-pousada .vs-lodge-location__layout,
	.vs-page--guesthouse .vs-lodge-location__layout {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.vs-page--a-pousada .vs-lodge-story__copy,
	.vs-page--guesthouse .vs-lodge-story__copy,
	.vs-page--a-pousada .vs-lodge-values__content,
	.vs-page--guesthouse .vs-lodge-values__content,
	.vs-page--a-pousada .vs-lodge-location__copy,
	.vs-page--guesthouse .vs-lodge-location__copy { max-width: 720px; }
	.vs-page--a-pousada .vs-lodge-story__visuals,
	.vs-page--guesthouse .vs-lodge-story__visuals { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); align-items: stretch; }
	.vs-page--a-pousada .vs-lodge-values__media,
	.vs-page--guesthouse .vs-lodge-values__media,
	.vs-page--a-pousada .vs-lodge-location__media,
	.vs-page--guesthouse .vs-lodge-location__media { max-height: 560px; }
}

@media (max-width: 640px) {
	.vs-page--a-pousada .vs-inner-hero--immersive,
	.vs-page--guesthouse .vs-inner-hero--immersive { min-height: 62svh; }
	.vs-page--a-pousada .vs-lodge-look,
	.vs-page--guesthouse .vs-lodge-look { padding-block: 46px 72px; }
	.vs-page--a-pousada .vs-lodge-look__intro,
	.vs-page--guesthouse .vs-lodge-look__intro { margin-bottom: 38px; font-size: 20px; line-height: 1.42; }
	.vs-page--a-pousada .vs-lodge-look__slide,
	.vs-page--guesthouse .vs-lodge-look__slide { aspect-ratio: 4 / 5; border-radius: 13px; }
	.vs-page--a-pousada .vs-lodge-look .vs-carousel__controls button,
	.vs-page--guesthouse .vs-lodge-look .vs-carousel__controls button { width: 38px; height: 38px; }
	.vs-page--a-pousada .vs-lodge-story,
	.vs-page--guesthouse .vs-lodge-story,
	.vs-page--a-pousada .vs-lodge-values,
	.vs-page--guesthouse .vs-lodge-values,
	.vs-page--a-pousada .vs-lodge-stay,
	.vs-page--guesthouse .vs-lodge-stay,
	.vs-page--a-pousada .vs-lodge-location,
	.vs-page--guesthouse .vs-lodge-location { padding-block: 54px; }
	.vs-page--a-pousada .vs-lodge-story__visuals,
	.vs-page--guesthouse .vs-lodge-story__visuals { grid-template-columns: 1fr; gap: 14px; padding: 0; }
	.vs-page--a-pousada .vs-lodge-story__quote,
	.vs-page--guesthouse .vs-lodge-story__quote { padding: 26px 22px; border-radius: 13px; }
	.vs-page--a-pousada .vs-lodge-story__primary,
	.vs-page--guesthouse .vs-lodge-story__primary,
	.vs-page--a-pousada .vs-lodge-values__media,
	.vs-page--guesthouse .vs-lodge-values__media,
	.vs-page--a-pousada .vs-lodge-location__media,
	.vs-page--guesthouse .vs-lodge-location__media { aspect-ratio: 4 / 3; border-radius: 13px; }
	.vs-page--a-pousada .vs-lodge-stay__heading,
	.vs-page--guesthouse .vs-lodge-stay__heading { grid-template-columns: 1fr; gap: 10px; margin-bottom: 32px; }
	.vs-page--a-pousada .vs-lodge-stay__grid,
	.vs-page--guesthouse .vs-lodge-stay__grid {
		display: flex;
		width: calc(100vw - 16px);
		margin-left: calc(50% - 50vw + 8px);
		gap: 14px;
		overflow-x: auto;
		padding: 0 8px 18px;
		scroll-padding-inline: 8px;
		scroll-snap-type: x mandatory;
	}
	.vs-page--a-pousada .vs-lodge-stay-card,
	.vs-page--guesthouse .vs-lodge-stay-card,
	.vs-page--a-pousada .vs-lodge-stay-card:nth-child(n + 4),
	.vs-page--guesthouse .vs-lodge-stay-card:nth-child(n + 4) { flex: 0 0 min(82vw, 340px); scroll-snap-align: center; }
	.vs-page--a-pousada .vs-lodge-stay-card__media,
	.vs-page--guesthouse .vs-lodge-stay-card__media { aspect-ratio: 4 / 3; }
	.vs-page--a-pousada .vs-lodge-location__copy,
	.vs-page--guesthouse .vs-lodge-location__copy { padding: 0; }
}

/* Mantém os cards de contato expandidos acima das regras históricas. */
.vs-page--contato .vs-contact-channels > a,
.vs-page--contact .vs-contact-channels > a {
	min-height: 300px;
	grid-template-rows: auto auto auto 1fr auto;
}
.vs-page--contato .vs-contact-channels small,
.vs-page--contact .vs-contact-channels small { align-self: auto; }
.vs-page--contato .vs-contact-channels h3,
.vs-page--contact .vs-contact-channels h3 { max-width: 320px; margin: 14px 0 10px; font-size: clamp(25px, 2vw, 31px); line-height: 1.04; }
.vs-page--contato .vs-contact-channels p,
.vs-page--contact .vs-contact-channels p { max-width: 340px; margin: 0 0 24px; color: var(--vs-muted); font-size: 13px; line-height: 1.55; }
.vs-page--contato .vs-contact-channels strong,
.vs-page--contact .vs-contact-channels strong { align-self: end; font-size: clamp(18px, 1.55vw, 24px); }

@media (max-width: 640px) {
	.vs-page--contato .vs-contact-channels > a,
	.vs-page--contact .vs-contact-channels > a { min-height: 270px; }
}

/*
 * Retorno de Ian — 25/09/2026 (1.25.0).
 * Café da manhã segue o mock-up "Breakfast at Vila Serrano"; na Chapada, o
 * título volta à escala compartilhada, as fotografias ficam mais contidas e o
 * convite "Ask at breakfast" passa a integrar a FAQ.
 */
.vs-breakfast-facts { border-block: 1px solid var(--vs-line); background: var(--vs-cream); }
.vs-breakfast-facts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.vs-breakfast-facts__grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vs-breakfast-facts__grid--count-1 { grid-template-columns: 1fr; }
.vs-breakfast-facts__grid > div { padding: clamp(18px, 2vw, 26px) clamp(20px, 3.4vw, 52px); }
.vs-breakfast-facts__grid > div + div { border-left: 1px solid var(--vs-line); }
.vs-breakfast-facts dt { margin: 0 0 7px; color: var(--vs-clay-dark); font-size: 9px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.vs-breakfast-facts dd { margin: 0; color: var(--vs-night); font-family: var(--vs-heading); font-size: clamp(19px, 1.6vw, 24px); line-height: 1.2; }

.vs-breakfast-story { width: min(calc(100% - 40px), 700px); margin-inline: auto; padding: clamp(56px, 7vw, 96px) 0 clamp(72px, 8vw, 118px); }
.vs-breakfast-story .vs-richtext { color: var(--vs-muted); font-size: var(--vs-type-reading); line-height: 1.75; }
.vs-breakfast-story .vs-richtext p { margin-bottom: 18px; }
.vs-breakfast-story__opening .vs-richtext > p:first-child::first-letter { float: left; margin: 7px 10px 0 0; color: var(--vs-clay); font-family: var(--vs-heading); font-size: 72px; line-height: .8; }
.vs-breakfast-story__gallery { margin-top: clamp(38px, 5vw, 56px); }
.vs-breakfast-story__gallery .vs-content-gallery { width: 100%; margin: 0; }
.vs-breakfast-story__section { margin-top: clamp(46px, 5.5vw, 68px); }
.vs-breakfast-story__section:first-of-type { padding-top: clamp(40px, 5vw, 56px); border-top: 1px solid var(--vs-line); }
.vs-breakfast-story__section h2,
.vs-inner-main .vs-breakfast-story__section h2 { max-width: none; margin: 0 0 16px; color: var(--vs-clay-dark); font-size: clamp(28px, 2.6vw, 38px); line-height: 1.08; }
.vs-breakfast-story__section .vs-button { margin-top: 20px; }
.vs-breakfast-story__quote { position: relative; margin: clamp(48px, 6vw, 72px) 0 0; padding: clamp(34px, 4vw, 48px) clamp(28px, 4vw, 48px); border-radius: 4px; background: var(--vs-night); color: var(--vs-white); }
.vs-breakfast-story__quote::before { position: absolute; top: 16px; left: clamp(22px, 3vw, 34px); color: var(--vs-gold); font-family: var(--vs-heading); font-size: 54px; line-height: 1; content: '\201C'; }
.vs-breakfast-story__quote blockquote { margin: 0; padding: 18px 0 0; border: 0; }
.vs-breakfast-story__quote p { margin: 0; color: var(--vs-white); font-family: var(--vs-heading); font-size: clamp(22px, 2.1vw, 28px); font-style: italic; line-height: 1.38; }

.vs-inner-main .vs-guide-hero h1,
.vs-guide-hero h1 { max-width: 620px; font-size: var(--vs-type-page-title); line-height: 1; }
.vs-guide-hero { min-height: 0; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; }
.vs-guide-hero__media { width: min(calc(100% - clamp(26px, 5vw, 78px)), 540px); min-height: 0; aspect-ratio: 4 / 5; margin: clamp(112px, 9vw, 140px) clamp(26px, 5vw, 78px) clamp(56px, 6vw, 90px) 0; border-radius: 4px; box-shadow: 0 24px 60px rgba(20, 28, 18, .18); }
.vs-guide-intro p:last-child { font-size: clamp(21px, 2vw, 29px); line-height: 1.35; }
.vs-guide-feature { grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); }
.vs-guide-feature__media { min-height: 560px; max-height: 720px; }
.vs-guide-tier { grid-template-columns: minmax(0, .84fr) minmax(440px, 1.16fr); }
.vs-guide-tier__media { display: flex; min-height: 0; align-items: center; justify-content: center; padding: clamp(96px, 9vw, 132px) clamp(26px, 4vw, 58px) clamp(40px, 4vw, 58px); }
.vs-guide-tier__images { width: min(100%, 440px); height: auto; padding-top: 0; }
.vs-guide-tier__images figure { aspect-ratio: 4 / 5; }
.vs-guide-tier__images--duo { grid-template-rows: none; }
.vs-guide-tier__images--duo figure { aspect-ratio: 4 / 3; }
.vs-guide-stay { grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); }
.vs-guide-stay > figure { min-height: 520px; max-height: 640px; }

.vs-guide-faq__note { max-width: 980px; margin-top: 30px; padding: 22px 26px; border-left: 3px solid var(--vs-clay); background: var(--vs-cream); }
.vs-guide-faq__note h3 { margin: 0 0 6px; color: var(--vs-night); font-family: var(--vs-heading); font-size: 22px; font-weight: 400; line-height: 1.2; }
.vs-guide-faq__note p { max-width: 760px; margin: 0 0 12px; color: var(--vs-muted); font-size: 15px; line-height: 1.65; }
.vs-guide-faq__note .vs-guide-link { padding-block: 4px; }

@media (max-width: 980px) {
	.vs-guide-feature,
	.vs-guide-tier,
	.vs-guide-stay { grid-template-columns: 1fr; }
	.vs-guide-hero { grid-template-columns: 1fr; }
	.vs-guide-hero__media { width: min(calc(100% - 52px), 620px); aspect-ratio: 4 / 3; margin: 0 auto 56px; }
	.vs-guide-feature__media,
	.vs-guide-stay > figure { min-height: 380px; max-height: 480px; }
	.vs-guide-tier__media { padding-top: clamp(88px, 14vw, 120px); }
}

@media (max-width: 640px) {
	.vs-breakfast-facts__grid,
	.vs-breakfast-facts__grid--count-2 { grid-template-columns: 1fr; }
	.vs-breakfast-facts__grid > div { padding: 15px 16px; }
	.vs-breakfast-facts__grid > div + div { border-top: 1px solid var(--vs-line); border-left: 0; }
	.vs-breakfast-story { width: calc(100% - 32px); }
	.vs-breakfast-story__opening .vs-richtext > p:first-child::first-letter { font-size: 58px; }
	.vs-inner-main .vs-guide-hero h1,
	.vs-guide-hero h1 { font-size: var(--vs-type-page-title); }
	.vs-guide-hero__media { width: calc(100% - 32px); min-height: 0; margin-bottom: 44px; }
	.vs-guide-feature__media,
	.vs-guide-stay > figure { min-height: 320px; max-height: 400px; }
	.vs-guide-tier__images { width: min(100%, 360px); }
	.vs-guide-faq__note { padding: 18px 18px; }
}

/*
 * Coesão com a Home — 1.27.0.
 * O conteúdo de todas as seções fica dentro da largura padrão do site
 * (--vs-shell), como na Home e em A Pousada. Faixas de fundo podem continuar
 * de ponta a ponta; texto, fotos e painéis não.
 */
.vs-guide-hero,
.vs-guide-feature,
.vs-guide-tier,
.vs-guide-stay {
	padding-inline: calc((100% - var(--vs-shell)) / 2);
}
.vs-guide-hero__copy { padding-left: 0; }
.vs-guide-hero__copy-inner { margin-left: 0; }
.vs-guide-hero__media { justify-self: end; margin-right: 0; }

/* Café: a faixa atravessa a página, as colunas alinham com o conteúdo. */
.vs-breakfast-facts__grid { width: var(--vs-shell); margin-inline: auto; }
.vs-breakfast-facts__grid > div:first-child { padding-left: 0; }
.vs-breakfast-facts__grid > div:last-child { padding-right: 0; }

/* Contato: as duas colunas terminam juntas; a foto ocupa a altura disponível. */
.vs-contact-workspace { align-items: stretch; }
.vs-contact-workspace__aside { display: flex; flex-direction: column; gap: 30px; }
.vs-contact-workspace__aside figure { position: relative; flex: 1 1 auto; min-height: 280px; aspect-ratio: auto; overflow: hidden; }
.vs-contact-workspace__aside figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 980px) {
	/* Com a seção já recuada até a largura do site, o texto não recebe recuo extra. */
	.vs-guide-hero__copy,
	.vs-guide-feature__copy,
	.vs-guide-tier__copy,
	.vs-guide-stay__copy { padding-inline: 0; }
	.vs-guide-hero__media { justify-self: stretch; width: 100%; margin: 0 0 48px; }
	.vs-contact-workspace__aside { display: grid; }
	.vs-contact-workspace__aside figure { flex: none; min-height: 0; aspect-ratio: 4 / 5; }
}

@media (max-width: 640px) {
	.vs-breakfast-facts__grid > div { padding-inline: 0; }
	.vs-guide-hero__media { margin-bottom: 40px; }
}

/*
 * Recortes — 29/09/2026.
 * A foto de abertura do guia é vertical: no tablet e no celular a moldura
 * segue a proporção 4:5, em vez de cortar a cachoeira numa faixa 4:3.
 * As fotos do Bem-estar são horizontais: a moldura passa a 4:3, em vez de
 * uma altura fixa que as cortava quase pela metade.
 */
.vs-wellness-story__media { height: auto; aspect-ratio: 4 / 3; }
@media (max-width: 980px) {
	.vs-guide-hero__media { justify-self: start; width: min(100%, 520px); aspect-ratio: 4 / 5; }
}
@media (max-width: 640px) {
	.vs-wellness-story__media { height: auto; }
}
