/* Matcha–be visual refresh for the ski-transfer journey. */
.ski-page{--ski-matcha:#607d3b;--ski-sage:#a8b89a;--ski-beige:#f7f2e8;--ski-cream:#fffefa;--ski-terra:#c97855;--ski-forest:#26352b;--ski-olive:#34452e;--ski-border:#ded8ca;background:#fff;color:var(--ski-forest)}
.ski-hero{height:540px;min-height:540px}
.ski-hero__shade{background:linear-gradient(90deg,rgba(25,41,31,.88) 0%,rgba(38,53,43,.72) 43%,rgba(38,53,43,.12) 78%),linear-gradient(0deg,rgba(25,41,31,.34),transparent 52%)}
.ski-breadcrumb{margin-bottom:28px;color:rgba(255,255,255,.86)}
.ski-kicker,.ski-hero__planner>p{color:#f2b391!important}
.ski-hero h1{max-width:none;font-size:clamp(40px,3.35vw,50px);letter-spacing:-.035em;white-space:nowrap}
.ski-hero__copy>p{max-width:590px;font-size:16px;line-height:1.65}
.ski-hero__grid{grid-template-columns:minmax(0,760px);gap:0}
.ski-btn{border-radius:12px;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.ski-btn:hover{transform:translateY(-2px)}
.ski-btn--primary{background:var(--ski-matcha);color:#fff;box-shadow:0 10px 24px rgba(52,69,46,.24)}
.ski-btn--primary:hover{background:var(--ski-olive)}
.ski-btn--ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);backdrop-filter:none}
.ski-hero__trust .material-symbols-outlined{color:#efaa87}
.ski-hero__planner{background:rgba(255,254,250,.97);color:var(--ski-forest);border-color:rgba(255,255,255,.8);box-shadow:0 22px 55px rgba(24,39,29,.26);backdrop-filter:none}
.ski-hero__planner-icon,.ski-hero__planner>a{color:var(--ski-matcha)}
.ski-hero__planner ol{border-color:var(--ski-border)}
.ski-hero__planner li{color:#526052}
.ski-hero__planner li b{background:#edf2e9;color:var(--ski-matcha)}
.ski-booking .ski-shell,.ski-benefits__grid{background:#fff;border-color:var(--ski-border);box-shadow:0 18px 48px rgba(52,69,46,.12)}
.ski-booking .ski-shell{border-radius:22px;padding:24px 28px 26px}
.ski-booking header{display:block;border-color:#e8e2d7;padding-bottom:16px}
.ski-booking header p,.ski-section-head>p,.ski-closing__intro>p,.ski-closing__cta p{color:var(--ski-terra)}
.ski-booking header h2{color:var(--ski-forest);font-size:27px}
.ski-booking header>span{display:block;max-width:none;margin-top:5px;color:#6d786d}
.ski-booking label>span{color:#536153}
.ski-booking label b{color:#c55646}
.ski-booking input,.ski-booking select,.ski-booking__datetime .form-control,.ski-booking__datetime input.flatpickr-input{background:#fff;border-color:var(--ski-border);color:var(--ski-forest)}
.ski-booking input:focus,.ski-booking select:focus,.ski-booking__datetime .form-control:focus,.ski-booking__datetime input.flatpickr-input:focus{border-color:var(--ski-matcha);box-shadow:0 0 0 3px rgba(96,125,59,.13)}
.ski-booking__datetime:after,.ski-booking__extras summary>.material-symbols-outlined{color:var(--ski-matcha)}
.ski-booking__extras summary{background:#fff;border-color:var(--ski-border);color:var(--ski-forest)}
.ski-booking__extras[open] summary{border-color:var(--ski-matcha);background:#f4f7f1}
.ski-booking__extras>div{background:#f7f8f4;border-color:var(--ski-border)}
.ski-booking button{background:var(--ski-matcha);box-shadow:0 10px 22px rgba(52,69,46,.2);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.ski-booking button:hover{background:var(--ski-olive);transform:translateY(-2px)}
@media(min-width:901px){
    .ski-booking form{gap:14px;margin-top:18px}
    .ski-booking label.ski-booking__primary,.ski-booking label.ski-booking__datetime{grid-column:span 4}
    .ski-booking form>label:not(.ski-booking__primary):not(.ski-booking__datetime):not([data-ski-custom]):not([data-ski-return]){grid-column:span 3}
    .ski-booking__extras,.ski-booking form>button{grid-column:span 3}
    .ski-booking__extras[open]{grid-column:1/-1}
    .ski-booking__extras[open]+button{grid-column:1/-1;justify-self:end;width:280px;align-self:end}
    .ski-booking__extras>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:13px}
    .ski-booking__extras[open] summary{border-color:var(--ski-matcha);border-radius:11px 11px 8px 8px}
    .ski-booking__extras[open]>div{margin-top:7px}
    .ski-booking__extras[open]+button{height:46px;margin:0}
}
.ski-benefits{margin-top:24px}
.ski-benefits article{border-color:#e8e2d7;padding-block:27px}
.ski-benefits i{background:#edf2e9;color:var(--ski-matcha)}
.ski-benefits h2{color:var(--ski-forest)}
.ski-benefits p{color:#6d786d}
.ski-routes{background:#fff;padding-top:70px}
.ski-section-head h2,.ski-closing__cta h2{color:var(--ski-forest)}
.ski-section-head>span{color:#6d786d}
.ski-route-card{background:#fff;border-color:var(--ski-border);box-shadow:0 12px 32px rgba(52,69,46,.1);transition:transform .22s ease,box-shadow .22s ease}
.ski-route-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(52,69,46,.15)}
.ski-route-card__visual{background:#e7e2d7}
.ski-route-card__visual img{transition:filter .25s ease;filter:saturate(.92) contrast(1.02)}
.ski-route-card:hover .ski-route-card__visual img{filter:saturate(1) contrast(1.03)}
.ski-route-card__visual>span{background:rgba(52,69,46,.92)}
.ski-route-card__meta>span{background:#edf2e9;color:var(--ski-matcha)}
.ski-route-card h3{color:var(--ski-forest)}
.ski-route-card p,.ski-route-card ul{color:#687568}
.ski-route-card p .material-symbols-outlined{color:var(--ski-matcha)}
.ski-route-card li:before{color:var(--ski-matcha)}
.ski-route-card a{background:var(--ski-matcha);transition:background-color .2s ease,transform .2s ease}
.ski-route-card a:hover{background:var(--ski-olive);transform:translateY(-1px)}
.ski-routes__controls button{border-color:var(--ski-border);color:var(--ski-matcha);box-shadow:0 7px 18px rgba(52,69,46,.1)}
.ski-routes__controls button:hover:not(:disabled){background:var(--ski-matcha);color:#fff;transform:translateY(-1px)}
.ski-routes__progress{background:#ddd8cd}.ski-routes__progress i{background:var(--ski-matcha)}
.ski-routes__controls>span b{color:var(--ski-forest)}
.ski-closing{background:#fff}
.ski-closing__panel{background:linear-gradient(135deg,var(--ski-olive),var(--ski-matcha));box-shadow:0 18px 45px rgba(52,69,46,.2)}
.ski-closing__intro>i{background:rgba(255,255,255,.12);color:#fff}
.ski-closing__intro>p{color:#f0ad89}
.ski-closing__intro>span,.ski-closing__checklist small{color:rgba(255,255,255,.78)}
.ski-closing__checklist li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.ski-closing__checklist li>b{color:#f0ad89}
.ski-closing__checklist li>i{background:rgba(255,255,255,.13);color:#fff}
.ski-closing__cta{background:#fff;border-color:var(--ski-border);box-shadow:0 9px 25px rgba(52,69,46,.1)}
.ski-closing__cta>div>.material-symbols-outlined{background:#edf2e9;color:var(--ski-matcha)}
@media(max-width:980px){.ski-hero{height:auto;min-height:620px}.ski-hero__shade{background:linear-gradient(90deg,rgba(28,43,33,.9),rgba(38,53,43,.54))}.ski-hero h1{white-space:normal}}
@media(max-width:640px){.ski-hero{min-height:640px;padding:72px 0 64px}.ski-hero h1{font-size:36px}.ski-booking .ski-shell{padding:20px 16px}.ski-booking header h2{font-size:24px}.ski-booking header>span{font-size:11px;line-height:1.45}.ski-booking form{gap:12px}.ski-booking__extras summary{height:48px}.ski-booking button{height:48px}.ski-routes{padding-top:52px}.ski-route-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.ski-page *{scroll-behavior:auto!important;transition:none!important}}
