/* Essence Swiss Alps — "alpine luxury" layer + summer/winter experience (12 Oct 2026).
   Palette and fonts = skeleton (AtGambit / Acherus Feral, Essence navy/blue/teal/peach/rose). Only .swiss-* blocks and the header over the home hero. */
:root{
  --sw-ink:var(--wp--preset--color--essence-blue,#131c31);
  --sw-navy:var(--wp--preset--color--essence-navy,#003459);
  --sw-teal:var(--wp--preset--color--essence-teal,#1c7783);
  --sw-peach:var(--wp--preset--color--essence-peach,#f0b482);
  --sw-rose:var(--wp--preset--color--essence-rose,#f0e1db);
  --sw-serif:var(--wp--preset--font-family--at-gambit,AtGambit,serif);
  --sw-sans:var(--wp--preset--font-family--acherus-feral,"Acherus Feral",sans-serif);
  --sw-wrap:min(1320px,calc(100vw - 2*var(--sw-gut)));
  --sw-gut:clamp(20px,5vw,72px);
  --sw-space:clamp(88px,11vw,176px);
  --sw-ease:cubic-bezier(.16,1,.3,1);
  /* seasonal accents (winter = glacier teal on cool white, summer = peach on warm rose) */
  --sw-accent:var(--sw-teal);--sw-accent-soft:#e9f1f2;--sw-accent-line:var(--sw-teal);
}
html[data-season=summer]{--sw-accent:#8a4f2c;--sw-accent-soft:#f7ece6;--sw-accent-line:var(--sw-peach)}

/* ---------- season visibility (server default, overridden before first paint by the boot script) ---------- */
html[data-season=winter] .swiss-only-summer,html[data-season=summer] .swiss-only-winter{display:none!important}
/* hero photos: once warmed, both stay in the layout and crossfade */
html.swiss-warm .swiss-hero__img.swiss-only-summer,html.swiss-warm .swiss-hero__img.swiss-only-winter{display:block!important;opacity:0;transition:opacity 1.1s var(--sw-ease)}
html.swiss-warm[data-season=winter] .swiss-hero__img.swiss-only-winter,html.swiss-warm[data-season=summer] .swiss-hero__img.swiss-only-summer{opacity:1}
html.swiss-season-changing main .swiss-only-winter:not(.swiss-hero__img):not(.swiss-hero__lead),html.swiss-season-changing main .swiss-only-summer:not(.swiss-hero__img):not(.swiss-hero__lead){animation:sw-in .8s var(--sw-ease) both}
@keyframes sw-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- shared editorial pieces ---------- */
main .swiss-eyebrow{font-family:var(--sw-sans);font-size:12px!important;letter-spacing:.32em!important;text-transform:uppercase;font-weight:500;color:var(--sw-accent)!important;margin:0 0 22px!important;opacity:1}
main .swiss-eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin:-2px 14px 0 0;opacity:.7}
main .swiss-section-head{width:var(--sw-wrap);margin:0 auto clamp(40px,5vw,72px)!important;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(32px,6vw,120px);align-items:end}
main .swiss-section-head>.swiss-eyebrow{grid-column:1/-1}
main .swiss-section-head h2{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(40px,5.4vw,84px)!important;line-height:1.02!important;letter-spacing:-.015em;color:var(--sw-ink)!important;margin:0!important;text-align:left!important;text-transform:none!important}
main .swiss-section-head p:not(.swiss-eyebrow){font-family:var(--sw-sans);font-size:17px!important;line-height:1.75!important;color:#3d4659!important;margin:0!important;max-width:46ch;text-align:left!important}
main .swiss-link{font-family:var(--sw-sans);font-size:13px!important;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
main .swiss-link a,main a.swiss-link{color:var(--sw-ink)!important;text-decoration:none!important;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:6px;transition:background-size .5s var(--sw-ease)}
@media(hover:hover){main .swiss-link a:hover{background-size:0 1px;background-position:100% 100%}}

/* ---------- 1. cinematic hero ---------- */
main .swiss-hero{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;margin:0!important;padding:0!important;max-width:none!important;width:100%;color:#fff;background:var(--sw-ink);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
main .swiss-hero__media{position:absolute!important;inset:0;margin:0!important;z-index:-1}
main .swiss-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,28,49,.6) 0%,rgba(19,28,49,.06) 24%,rgba(19,28,49,0) 40%,rgba(19,28,49,.45) 64%,rgba(19,28,49,.9) 100%),linear-gradient(90deg,rgba(19,28,49,.5) 0%,rgba(19,28,49,.12) 48%,rgba(19,28,49,0) 70%);pointer-events:none}
main .swiss-hero__copy{text-shadow:0 1px 18px rgba(19,28,49,.35)}
main .swiss-hero__img{position:absolute!important;inset:0;margin:0!important;max-width:none!important;width:100%;height:100%}
main .swiss-hero__img picture{display:contents}
main .swiss-hero__img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 50%;display:block}
main .swiss-hero__img.is-pos-top img{object-position:50% 30%}
/* r1015: Ken Burns is driven by swiss-seasons.js (WAAPI, after load, synced between the two season photos) */
main .swiss-hero__copy{position:relative;width:var(--sw-wrap);margin:0 auto!important;padding:0 0 clamp(56px,9vh,110px)!important;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end}
main .swiss-hero__copy>*{grid-column:1;margin:0!important}
main .swiss-hero .swiss-eyebrow{color:#fff!important;opacity:.92;margin:0 0 20px!important}
main .swiss-hero__title{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(54px,9.4vw,168px)!important;line-height:.92!important;letter-spacing:-.025em;color:#fff!important;text-align:left!important;margin:0 0 28px!important;text-transform:none!important;text-wrap:balance}
main .swiss-hero__lead{font-family:var(--sw-serif)!important;font-size:clamp(19px,1.7vw,26px)!important;line-height:1.4!important;color:#fff!important;max-width:34ch;text-align:left!important;margin:0 0 34px!important;opacity:.95}
main .swiss-hero__buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start!important;margin:0!important}
main .swiss-hero__buttons .wp-block-button__link{border-radius:999px!important;padding:17px 30px!important;font-family:var(--sw-sans);font-size:12px!important;letter-spacing:.24em!important;text-transform:uppercase;font-weight:500;transition:background-color .35s,color .35s,border-color .35s}
main .swiss-hero__buttons .is-style-fill .wp-block-button__link{background:#fff!important;color:var(--sw-ink)!important;border:1px solid #fff!important}
main .swiss-hero__buttons .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
@media(hover:hover){main .swiss-hero__buttons .is-style-fill .wp-block-button__link:hover{background:var(--sw-peach)!important;border-color:var(--sw-peach)!important}
 main .swiss-hero__buttons .is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.14)!important;border-color:#fff!important}}
main .swiss-hero__copy>.swiss-season-switch{grid-column:2;grid-row:1/span 5;align-self:end}
main .swiss-hero__scroll{position:absolute;left:50%;bottom:22px;width:1px;height:46px;margin:0!important;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85));transform-origin:top;font-size:0!important}
@media(prefers-reduced-motion:no-preference){main .swiss-hero__scroll{animation:sw-cue 2.6s var(--sw-ease) 1.2s 3 both}}
@keyframes sw-cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.swiss-hero__sentinel{position:absolute;left:0;bottom:96px;width:1px;height:1px;pointer-events:none}
/* r1015: hero copy entrance — see section "immersive hero" at the end */

/* season switch (glass pill; works without JS through ?stagione= links) */
main .swiss-season-switch{display:inline-flex!important;gap:4px;padding:5px!important;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.38);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);width:max-content;margin:0!important}
main .swiss-season-switch a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 20px 0 16px;border-radius:999px;font-family:var(--sw-sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:#fff!important;text-decoration:none!important;transition:background-color .45s var(--sw-ease),color .45s var(--sw-ease)}
main .swiss-season-switch a::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--sw-ico) center/contain no-repeat;mask:var(--sw-ico) center/contain no-repeat}
main .swiss-season-switch a[href*="inverno"],main .swiss-season-switch a[href*="winter"],main .swiss-season-switch a[href*="hiver"]{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M9 3.5l3 2.5 3-2.5M9 20.5l3-2.5 3 2.5M2.6 10.4l3.7-.6-1.3-3.6M21.4 13.6l-3.7.6 1.3 3.6M2.6 13.6l3.7.6-1.3 3.6M21.4 10.4l-3.7-.6 1.3-3.6'/%3E%3C/svg%3E")}
main .swiss-season-switch a[href*="estate"],main .swiss-season-switch a[href*="summer"],main .swiss-season-switch a[href*="sommer"],main .swiss-season-switch a[href*="ete"]{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Cpath d='M12 2.5v2.4M12 19.1v2.4M2.5 12h2.4M19.1 12h2.4M5.3 5.3L7 7M17 17l1.7 1.7M5.3 18.7L7 17M17 7l1.7-1.7'/%3E%3C/svg%3E")}
html[data-season=winter] main .swiss-season-switch a:is([href*="inverno"],[href*="winter"],[href*="hiver"]),
html[data-season=summer] main .swiss-season-switch a:is([href*="estate"],[href*="summer"],[href*="sommer"],[href*="=ete"]){background:#fff;color:var(--sw-ink)!important}
@media(hover:hover){main .swiss-season-switch a:hover{background:rgba(255,255,255,.18)}}
main .swiss-season-switch a:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* light variant (inside page sections) */
main .swiss-season-switch.is-light{background:#fff;border-color:rgba(19,28,49,.14);-webkit-backdrop-filter:none;backdrop-filter:none}
main .swiss-season-switch.is-light a{color:var(--sw-ink)!important}
html[data-season=winter] main .swiss-season-switch.is-light a:is([href*="inverno"],[href*="winter"],[href*="hiver"]),
html[data-season=summer] main .swiss-season-switch.is-light a:is([href*="estate"],[href*="summer"],[href*="sommer"],[href*="=ete"]){background:var(--sw-ink);color:#fff!important}
main .swiss-season-switch.is-light a:focus-visible{outline-color:var(--sw-ink)}

/* header over the hero photo (home): transparent, light logo and menu — only while it overlaps the photo */
@media(min-width:1025px){
 html.swiss-over-hero body:not(.essence-directional-menu-open) .essence-header-part .essence-header{background:linear-gradient(180deg,rgba(19,28,49,.45),rgba(19,28,49,0))!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 html.swiss-over-hero body:not(.essence-directional-menu-open) .essence-header .essence-navigation .wp-block-navigation-item__content{color:#fff!important}
 html.swiss-over-hero body:not(.essence-directional-menu-open) .essence-header .essence-header-actions .essence-book .wp-block-button__link{background:#fff!important;color:var(--sw-ink)!important;border-color:#fff!important}
 html.swiss-over-hero body:not(.essence-directional-menu-open) .essence-header .essence-header-actions .essence-quote .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
}
html.swiss-over-hero body:not(.essence-directional-menu-open):not(.scroll-down) .essence-header-part .essence-header .essence-logo-dark img{filter:brightness(0) invert(1)}
html.swiss-over-hero body:not(.essence-directional-menu-open):not(.scroll-down) .essence-header .wp-block-navigation__responsive-container-open{color:#fff!important}
@media(max-width:1024px){
 html.swiss-over-hero body:not(.essence-directional-menu-open):not(.scroll-down) .essence-header-part,
 html.swiss-over-hero body:not(.essence-directional-menu-open):not(.scroll-down) .essence-header-part .essence-header{background:linear-gradient(180deg,rgba(19,28,49,.5),rgba(19,28,49,0))!important;box-shadow:none!important}
}
.essence-header-part .essence-header,.essence-header .essence-logo-dark img,.essence-header .essence-navigation .wp-block-navigation-item__content{transition:background-color .4s,color .4s,filter .4s}

/* ---------- 2. editorial intro ---------- */
main .swiss-intro{width:min(1100px,calc(100vw - 2*var(--sw-gut)));margin:0 auto!important;padding:var(--sw-space) 0 calc(var(--sw-space)*.8)!important;text-align:center}
main .swiss-intro .swiss-eyebrow{display:block}
main .swiss-intro .swiss-eyebrow::before{display:none}
main .swiss-intro__title{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(38px,5.6vw,92px)!important;line-height:1.02!important;letter-spacing:-.02em;color:var(--sw-ink)!important;margin:0 auto 34px!important;text-align:center!important;text-wrap:balance;text-transform:none!important}
main .swiss-intro__text{font-family:var(--sw-serif)!important;font-size:clamp(19px,1.6vw,24px)!important;line-height:1.6!important;color:#3d4659!important;max-width:40ch;margin:0 auto!important;text-align:center!important}
main .swiss-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(48px,6vw,88px) auto 0!important;border-top:1px solid rgba(19,28,49,.14);max-width:960px}
main .swiss-fact{padding:28px 18px 0!important;margin:0!important;border-left:1px solid rgba(19,28,49,.14)}
main .swiss-fact:first-child{border-left:0}
main .swiss-fact__num{font-family:var(--sw-serif)!important;font-size:clamp(30px,3.2vw,46px)!important;line-height:1!important;color:var(--sw-ink)!important;margin:0 0 10px!important;text-align:center!important}
main .swiss-fact__label{font-family:var(--sw-sans);font-size:12px!important;letter-spacing:.2em;text-transform:uppercase;color:#5b6475!important;margin:0!important;text-align:center!important;line-height:1.5!important}

/* ---------- 3. hotel cards ---------- */
main .swiss-hotels{padding:0 0 var(--sw-space)!important;margin:0!important}
main .swiss-hotels__grid{width:var(--sw-wrap);margin:0 auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
main .swiss-hotel-card{position:relative;margin:0!important;display:flex;flex-direction:column}
main .swiss-hotel-card:nth-child(2){margin-top:clamp(0px,5vw,80px)!important}
main .swiss-hotel-card__img{margin:0 0 26px!important;overflow:hidden;aspect-ratio:4/5;background:var(--sw-accent-soft)}
main .swiss-hotel-card__img a{display:block;height:100%}
main .swiss-hotel-card__img img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform 1.4s var(--sw-ease)}
@media(hover:hover){main .swiss-hotel-card:hover .swiss-hotel-card__img img{transform:scale(1.045)}}
main .swiss-hotel-card__stars{font-family:var(--sw-sans);font-size:12px!important;letter-spacing:.24em;text-transform:uppercase;color:var(--sw-accent)!important;margin:0 0 12px!important;text-align:left!important}
main .swiss-hotel-card__stars::before{content:"";display:inline-block;height:11px;margin-right:12px;vertical-align:0;background:radial-gradient(circle,currentColor 0 2.6px,transparent 3px) 0 50%/14px 11px repeat-x}
main .swiss-stars-4 .swiss-hotel-card__stars::before{width:56px}main .swiss-stars-3 .swiss-hotel-card__stars::before{width:42px}main .swiss-stars-2 .swiss-hotel-card__stars::before{width:28px}
main .swiss-hotel-card h3{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(28px,2.4vw,38px)!important;line-height:1.08!important;color:var(--sw-ink)!important;margin:0 0 14px!important;text-align:left!important;text-transform:none!important;letter-spacing:-.01em}
main .swiss-hotel-card h3 a{color:inherit!important;text-decoration:none!important}
main .swiss-hotel-card p.swiss-hotel-card__text{font-family:var(--sw-sans);font-size:16px!important;line-height:1.7!important;color:#3d4659!important;margin:0 0 22px!important;text-align:left!important;max-width:38ch}
main .swiss-hotel-card__links{display:flex;flex-wrap:wrap;gap:26px;margin:auto 0 0!important;text-align:left!important}
main .swiss-badge{position:absolute;z-index:2;top:18px;left:18px;margin:0!important;padding:9px 14px!important;background:rgba(19,28,49,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff!important;font-family:var(--sw-sans);font-size:11px!important;letter-spacing:.24em;text-transform:uppercase;border-radius:999px;line-height:1!important}

/* ---------- 4. seasonal statement (cover + kit island motion) ---------- */
main .swiss-statement.wp-block-cover{min-height:min(92vh,980px)!important}
main .swiss-statement .essence-parallax-copy h2{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(40px,6.4vw,110px)!important;line-height:1!important;letter-spacing:-.02em;text-transform:none!important;max-width:16ch;margin:0 auto!important;text-wrap:balance}

/* ---------- 5. seasonal activity carousels ---------- */
main .swiss-rail{padding:var(--sw-space) 0!important;margin:0!important;background:var(--sw-accent-soft);overflow:hidden}
main .swiss-rail__head{position:relative}
main .swiss-rail__head .swiss-season-switch{grid-column:1/-1;margin-top:28px!important}
main .swiss-rail__nav{display:flex;gap:10px;justify-content:flex-end;grid-column:2;margin-top:24px}
main .swiss-rail__nav[hidden]{display:none}
main .swiss-rail__btn{width:54px;height:54px;border-radius:50%;border:1px solid rgba(19,28,49,.25);background:transparent;color:var(--sw-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .35s,color .35s,border-color .35s,opacity .35s}
main .swiss-rail__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
main .swiss-rail__btn:disabled{opacity:.3;cursor:default}
@media(hover:hover){main .swiss-rail__btn:not(:disabled):hover{background:var(--sw-ink);color:#fff;border-color:var(--sw-ink)}}
main .swiss-rail__btn:focus-visible{outline:2px solid var(--sw-ink);outline-offset:3px}
main .swiss-rail__track{display:flex!important;gap:clamp(16px,1.8vw,28px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0!important;padding:0 var(--sw-pad) 8px!important;scroll-padding-inline:var(--sw-pad);--sw-pad:max(var(--sw-gut),calc((100vw - 1320px)/2))}
main .swiss-rail__track::-webkit-scrollbar{display:none}
main .swiss-rail__track:focus-visible{outline:2px solid var(--sw-ink);outline-offset:-2px}
main .swiss-card{position:relative;flex:0 0 clamp(270px,27vw,400px);scroll-snap-align:start;margin:0!important;aspect-ratio:3/4;overflow:hidden;color:#fff;background:var(--sw-ink);isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end}
main .swiss-card>figure{position:absolute!important;inset:0;margin:0!important;z-index:-1}
main .swiss-card>figure img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform 1.4s var(--sw-ease)}
main .swiss-card>figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,28,49,0) 38%,rgba(19,28,49,.82) 100%)}
@media(hover:hover){main .swiss-card:hover>figure img{transform:scale(1.05)}}
main .swiss-card__body{padding:clamp(22px,2.4vw,34px)!important;margin:0!important}
main .swiss-card__num{font-family:var(--sw-sans);font-size:11px!important;letter-spacing:.3em;color:rgba(255,255,255,.8)!important;margin:0 0 14px!important;text-align:left!important}
main .swiss-card h3{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(26px,2.2vw,34px)!important;line-height:1.08!important;color:#fff!important;margin:0 0 12px!important;text-align:left!important;text-transform:none!important}
main .swiss-card p:not(.swiss-card__num){font-family:var(--sw-sans);font-size:15px!important;line-height:1.6!important;color:rgba(255,255,255,.92)!important;margin:0!important;text-align:left!important}
/* card without a photo: typographic card in the season tone */
main .swiss-card.is-text{background:var(--sw-ink);background-image:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--sw-accent-line) 38%,transparent),transparent 60%)}
main .swiss-card.is-text .swiss-card__body{padding-top:0!important}
main .swiss-card.is-text::before{content:"";position:absolute;top:clamp(22px,2.4vw,34px);left:clamp(22px,2.4vw,34px);width:44px;height:44px;background:var(--sw-accent-line);-webkit-mask:var(--sw-ico) center/contain no-repeat;mask:var(--sw-ico) center/contain no-repeat;opacity:.95}
main .swiss-ico-air{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M4 36l12-16 8 10 6-7 14 13'/%3E%3Cpath d='M6 14h18a4 4 0 1 0-4-4M6 20h28a4 4 0 1 1-4 4'/%3E%3C/svg%3E")}
main .swiss-ico-spa{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M24 40c-9 0-16-6-16-14 6 0 11 2 16 8 5-6 10-8 16-8 0 8-7 14-16 14z'/%3E%3Cpath d='M24 34c-4-5-4-12 0-20 4 8 4 15 0 20z'/%3E%3C/svg%3E")}
main .swiss-ico-snow{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M9 3.5l3 2.5 3-2.5M9 20.5l3-2.5 3 2.5'/%3E%3C/svg%3E")}
main .swiss-ico-trail{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M4 38l13-20 8 11 5-6 14 15z'/%3E%3Cpath d='M18 44c2-4 8-4 10-8s-2-6 1-9' stroke-dasharray='2 3'/%3E%3C/svg%3E")}
main .swiss-ico-bike{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='32' r='8'/%3E%3Ccircle cx='37' cy='32' r='8'/%3E%3Cpath d='M11 32l7-14h12l7 14M18 18l6 14h-13M30 18l-6 14M16 14h6M28 12h5l-3 6'/%3E%3C/svg%3E")}
main .swiss-ico-lake{--sw-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M4 26l10-14 7 9 5-6 18 11'/%3E%3Cpath d='M4 33c4 0 4-2 8-2s4 2 8 2 4-2 8-2 4 2 8 2 4-2 8-2M8 40c4 0 4-2 8-2s4 2 8 2 4-2 8-2 4 2 8 2'/%3E%3C/svg%3E")}

/* ---------- 6. wellness + restaurant: calmer, more editorial ---------- */
main .essence-pool.wp-block-cover{min-height:min(88vh,900px)!important}
main .essence-pool .essence-pool-glass{border-radius:2px!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(19,28,49,.32)!important;-webkit-backdrop-filter:blur(16px) saturate(1.1)!important;backdrop-filter:blur(16px) saturate(1.1)!important;padding:clamp(34px,4vw,60px)!important;max-width:620px!important}
main .essence-pool .essence-pool-glass h2{font-size:clamp(34px,4vw,58px)!important;line-height:1.05!important;color:#fff!important}
main .essence-pool .essence-pool-glass p{color:rgba(255,255,255,.94)!important}
main .essence-pool .essence-pool-glass .wp-block-button__link{border-color:rgba(255,255,255,.7)!important;color:#fff!important;border-radius:999px!important}

/* ---------- inner pages: cinematic banner instead of the white veil ---------- */
main .essence-inner-banner.wp-block-cover{min-height:clamp(460px,78vh,860px)!important;align-items:flex-end!important}
main .essence-inner-banner .wp-block-cover__background{background:linear-gradient(180deg,rgba(19,28,49,.55) 0%,rgba(19,28,49,0) 28%,rgba(19,28,49,.22) 50%,rgba(19,28,49,.86) 100%)!important;opacity:1!important}
main .essence-inner-banner .wp-block-cover__inner-container{text-shadow:0 1px 18px rgba(19,28,49,.4)}
main .essence-inner-banner .wp-block-cover__inner-container{width:var(--sw-wrap)!important;max-width:none!important;margin:0 auto!important;padding:0 0 clamp(44px,8vh,96px)!important;text-align:left!important}
main .essence-inner-banner h1{font-family:var(--sw-serif)!important;font-weight:400!important;font-size:clamp(46px,7.4vw,128px)!important;line-height:.95!important;letter-spacing:-.02em;color:#fff!important;text-align:left!important;margin:0 0 18px!important;text-transform:none!important}
main .essence-inner-banner .essence-eyebrow{color:#fff!important;text-align:left!important;letter-spacing:.32em!important;font-size:12px!important;opacity:.92}
main .essence-reference-intro h2{font-weight:400!important;letter-spacing:-.015em}

/* ---------- phones ---------- */
@media(max-width:781px){
 main .swiss-hero{min-height:100svh}
 main .swiss-hero__copy{grid-template-columns:minmax(0,1fr);padding-bottom:calc(46px + env(safe-area-inset-bottom))!important}
 main .swiss-hero__copy>.swiss-season-switch{grid-column:1;grid-row:auto;margin:16px 0 0!important}
 main .swiss-hero__title{margin-bottom:20px!important}
 main .swiss-hero__media::after{background:linear-gradient(180deg,rgba(19,28,49,.55) 0%,rgba(19,28,49,0) 20%,rgba(19,28,49,.2) 38%,rgba(19,28,49,.78) 62%,rgba(19,28,49,.94) 100%)}
 main .swiss-hero .swiss-eyebrow{font-size:11px!important;letter-spacing:.22em!important;margin-bottom:14px!important}
 main .swiss-hero .swiss-eyebrow::before{display:none}
 main .swiss-hero__title{font-size:clamp(46px,13.4vw,64px)!important;margin-bottom:16px!important}
 main .swiss-hero__lead{font-size:17px!important;line-height:1.45!important;margin-bottom:22px!important}
 main .swiss-hero__buttons{flex-wrap:nowrap;gap:10px}
 main .swiss-hero__buttons .wp-block-button{flex:1 1 auto}
 main .swiss-hero__buttons .wp-block-button+.wp-block-button{display:none}
 main .swiss-hero__buttons .wp-block-button__link{display:block;text-align:center;padding:16px 18px!important}
 main .swiss-hero__scroll{display:none}
 main .swiss-season-switch a{padding:0 16px 0 13px;letter-spacing:.16em}
 main .swiss-section-head{grid-template-columns:minmax(0,1fr);row-gap:18px}
 main .swiss-rail__nav{grid-column:1;justify-content:flex-start;margin-top:8px}
 main .swiss-facts{grid-template-columns:minmax(0,1fr)}
 main .swiss-fact{border-left:0;border-bottom:1px solid rgba(19,28,49,.14);padding:22px 0!important}
 main .swiss-hotels__grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:auto;padding:0 var(--sw-gut) 6px!important;scroll-padding-inline:var(--sw-gut);gap:16px}
 main .swiss-hotels__grid::-webkit-scrollbar{display:none}
 main .swiss-hotel-card{flex:0 0 84%;scroll-snap-align:start}
 main .swiss-hotel-card:nth-child(2){margin-top:0!important}
 main .swiss-card{flex-basis:78%}
 main .swiss-statement.wp-block-cover{min-height:78svh!important}
 main .essence-inner-banner.wp-block-cover{min-height:72svh!important}
}
@media(prefers-reduced-motion:reduce){main .swiss-hero__img img,main .swiss-hero__copy>*,main .swiss-hero__copy .sw-w,main .swiss-hero__scroll{animation:none!important;opacity:1!important}
 html.swiss-warm .swiss-hero__img{transition:none!important}}
@media print{main .swiss-hero{min-height:0;color:#000}main .swiss-hero__copy>*,main .swiss-hero__copy .sw-w{animation:none!important;opacity:1!important;transform:none!important}main .swiss-season-switch,.swiss-rail__nav{display:none!important}}
/* footer: languages in the official order IT · DE · EN · FR (Polylang order) */
.essence-footer .swiss-footer-langs-row{margin:6px 0 0!important}
.essence-footer .swiss-footer-langs ul,.essence-footer ul.swiss-footer-langs{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
.essence-footer .swiss-footer-langs li{margin:0;padding:0;font-size:13px;letter-spacing:.08em}
.essence-footer .swiss-footer-langs li+li::before{content:"·";margin:0 10px;opacity:.5}
.essence-footer .swiss-footer-langs a{color:inherit;text-decoration:none}
.essence-footer .swiss-footer-langs .current-lang a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:781px){.essence-footer .swiss-footer-langs-row{display:flex;justify-content:center}.essence-footer .swiss-footer-langs ul,.essence-footer ul.swiss-footer-langs{justify-content:center}}
/* lighter copy of the Essence "S" pattern used as a mask by the Cala additional CSS (same drawing, 1400 px, ~70 KB instead of 177 KB) */
.essence-book-band::before,.block-ps-cta-strip::before{-webkit-mask-image:url('../img/brand/essence-pattern-mask-1400.webp')!important;mask-image:url('../img/brand/essence-pattern-mask-1400.webp')!important}
/* intro arrival photo + captioned figures (Ravizza rendering) */
main .swiss-intro__photo{margin:clamp(56px,7vw,104px) auto 0!important;max-width:1100px}
main .swiss-intro__photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
main .swiss-figure{width:var(--sw-wrap);max-width:1100px;margin:clamp(40px,6vw,96px) auto!important}
main .swiss-figure__img{margin:0!important}main .swiss-figure__img img{width:100%;height:auto;display:block}
main .swiss-figure__caption{font-family:var(--sw-sans);font-size:12px!important;letter-spacing:.2em;text-transform:uppercase;color:#5b6475!important;margin:14px 0 0!important;text-align:left!important}
/* rooms (Mews data in the kit block ps-room-detail) */
main .swiss-rooms-head{margin-top:clamp(72px,9vw,140px)!important}
main .swiss-room.block-ps-room-detail{width:var(--sw-wrap);max-width:1320px;margin-left:auto!important;margin-right:auto!important}

/* =====================================================================================================================
   r1015 (15 Oct 2026) — immersive mobile menu (js/drawer-v10.js). Phones/tablets only (≤1024px, the WordPress overlay);
   the desktop menu is untouched. Full-screen navy overlay with the season photo, centred entries, header kept on top.
   ===================================================================================================================== */
@media(max-width:1024px){
 html.sw-menu-open{scrollbar-gutter:stable}
 .essence-header .essence-navigation .wp-block-navigation__responsive-container.sw-menu.is-menu-open{
  inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;
  background:var(--sw-ink)!important;color:#fff!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
 .sw-menu.is-menu-open .wp-block-navigation__responsive-close,.sw-menu.is-menu-open .wp-block-navigation__responsive-dialog{height:100%}
 .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-content{
  position:relative;isolation:isolate;display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start;gap:0;
  width:100%;height:100%;padding:calc(78px + env(safe-area-inset-top,0px)) clamp(22px,7vw,64px) max(26px,env(safe-area-inset-bottom))!important;
  overflow-y:auto;overscroll-behavior:contain;background:transparent!important;text-align:center;scrollbar-width:none}
 .sw-menu.is-menu-open .wp-block-navigation__responsive-container-content::-webkit-scrollbar{display:none}
 /* season photo under a navy veil (downloaded only when the menu opens; the home already has it in cache) */
 .sw-menu__bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--sw-ink);transform-origin:50% 40%}
 .sw-menu__photo{position:absolute;inset:0;background:center/cover no-repeat;opacity:0}
 .sw-menu.is-menu-open .sw-menu__photo.is-winter{background-image:url('/wp-content/uploads/2026/10/swiss-hero-morph-inverno-mobile.webp')}
 .sw-menu.is-menu-open .sw-menu__photo.is-summer{background-image:url('/wp-content/uploads/2026/10/swiss-hero-morph-estate-mobile.webp')}
 html[data-season=winter] .sw-menu__photo.is-winter,html[data-season=summer] .sw-menu__photo.is-summer{opacity:1}
 .sw-menu__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,28,49,.9) 0%,rgba(19,28,49,.72) 30%,rgba(19,28,49,.8) 62%,rgba(19,28,49,.96) 100%),radial-gradient(120% 70% at 50% 0%,rgba(240,180,130,.16),transparent 60%)}
 /* header above the overlay: transparent, white logo, Spotify + pause kept; the flag is replaced by the four languages below */
 .sw-menu-open .essence-header-part,.sw-menu-open .essence-header-part .essence-header{background:transparent!important;box-shadow:none!important;border-color:transparent!important}
 .sw-menu-open .essence-header-part::before{opacity:0!important}
 .sw-menu-open .essence-header .essence-brand,.sw-menu-open .essence-header .essence-header-tools{position:relative;z-index:100002}
 .sw-menu-open .essence-header .essence-logo-dark img{filter:brightness(0) invert(1)!important}
 .sw-menu-open .essence-header .essence-header-tools .essence-language{visibility:hidden}
 .sw-menu-open .essence-header .rx-song-toggle{color:#fff}
 .sw-menu-open .essence-mobile-part{visibility:hidden}
 /* close: always visible, white ring */
 body .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-close{
  z-index:100003!important;display:grid!important;place-items:center;padding:0!important;border-radius:50%!important;color:#fff!important;
  background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.6)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .3s,transform .4s var(--sw-ease)}
 body .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-close svg{width:22px;height:22px;fill:currentColor;opacity:1}
 body .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-close:focus-visible{outline:2px solid var(--sw-peach)!important;outline-offset:3px}
 @media(hover:hover){body .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-close:hover{background:rgba(255,255,255,.22)!important;transform:rotate(90deg)}}
 .sw-menu.is-menu-open .essence-drawer-brand{display:none!important}
 /* entries: big centred serif + label (stars, rooms, opening) */
 .essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__container{display:flex!important;flex-direction:column;gap:0;width:100%!important;margin:auto 0 0!important;padding:0!important}
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi{width:100%;justify-content:center!important;border-bottom:1px solid rgba(255,255,255,.13)}
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi:first-child{border-top:1px solid rgba(255,255,255,.13)}
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi>a.wp-block-navigation-item__content{
  display:flex!important;justify-content:center;align-items:center;width:100%;min-height:0;padding:clamp(8px,1.6vh,15px) 0!important;color:#fff!important;
  font:400 clamp(27px,7.6vw,38px)/1.04 var(--sw-serif)!important;letter-spacing:-.01em;text-transform:none!important;text-align:center;text-decoration:none!important}
 .sw-menu.is-menu-open .sw-mi-body{display:flex;flex-direction:column;align-items:center;gap:6px}
 .sw-menu.is-menu-open .sw-mi-meta{display:block}
 .sw-mi-meta{font:500 10.5px/1.35 var(--sw-sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72);text-wrap:balance}
 .sw-mi-meta .swiss-stars{color:var(--sw-peach);letter-spacing:.18em;font-size:11px}
 .sw-mi-soon{color:var(--sw-peach)}
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi>a:is(:hover,:focus-visible) .wp-block-navigation-item__label{color:var(--sw-peach)}
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi>a:focus-visible{outline:1px solid rgba(240,180,130,.8);outline-offset:-1px}
 .essence-header .essence-navigation .sw-menu.is-menu-open .current-menu-item>a .wp-block-navigation-item__label,
 .essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi>a[aria-current="page"] .wp-block-navigation-item__label{font-style:italic}
 .wp-block-navigation-item__label{transition:color .3s}
 /* actions */
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;margin:clamp(20px,3.4vh,30px) 0 0!important;order:0}
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .wp-block-button{margin:0;width:auto}
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .wp-block-button__link{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 14px!important;border-radius:999px!important;
  font:500 12px/1.2 var(--sw-sans)!important;letter-spacing:.2em!important;text-transform:uppercase;box-shadow:none!important}
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .essence-quote .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .essence-book .wp-block-button__link{background:var(--sw-peach)!important;color:var(--sw-ink)!important;border:1px solid var(--sw-peach)!important;font-weight:600!important}
 .essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .wp-block-button__link::after{display:none!important}
 /* languages: four visible choices */
 .sw-menu__langs{display:flex;justify-content:center;gap:8px;margin:clamp(18px,3vh,26px) 0 0}
 .sw-menu__langs a{display:grid;place-items:center;min-width:52px;height:40px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#fff!important;
  font:500 12px/1 var(--sw-sans);letter-spacing:.18em;text-decoration:none!important;transition:background-color .3s,color .3s,border-color .3s}
 .sw-menu__langs a[aria-current]{background:#fff;color:var(--sw-ink)!important;border-color:#fff}
 .sw-menu__langs a:focus-visible{outline:2px solid var(--sw-peach);outline-offset:3px}
 @media(hover:hover){.sw-menu__langs a:not([aria-current]):hover{border-color:#fff;background:rgba(255,255,255,.12)}}
 /* bottom: listen row + Essy */
 .sw-menu__foot{display:flex;flex-direction:column;align-items:center;gap:12px;margin:clamp(18px,3vh,28px) 0 0;padding-top:clamp(16px,2.6vh,22px);border-top:1px solid rgba(255,255,255,.13)}
 .essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-drawer-tools{display:block!important;order:0!important;padding:0!important;margin:0!important;border:0!important}
 .essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-music{margin:0!important;color:#fff;font:400 12px/1.4 var(--sw-sans)!important;letter-spacing:.14em!important;text-transform:uppercase}
 .essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-music .essence-listen__a{display:grid!important;place-items:center;padding:0!important;margin:0!important;color:#fff!important;background:none!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:50%!important;width:42px!important;height:42px!important;font-size:0;line-height:0}
 .essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-music .essence-listen__a::before,.essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-music .essence-listen__a::after{content:none!important;display:none!important}
 .essence-navigation .sw-menu.is-menu-open .sw-menu__foot .essence-listen{gap:8px}
 .sw-menu__essy{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:4px 22px 4px 4px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff!important;text-decoration:none!important;font:500 12px/1.2 var(--sw-sans);letter-spacing:.14em;text-transform:uppercase}
 .sw-menu__essy-face{width:44px;height:44px;flex:none;border-radius:50%;background:#f0e1db url('../../calalaluna/img/brand/essy-concierge-v1-v32.webp') 50% 12%/150% auto no-repeat}
 .sw-menu__essy:focus-visible{outline:2px solid var(--sw-peach);outline-offset:3px}
 @media(hover:hover){.sw-menu__essy:hover{background:rgba(255,255,255,.18)}}
 .sw-menu.is-menu-open .essence-drawer-essy{display:none!important}
 .essence-menu-veil{display:none!important}
 @media(min-width:600px){.essence-header .essence-navigation .sw-menu.is-menu-open .wp-block-navigation__responsive-container-content>:not(.sw-menu__bg){width:min(520px,100%)!important;margin-left:auto!important;margin-right:auto!important}}
 @media(max-height:720px){.essence-header .essence-navigation .sw-menu.is-menu-open .sw-mi>a.wp-block-navigation-item__content{font-size:26px!important;padding:7px 0!important}.sw-menu__foot{gap:6px}.sw-menu__langs a{height:38px}.essence-navigation .sw-menu.is-menu-open .essence-drawer-actions .wp-block-button__link{min-height:48px}}
}
@media(prefers-reduced-motion:reduce){.sw-menu *,.sw-menu{transition:none!important}}
/* the same <ul> is the desktop menu: the drawer labels exist only inside the open overlay */
.sw-mi-body{display:contents}
.sw-mi-meta{display:none}

/* =====================================================================================================================
   r1015 — immersive hero: Ken Burns (JS, compositor transform), elegant entrance, deeper veil, season morph (soft radial mask)
   ===================================================================================================================== */
main .swiss-hero__img img{transform-origin:58% 46%;backface-visibility:hidden}
main .swiss-hero__media::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(130% 90% at 50% 40%,transparent 55%,rgba(19,28,49,.42) 100%)}
main .swiss-hero__media::after{z-index:3}
/* entrance: words rise one by one (start at low opacity, never 0 = the title stays the LCP at first paint); other lines follow */
main .swiss-hero__title .sw-w{display:inline-block}
@media(prefers-reduced-motion:no-preference){
 main .swiss-hero__title .sw-w{animation:sw-word 1.35s var(--sw-ease) calc(.12s + var(--w,0)*.11s) both}
 main .swiss-hero .swiss-eyebrow{animation:sw-fade-up 1.1s var(--sw-ease) .05s both}
 main .swiss-hero__lead{animation:sw-soft-up 1.3s var(--sw-ease) .42s both}
 main .swiss-hero__buttons{animation:sw-fade-up 1.1s var(--sw-ease) .62s both}
 main .swiss-hero__copy>.swiss-season-switch{animation:sw-fade-up 1.1s var(--sw-ease) .78s both}
 main .swiss-hero__scroll{animation:sw-cue 2.6s var(--sw-ease) 1.6s 3 both}
}
@keyframes sw-word{from{opacity:.12;transform:translate3d(0,.42em,0) rotate(2.2deg)}to{opacity:1;transform:none}}
@keyframes sw-soft-up{from{opacity:.12;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
@keyframes sw-fade-up{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
/* season morph: the incoming photo is revealed by a soft radial mask (sun melting the snow / snow falling from the sky) */
html.swiss-warm main .swiss-hero__img.sw-out{opacity:1!important;z-index:1;transition:none!important}
html.swiss-warm main .swiss-hero__img.sw-in{opacity:1!important;z-index:2;transition:none!important;
 -webkit-mask-image:radial-gradient(circle closest-side,#000 52%,rgba(0,0,0,.6) 76%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 52%,rgba(0,0,0,.6) 76%,transparent 100%);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:0 0;mask-size:0 0}
html.swiss-warm main .swiss-hero__img.sw-in.sw-fallback{-webkit-mask-image:none;mask-image:none}
/* text crossfade: both leads share one cell during the switch */
main .swiss-hero .sw-leads{display:grid!important;grid-column:1;margin:0 0 34px!important}
main .swiss-hero .sw-leads>.swiss-hero__lead{grid-area:1/1;animation:none!important;margin:0!important}
main .swiss-hero .sw-leads.sw-x>.swiss-hero__lead{display:block!important}
@media(max-width:781px){main .swiss-hero .sw-leads{margin:0 0 22px!important}main .swiss-hero .sw-leads>.swiss-hero__lead{margin:0!important}}

/* =====================================================================================================================
   r1015 — star ratings as stars (markup from inc/swiss-seasons.php: <span class="swiss-stars" role="img" aria-label="3 stelle">★★★</span>)
   ===================================================================================================================== */
.swiss-stars{display:inline-block;font-family:system-ui,-apple-system,"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;font-style:normal;font-weight:400;letter-spacing:.14em;line-height:1;white-space:nowrap;color:var(--sw-peach,#f0b482);vertical-align:.04em;text-transform:none}
main .swiss-hotel-card__stars::before{content:none!important;display:none!important}
main .swiss-hotel-card__stars .swiss-stars{font-size:13px;color:var(--sw-accent)}
main .essence-inner-banner .swiss-stars,main .essence-eyebrow .swiss-stars{font-size:1.15em;color:var(--sw-peach,#f0b482)}

/* =====================================================================================================================
   r1015 — phones: centred composition (Dragos: "è tutto spostato a sinistra, centra tutto"), as on Cala / corporate mobile.
   Titles, eyebrows, short texts, buttons, stars and labels are centred; long room descriptions too (short measure); the kit
   "Le cinque Essenze" cards keep their approved layout.
   ===================================================================================================================== */
@media(max-width:781px){
 main :is(h1,h2,h3,h4,p,figcaption,.wp-block-heading):not(.essenza-card *):not(.block-ps-essenze .essenze__grid *){text-align:center!important}
 main :is(p,h1,h2,h3):not(.essenza-card *){margin-left:auto!important;margin-right:auto!important}
 main .wp-block-buttons:not(.essenza-card *){justify-content:center!important}
 main .swiss-eyebrow::before{display:none!important}
 /* hero */
 main .swiss-hero__copy{justify-items:center;text-align:center}
 main .swiss-hero__lead{max-width:30ch}
 main .swiss-hero__buttons{justify-content:center!important;width:100%}
 main .swiss-hero__copy>.swiss-season-switch{justify-self:center;margin:16px auto 0!important}
 main .swiss-hero .sw-leads{justify-items:center;margin:0 0 22px!important}
 /* section heads, rails, cards */
 main .swiss-section-head{justify-items:center;text-align:center}
 main .swiss-section-head .swiss-season-switch{justify-self:center}
 main .swiss-rail__nav{justify-content:center!important;grid-column:1/-1}
 main .swiss-hotel-card{text-align:center}
 main .swiss-hotel-card__links{justify-content:center!important}
 main .swiss-hotel-card p.swiss-hotel-card__text{max-width:34ch}
 main .swiss-badge{left:50%!important;transform:translateX(-50%)}
 main .swiss-card__body{text-align:center}
 main .swiss-figure__caption{text-align:center!important}
 /* inner banners */
 main .essence-inner-banner .wp-block-cover__inner-container{text-align:center!important}
 main .essence-inner-banner :is(h1,.essence-eyebrow,p){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
 /* lists (room comforts, wellness): centred rows, no hanging bullets */
 main ul:not(.essenze__grid):not(.wp-block-navigation__container):not(.essence-language-options){padding-left:0!important;list-style-position:inside}
 main ul:not(.essenze__grid):not(.wp-block-navigation__container):not(.essence-language-options)>li{text-align:center!important;justify-content:center}
 main .room__amenities li{position:relative;padding-left:0!important}
 main .room__amenities li::before{position:static!important;display:inline-block;margin-right:8px}
 main .room__meta{text-align:center!important}
 main .room__meta::after,main .room__meta::before{margin-left:auto!important;margin-right:auto!important}
 main .block-ps-room-detail{text-align:center}
 /* footer (newsletter, contacts) */
 footer :is(h2,h3,h4,p,label,.wp-block-heading):not(.essence-cc *){text-align:center!important}
 :is(footer,.essence-footer-part,.essence-footer) :is(h2,h3,h4,p,label):not(.essence-cc *){text-align:center!important}
 body .essence-footer .essence-footer__newsletter :is(p,h2,h3,h4,label,.essence-newsletter-text){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
}
.sw-menu:not(.is-menu-open) :is(.sw-menu__bg,.sw-menu__langs,.sw-menu__foot){display:none!important}
@media(min-width:1025px){.sw-menu :is(.sw-menu__bg,.sw-menu__langs,.sw-menu__foot){display:none!important}}

/* =====================================================================================================================
   r1015b (15 Oct 2026) — hero title fixed during the season switch. Dragos: "il titolo non deve spostarsi; cambia la scritta
   sotto, però il titolo deve rimanere nella stessa posizione sia in estate sia in inverno".
   The hero copy is bottom-anchored, so a lead of a different length moved the title (desktop: 2 vs 3 lines = 34px). Now both
   leads (winter + summer) always share ONE grid cell (row 3) from the first paint, also without JavaScript: the cell is as tall
   as the longer sentence, the off-season one is only visibility:hidden (not read by screen readers). Title, buttons and pill keep
   the same box in both seasons; on a switch only the sentence crossfades (opacity, swiss-seasons.js). The title is never
   re-animated (its entrance runs once at load).
   ===================================================================================================================== */
main .swiss-hero__copy>.swiss-eyebrow{grid-row:1}
main .swiss-hero__copy>.swiss-hero__title{grid-row:2}
html[data-season] main .swiss-hero__copy>.swiss-hero__lead{display:block!important;grid-row:3;grid-column:1}
main .swiss-hero__copy>.swiss-hero__buttons{grid-row:4}
html[data-season=winter] main .swiss-hero__copy>.swiss-hero__lead.swiss-only-summer,html[data-season=summer] main .swiss-hero__copy>.swiss-hero__lead.swiss-only-winter{visibility:hidden}
main .swiss-hero__copy.sw-x>.swiss-hero__lead{visibility:visible!important}
@media(max-width:781px){main .swiss-hero__copy>.swiss-season-switch{grid-row:5}}
/* r1015b: the photo of the current season is always on top. Without this, at the end of a summer→winter morph the outgoing summer
   photo (later in the DOM) faded out OVER the winter one for 1.1 s = a visible flash back to summer (hidden before only because
   the old AI pair had the same framing). */
html.swiss-warm[data-season=winter] main .swiss-hero__img.swiss-only-winter,html.swiss-warm[data-season=summer] main .swiss-hero__img.swiss-only-summer{z-index:2}
/* r1015c: summer hero photo has the sun in the sky; open the dark overlay around it so it reads (soft mask, follows the Ken Burns drift). */
html[data-season=summer] main .swiss-hero__media::after,html[data-season=summer] main .swiss-hero__media::before{-webkit-mask-image:radial-gradient(circle at 37% 11%,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 34px,#000 210px);mask-image:radial-gradient(circle at 37% 11%,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 34px,#000 210px)}
@media (max-width:781px){html[data-season=summer] main .swiss-hero__media::after,html[data-season=summer] main .swiss-hero__media::before{-webkit-mask-image:radial-gradient(circle at 49% 12%,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 30px,#000 170px);mask-image:radial-gradient(circle at 49% 12%,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 30px,#000 170px)}}
