.vds-resort { --resort-ink: #081b3d; --resort-muted: #63758c; --resort-red: #ff3f58; color: var(--resort-ink); background: #fff; font-family: Inter, Arial, sans-serif; font-size: 16px; line-height: 1.6; overflow: clip; }
.vds-resort *, .vds-resort *::before, .vds-resort *::after { box-sizing: border-box; }
.vds-resort :is(h1,h2,h3,p,li,a,button,summary,span,strong,small,figcaption) { font-family: Inter, Arial, sans-serif !important; }
.vds-resort :is(p,li) { font-weight: 400; }
.vds-resort [hidden] { display: none !important; }
.vds-resort__container { width: min(86%, 1320px); margin-inline: auto; }
.vds-resort__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.vds-resort__eyebrow { display: flex; align-items: center; gap: .9rem; margin: 0 0 1rem; color: #65768b; font-size: .64rem; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.vds-resort__eyebrow::before { content: ''; width: 2rem; height: 2px; background: var(--resort-red); flex: 0 0 auto; }
.vds-resort__title { margin: 0; font-size: clamp(30px, 3.2vw, 48px); font-weight: 300; line-height: 1.05; letter-spacing: -.04em; text-wrap: balance; }
.vds-resort__title--split strong, .vds-resort__title--split span { display: block; }
.vds-resort__title--split strong { font-weight: 500; }
.vds-resort__title--split span { font-weight: 300; }
.vds-resort__description { margin-top: 20px; color: var(--resort-muted); font-size: 16px; line-height: 1.7; overflow-wrap: break-word; }
.vds-resort__description p { font-size: inherit; line-height: inherit; color: inherit; }
.vds-resort__description p { margin: .8rem 0 0; }
.vds-resort__description p:first-child { margin-top: 0; }
.vds-resort__icon { width: 2.7rem; height: 2.7rem; display: block; margin: 0 auto .65rem; }
.vds-resort__button, .vds-resort__link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--resort-ink); font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .025em; text-transform: uppercase; text-decoration: none; }
.vds-resort__button { margin-top: 1.3rem; min-height: 3rem; padding: .85rem 1.3rem; background: var(--resort-red); color: #fff; }
.vds-resort__button:hover { background: #dc2944; color: #fff; }
.vds-resort__link:hover { color: var(--resort-red); }
.vds-resort__link--outline { margin-top: 1.3rem; padding: .8rem 1rem; border: 1px solid #b9cce0; }
.vds-resort :is(a,button,summary):focus-visible { outline: 2px solid var(--resort-red); outline-offset: 4px; }
.vds-resort__hero { position: relative; isolation: isolate; min-height: clamp(480px,38vw,640px); display: flex; align-items: center; padding: 64px 0 80px; background: #dfebf4; clip-path: polygon(0 0,100% 0,100% 94%,42% 100%,0 96%); }
.vds-resort__hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vds-resort__hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(245,250,253,.95),rgba(245,250,253,.7) 30%,rgba(245,250,253,.02) 70%); }
.vds-resort__hero-title { max-width: 18ch; margin: 0; font-size: clamp(40px,4.4vw,68px); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; text-wrap: balance; }
.vds-resort .vds-resort__hero-subtitle { display: block; max-width: 25ch; margin: 16px 0 0; font-size: calc(clamp(40px,4.4vw,68px) * .52); line-height: 1.15; font-weight: 300; letter-spacing: -.04em; text-wrap: balance; }
.vds-resort__hero-copy > .vds-resort__description { max-width: 480px; }
.vds-resort__stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(8rem,1fr)); gap: 1rem; padding-block: 2rem; }
.vds-resort__stat { min-width: 0; text-align: center; padding: .3rem .75rem; }
.vds-resort__stat + .vds-resort__stat { border-left: 1px solid #dce5ee; }
.vds-resort__stat .vds-resort__icon { color: #2a7bce; }
.vds-resort__stat strong { display: block; color: #2167af; font-size: 1.1rem; font-weight: 600; }
.vds-resort__stat span { display: block; margin-top: .2rem; color: #718198; font-size: .76rem; }
.vds-resort__about { padding: 40px 0 72px; }
.vds-resort__about-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 3rem; align-items: center; }
.vds-resort__about-copy { padding-block: 1.5rem; }
.vds-resort__about-media { height: clamp(18rem,24vw,30rem); clip-path: polygon(10% 0,100% 0,100% 90%,0 100%); }
.vds-resort__features { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-top: 1.5rem; }
.vds-resort__feature { min-width: 0; text-align: center; }
.vds-resort__feature h3 { margin: 0; font-size: .9rem; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
.vds-resort__feature p { color: var(--resort-muted); font-size: 13px; line-height: 1.55; margin: 8px 0 0; }
.vds-resort__map { padding: 36px 0; background: linear-gradient(105deg,#f3f9fe,#edf7fd); }
.vds-resort__map-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(24px,3vw,48px); align-items: center; }
.vds-resort__map-grid > div:first-child { padding-block: 12px; }
.vds-resort__map .vds-resort__title { max-width: 20ch; font-size: clamp(28px,2.6vw,40px); font-weight: 500; line-height: 1.08; }
.vds-resort__map .vds-resort__description { max-width: 39ch; margin-top: 18px; font-size: 15px; line-height: 1.55; }
.vds-resort__map-media { min-width: 0; }
.vds-resort__map-preview { position: relative; display: block; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: var(--resort-ink); cursor: zoom-in; }
.vds-resort__map-image { display: block; width: 100%; height: auto; max-height: 390px; object-fit: contain; border-radius: 0; }
.vds-resort__map .vds-resort__link--outline { margin-top: 24px; min-height: 42px; padding: 12px 18px; border: 1px solid #9cc6e8; background: transparent; font-size: 11px; }
.vds-resort__map-dialog:not([open]) { display: none; }
.vds-resort__map-dialog { width: min(1400px,94vw); max-width: 94vw; max-height: 92dvh; margin: auto; padding: 20px; border: 0; border-radius: 8px; background: #fff; color: #081b3d; overflow: auto; box-shadow: 0 24px 90px #081b3d33; }
.vds-resort__map-dialog::backdrop { background: #061a33ba; }
.vds-resort__map-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.vds-resort__map-dialog-bar h2 { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.vds-resort__map-close { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 8px; border: 1px solid #dce6ef; border-radius: 50%; background: #f3f7fa; color: #081b3d; cursor: pointer; }
.vds-resort__map-close svg { width: 22px; height: 22px; }
.vds-resort__map-full-image { display: block; width: 100%; height: auto; max-height: 72dvh; object-fit: contain; }
.vds-resort__map-original { display: inline-block; margin-top: 14px; color: #1d5d99; font-size: 13px; text-underline-offset: 3px; }
html:has(.vds-resort__map-dialog[open]) { overflow: hidden; }
.vds-resort__dashboard { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 20px; padding-block: 56px; align-items: stretch; }
.vds-resort__dashboard-card { min-width: 0; display: flex; flex-direction: column; padding: 24px; background: #fff; border: 1px solid #e1e9f0; border-radius: 16px; box-shadow: 0 8px 28px #142f4e06; }
.vds-resort__dashboard-card + .vds-resort__dashboard-card { padding-left: 24px; border: 1px solid #e1e9f0; }
.vds-resort__dashboard-card > .vds-resort__card-title { min-height: 66px; font-size: clamp(23px,1.65vw,27px); padding-top: 14px; font-weight: 500; line-height: 1.1; text-wrap: pretty; }
.vds-resort__dashboard-card > .vds-resort__card-title::before { width: 24px; height: 3px; border-radius: 4px; }
.vds-resort__dashboard-card > .vds-resort__card-subtitle { min-height: 30px; margin: 4px 0 18px; font-size: 10px; line-height: 1.5; align-items: flex-start; }
.vds-resort__dashboard-card > .vds-resort__card-subtitle::before { display: none; }
.vds-resort__card-title { position: relative; margin: 0; padding-top: 12px; color: var(--resort-ink); font-size: clamp(24px,1.8vw,29px); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; text-wrap: balance; }
.vds-resort__card-title::before { content: ''; position: absolute; top: 0; left: 0; width: 28px; height: 2px; background: var(--resort-red); }
.vds-resort__card-subtitle { display: flex; align-items: center; gap: 7px; margin: 8px 0 14px; color: #6d7e94; font-size: 10px; font-weight: 500; letter-spacing: .035em; line-height: 1.5; text-transform: uppercase; }
.vds-resort__card-subtitle::before { content: ''; flex: 0 0 12px; height: 2px; background: var(--resort-red); }
.vds-resort__dashboard-card > .vds-resort__link { margin-top: auto; padding-top: 24px; align-self: flex-start; font-size: 11px; }
.vds-resort__slopes-media { aspect-ratio: 2.15; height: auto; margin-top: 0; overflow: hidden; border-radius: 10px; }
.vds-resort__slopes-media > img { width: 100%; height: 100%; object-fit: cover; }
.vds-resort__percentages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 24px 0 28px; text-align: center; }
.vds-resort__percentage-item { min-width: 0; }
.vds-resort__percent { --ring-color: #086ad0; --ring-track: #e8f0fa; position: relative; display: grid; width: clamp(64px,5.1vw,78px); aspect-ratio: 1; height: auto; margin: 0 auto 12px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--resort-ink); }
.vds-resort__percent--blue { --ring-color: #086ad0; --ring-track: #e8f0fa; }
.vds-resort__percent--red { --ring-color: #ff3f58; --ring-track: #fcebef; }
.vds-resort__percent--black { --ring-color: #092b56; --ring-track: #e9edf2; }
.vds-resort__percent-ring { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }
.vds-resort__percent-ring circle { fill: none; stroke-width: 6; }
.vds-resort__percent-track { stroke: var(--ring-track); }
.vds-resort__percent-progress { stroke: var(--ring-color); stroke-linecap: round; }
.vds-resort__percentages .vds-resort__percent-number { position: relative; display: block; color: var(--resort-ink); font-size: clamp(22px,1.8vw,27px); font-weight: 500; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.vds-resort__percentages span { display: block; font-size: 12px; font-weight: 500; color: var(--resort-ink); line-height: 1.4; }
.vds-resort__percentages small { display: block; font-size: 11px; font-weight: 400; color: var(--resort-muted); line-height: 1.5; }
.vds-resort__facts { margin: 0; padding: 0; list-style: none; color: #53677e; font-size: 13px; line-height: 1.6; }
.vds-resort__facts li { position: relative; padding: 10px 0 10px 20px; margin: 0; border-top: 1px solid #edf1f5; }
.vds-resort__facts li::before { content: '✓'; position: absolute; left: 0; top: 10px; color: #2980d3; font-size: 12px; }
.vds-resort__weather-current { display: flex; align-items: center; gap: 18px; padding: 24px 20px; min-height: 146px; margin-top: 0; background: linear-gradient(135deg,#eef7ff,#dfedfb); border-radius: 12px; }
.vds-resort__weather-current > svg { width: 72px; height: 72px; flex: 0 0 auto; }
.vds-resort__weather-current strong { display: block; font-size: clamp(38px,3vw,48px); font-weight: 300; line-height: 1.05; letter-spacing: -.04em; }
.vds-resort__weather-current span, .vds-resort__weather-current small { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; }
.vds-resort__weather-current small { color: #63758c; }
.vds-resort__weather-place { margin: 10px 0 0; font-size: 11px; line-height: 1.5; color: #65768b; }
.vds-resort__weather-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 18px 0 22px; padding: 0; }
.vds-resort__weather-details > div { min-width: 0; padding: 12px 14px; border: 1px solid #e7edf3; border-radius: 10px; background: #fafcfe; }
.vds-resort__weather-details dt { margin: 0 0 5px; color: #6b7e92; font-size: 11px; line-height: 1.4; font-weight: 400; }
.vds-resort__weather-details dd { margin: 0; color: #102c4f; font-size: 20px; line-height: 1.2; font-weight: 500; letter-spacing: -.03em; }
.vds-resort__weather-details dd small { color: #6b7e92; font-size: 12px; font-weight: 400; letter-spacing: 0; }
.vds-resort__forecast-label { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 10px; color: #193554; font-size: 12px; font-weight: 500; line-height: 1.4; }
.vds-resort__forecast-label span { color: #77899c; font-size: 10px; font-weight: 400; }
.vds-resort .weather-page__icon { fill: none; stroke: #3073ad; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vds-resort .weather-page__icon circle, .vds-resort .weather-page__icon g .weather-page__icon-lines, .vds-resort .weather-page__icon circle ~ .weather-page__icon-lines { fill: none; stroke: #f8bf00; stroke-width: 1.8; }
.vds-resort .weather-page__icon-cloud { fill: #fff; stroke: #3073ad; }
.vds-resort .weather-page__icon-lines { fill: none; stroke: currentColor; }
.vds-resort__weather-current .weather-page__icon { color: #f8bf00; }
.vds-resort__weather-days .weather-page__icon { color: #3073ad; }
.vds-resort__weather-days { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; margin-top: 0; }
.vds-resort__weather-days > div { min-width: 0; padding: 12px 2px; border: 0; border-radius: 8px; background: #f4f7fa; box-shadow: none; text-align: center; }
.vds-resort__weather-days span, .vds-resort__weather-days strong, .vds-resort__weather-days small { display: block; font-size: 11px; line-height: 1.4; }
.vds-resort__weather-days svg { display: block; width: 28px; height: 28px; margin: 8px auto; }
.vds-resort__weather-days small { margin-top: .15rem; color: #75859a; }
.vds-resort__source { margin: .8rem 0 0; color: #75859a; font-size: .61rem; line-height: 1.5; }
.vds-resort__source a { color: inherit; text-underline-offset: .15em; }
.vds-resort__source p { margin: 0; }
.vds-resort__dashboard-card--weather > .vds-resort__source { margin-top: 18px; padding-top: 12px; border-top: 1px solid #edf1f5; font-size: 10px; }
.vds-resort__notice { padding: 1rem; background: #f2f6f9; color: #65768b; font-size: .8rem; line-height: 1.5; }
.vds-resort__camera { margin: 0; }
.vds-resort__camera-media { position: relative; aspect-ratio: 1.5; overflow: hidden; background: #e7eef5; border-radius: 10px; }
.vds-resort__camera-media :is(img,iframe) { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.vds-resort__camera figcaption { padding: 14px 0 0; background: transparent; font-size: 14px; line-height: 1.4; border: 0; }
.vds-resort__camera figcaption strong { font-weight: 500; }
.vds-resort__camera figcaption small { display: block; margin-top: 4px; color: #65768b; font-size: 11px; }
.vds-resort__camera figcaption p { margin: 8px 0 0; color: #65768b; font-size: 12px; line-height: 1.5; }
.vds-resort__camera-tabs { display: flex; gap: 8px; overflow-x: auto; margin-top: 18px; padding: 2px 0 4px; scrollbar-width: thin; }
.vds-resort__camera-tabs button { flex: 1 0 72px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #092b56; font: inherit; font-size: 10px; text-align: left; cursor: pointer; }
.vds-resort__camera-tabs button[aria-pressed="true"] { color: #1268ba; box-shadow: none; }
.vds-resort__camera-tabs img { display: block; width: 100%; height: auto; aspect-ratio: 1.65; object-fit: cover; border: 2px solid transparent; border-radius: 3px; }
.vds-resort__camera-tabs button[aria-pressed="true"] img { border-color: #1268ba; }
.vds-resort__camera-tabs span { display: block; padding: 5px 2px; line-height: 1.4; }
.vds-resort__camera-tabs button:not(:has(img)) span { display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 10px; background: #f2f6fa; border: 1px solid #e2eaf1; border-radius: 8px; font-size: 11px; text-align: center; }
.vds-resort__camera-tabs button[aria-pressed="true"]:not(:has(img)) span { border-color: #102e52; background: #102e52; color: #fff; }
.vds-resort__lower-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr); gap: clamp(32px,4vw,64px); padding-block: 16px 64px; align-items: start; }
.vds-resort__lower-grid > :only-child { grid-column: 1 / -1; }
.vds-resort__skipass { display: block; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--resort-ink); }
.vds-resort__nearby { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.vds-resort__lower-grid .vds-resort__card-title { font-size: clamp(24px,1.9vw,30px); line-height: 1.1; font-weight: 500; }
.vds-resort__lower-grid .vds-resort__card-subtitle { margin-bottom: 0; font-size: 10px; }
.vds-resort__skipass-body { display: flex; align-items: flex-start; gap: 22px; margin-top: 24px; }
.vds-resort__skipass-media { flex: 0 0 clamp(90px,7.5vw,118px); max-width: 118px; min-width: 0; }
.vds-resort__skipass-body > div:last-child { flex: 1; min-width: 0; }
.vds-resort__skipass-image { display: block; width: 100%; height: auto; max-height: 190px; object-fit: contain; object-position: top center; }
.vds-resort__skipass-body .vds-resort__description { max-width: 36ch; margin: 0; color: var(--resort-muted); font-size: 14px; line-height: 1.65; }
.vds-resort__skipass-body .vds-resort__button { min-height: 42px; margin-top: 20px; padding: 12px 16px; border-radius: 0; font-size: 10px; gap: 18px; max-width: 100%; }
.vds-resort__skipass:only-child { max-width: 560px; }
.vds-resort__dashboard-card:only-child:has(.vds-resort__slopes-media) { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); column-gap: clamp(24px,4vw,64px); align-content: center; }
.vds-resort__dashboard-card:only-child:has(.vds-resort__slopes-media) > :is(.vds-resort__card-title,.vds-resort__card-subtitle,.vds-resort__percentages,.vds-resort__facts,.vds-resort__link) { grid-column: 2; }
.vds-resort__dashboard-card:only-child:has(.vds-resort__slopes-media) > .vds-resort__slopes-media { grid-column: 1; grid-row: 1 / span 6; align-self: center; margin: 0; aspect-ratio: 16 / 10; }
.vds-resort__dashboard-card:only-child .vds-resort__percentages { max-width: 520px; margin-block: 24px; }
.vds-resort__nearby-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 20px; margin-top: 24px; align-items: start; }
.vds-resort__nearby-grid:has(> .vds-resort__nearby-card:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vds-resort__nearby-grid:has(> .vds-resort__nearby-card:only-child) { grid-template-columns: minmax(0,1fr); max-width: 340px; }
.vds-resort__nearby-card { display: block; min-width: 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-decoration: none; }
.vds-resort__nearby-media { aspect-ratio: 2.2; overflow: hidden; border-radius: 2px; background: #edf3f8; }
.vds-resort__nearby-media img { transition: transform .35s ease; }
.vds-resort__nearby-card h3 { margin: 12px 0 6px; color: var(--resort-ink); font-size: 17px; font-weight: 500; line-height: 1.2; letter-spacing: -.03em; }
.vds-resort__nearby-card p { margin: 0; color: var(--resort-muted); font-size: 13px; line-height: 1.55; }
.vds-resort__nearby-card:hover h3 { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.vds-resort__nearby-card:hover .vds-resort__nearby-media img { transform: scale(1.035); }
@media (prefers-reduced-motion: reduce) {
    .vds-resort__nearby-card, .vds-resort__nearby-media img { transition: none; }
    .vds-resort__nearby-card:hover, .vds-resort__nearby-card:hover .vds-resort__nearby-media img { transform: none; }
}
.vds-resort__practical { display: flex; align-items: stretch; background: #f2f7fb; }
.vds-resort__practical-media { position: relative; flex: 0 0 27%; min-height: 19rem; clip-path: polygon(0 0,100% 0,88% 100%,0 100%); }
.vds-resort__practical-media .vds-resort__image { position: absolute; inset: 0; }
.vds-resort__practical-copy { flex: 1; min-width: 0; padding: 2.5rem max(7vw,calc((100vw - 90rem)/2)) 2.5rem 2vw; }
.vds-resort__practical-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 24px; margin-top: 32px; text-align: center; align-items: start; }
.vds-resort__practical-items > div { min-width: 0; }
.vds-resort__practical-items .vds-resort__icon { display: block; width: 44px; height: 44px; margin: 0 auto 14px; padding: 2px; color: #17385d; stroke-width: 1.5; }
.vds-resort__practical-items h3 { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.25; letter-spacing: -.025em; }
.vds-resort__practical-items p { max-width: 24ch; margin: 10px auto 0; color: #65768b; font-size: 13px; line-height: 1.55; }
.vds-resort__practical-items .vds-resort__link { margin-top: .6rem; font-size: .55rem; }
.vds-resort__faq { padding: 56px 0 72px; }
.vds-resort__faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 1.5rem; align-items: start; margin-top: 1.4rem; }
.vds-resort__faq details { border: 1px solid #dbe4ee; }
.vds-resort__faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; list-style: none; color: #092b56; font-size: 15px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.vds-resort__faq summary::-webkit-details-marker { display: none; }
.vds-resort__faq summary span { width: .4rem; height: .4rem; flex: 0 0 auto; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }
.vds-resort__faq details[open] summary span { transform: rotate(225deg); }
.vds-resort__faq details > div { padding: 0 20px 20px; color: #65768b; font-size: 15px; line-height: 1.7; }
.vds-resort__faq details p { margin: .6rem 0 0; }
.vds-resort__cta { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(23rem,30vw,35rem); padding: 4rem 0; background: #0d2c50; color: #fff; clip-path: polygon(0 0,50% 5%,100% 0,100% 95%,50% 100%,0 95%); }
.vds-resort__cta-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vds-resort__cta::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(5,27,54,.8),rgba(5,27,54,.32) 65%,rgba(5,27,54,.08)); }
.vds-resort__cta .vds-resort__eyebrow, .vds-resort__cta .vds-resort__description { color: #dce6f1; }
.vds-resort__cta .vds-resort__title { max-width: 19ch; color: #fff; font-size: clamp(2.4rem,4vw,4.5rem); font-weight: 300; }
@media (max-width: 1100px) {
    .vds-resort__about-grid, .vds-resort__map-grid { gap: 2rem; }
    .vds-resort__dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vds-resort__dashboard-card + .vds-resort__dashboard-card { padding-left: 24px; border: 1px solid #e1e9f0; }
    .vds-resort__dashboard-card--cameras:last-child:nth-child(3) { grid-column: 1 / -1; }
    .vds-resort__dashboard-card--cameras:last-child:nth-child(3) .vds-resort__camera-media { aspect-ratio: 2.4; }
    .vds-resort__lower-grid { gap: 2rem; }
}
@media (max-width: 800px) {
    .vds-resort__lower-grid { row-gap: 40px; }
    .vds-resort__dashboard { grid-template-columns: minmax(0,1fr); }
    .vds-resort__dashboard-card > .vds-resort__card-title { min-height: 0; }
    .vds-resort__dashboard-card > .vds-resort__card-subtitle { min-height: 0; }
    .vds-resort__dashboard-card--cameras:last-child:nth-child(3) .vds-resort__camera-media { aspect-ratio: 1.6; }
    .vds-resort__about-grid, .vds-resort__map-grid, .vds-resort__lower-grid { grid-template-columns: minmax(0,1fr); }
    .vds-resort__stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .vds-resort__stat { border: 0 !important; }
    .vds-resort__practical { flex-direction: column; }
    .vds-resort__practical-media { flex: none; min-height: 0; height: 15rem; clip-path: polygon(0 0,100% 0,100% 92%,0 100%); }
    .vds-resort__practical-copy { padding: 2rem 7vw; }
    .vds-resort__dashboard-card:only-child:has(.vds-resort__slopes-media) { display: flex; }
    .vds-resort__dashboard-card:only-child:has(.vds-resort__slopes-media) > .vds-resort__slopes-media { align-self: stretch; margin-top: 8px; }
    .vds-resort__dashboard-card:only-child .vds-resort__percentages { max-width: none; }
    .vds-resort__nearby-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
    .vds-resort__map { padding-block: 32px; }
    .vds-resort__map-grid { gap: 24px; }
    .vds-resort__map-preview { padding: 0; }
    .vds-resort__map-dialog { padding: 14px; }
    .vds-resort__container { width: calc(100% - 2.5rem); }
    .vds-resort__hero { min-height: 32rem; align-items: flex-end; padding: 3rem 0 4rem; }
    .vds-resort__hero-image { object-position: 65% center; }
    .vds-resort__hero::after { background: linear-gradient(0deg,rgba(245,250,253,.98),rgba(245,250,253,.8) 40%,rgba(245,250,253,.03)); }
    .vds-resort__hero-title { font-size: clamp(2.7rem,10vw,4rem); }
    .vds-resort .vds-resort__hero-subtitle { font-size: calc(clamp(2.7rem,10vw,4rem) * .52); }
    .vds-resort__stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vds-resort__stats > :last-child:nth-child(odd) { grid-column: 1 / -1; }
    .vds-resort__features { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
    .vds-resort__about-media { height: 17rem; }
    .vds-resort__dashboard { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .vds-resort__dashboard-card, .vds-resort__dashboard-card + .vds-resort__dashboard-card { padding: 20px; border-radius: 14px; }
    .vds-resort__weather-current { padding: 20px 16px; }
    .vds-resort__weather-current > svg { width: 60px; height: 60px; }
    .vds-resort__slopes-media { height: auto; aspect-ratio: 16 / 9; }
    .vds-resort__dashboard, .vds-resort__about { padding-block: 36px; }
    .vds-resort__lower-grid { padding-bottom: 36px; }
    .vds-resort__skipass-body { flex-direction: row; gap: 18px; }
    .vds-resort__skipass-media { width: auto; flex: 0 0 86px; max-width: 86px; }
    .vds-resort__skipass-body .vds-resort__description { font-size: 14px; }
    .vds-resort__skipass-body .vds-resort__button { font-size: 10px; padding: 12px; gap: 12px; }
    .vds-resort__nearby-grid { gap: 22px 16px; margin-top: 22px; }
    .vds-resort__nearby-media { aspect-ratio: 1.7; }
    .vds-resort__nearby-card h3 { font-size: 16px; }
    .vds-resort__practical-copy { padding: 2rem 1.25rem; }
    .vds-resort__practical-items { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vds-resort__practical-items > :last-child:nth-child(odd) { grid-column: 1 / -1; max-width: 240px; width: 100%; justify-self: center; }
    .vds-resort__faq-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 420px) {
    .vds-resort__nearby-grid,
    .vds-resort__nearby-grid:has(> .vds-resort__nearby-card:nth-child(2):last-child) { grid-template-columns: minmax(0,1fr); }
    .vds-resort__nearby-grid:has(> .vds-resort__nearby-card:only-child) { max-width: none; }
    .vds-resort__nearby-media { aspect-ratio: 2.2; }
}
