/* MAGLEN — styles.css */
:root{--magla:#EEEDE8;--lan:#E2DED3;--kamen:#8E8A80;--mahovina:#3E4A3A;--smola:#1E1F1B;--ziska:#B5622F;--t2:#5D5950;--line:rgba(142,138,128,.3);--ease:cubic-bezier(.22,1,.36,1);--serif:"DM Serif Display",Georgia,serif;--sans:"Albert Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--pad:clamp(20px,4vw,56px);--padL:var(--pad);--sec:clamp(96px,13vw,200px)}
@media(min-width:900px){:root{--padL:max(var(--pad),104px)}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--magla);color:var(--smola);font:400 17px/1.65 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto;-webkit-user-drag:none}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ziska);outline-offset:3px}
::selection{background:var(--mahovina);color:var(--magla)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.02em;line-height:.95;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0}
em{font-style:italic}
.h1{font-size:clamp(52px,9vw,128px)}
.h2{font-size:clamp(40px,5.6vw,84px);line-height:1}
.h3{font-size:clamp(28px,2.6vw,40px);line-height:1.05}
.h4{font-size:clamp(22px,1.8vw,26px);line-height:1.15;letter-spacing:-.01em}
.mono{font:500 12.5px/1.45 var(--mono);text-transform:uppercase;letter-spacing:.12em}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;max-width:34em}
.t2{color:var(--t2)}
.wrap{max-width:1360px;margin-inline:auto;padding-left:var(--padL);padding-right:var(--pad)}
@media(min-width:1500px){.wrap{max-width:calc(1360px + var(--padL) + var(--pad))}}
.sec{padding-block:var(--sec)}
.sec--lan{background:var(--lan)}
.sec--dark{background:var(--smola);color:var(--magla)}
.sec--dark .t2{color:rgba(238,237,232,.74)}
.secno{display:flex;align-items:center;gap:10px;margin:0 0 36px}
.secno::after{content:"";width:72px;height:1px;background:var(--kamen);opacity:.5;margin-left:6px}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(48px,6vw,96px)}
.shead .h2{max-width:12em}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.4vw,40px)}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}
.span-6.st-7{grid-column:7 / span 6}.span-5.st-8{grid-column:8 / span 5}.span-6.st-6{grid-column:6 / span 6}
@media(max-width:900px){.grid>[class*=span-]{grid-column:1/-1}}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--smola);color:var(--magla);padding:12px 18px;border-radius:999px}
.skip:focus{top:12px}
.ic{width:20px;height:20px;flex:none}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:999px;font:500 15px/1 var(--sans);border:1px solid transparent;background:none;transition:background-color .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease);white-space:nowrap}
.btn .ic{width:18px;height:18px;transition:transform .5s var(--ease)}
.btn:hover .ic{transform:translateX(6px)}
.btn--pri{background:var(--mahovina);color:var(--magla)}
.btn--pri:hover{background:var(--smola);color:var(--magla)}
.btn--sec{border-color:var(--smola);color:var(--smola)}
.btn--sec:hover{background:var(--smola);color:var(--magla)}
.btn--light{border-color:var(--magla);color:var(--magla)}
.btn--light:hover{background:var(--magla);color:var(--smola)}
.btn[disabled]{opacity:.5;pointer-events:none}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tlink{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:500;min-height:44px}
.tlink::after{content:"";position:absolute;left:0;right:28px;bottom:8px;height:1px;background:var(--ziska);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.tlink:hover::after,.tlink:focus-visible::after{transform:scaleX(1)}
.tlink .ic{width:18px;height:18px;transition:transform .5s var(--ease)}
.tlink:hover .ic{transform:translateX(6px)}
/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:84px;display:flex;align-items:center;background:var(--magla);color:var(--smola);border-bottom:1px solid transparent;transition:transform .7s var(--ease),background-color .5s,color .5s,border-color .5s}
.has-hero .hdr:not(.solid){background:transparent;color:var(--magla)}
.hdr.solid{border-color:var(--line)}
.hdr.hide{transform:translateY(-101%)}
.hdr__in{display:flex;align-items:center;gap:28px;width:100%;padding-inline:var(--pad)}
.logo{display:flex;flex-direction:column;line-height:1;min-height:44px;justify-content:center}
.logo b{font:400 22px/1 var(--serif);letter-spacing:.18em}
.logo small{font:500 11px/1 var(--mono);letter-spacing:.14em;margin-top:7px}
.nav{display:flex;align-items:center;gap:26px;margin-inline:auto;font-size:15px;font-weight:500}
.nav>a,.more>button{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:44px;background:none;border:0;padding:0}
.nav>a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.nav>a:hover::after,.nav>a[aria-current]::after{transform:scaleX(1)}
.more{position:relative}
.more .ic{width:16px;height:16px;transition:transform .4s var(--ease)}
.more>button[aria-expanded=true] .ic{transform:rotate(180deg)}
.more__p{position:absolute;top:100%;left:-20px;min-width:200px;padding:12px 0;background:var(--magla);color:var(--smola);border:1px solid var(--line);border-radius:2px;display:none}
.more>button[aria-expanded=true]+.more__p{display:block}
.more__p a{display:block;padding:10px 20px}
.more__p a:hover,.more__p a[aria-current]{background:var(--lan)}
.hdr__r{display:flex;align-items:center;gap:14px;margin-left:auto}
.lang{display:flex;align-items:center;gap:2px;font:500 12.5px var(--mono);letter-spacing:.12em}
.lang button{background:none;border:0;min-width:36px;min-height:44px;opacity:.6;padding:0}
.lang button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.menu-btn{display:inline-flex;align-items:center;gap:10px;background:none;border:0;min-height:44px;padding:0 4px;font-weight:500;font-size:15px}
.menu-btn__i{width:22px;height:8px;border-block:1px solid currentColor}
.hdr__cta{height:48px;padding:0 22px}
@media(min-width:1201px){.nav~.hdr__r{margin-left:0}}
@media(max-width:1200px){.nav{display:none}}
@media(max-width:768px){.hdr{height:68px}.hdr__cta{height:44px;padding:0 16px;font-size:14px}.hdr__cta .ic{display:none}.hdr__r{gap:8px}}
@media(max-width:420px){.menu-btn>span[data-i18n]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menu-btn{min-width:44px;justify-content:center}.lang button{min-width:30px}}
/* fullscreen menu */
.menu{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--smola);color:var(--magla);opacity:0;transition:opacity .45s var(--ease)}
.menu.open{opacity:1}
.menu::backdrop{background:transparent}
.menu__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);height:100%}
.menu__nav{display:flex;flex-direction:column;gap:40px;padding:22px var(--pad) 36px;overflow:auto}
.menu__top{display:flex;justify-content:space-between;align-items:center}
.menu__x{display:inline-flex;align-items:center;gap:10px;background:none;border:0;min-height:44px;font-weight:500}
.menu__list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;margin-block:auto}
.menu__list a{display:block;font:400 clamp(28px,3vw,48px)/1.2 var(--serif);letter-spacing:-.02em;transition:transform .5s var(--ease),opacity .4s;opacity:.82}
.menu__list a:hover,.menu__list a:focus-visible,.menu__list a[aria-current]{transform:translateX(12px);opacity:1}
.menu__foot{display:flex;flex-wrap:wrap;gap:8px 28px;border-top:1px solid rgba(238,237,232,.2);padding-top:22px}
.menu__foot a{min-height:44px;display:inline-flex;align-items:center}
.menu__ph{position:relative;overflow:hidden}
.menu__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.menu__ph img.on{opacity:1;transform:none}
.menu__list .sub a{font:400 15px/1 var(--sans);letter-spacing:0;padding:8px 0 8px 2px;min-height:40px;display:flex;align-items:center;opacity:.7}
.menu__list .sub:has(+ li:not(.sub)) a{margin-bottom:8px}
@media(max-width:900px){.menu__grid{grid-template-columns:1fr}.menu__ph{display:none}.menu__list{grid-template-columns:1fr;margin-block:8px}.menu__list a{font-size:30px;line-height:1.25}.menu__list .sub{display:none}.menu__nav{gap:24px;padding-bottom:28px}.menu__foot{gap:0 20px;font-size:11.5px}}
/* altimeter + progress */
.alt{position:fixed;left:22px;top:22vh;bottom:22vh;width:70px;z-index:40;color:#fff;mix-blend-mode:difference;pointer-events:none}
.alt__rail{position:absolute;left:0;top:0;bottom:0;width:1px;background:currentColor;opacity:.45}
.alt__ticks{position:absolute;inset:0}
.alt__t{position:absolute;left:0;transform:translateY(50%);display:flex;align-items:center;gap:8px;background:none;border:0;color:inherit;padding:0;min-height:24px;pointer-events:auto;font:400 10.5px var(--mono);letter-spacing:.1em;opacity:.7}
.alt__t::before{content:"";width:8px;height:1px;background:currentColor}
.alt__t:hover,.alt__t:focus-visible{opacity:1}
.alt__t.near span{opacity:0}
.alt__t span{transition:opacity .3s}
.alt__t span{white-space:nowrap}
.alt__ptr{position:absolute;left:-4px;bottom:0;display:flex;align-items:center;gap:8px;transition:transform .25s linear}
.alt__ptr i{width:9px;height:9px;border-radius:50%;border:1px solid currentColor;background:currentColor}
.alt__ptr span{white-space:nowrap;font-size:11px;text-transform:none}
.alt.end .alt__ptr span{font-size:11px}
.prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;display:none;pointer-events:none}
.prog i{display:block;height:100%;background:var(--ziska);transform-origin:left;transform:scaleX(0)}
@media(max-width:899px){.alt{display:none}.prog{display:block}}
.read .prog{display:block}
/* mobile bar */
.mbar{display:none!important}
/* page transition */
.wave{display:none}
.js .wave{display:grid;place-items:center;position:fixed;top:0;bottom:0;left:-30vw;width:160vw;z-index:300;background:var(--magla);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);animation:waveOut 1s var(--ease) .12s both}
.wave__logo{font:400 30px/1 var(--serif);letter-spacing:.18em;color:var(--smola)}
.js .wave .wave__logo{animation:fadeOut .45s var(--ease) both}
.js .wave.in{animation:waveIn .6s var(--ease) both}
.js .wave.in .wave__logo{animation:fadeIn .25s var(--ease) .3s both}
@keyframes waveOut{from{transform:translateX(0)}to{transform:translateX(135vw)}}
@keyframes waveIn{from{transform:translateX(-135vw)}to{transform:translateX(0)}}
@keyframes fadeOut{to{opacity:0}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;color:var(--magla);background:#9DA49A;isolation:isolate}
.hero--soft{height:86vh;height:86svh;min-height:540px}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:filter,transform}
.js .hero__img{filter:blur(14px);transform:scale(1.08)}
.js .hero--soft .hero__img{filter:blur(8px)}
.hero__haze{position:absolute;inset:0;background:linear-gradient(180deg,#F4F3EF 0%,rgba(244,243,239,.5) 45%,rgba(244,243,239,.12) 100%);opacity:0}
.js .hero__haze{opacity:.6}
.js .hero--soft .hero__haze{opacity:.4}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,31,27,.32),rgba(30,31,27,0) 22%,rgba(30,31,27,.22) 40%,rgba(30,31,27,.72))}
.fog{position:absolute;left:0;width:200%;height:70%;bottom:-12%;background:url(fog.svg) repeat-x 0 0/50% 100%;opacity:calc(.35 * var(--k,1));animation:fog 60s linear infinite;pointer-events:none}
.fog--2{bottom:auto;top:-8%;height:55%;opacity:calc(.26 * var(--k,1));animation-duration:84s;animation-direction:reverse}
@keyframes fog{to{transform:translateX(-50%)}}
@media(max-width:768px){.fog{display:none}}
.hero__in{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:clamp(40px,7vh,88px)}
.hero__txt{max-width:900px}
.hero__label{margin-bottom:24px}
.hero__title{margin-bottom:28px}
.hero__title em{font-style:italic}
.hero__sub{margin-bottom:36px;max-width:30em}
.js .hero__title .w{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(.12em);transition:opacity 1.3s var(--ease),filter 1.3s var(--ease),transform 1.3s var(--ease)}
.js .hero__title.in .w{opacity:1;filter:blur(0);transform:none}
.hero .btn--sec{border-color:var(--magla);color:var(--magla)}
.hero .btn--sec:hover{background:var(--magla);color:var(--smola)}
.quick{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;background:var(--magla);color:var(--smola);padding:20px;border-radius:2px;width:min(560px,44vw)}
.quick .field label{font-size:11px}
.quick .input{height:44px;font-size:15px}
.quick .btn{height:44px;padding:0 18px}
@media(max-width:1100px){.hero .quick{display:none}}
/* photos + reveal */
.ph{position:relative;margin:0;overflow:hidden;border-radius:2px;background:var(--lan)}
.ph img{width:100%;height:100%;object-fit:cover}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-img{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease)}
.js .rv-img img{filter:blur(8px);transform:scale(1.04);transition:filter 1.1s var(--ease),transform 1.6s var(--ease)}
.js .rv-img.in{clip-path:inset(0 0 0 0)}
.js .rv-img.in img{filter:blur(0);transform:none}
.js .rv-fade{opacity:0;transition:opacity 1s var(--ease)}
.js .rv-fade.in{opacity:1}
/* manifest */
.manifest{font:400 clamp(36px,5vw,72px)/1.08 var(--serif);letter-spacing:-.02em;max-width:18em;margin:0;text-wrap:balance}
.manifest .w{color:var(--kamen);transition:color .5s var(--ease)}
.manifest .w.on{color:var(--smola)}
/* room track */
.track{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;padding-left:var(--padL);scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.track::after{content:"";flex:0 0 calc(var(--pad) - 16px)}
.track.drag{cursor:grabbing;user-select:none}
.track.drag a{pointer-events:none}
.track:focus-visible{outline-offset:-2px}
.card{flex:0 0 clamp(280px,38vw,580px);display:block}
.card .ph{aspect-ratio:4/5}
.card .ph img{transition:transform 1.2s var(--ease)}
.js .card:hover .ph img,.card:hover .ph img{transform:scale(1.05)}
.card__bar{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:var(--magla);color:var(--smola);border-radius:2px;transform:translateY(calc(100% + 20px));transition:transform .7s var(--ease)}
.card:hover .card__bar,.card:focus-visible .card__bar{transform:none}
.card__go{display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:15px}
@media(hover:none){.card__bar{transform:none}}
.card__meta{padding-top:22px}
.card__meta .h3{margin-bottom:10px}
.card__price{margin-top:6px;color:var(--smola)}
.track-ui{display:flex;align-items:center;gap:14px;margin-top:36px}
.track-prog{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden;margin-right:12px}
.track-prog i{position:absolute;top:-1px;bottom:-1px;left:0;width:30%;background:var(--smola);transition:transform .15s linear}
.arrow-btn{width:54px;height:54px;border-radius:999px;border:1px solid var(--smola);display:grid;place-items:center;background:none;transition:background-color .4s,color .4s}
.arrow-btn:hover{background:var(--smola);color:var(--magla)}
/* split */
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:center}
.split--r{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.split--r .split__ph{order:2}
.split__ph{position:relative}
.split__ph>.ph{aspect-ratio:4/5;border-radius:0 2px 2px 0}
.split--r .split__ph>.ph{border-radius:2px 0 0 2px}
.split__txt{padding-right:var(--pad);max-width:620px}
.split--r .split__txt{padding-left:var(--padL);padding-right:0;justify-self:end}
.overlap{position:absolute!important;width:40%;right:-14%;bottom:-9%;aspect-ratio:1;outline:10px solid var(--magla);z-index:2}
.lined{list-style:none;padding:0;margin:28px 0 36px;border-top:1px solid var(--line)}
.lined li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
@media(max-width:900px){.split,.split--r{grid-template-columns:1fr}.split--r .split__ph{order:0}.split__ph{margin-right:12%}.split--r .split__ph{margin:0 0 0 12%}.split__txt,.split--r .split__txt{padding-inline:var(--pad);justify-self:stretch;max-width:none}.overlap{right:-10%;width:42%}}
/* dark food */
.food{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,7vw,120px);align-items:end}
.food .ph{aspect-ratio:4/5}
@media(max-width:900px){.food{grid-template-columns:1fr}}
/* seasons */
.seasons{transition:background-color 1s var(--ease)}
.sgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.scol .ph{aspect-ratio:3/4;margin-bottom:22px}
.scol ul{list-style:none;padding:0;margin-top:16px;border-top:1px solid var(--line)}
.scol li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
@media(max-width:1024px){.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sgrid{grid-template-columns:1fr}}
/* offers teaser */
.offers{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,3vw,48px)}
.offer{display:block}
.offer .ph{aspect-ratio:3/2;margin-bottom:20px}
.offer--big{grid-row:span 2}
.offer--big .ph{aspect-ratio:5/6}
.offer:hover .ph img{transform:scale(1.04)}
.offer .ph img{transition:transform 1.2s var(--ease)}
.offer__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:14px}
@media(max-width:900px){.offers{grid-template-columns:1fr}.offer--big{grid-row:auto}}
/* journal */
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.jcard{display:block}
.jcard .ph{aspect-ratio:4/3;margin-bottom:20px}
.jcard .ph img{transition:transform 1.2s var(--ease)}
.jcard:hover .ph img{transform:scale(1.04)}
.jcard .mono{margin-bottom:10px}
.jcard p{margin-top:12px}
@media(max-width:900px){.jgrid{grid-template-columns:1fr}}
@media(min-width:600px) and (max-width:900px){.jgrid{grid-template-columns:1fr 1fr}}
/* full CTA */
.cta-full{position:relative;min-height:92vh;display:grid;place-items:center;text-align:center;color:var(--magla);overflow:hidden;padding:120px var(--pad)}
.cta-full>.ph{position:absolute;inset:0;border-radius:0}
.cta-full::after{content:"";position:absolute;inset:0;background:rgba(30,31,27,.42)}
.cta-full__in{position:relative;z-index:1;display:grid;justify-items:center;gap:36px}
/* footer */
.ftr{position:relative;background:var(--smola);color:var(--magla);overflow:hidden;padding-top:clamp(96px,11vw,160px)}
.ftr__bg{position:absolute;inset:0;opacity:.2}
.ftr__bg img{width:100%;height:100%;object-fit:cover}
.ftr__in{position:relative}
.ftr__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;padding-bottom:80px;border-bottom:1px solid rgba(238,237,232,.2)}
.ftr__h{font-size:clamp(44px,5.4vw,72px);line-height:1}
.news label{display:block;margin-bottom:14px}
.news__row{display:flex;gap:12px}
.news .input{flex:1;border-color:rgba(238,237,232,.5);color:var(--magla)}
.news .input::placeholder{color:rgba(238,237,232,.62)}
.ftr__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-block:64px}
.ftr__cols h3{font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px;color:rgba(238,237,232,.72)}
.ftr__cols ul{list-style:none;padding:0;display:grid;gap:4px}
.ftr__cols a{display:inline-flex;min-height:40px;align-items:center;transition:color .3s}
.ftr__cols a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--ziska);text-underline-offset:5px}
.ftr__big{position:relative;font:400 clamp(90px,24vw,400px)/.78 var(--serif);letter-spacing:.02em;color:rgba(238,237,232,.08);text-align:center;white-space:nowrap;user-select:none;margin-top:20px}
.ftr__bot{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:28px;color:rgba(238,237,232,.74)}
.ftr__bot a{min-height:44px;display:inline-flex;align-items:center}
.ftr__bot a:hover{color:var(--magla)}
@media(max-width:900px){.ftr__top{grid-template-columns:1fr}.ftr__cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.news__row{flex-direction:column}}
/* forms */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>label,.field>.lbl{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.input{width:100%;height:54px;border:0;border-bottom:1px solid var(--kamen);background:transparent;padding:0 2px;font-size:17px;border-radius:0;transition:border-color .3s}
.input:hover,.input:focus{border-color:var(--smola)}
textarea.input{height:auto;min-height:140px;padding-top:14px;resize:vertical}
select.input{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E1F1B' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center;padding-right:28px}
.sec--dark .input{border-color:rgba(238,237,232,.5)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.form-grid .full{grid-column:1/-1}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.status{min-height:1.6em;margin:14px 0 0;font-size:15px}
.status.ok{color:var(--mahovina);font-weight:500}
.status.err{color:#8A3A14}
.status a{text-decoration:underline}
.ftr .status,.sec--dark .status{color:var(--magla)}
.hint{font-size:14px;color:var(--t2)}
/* chips + filters */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:none;font-weight:500;font-size:15px;transition:background-color .4s,color .4s,border-color .4s}
.chip:hover{border-color:var(--smola)}
.chip[aria-pressed=true]{background:var(--smola);color:var(--magla);border-color:var(--smola)}
.fbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:end;margin-bottom:56px}
.fbar .field{width:200px}
/* specs + tables */
.specs{width:100%;border-collapse:collapse}
.specs th,.specs td{text-align:left;padding:16px 0;border-top:1px solid var(--line);vertical-align:top}
.specs th{font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;width:40%;color:var(--t2)}
.specs td{font:400 15px var(--mono)}
.rows{list-style:none;padding:0;border-top:1px solid var(--line)}
.rows>li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.rows .h4{margin-bottom:4px}
@media(max-width:640px){.rows>li{grid-template-columns:1fr auto}.rows>li>.dur{grid-column:1}}
/* icons grid */
.amen{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line)}
.amen li{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.amen .ic{width:24px;height:24px}
@media(max-width:640px){.amen{grid-template-columns:1fr}}
/* room gallery */
.rgal{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;aspect-ratio:16/9}
.rgal>button{position:relative;padding:0;border:0;background:none;display:block;overflow:hidden;border-radius:2px}
.rgal>button:first-child{grid-row:1/-1}
.rgal .ph{width:100%;height:100%}
.rgal button img{transition:transform 1.2s var(--ease)}
.rgal button:hover img{transform:scale(1.04)}
@media(max-width:700px){.rgal{grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;aspect-ratio:auto}.rgal>button:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:4/3}.rgal>button{aspect-ratio:1}}
/* lightbox */
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:0;background:rgba(30,31,27,.97);color:var(--magla)}
.lb::backdrop{background:rgba(30,31,27,.6)}
.lb__fig{position:absolute;inset:72px clamp(16px,8vw,100px);margin:0;display:grid;place-items:center}
.lb__fig img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:2px}
.lb__b{position:absolute;width:54px;height:54px;border-radius:999px;border:1px solid rgba(238,237,232,.4);background:none;color:var(--magla);display:grid;place-items:center}
.lb__b:hover{background:var(--magla);color:var(--smola)}
.lb__x{top:12px;right:16px}
.lb__prev{left:16px;top:50%;transform:translateY(-50%)}
.lb__next{right:16px;top:50%;transform:translateY(-50%)}
.lb__count{position:absolute;left:0;right:0;bottom:24px;text-align:center;margin:0}
@media(max-width:700px){.lb__prev,.lb__next{top:auto;bottom:10px;transform:none}.lb__count{bottom:26px}}
/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:var(--line)}
.steps li{position:relative}
.steps .n{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--magla);border:1px solid var(--smola);font:500 13px var(--mono);margin-bottom:28px;position:relative}
.sec--lan .steps .n{background:var(--lan)}
.steps .h4{margin-bottom:10px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:48px}.steps::before{display:none}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
/* tabs + menu */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:56px}
.tabs [role=tab]{min-height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--line);background:none;font-weight:500;font-size:15px;transition:background-color .4s,color .4s}
.tabs [role=tab][aria-selected=true]{background:var(--smola);color:var(--magla);border-color:var(--smola)}
.mlist{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 72px}
.mi{padding:18px 0;border-bottom:1px solid var(--line)}
.mi__top{display:flex;align-items:baseline;gap:12px}
.mi__top .h4{flex:none;max-width:75%}
.mi__dots{flex:1;border-bottom:1px dotted var(--kamen);transform:translateY(-5px);min-width:24px}
.mi__p{font:500 14px var(--mono);white-space:nowrap}
.mi p{margin:6px 0 0;font-size:15px;color:var(--t2);max-width:30em}
@media(max-width:900px){.mlist{grid-template-columns:1fr}}
/* chapters + sticky */
.chap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);padding-block:clamp(72px,9vw,140px);border-top:1px solid var(--line)}
.chap__no{position:sticky;top:120px;align-self:start}
.chap__no b{display:block;font:400 clamp(96px,14vw,220px)/.8 var(--serif);font-style:italic;color:var(--mahovina)}
.chap__no .h3{margin-top:20px}
.chap__body .lead{margin-bottom:40px}
.duo{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:end;margin-top:48px}
.duo .ph:first-child{aspect-ratio:4/5}.duo .ph:last-child{aspect-ratio:3/4}
@media(max-width:900px){.chap{grid-template-columns:1fr}.chap__no{position:static}}
.vals{list-style:none;padding:0;border-top:1px solid var(--smola)}
.vals li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;padding:40px 0;border-bottom:1px solid var(--line);align-items:baseline}
@media(max-width:700px){.vals li{grid-template-columns:1fr;gap:12px}}
/* seasons page */
.season{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px)}
.season__h{position:sticky;top:120px;align-self:start}
.season__h .h2{margin-block:12px 20px}
.season .ph{aspect-ratio:16/10;margin-bottom:48px}
.acts{list-style:none;padding:0;border-top:1px solid var(--line)}
.acts li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.acts .mono{margin-top:10px;color:var(--t2)}
.acts p{margin:0}
@media(max-width:900px){.season{grid-template-columns:1fr}.season__h{position:static}.acts li{grid-template-columns:1fr;gap:10px}}
/* editorial rows (offers/events) */
.prow{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,104px);align-items:center;padding-block:clamp(56px,7vw,104px)}
.prow+.prow{border-top:1px solid var(--line)}
.prow:nth-child(even) .ph{order:2}
.prow .ph{aspect-ratio:4/3}
.prow dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:28px 0 32px}
.prow dt{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--t2);padding-top:3px}
.prow dd{margin:0}
.bigprice{font:400 clamp(32px,3vw,44px)/1 var(--serif);margin:20px 0 0}
@media(max-width:900px){.prow{grid-template-columns:1fr}.prow:nth-child(even) .ph{order:0}}
.checks{list-style:none;padding:0;display:grid;gap:12px;margin:0 0 32px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks .ic{margin-top:3px;color:var(--mahovina)}
.sec--dark .checks .ic{color:var(--magla)}
/* masonry */
.mas{columns:3 300px;column-gap:16px}
.mas__i{display:block;width:100%;break-inside:avoid;margin:0 0 16px;padding:0;border:0;background:none;border-radius:2px;overflow:hidden;position:relative}
.mas__i img{transition:transform 1.2s var(--ease)}
.mas__i:hover img{transform:scale(1.04)}
.mas__i .ph{display:block}
/* featured journal */
.feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end;padding-bottom:clamp(64px,8vw,120px);margin-bottom:clamp(64px,8vw,120px);border-bottom:1px solid var(--line)}
.feat .ph{aspect-ratio:4/3}
.feat .ph img{transition:transform 1.2s var(--ease)}
.feat:hover .ph img{transform:scale(1.03)}
@media(max-width:900px){.feat{grid-template-columns:1fr}}
/* article */
.art-hero{padding-top:160px}
.art{max-width:700px;margin-inline:auto;padding-inline:var(--pad);font-size:19px;line-height:1.75}
.art p{margin-bottom:1.3em}
.art h2{font-size:clamp(30px,3vw,40px);line-height:1.1;margin:2em 0 .7em}
.art .first::first-letter{float:left;font:400 5.4em/.78 var(--serif);padding:.08em .1em 0 0;color:var(--mahovina)}
.pull{font:400 clamp(30px,3.6vw,50px)/1.12 var(--serif);letter-spacing:-.02em;margin:72px 0;padding:44px 0;border-block:1px solid var(--line);text-wrap:balance}
.pull cite{display:block;margin-top:20px;font:500 12.5px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.12em;color:var(--t2)}
.bleed{width:100vw;margin:80px 0 80px calc(50% - 50vw);max-width:none}
.bleed .ph{aspect-ratio:21/9;border-radius:0}
.bleed figcaption{max-width:700px;margin:14px auto 0;padding-inline:var(--pad);color:var(--t2)}
@media(max-width:700px){.bleed .ph{aspect-ratio:4/3}.art{font-size:18px}}
/* contact */
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px)}
.ct__list{list-style:none;padding:0;margin:32px 0 56px;border-top:1px solid var(--line)}
.ct__list li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.ct__list a{min-height:32px;display:inline-flex;align-items:center}
.ct__list a:hover{text-decoration:underline;text-decoration-color:var(--ziska);text-underline-offset:5px}
.map{position:relative;aspect-ratio:4/3;background:var(--lan);border-radius:2px;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) contrast(.95)}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:56px}
.how .h4{margin-bottom:10px}
@media(max-width:900px){.ct,.how{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:72px;cursor:pointer;font:400 clamp(20px,1.8vw,26px)/1.2 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{transition:transform .5s var(--ease)}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq details p{max-width:44em;padding-bottom:24px;margin:0;color:var(--t2)}
/* booking */
.bk-head{padding-top:150px;padding-bottom:48px}
.bk-prog{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:56px}
.bk-prog li{border-top:2px solid var(--line);padding-top:12px;color:var(--t2);transition:border-color .5s,color .5s}
.bk-prog li.done,.bk-prog li[aria-current]{border-color:var(--mahovina);color:var(--smola)}
.bk{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(32px,5vw,80px);align-items:start;padding-bottom:var(--sec)}
.bk fieldset{border:0;padding:0;margin:0;min-width:0}
.bk legend{padding:0;margin-bottom:28px}
.bk-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.cal{max-width:560px}
.cal__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cal__h .h4{text-transform:capitalize}
.cal__nav{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:none;display:grid;place-items:center}
.cal__nav:hover{border-color:var(--smola)}
.cal__nav[disabled]{opacity:.3;pointer-events:none}
.cal__w,.cal__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal__w span{text-align:center;font:500 11px var(--mono);letter-spacing:.1em;color:var(--t2);padding:8px 0}
.cal__d{min-height:46px;aspect-ratio:1;border:0;background:none;border-radius:999px;font:400 15px var(--mono);position:relative;transition:background-color .3s,color .3s}
.cal__d:hover{background:var(--lan)}
.cal__d[aria-disabled=true]{color:var(--kamen);cursor:not-allowed;background:none}
.cal__d.bk-x{text-decoration:line-through}
.cal__d.in{background:var(--lan);border-radius:2px}
.cal__d.sel{background:var(--mahovina);color:var(--magla);border-radius:999px}
.cal__d.today::after{content:"";position:absolute;left:50%;bottom:7px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ziska)}
.cal__leg{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;font-size:14px;color:var(--t2)}
.guests{display:flex;gap:16px;align-items:end;margin-top:40px}
.guests .field{width:200px}
.ropt{display:grid;gap:12px}
.ropt label,.xopt label{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:2px;cursor:pointer;transition:border-color .3s,background-color .3s}
.ropt label:hover,.xopt label:hover{border-color:var(--smola)}
.ropt input,.xopt input{position:absolute;opacity:0;width:1px;height:1px}
.ropt input:checked+label,.xopt input:checked+label{border-color:var(--mahovina);background:var(--lan);box-shadow:inset 0 0 0 1px var(--mahovina)}
.ropt input:focus-visible+label,.xopt input:focus-visible+label{outline:2px solid var(--ziska);outline-offset:3px}
.ropt input:disabled+label{opacity:.45;cursor:not-allowed}
.ropt .ph{aspect-ratio:4/3}
.xopt{display:grid;gap:12px}
.xopt label{grid-template-columns:28px minmax(0,1fr) auto}
.xopt .box{width:22px;height:22px;border:1px solid var(--smola);border-radius:2px;display:grid;place-items:center}
.xopt .box .ic{width:16px;height:16px;opacity:0}
.xopt input:checked+label .box{background:var(--mahovina);border-color:var(--mahovina);color:var(--magla)}
.xopt input:checked+label .box .ic{opacity:1}
@media(max-width:560px){.ropt label{grid-template-columns:88px minmax(0,1fr)}.ropt label>.mi__p{grid-column:2}}
.bk-sum{position:sticky;top:110px;background:var(--lan);padding:32px;border-radius:2px}
.bk-sum dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:24px 0;font-size:15px}
.bk-sum dt{color:var(--t2)}
.bk-sum dd{margin:0;text-align:right;font-family:var(--mono);font-size:14px}
.bk-sum .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--smola);padding-top:18px}
.bk-sum .tot b{font:400 40px/1 var(--serif)}
@media(max-width:1000px){.bk{grid-template-columns:1fr}.bk-sum{position:static}}
.done{position:relative;text-align:center;padding:60px 20px var(--sec);display:grid;justify-items:center;gap:24px;overflow:hidden}
.done__mark{width:120px;height:120px;color:var(--mahovina)}
.done__mark circle,.done__mark path{fill:none;stroke:currentColor;stroke-width:1.25}
.done__mark circle{stroke-dasharray:377;stroke-dashoffset:377}
.done__mark path{stroke-dasharray:60;stroke-dashoffset:60}
.done.in .done__mark circle{animation:draw 1.4s var(--ease) .6s forwards}
.done.in .done__mark path{animation:draw .8s var(--ease) 1.5s forwards}
.done__fog{position:absolute;inset:-10%;background:url(fog.svg) center/120% 100%,var(--magla);pointer-events:none}
.done.in .done__fog{animation:clear 2.2s var(--ease) forwards}
.done dl{display:grid;grid-template-columns:auto auto;gap:8px 24px;text-align:left;margin:8px 0 16px}
.done dt{color:var(--t2)}.done dd{margin:0;font-family:var(--mono);font-size:14px}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes clear{to{opacity:0;transform:translateY(-40px) scale(1.15)}}
/* legal */
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,104px);padding-top:150px;padding-bottom:var(--sec)}
.toc{position:sticky;top:110px;align-self:start}
.toc ol{list-style:none;padding:0;border-top:1px solid var(--line)}
.toc a{display:flex;min-height:44px;align-items:center;border-bottom:1px solid var(--line)}
.toc a:hover{color:var(--mahovina)}
.legal__body{max-width:720px}
.legal__body h2{font-size:clamp(30px,3vw,40px);line-height:1.1;margin:72px 0 20px;scroll-margin-top:110px}
.legal__body h2:first-of-type{margin-top:0}
.legal__body ul{padding-left:1.1em;margin-bottom:1em}
@media(max-width:900px){.legal{grid-template-columns:1fr}.toc{position:static}}
.pagehead{padding-top:clamp(140px,16vw,220px);padding-bottom:clamp(48px,6vw,88px)}
.note{font-size:14px;color:var(--t2)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .wave,.fog{display:none}.js .rv,.js .rv-fade{opacity:1;transform:none}.js .rv-img{clip-path:none}.js .rv-img img,.js .hero__img{filter:none;transform:none}.js .hero__haze{opacity:0}.js .hero__title .w{opacity:1;filter:none;transform:none}.done__fog{display:none}.done__mark circle,.done__mark path{stroke-dashoffset:0}.alt__ptr{display:none}}
