/* The five main-site V3 pages share the approved regional design language. */
html.v3-core body { margin: 0; padding: 0; background: var(--washi); color: var(--ink); font: 16px/1.8 var(--sans); }
html.v3-core :is(h1,h2,h3,h4) { color: var(--pine); }
html.v3-core .site-header { background: var(--white); }
html.v3-core .site-header :is(p,a,button) { margin-block: 0; }
html.v3-core .brand { color: var(--ink); }
html.v3-core .primary-nav > a { font-size: 15px; font-weight: 700; }
html.v3-core .primary-nav__active { color: var(--red); }
html.v3-core .v3-core-context { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; }
html.v3-core .v3-core-context p { margin: 0; color: var(--muted); font: 12px var(--serif); letter-spacing: .16em; }
html.v3-core :is(body > .hero, body > .intro) { position: relative; width: auto; max-width: none; min-height: 0; margin: 0; padding: 50px max(32px,calc((100% - 1328px)/2)) 54px; background: var(--white); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); text-align: left; box-shadow: none; }
html.v3-core :is(body > .hero, body > .intro)::before,
html.v3-core :is(body > .hero, body > .intro)::after { display: none; }
html.v3-core .hero .inner { width: 100%; max-width: 1328px; margin: auto; padding: 0; }
html.v3-core :is(.hero,body > .intro) :is(h1,[data-section-title]) { margin: 12px 0 18px; color: var(--pine); font: 800 clamp(34px,4vw,56px)/1.35 var(--serif); letter-spacing: .05em; }
html.v3-core :is(.hero,body > .intro) :is(.eyebrow,[data-section-subtitle],.subtitle) { color: var(--red); font: 700 12px/1.6 var(--sans); letter-spacing: .16em; }
html.v3-core :is(.hero,body > .intro) :is(p,[data-section-description]) { max-width: 850px; margin: 0; color: var(--muted); font: 400 17px/1.9 var(--sans); }
html.v3-core body > .intro > p:first-child { color: var(--red); font: 700 12px/1.6 var(--sans); letter-spacing: .16em; }
/* Four non-home pages: wide photo strips with readable, unchanged heading copy. */
html.v3-core :is(body > .hero,body > .intro).v3-core-photo-hero { display: flex; align-items: flex-start; isolation: isolate; min-height: clamp(280px,24vw,360px); padding-block: 40px; overflow: hidden; }
html.v3-core .v3-core-photo-hero > .v3-core-photo-hero__image { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; }
html.v3-core :is(body > .hero,body > .intro).v3-core-photo-hero::before { position: absolute; z-index: -1; inset: 0; display: block; content: ''; background: linear-gradient(90deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.94) 28%,rgba(255,253,249,.80) 43%,rgba(255,253,249,.18) 65%,rgba(255,253,249,0) 83%); }
html.v3-core .v3-core-photo-hero__copy { position: relative; width: min(660px,55%); }
html.v3-core .v3-core-photo-hero__copy .inner { margin: 0; }
html.v3-core .v3-core-photo-hero__copy > p:first-child { color: var(--red); font: 700 12px/1.6 var(--sans); letter-spacing: .16em; }
html.v3-core .v3-core-photo-hero__copy :is([data-section-description],.inner > p) { color: #4d5b56; }
/* Keep the course-pricing photo strip the same desktop height as the fee calculator. */
@media (min-width: 761px) {
  html.v3-core[data-v3-page="course-pricing"] :is(body > .hero,body > .intro).v3-core-photo-hero {
    height: clamp(280px, 24vw, 360px);
    min-height: clamp(280px, 24vw, 360px);
  }
  html.v3-core[data-v3-page="course-pricing"] .v3-core-photo-hero__copy :is(h1,[data-section-title]) {
    margin-block: 9px 12px;
    font-size: clamp(38px, 3.5vw, 48px);
    line-height: 1.1;
  }
  html.v3-core[data-v3-page="course-pricing"] .v3-core-photo-hero__copy .inner > p {
    max-width: 720px;
    font-size: 14px;
    line-height: 1.55;
  }
  html.v3-core[data-v3-page="course-pricing"] .v3-core-photo-hero__copy .jump {
    min-height: 42px;
    margin-top: 12px;
    padding-block: 8px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  @keyframes v3-core-copy-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  @keyframes v3-core-photo-in { from { opacity: .9; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
  html.v3-core .v3-core-photo-hero__copy :is(.eyebrow,[data-section-subtitle]) { animation: v3-core-copy-in .7s both; }
  html.v3-core .v3-core-photo-hero__copy :is(h1,[data-section-title]) { animation: v3-core-copy-in .8s .16s both; }
  html.v3-core .v3-core-photo-hero__copy > :is(p,span):not(:first-child),
  html.v3-core .v3-core-photo-hero__copy .inner > [data-section-description] { animation: v3-core-copy-in .8s .24s both; }
  html.v3-core .v3-core-photo-hero__image { animation: v3-core-photo-in 1.2s ease-out both; }
}
html.v3-core main:is(.wrap,.shell) { width: min(1328px,calc(100% - 80px)); max-width: 1328px; margin: 40px auto 0; padding: 0; }
html.v3-core .v3-core-return { display: flex; justify-content: flex-end; padding-block: 36px 48px; }
html.v3-core .v3-core-return a { min-height: 44px; padding: 9px 18px; border: 1px solid var(--line); border-radius: 7px; text-decoration: none; background: var(--white); }
html.v3-core :is(.notice,.public-managed-section) { padding: 22px 26px; background: var(--white); color: var(--muted); border: 1px solid var(--line); border-left: 3px solid var(--red); border-radius: 8px; box-shadow: none; }
html.v3-core .public-managed-sections:empty { display: none; }
html.v3-core .public-managed-sections { max-width: 1328px; margin-block: 30px 0; }
html.v3-core .search-dialog h2 { color: var(--pine); }

/* Homepage: photography first, followed by the same live destination and information cards. */
html.v3-core.home-concept .hero { padding: 36px; }
html.v3-core.home-concept .hero-photo { max-height: 360px; width: auto; }
html.v3-core.home-concept #home-carousel .home-carousel-viewport { max-height: 640px; background: #e6ede7; }
html.v3-core.home-concept #home-carousel .home-carousel-nav { background: var(--white); border-color: var(--line); gap: 8px; padding-block: 0; }
html.v3-core.home-concept #home-carousel .home-carousel-dot { position: relative; width: 32px; height: 40px; border-radius: 0; background: transparent; }
html.v3-core.home-concept #home-carousel .home-carousel-dot::after { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #ccc3b8; inset: 16px 12px; }
html.v3-core.home-concept #home-carousel .home-carousel-dot.is-active::after { background: var(--red); }
/* Keep hero controls clear of the fixed 44px social rail (16px from the edge). */
html.v3-core.home-concept #home-carousel .home-carousel-more { right: 84px; background: #243867; border-color: #243867; color: white; box-shadow: none; }
html.v3-core.home-concept #home-carousel .home-carousel-more:hover,
html.v3-core.home-concept #home-carousel .home-carousel-more:focus-visible { background: #1b2b50; border-color: #1b2b50; color: white; }
html.v3-core.home-concept #home-carousel .home-carousel-arrow { color: var(--pine); }
html.v3-core.home-concept #home-carousel .home-carousel-next { right: 84px; }
html.v3-core.home-concept .hc-main { --hc-ink: var(--pine); --hc-muted: var(--muted); --hc-accent: var(--red); --hc-line: var(--line); width: 100%; max-width: none; margin: 0; padding: 0; background: var(--washi); }
html.v3-core.home-concept.hc-hero-loading body > .hero { height: clamp(150px,37.5vw,540px); min-height: 0; padding: 0; }
html.v3-core.home-concept :is(.hc-hybrid-landscape,.hc-hybrid-information,.hc-editorial) { padding: 60px 0; background: transparent; border: 0; }
html.v3-core.home-concept .hc-hybrid-information { padding-top: 0; }
html.v3-core.home-concept .hc-hybrid-inner { width: min(1328px,calc(100% - 80px)); max-width: 1328px; padding: 0; margin-inline: auto; }
html.v3-core.home-concept .hc-editorial-title { display: grid; grid-template-columns: 1fr 1fr; column-gap: 70px; align-items: end; margin-bottom: 34px; padding: 0; border: 0; text-align: left; }
html.v3-core.home-concept .hc-editorial-title > .hc-kicker { grid-column: 1/-1; margin: 0 0 14px; }
html.v3-core.home-concept .hc-editorial-title h1 { margin: 0; color: var(--pine); font: 800 clamp(32px,3.7vw,50px)/1.45 var(--serif); }
html.v3-core.home-concept .hc-editorial-title > p:last-child { max-width: 480px; margin: 0 0 8px; color: var(--muted); }
html.v3-core.home-concept .hc-kicker { color: var(--red); font: 700 11px/1.6 var(--sans); letter-spacing: .15em; }
html.v3-core.home-concept .hc-editorial-lead { display: grid; grid-template-columns: 1.1fr 1fr; align-items: stretch; gap: 24px; }
html.v3-core.home-concept .hc-editorial-cover { min-height: 560px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); box-shadow: none; }
html.v3-core.home-concept .hc-editorial-cover > img { height: 100%; object-fit: cover; }
html.v3-core.home-concept .hc-editorial-cover :is(h2,.hc-kicker,[data-home-card-description]) { color: white; }
/* Original public homepage blue overlay, without a second tinted text panel. */
html.v3-core.home-concept .hc-editorial-cover { background: #06285f; }
html.v3-core.home-concept .hc-editorial-cover::after { background: linear-gradient(180deg,transparent 18%,rgb(6 40 95 / 16%) 45%,rgb(6 40 95 / 88%) 100%); }
html.v3-core.home-concept .hc-editorial-cover > span { background: transparent; }
html.v3-core.home-concept .hc-editorial-side { display: grid; gap: 24px; }
html.v3-core.home-concept .hc-editorial-side .hc-card { display: grid; grid-template-columns: minmax(0,58%) minmax(0,1fr); align-items: center; gap: 0; padding: 0; }
html.v3-core.home-concept .hc-editorial-side .hc-card-visual { width: 100%; height: auto; min-height: 0; aspect-ratio: 4/3; }
html.v3-core.home-concept .hc-editorial-side .hc-card-visual img { width: 100%; height: 100%; object-fit: cover; }
html.v3-core.home-concept .hc-editorial-side .hc-card-copy { min-width: 0; padding: 22px; }
html.v3-core.home-concept .hc-editorial-side .hc-arrow { position: static; display: block; margin-top: 14px; }
html.v3-core.home-concept .hc-card { background: var(--white); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); box-shadow: none; overflow: hidden; text-decoration: none; transition: transform .2s,border-color .2s; }
html.v3-core.home-concept .hc-card:hover { transform: translateY(-3px); border-color: var(--red); }
html.v3-core.home-concept .hc-card-copy { padding: 26px; }
html.v3-core.home-concept .hc-card :is(h2,h3) { color: var(--pine); font-family: var(--serif); }
html.v3-core.home-concept .hc-card p:not(.hc-kicker) { color: var(--muted); }
html.v3-core.home-concept .hc-arrow { color: var(--red); }
html.v3-core.home-concept .hc-section { margin: 0 0 60px; padding: 0; border: 0; }
html.v3-core.home-concept .hc-section-heading { display: block; margin-bottom: 26px; }
html.v3-core.home-concept .hc-section-heading h2 { font: 800 30px/1.5 var(--serif); color: var(--pine); }
html.v3-core.home-concept .hc-grid--three { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
html.v3-core.home-concept .hc-grid--three .hc-card-visual { height: auto; aspect-ratio: auto; background: #eeebe4; }
html.v3-core.home-concept .hc-grid--three .hc-card-visual img { width: 100%; height: auto; object-fit: contain; }
html.v3-core.home-concept .hc-human-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
html.v3-core.home-concept .hc-experience { border-color: var(--line); background: var(--white); border-radius: 10px; padding: 30px; margin-bottom: 48px; }
html.v3-core.home-concept .hc-experience :is(dt,dd) { color: var(--pine); }
html.v3-core.home-concept .hc-experience dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 0; }
html.v3-core.home-concept .hc-experience dl > div { padding: 12px 18px; border-left: 2px solid var(--line); }
html.v3-core.home-concept .hc-experience dt { color: var(--muted); font-size: 14px; }
html.v3-core.home-concept .hc-experience dd { margin: 6px 0 0; font: 700 32px/1.3 Georgia,serif; }
html.v3-core.home-concept .hc-contact-band { display: block; background: white; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: 12px; padding: 38px 42px; color: var(--muted); }
html.v3-core.home-concept .hc-contact-band h2 { color: var(--pine); font-family: var(--serif); }
html.v3-core.home-concept .hc-contact-band .hc-button { display: inline-flex; margin-top: 18px; padding: 12px 24px; background: var(--red); border-color: var(--red); color: white; }

/* News keeps complete announcement artwork and body text, without cropping. */
html.v3-core .news-card { margin: 0 0 28px; padding: 36px; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: 12px; background: var(--white); box-shadow: none; }
html.v3-core .news-card .date { color: var(--red); letter-spacing: .08em; font-weight: 700; }
html.v3-core .news-card h2 { color: var(--pine); font: 800 clamp(25px,2.5vw,34px)/1.55 var(--serif); }
html.v3-core .news-card p { color: var(--muted); font-size: 17px; line-height: 1.9; }
html.v3-core .news-card .news-summary { color: var(--pine)!important; }
html.v3-core .news-article-cover { width: min(100%,960px); border-color: var(--line); background: white; box-shadow: none; }
html.v3-core .news-card img { display: block; width: auto; max-width: 100%; height: auto; max-height: none; margin-inline: auto; object-fit: contain; }
html.v3-core .news-offer { background: var(--red); color: white; }
html.v3-core .news-offer :is(h3,p) { color: white; }
html.v3-core .news-area { border-color: var(--line); background: #f5f2ec; }
html.v3-core .news-area h4 { color: var(--pine); }
html.v3-core .news-card a { color: var(--red-dark); }
html.v3-core .public-api-news-card { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 40px; align-items: start; }
html.v3-core .public-api-news-card:not(:has(> img)) { grid-template-columns: 1fr; }
html.v3-core .public-api-news-card > img { width: 100%; }
html.v3-core .news-card-content .news-date { margin-top: 0; color: var(--red); font-size: 14px; letter-spacing: .08em; font-weight: 700; }
html.v3-core .news-body { white-space: pre-line; }

/* Guides retain their large covers and full-resolution, scrollable reader. */
html.v3-core .ski-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 28px; }
html.v3-core .ski-guide-card { min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--white); box-shadow: none; overflow: hidden; }
html.v3-core .ski-guide-cover { background: white; }
html.v3-core .ski-guide-copy { padding: 24px; }
html.v3-core .ski-guide-copy :is(h2,.ski-guide-open) { color: var(--pine); }
html.v3-core .ski-guide-category { color: var(--red); }
html.v3-core .ski-guide-copy p { color: var(--muted); }
html.v3-core .ski-guide-dialog { border-color: var(--line); background: var(--white); }
html.v3-core .ski-guide-dialog :is(button,select) { min-height: 44px; border-color: var(--line); color: var(--pine); background: white; }
html.v3-core .ski-guide-dialog button:hover:not(:disabled) { background: var(--red); border-color: var(--red); color: white; }
html.v3-core .ski-guide-dialog button[aria-pressed="true"] { background: #f3ede4; }
html.v3-core .ski-guide-dialog :is(h2,p) { color: var(--pine); }

/* Videos are an image-led collection with the existing category filters. */
html.v3-core .filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }
html.v3-core .filter { min-height: 44px; padding: 10px 25px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); color: var(--pine); font-weight: 700; box-shadow: none; }
html.v3-core .filter[aria-pressed="true"] { color: white; background: var(--red); border-color: var(--red); }
html.v3-core #video-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
html.v3-core .video-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--white); box-shadow: none; color: var(--ink); }
html.v3-core .video-card .cover { aspect-ratio: 9/16; height: auto; background-color: #e6e5de; background-size: contain; background-repeat: no-repeat; background-position: center; }
html.v3-core .video-card[href*="/DVd4HmykiEe/"] .cover::before,
html.v3-core .video-card[href*="/DVd4HmykiEe/"] .cover::after { display: none; }
html.v3-core .video-card .body { padding: 22px; }
html.v3-core .video-card h2 { font: 800 21px/1.6 var(--serif); color: var(--pine); }
html.v3-core .video-card .detail { color: var(--muted); }
html.v3-core .video-card .arrow { color: var(--red); }

/* Contact: complete current channels/QR codes and the existing registration destination. */
html.v3-core .signup-card { margin: 0 0 40px; padding: 36px; background: white; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: 12px; box-shadow: none; }
html.v3-core .signup-card__eyebrow { color: var(--red); }
html.v3-core .signup-card h2 { color: var(--pine); font-family: var(--serif); }
html.v3-core .signup-card__copy { color: var(--muted); }
html.v3-core .signup-card__button { background: var(--red); border-color: var(--red); color: white; box-shadow: none; min-height: 48px; }
html.v3-core .contact-channel-groups { gap: 44px; }
html.v3-core .contact-channel-group { padding: 0; border: 0; background: transparent; }
html.v3-core .contact-channel-group > h2 { padding: 0 0 16px; margin-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--pine); font: 800 28px/1.5 var(--serif); }
html.v3-core .contact-channel-group .cards { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
html.v3-core .contact-channel-card { min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--white); padding: 28px; box-shadow: none; }
html.v3-core .contact-channel-card :is(h3,h2,.contact-account) { color: var(--pine); }
html.v3-core .contact-channel-card p { color: var(--muted); }
html.v3-core .contact-channel-card .contact-account { overflow-wrap: anywhere; }
html.v3-core .contact-channel-card--website .contact-account { background: #f3ede4; color: var(--red-dark); border-radius: 6px; }
html.v3-core .contact-channel-card img.contact-channel-qr { width: min(100%,240px); padding: 6px; }

/* Keep the approved charcoal footer's text colors despite page-specific heading rules. */
html.v3-core .v2-site-footer__heading { color: #e8c17a; }
html.v3-core .v2-site-footer__brand { font-family: var(--serif); }
@media (max-width: 1100px) {
  html.v3-core.home-concept .hc-editorial-lead { grid-template-columns: 1fr; }
  html.v3-core.home-concept .hc-editorial-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.v3-core.home-concept .hc-editorial-side .hc-card { display: block; }
  html.v3-core.home-concept .hc-editorial-side .hc-card-visual { height: auto; }
  html.v3-core #video-grid, html.v3-core .ski-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.v3-core .contact-channel-group .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  html.v3-core :is(body > .hero,body > .intro) { padding: 30px 20px 34px; }
  /* Match the approved Zao stay mobile hero: a wide 16:9 photo with copy over it. */
  html.v3-core :is(body > .hero,body > .intro).v3-core-photo-hero { min-height: 0; aspect-ratio: 16 / 9; padding: 18px 20px; color: #fff; border: 0; border-radius: 0; margin: 0 0 24px; }
  html.v3-core :is(body > .hero,body > .intro).v3-core-photo-hero::before { display: block; background: linear-gradient(180deg, rgb(9 29 43 / 0%) 0%, rgb(9 29 43 / 8%) 20%, rgb(9 29 43 / 38%) 50%, rgb(9 29 43 / 62%) 100%); }
  html.v3-core .v3-core-photo-hero > .v3-core-photo-hero__image { object-position: 50% 35% !important; }
  html.v3-core .v3-core-photo-hero__copy { align-self: flex-start; text-shadow: 0 1px 3px rgb(5 18 27 / 45%); }
  /* Descriptions are intentionally omitted on the compact mobile hero. Keep
     them out of the first paint so the old lower line cannot flash in. */
  html.v3-core .v3-core-photo-hero__copy :is([data-section-description]),
  html.v3-core .v3-core-photo-hero__copy > .inner > :is(p,span,a):not([data-section-subtitle]):not(.eyebrow),
  html.v3-core .v3-core-photo-hero__copy > :is(p,span,a):not([data-section-subtitle]):not(.eyebrow) { display: none !important; }
  html.v3-core .v3-core-photo-hero__copy :is(h1,[data-section-title]) { color: #fff !important; text-shadow: 0 2px 8px rgb(5 18 27 / 55%); }
  html.v3-core .v3-core-photo-hero__copy :is(p,[data-section-description],span) { color: #fff !important; }
  html.v3-core .v3-core-photo-hero__copy :is(.eyebrow,[data-section-subtitle],.subtitle),
  html.v3-core .v3-core-photo-hero__copy > p:first-child { color: #fff !important; }
  html.v3-core .v3-core-photo-hero__copy { width: 100%; }
  html.v3-core .v3-core-photo-hero__copy :is(h1,[data-section-title]) { font-size: clamp(22px, 7.2vw, 34px); margin-block: 10px 14px; line-height: 1.1; }
  html.v3-core .v3-core-photo-hero__copy :is(p,[data-section-description]) { font-size: 15px; line-height: 1.8; }
  html.v3-core .v3-core-photo-hero__copy :is(.eyebrow,[data-section-subtitle],.subtitle),
  html.v3-core .v3-core-photo-hero__copy > p:first-child { font-size: 10px; line-height: 1.6; }
  html.v3-core .v3-core-context { min-height: 48px; }
  html.v3-core .v3-core-context > p { display: none; }
  html.v3-core main:is(.wrap,.shell), html.v3-core.home-concept .hc-hybrid-inner { width: calc(100% - 32px); margin-top: 24px; }
  html.v3-core.home-concept :is(.hc-hybrid-landscape,.hc-hybrid-information) { padding: 20px 0; }
  html.v3-core.home-concept .hc-editorial-title { display: block; margin-bottom: 24px; }
  html.v3-core.home-concept .hc-editorial-title > p:last-child { margin-top: 18px; }
  html.v3-core.home-concept :is(.hc-editorial-lead,.hc-grid--three,.hc-human-row) { grid-template-columns: 1fr; gap: 20px; }
  html.v3-core.home-concept .hc-editorial-side { grid-template-columns: 1fr; }
  html.v3-core.home-concept .hc-editorial-cover { min-height: 430px; }
  html.v3-core.home-concept .hc-editorial-side .hc-card-visual { height: auto; }
  html.v3-core.home-concept .hc-section { margin-bottom: 36px; }
  html.v3-core.home-concept .hc-contact-band { padding: 26px 22px; }
  html.v3-core.home-concept .hc-experience { padding: 18px; }
  html.v3-core.home-concept .hc-experience dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 8px; }
  html.v3-core.home-concept .hc-experience dl > div { padding-inline: 10px; }
  html.v3-core.home-concept #home-carousel .home-carousel-more { right: 8px; min-height: 36px; }
  html.v3-core.home-concept #home-carousel .home-carousel-next { right: 8px; }
  html.v3-core :is(.notice,.news-card,.signup-card) { padding: 24px 20px; }
  html.v3-core .public-api-news-card { grid-template-columns: 1fr; gap: 26px; }
  html.v3-core .ski-guide-grid,html.v3-core #video-grid,html.v3-core .contact-channel-group .cards { grid-template-columns: 1fr; }
  html.v3-core .video-card .cover { max-height: 560px; }
  html.v3-core .filter { flex: 1 1 calc(50% - 10px); padding-inline: 10px; }
  html.v3-core .signup-card { display: block; }
  html.v3-core .signup-card__button { display: flex; justify-content: center; width: 100%; margin-top: 20px; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  html.v3-core.home-concept .hc-card { transition: none; }
}
/* Contact section icons also apply after public content refreshes. */
html.v3-core .v3-contact-heading-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline-end: .4em;
  vertical-align: -.12em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
