/* EMP-7957 alpine grid hero */
.hero-21st--switzerlandvibe{position:relative;isolation:isolate;padding-top:44px;padding-bottom:32px}
.hero-21st--switzerlandvibe::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:220px;background-image:linear-gradient(#626b6618 1px,transparent 1px),linear-gradient(90deg,#626b6618 1px,transparent 1px);background-size:64px 64px;opacity:.7}
.hero-21st--switzerlandvibe .hero-21st-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:48px;align-items:end;margin-bottom:36px}
.hero-21st--switzerlandvibe .hero-21st-kicker{color:#626b66;margin-bottom:20px;letter-spacing:.08em}
.hero-21st--switzerlandvibe h1{font-size:clamp(54px,6.8vw,104px);line-height:1.03;letter-spacing:-.055em;padding:0;max-width:12ch;text-wrap:balance;overflow-wrap:anywhere}
.hero-21st--switzerlandvibe .hero-21st-intro>p{font-size:18px;line-height:1.65;max-width:36ch;margin:0 0 24px;color:#444d47}
.hero-21st--switzerlandvibe .hero-21st-cta{background:#bd3027;color:#fff;min-height:48px;white-space:normal;padding:14px 20px}
.hero-21st--switzerlandvibe .hero-21st-cta:hover{background:#8d211b;color:#fff}
.hero-21st--switzerlandvibe .hero-21st-cta:focus-visible{outline:3px solid #1d1d1b;outline-offset:3px}
.hero-21st--switzerlandvibe .hero-grid{grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:32px;align-items:center}
.hero-21st--switzerlandvibe .hero-grid.no-featured{grid-template-columns:1fr}
.hero-21st--switzerlandvibe .hero-grid>div{min-width:0}
.hero-21st--switzerlandvibe .hero-photo{height:clamp(300px,27vw,430px);border-bottom:5px solid #bd3027}
.hero-21st--switzerlandvibe .hero-photo img{display:block;object-position:center 55%}
.hero-21st--switzerlandvibe .itinerary{padding:0 0 0 24px;border-left:3px solid #bd3027;min-width:0}
.hero-21st--switzerlandvibe .itinerary h2{font-size:27px;line-height:1.2;overflow-wrap:anywhere}
.hero-21st--switzerlandvibe .trip-note{white-space:normal;line-height:1.7}
.hero-21st--switzerlandvibe .itinerary .button{white-space:normal;background:transparent;color:#9c2820;border:1px solid #bd3027}
.hero-21st--switzerlandvibe .booking{margin-top:28px}
@media(prefers-reduced-motion:no-preference){.hero-21st--switzerlandvibe::before{animation:sv21-grid 4s cubic-bezier(.16,1,.3,1) both}}
@keyframes sv21-grid{from{opacity:0;transform:translateY(8px)}to{opacity:.7;transform:translateY(0)}}
@media(max-width:850px){.hero-21st--switzerlandvibe .hero-21st-heading{grid-template-columns:1fr;gap:24px}.hero-21st--switzerlandvibe h1{max-width:14ch}.hero-21st--switzerlandvibe .hero-grid{grid-template-columns:1fr}.hero-21st--switzerlandvibe .itinerary{padding:12px 0 12px 20px}.hero-21st--switzerlandvibe .itinerary .button{width:auto}.hero-21st--switzerlandvibe .hero-photo{height:320px}}
@media(max-width:480px){.hero-21st--switzerlandvibe{padding-top:28px}.hero-21st--switzerlandvibe h1{font-size:54px}.hero-21st--switzerlandvibe .hero-21st-kicker{font-size:11px;letter-spacing:.04em}.hero-21st--switzerlandvibe .hero-21st-intro>p{font-size:17px}.hero-21st--switzerlandvibe .hero-photo{height:280px}}
@media(prefers-reduced-motion:reduce){.hero-21st--switzerlandvibe,.hero-21st--switzerlandvibe *,.hero-21st--switzerlandvibe::before,.hero-21st--switzerlandvibe::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
