@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/outfit-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/outfit-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#EFEAE1;--card:#F7F3EC;--ink:#1E1915;--gold:#765630;--gold-light:#C7AB8A;--gold-soft:#A58460;--muted:#6F6152;--muted-dark:#9C8C78;--muted-2:#5F5245;--sun:#F5C63B;--sun-ink:#8A6A10;--sun-text:#4A3E1A;--winter:#7FA3B8;--white:#fff;--pad:clamp(1rem,2.5vw,2rem);--ease:cubic-bezier(.2,.7,.2,1);--r:24px;--r-lg:32px;--r-pill:999px;--gap:12px;--site-w:1680px}
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Outfit',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body{line-height:1.4;font-size:1rem}
a{color:inherit;text-decoration:none;transition:color .3s}
a:hover{color:var(--gold)}
img,svg,video{max-width:100%;height:auto;display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;padding:.75rem 1rem;background:var(--ink);color:var(--bg);border-radius:var(--r-pill);z-index:200;clip:auto}
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.root{position:relative;width:100%;min-height:100vh;background:var(--bg);overflow-x:clip}
.leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.leaf{position:absolute;will-change:transform}
.leaf--mobile{display:none}
.site{min-height:100vh;width:var(--site-w);max-width:100%;margin:0 auto;position:relative;z-index:1}
.ph-empty{position:absolute;inset:0;background:linear-gradient(135deg,#E6DFD2,#D9D0BF)}
.card-media img,.hero-media img,.about-media img,.story-media img,.free-media img,.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-media picture,.hero-media picture,.about-media picture,.story-media picture,.free-media picture,.avatar picture{display:contents}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@keyframes heroIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes heroRise{from{transform:translateY(30px)}to{transform:none}}
@keyframes cookieIn{from{opacity:0;transform:translateX(-14px) scale(.9)}to{opacity:1;transform:none}}
@keyframes menuIn{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
@keyframes bobble{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes steam{0%{transform:translateY(0) scaleX(1);opacity:0}30%{opacity:.9}100%{transform:translateY(-10px) scaleX(1.25);opacity:0}}
@keyframes ripple{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes pinDrop{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes sunSpin{to{transform:rotate(360deg)}}
@keyframes dash{to{stroke-dashoffset:0}}
@keyframes wave{to{stroke-dashoffset:-40}}
@keyframes rippleIn{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes sunRise{0%,100%{transform:translateY(3px);opacity:.75}50%{transform:translateY(-2px);opacity:1}}
@keyframes hike{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes legs{0%,100%{transform:skewX(-8deg)}50%{transform:skewX(8deg)}}
@keyframes twinkle{0%,100%{transform:scale(.6);opacity:.4}50%{transform:scale(1.1);opacity:1}}
@keyframes ctaGlow{0%,100%{box-shadow:0 8px 28px rgba(118,86,48,.35)}50%{box-shadow:0 10px 36px rgba(118,86,48,.6)}}
@keyframes fabRing{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes sunBob{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-5px) rotate(var(--rot,0deg))}}
.menu-ico{width:clamp(38px,9vw,56px);height:clamp(38px,9vw,56px);flex:none}
.menu-ico--visible{overflow:visible}
.menu-ico--bobble{animation:bobble 3s ease-in-out infinite}
.anim-dash{animation:dash 2.4s ease-out infinite alternate}
.anim-dash--2{animation-delay:.3s}
.anim-dash--fast{animation-duration:1.8s}
.anim-steam{animation:steam 2.2s ease-out infinite}
.anim-steam--2{animation-delay:.5s}
.anim-steam--3{animation-delay:1s}
.anim-steam--long{animation-duration:2.6s}
.anim-steam--l2{animation-delay:.8s}
.anim-steam--l3{animation-delay:1.6s}
.anim-steam--cup{animation-duration:2.4s}
.anim-steam--c2{animation-delay:.7s}
.anim-sun{transform-origin:36px 12px;animation:sunSpin 8s linear infinite}
.anim-pin{animation:pinDrop 2.4s ease-in-out infinite}
.anim-ripple{transform-origin:24px 43px;animation:ripple 2.4s ease-out infinite}
.anim-bobble-slow{animation:bobble 3.2s ease-in-out infinite}
.anim-twinkle{transform-origin:36px 11.6px;animation:twinkle 2.4s ease-in-out infinite}
.anim-ripple-in{transform-origin:24px 31px;animation:rippleIn 2.6s ease-out infinite}
.anim-ripple-in--2{animation-delay:1.3s}
.anim-sunrise{animation:sunRise 5s ease-in-out infinite}
.anim-wave{animation:wave 2.4s linear infinite}
.anim-hike{animation:hike 1.6s ease-in-out infinite;transform-origin:20px 41px}
.anim-legs{animation:legs 1.6s ease-in-out infinite;transform-origin:20px 28px}
.cta-ico{width:56px;height:56px;overflow:visible;display:block}
.cta-ico-wrap{display:block;width:56px;height:56px;flex:none}

.hdr{position:fixed;top:0;left:50%;transform:translateX(-50%);width:var(--site-w);max-width:100%;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1rem var(--pad) 2.75rem;background:linear-gradient(180deg,rgba(239,234,225,.85) 0%,rgba(239,234,225,.6) 30%,rgba(239,234,225,.3) 60%,rgba(239,234,225,.08) 85%,rgba(239,234,225,0) 100%);pointer-events:none}
.hdr>*{pointer-events:auto}
.hdr a,.hdr button{white-space:nowrap}
.hdr-left{display:flex;align-items:center;gap:8px}
.hdr-logo-link{display:flex;align-items:center;padding:0 6px}
.hdr-logo{height:5.5rem;width:auto;shape-rendering:geometricPrecision}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);place-content:center;gap:5px;transition:background .3s;position:relative;z-index:61}
.burger:hover{background:var(--white)}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .45s var(--ease),opacity .3s,width .3s;transform-origin:center}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0;width:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hdr-nav{display:flex;gap:2px;font-size:.8125rem;font-weight:500;background:rgba(255,255,255,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--r-pill);padding:4px}
.hdr-nav a{padding:9px 16px;border-radius:var(--r-pill);transition:all .3s;color:var(--ink)}
.hdr-nav a:hover,.hdr-nav a.is-active{background:var(--white);color:var(--ink)}
.hdr-right{display:flex;align-items:center;gap:8px}
.lang{display:flex;gap:2px;font-size:.6875rem;font-weight:600;background:rgba(255,255,255,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--r-pill);padding:3px}
.lang a{padding:7px 10px;border-radius:var(--r-pill);transition:all .3s;color:var(--ink)}
.lang a.is-active{background:var(--ink);color:var(--bg)}
.lang a:not(.is-active):hover{background:var(--white);color:var(--ink)}
.btn-book{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--white);padding:13px 22px;border-radius:var(--r-pill);font-size:.8125rem;font-weight:600;letter-spacing:.01em;animation:ctaGlow 3s ease-in-out infinite;transition:background .3s,transform .3s,color .3s}
.btn-book:hover{background:var(--ink);color:var(--white);transform:translateY(-1px)}
.btn-book .arr{font-size:1rem;line-height:1}

.menu{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:hidden}
.menu[hidden]{display:none}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:46px;flex:none}
.menu-top .burger{display:grid;background:var(--white)}
.lang--menu{background:var(--white);padding:4px;font-size:.75rem}
.menu-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;padding:16px 0;min-height:0}
.menu-card{border-radius:22px;background:var(--card);padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:0;color:var(--ink);animation:menuIn .6s var(--ease) both;transition:background .3s,color .3s}
.menu-card:hover{background:var(--white);color:var(--ink)}
.menu-card:nth-child(2){animation-delay:.06s}
.menu-card:nth-child(3){animation-delay:.12s}
.menu-card:nth-child(4){animation-delay:.18s}
.menu-card:nth-child(5){animation-delay:.24s}
.menu-card:nth-child(6){animation-delay:.3s}
.menu-card--gold{background:var(--gold);color:var(--white)}
.menu-card--gold:hover{background:var(--ink);color:var(--white)}
.menu-card--dark{background:var(--ink);color:var(--bg)}
.menu-card--dark:hover{background:var(--gold);color:var(--white)}
.menu-card-text{display:grid;gap:2px}
.menu-label{font-size:clamp(1.5rem,6.5vw,2.75rem);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.menu-cta{flex:none;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:var(--white);padding:16px 22px;border-radius:var(--r-pill);font-size:.9375rem;font-weight:600;animation:ctaGlow 3s ease-in-out infinite}
.menu-cta:hover{color:var(--white);background:var(--ink)}
.menu-cta .arr{font-size:1.125rem;line-height:1}
body.menu-open{overflow:hidden}

.eyebrow{margin:0 0 -.15em;font-size:clamp(.9375rem,1.3vw,1.25rem);font-weight:400;position:relative;z-index:2}
.eyebrow--hero{color:var(--gold);animation:heroIn 1s .1s both}
.giant{margin:0;font-size:clamp(4.5rem,15vw,16.25rem);font-weight:500;letter-spacing:-.05em;line-height:.82;position:relative;z-index:1}
.giant--nowrap{white-space:nowrap}
.giant--hero{font-size:clamp(4.75rem,16.5vw,18.75rem);color:var(--ink);z-index:2;animation:heroIn 1.1s .2s both}
.giant--dark{font-size:clamp(5rem,17vw,18.75rem);font-weight:400;line-height:.85;color:var(--bg)}
.giant--sun{font-size:clamp(5rem,18vw,20rem);line-height:.85}
.giant--rev{font-size:clamp(5rem,17vw,18.75rem);font-weight:400;line-height:.85}
.giant--about{font-size:clamp(4rem,13vw,13.75rem);font-weight:400;line-height:.85}
.giant--gdpr{font-size:clamp(3.5rem,11vw,11.25rem)}
.sub .giant--about,.sub .giant--gdpr{font-weight:500;line-height:.82}
.h2{margin:0 0 20px;font-size:clamp(1.375rem,2.2vw,2rem);font-weight:500;letter-spacing:-.02em}
.label{margin:0;font-size:.8125rem;color:var(--gold);font-weight:500}
.label--light{color:var(--gold-light)}
.section{padding:clamp(4rem,8vw,7.5rem) var(--pad) 0}
.section--center{text-align:center}
.section--tabs{padding-top:clamp(3.5rem,7vw,6rem)}
.section--awards{padding-top:clamp(2.5rem,5vw,4.5rem)}
.sub{padding-top:110px}
.page-head{padding:0 var(--pad);text-align:center}
.page-head .eyebrow{margin-bottom:-.15em}

.hero{padding:110px var(--pad) 0;text-align:center}
.hero-wrap{position:relative;margin-top:calc(clamp(4.75rem,16.5vw,18.75rem) * -.3)}
.hero-wrap--sub{margin-top:calc(clamp(4.5rem,15vw,16.25rem) * -.2);z-index:2}
.hero-media{position:relative;height:clamp(23.75rem,52vw,40rem);border-radius:var(--r-lg);overflow:hidden;animation:heroRise 1.2s .35s both}
.hero-wrap--sub .hero-media{animation:none}
@media (min-width:761px){
  .hero-media--home{height:max(16rem,min(clamp(23.75rem,52vw,40rem),calc(100vh - 110px - 2.75rem - clamp(4.75rem,16.5vw,18.75rem) * .52)));height:max(16rem,min(clamp(23.75rem,52vw,40rem),calc(100svh - 110px - 2.75rem - clamp(4.75rem,16.5vw,18.75rem) * .52)))}
  .hero-media--home .hero-nav,.hero-media--home .hero-bar .chip,.hero-media--home .btn-hero{height:3rem;border-radius:var(--r-pill);box-shadow:0 8px 24px rgba(30,25,21,.18)}
  .hero-media--home .hero-nav{padding:0 .25rem;gap:0}
  .hero-media--home .hero-arrow{width:2.5rem;height:2.5rem}
  .hero-media--home .hero-bar .chip{padding:0 1.25rem;align-content:center;gap:0}
  .hero-media--home .chip-label{font-size:.625rem;line-height:1.2}
  .hero-media--home .chip-value{font-size:.8125rem;line-height:1.3;white-space:nowrap}
  .hero-media--home .btn-hero{padding:0 .375rem 0 1.25rem;gap:.75rem;font-size:.875rem;white-space:nowrap}
  .hero-media--home .btn-hero:hover{transform:none}
  .hero-media--home .btn-hero-arr{width:2.25rem;height:2.25rem;font-size:1rem}
}
.hero-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(239,234,225,.55) 0%,rgba(239,234,225,0) 30%)}
.hero-bar{position:absolute;left:20px;right:20px;bottom:20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;text-align:left;pointer-events:none}
.hero-bar .chip{grid-column:2;justify-self:center;text-align:center}
.hero-bar .btn-hero{grid-column:3;justify-self:end}
.hero-bar>*{pointer-events:auto}
.hero-slider{position:absolute;inset:0;z-index:0;isolation:isolate;overflow:hidden;border-radius:inherit;background:#D9D0BF;touch-action:pan-y}
.hero-slide{position:absolute;inset:0;display:none;opacity:0;transition:opacity .8s ease}
.hero-slide.is-armed{display:block}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide.is-leaving{opacity:1;transition:none}
.hero-slide img{transform-origin:center}
.hero-slide.is-active img,.hero-slide.is-leaving img{animation:hsKb1 8s linear both}
.hero-slide:nth-child(3n+2).is-active img,.hero-slide:nth-child(3n+2).is-leaving img{animation-name:hsKb2}
.hero-slide:nth-child(3n).is-active img,.hero-slide:nth-child(3n).is-leaving img{animation-name:hsKb3}
@keyframes hsKb1{from{transform:scale(1)}to{transform:scale(1.08) translate(-1%,-.6%)}}
@keyframes hsKb2{from{transform:scale(1.08) translate(1%,.6%)}to{transform:scale(1)}}
@keyframes hsKb3{from{transform:scale(1) translate(0,1%)}to{transform:scale(1.07) translate(.8%,-1%)}}
.hero-slider .hero-fade{z-index:2}
.hero-nav{position:absolute;left:20px;bottom:20px;z-index:3;display:flex;align-items:center;gap:4px;padding:6px;border-radius:var(--r-pill);background:rgba(239,234,225,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background .3s,color .3s}
.hero-arrow:hover{background:var(--white);color:var(--gold)}
.hero-arrow:focus-visible,.hero-dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hero-dots{display:flex;align-items:center;gap:0;padding:0 2px}
.hero-dot{position:relative;width:24px;height:24px;border-radius:var(--r-pill);background:transparent;transition:width .5s var(--ease)}
.hero-dot::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:var(--r-pill);background:rgba(30,25,21,.22);transform:translate(-50%,-50%);transition:width .5s var(--ease),background .5s var(--ease)}
.hero-dot.is-active{width:36px}
.hero-dot.is-active::before{width:28px;background:var(--gold)}
.chip{background:rgba(239,234,225,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:16px;padding:12px 18px;display:grid;gap:2px;max-width:100%}
.chip-label{font-size:.6875rem;color:var(--muted)}
.chip-value{font-size:.875rem;font-weight:500}
.btn-hero{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--white);padding:20px 30px;border-radius:18px;font-size:1.0625rem;font-weight:600;box-shadow:0 14px 40px rgba(30,25,21,.35);transition:background .3s,transform .3s}
.btn-hero:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}
.btn-hero-arr{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1.125rem;line-height:1}
.btn-hero--sm{padding:14px 22px;border-radius:16px;font-size:.875rem;font-weight:500;gap:12px;box-shadow:none}
.btn-hero--sm .arr{font-size:1.125rem;line-height:1}

.tabs{display:inline-flex;gap:4px;background:rgba(255,255,255,.5);border-radius:var(--r-pill);padding:4px;margin-bottom:28px;max-width:100%;overflow:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{font-size:.8125rem;font-weight:500;padding:12px 22px;border-radius:var(--r-pill);white-space:nowrap;transition:all .3s;background:transparent;color:var(--muted)}
.tab.is-active{background:var(--card);color:var(--ink)}
.tabgrid{display:grid;grid-template-columns:3fr 1fr;gap:var(--gap);text-align:left}
.rail{overflow:hidden;border-radius:var(--r);min-width:0;touch-action:pan-y}
.rail-panel[hidden]{display:none}
.rail-track{display:flex;gap:var(--gap);transition:transform 1s var(--ease);--per:3}
.rail-track.no-anim{transition:none}
.card{border-radius:var(--r);background:var(--card);color:var(--ink);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-width:0;transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-6px)}
.card--link{color:var(--ink);cursor:pointer}
.card--link:hover{color:var(--ink)}
.card-arr{display:inline-block;color:var(--gold);font-size:.9em;transition:transform .3s}
.card--link:hover .card-arr{transform:translate(2px,-2px)}
.rail-track .card{flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per))}
.card-media{position:relative;aspect-ratio:1/1;min-width:0;width:100%;overflow:hidden}
.card-body{padding:16px 18px 18px;display:grid;gap:6px;align-content:start}
.card-body h3{font-size:1.0625rem;font-weight:500}
.card-body p{font-size:.8125rem;line-height:1.5;color:var(--muted);text-wrap:pretty}
.card-body .tag{font-size:.75rem;color:var(--gold);font-weight:500}
.wcard .card-body{padding:16px 18px 20px}
.wcard .card-body h3{font-size:1.125rem;letter-spacing:-.01em}
.card-clamp{min-height:39px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:760px){.card-clamp{-webkit-line-clamp:4;line-clamp:4}}
.dots{display:flex;justify-content:center;align-items:center;gap:0;margin-top:16px}
.dots--rev{margin-top:24px}
.dot{position:relative;padding:0;width:24px;height:24px;border-radius:var(--r-pill);background:transparent;transition:width .4s var(--ease)}
.dot::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:8px;border-radius:var(--r-pill);background:rgba(30,25,21,.18);transform:translate(-50%,-50%);transition:width .4s var(--ease),background .4s var(--ease)}
.dot.is-active{width:44px}
.dot.is-active::before{width:36px;background:var(--gold)}
.swipe-hint{display:none;align-items:center;justify-content:center;gap:10px;margin:14px auto 0;font-size:.75rem;font-weight:500;color:var(--muted);transition:opacity .4s var(--ease),max-height .4s var(--ease),margin .4s var(--ease);max-height:2rem;overflow:hidden}
.swipe-hint.is-hidden{opacity:0;max-height:0;margin-top:0;pointer-events:none}
.swipe-hint-ico{position:relative;width:38px;height:16px;border-radius:var(--r-pill);border:1.5px solid rgba(118,86,48,.55);flex:none}
.swipe-hint-ico i{position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--gold);animation:swipeDot 1.8s var(--ease) infinite}
@keyframes swipeDot{0%,100%{transform:translateX(0);opacity:.6}50%{transform:translateX(22px);opacity:1}}
@media (hover:none) and (pointer:coarse){.swipe-hint{display:flex}}
.cta-wrap{display:grid;min-width:0}
.cta-card{border-radius:var(--r);background:var(--gold);color:var(--white);padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:300px}
.cta-card[hidden]{display:none}
.cta-top{display:grid;gap:16px}
.cta-card h3{font-size:clamp(1.5rem,2vw,1.875rem);font-weight:500;letter-spacing:-.02em}
.cta-card p{font-size:.8125rem;line-height:1.5;color:rgba(255,255,255,.85);max-width:26ch;text-wrap:pretty}
.round-arrow{align-self:flex-end;flex:none;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--gold);display:grid;place-items:center;font-size:1.25rem;transition:transform .3s}
.round-arrow:hover{transform:rotate(45deg);color:var(--gold)}

.dark-sec{margin:clamp(4rem,8vw,7.5rem) var(--pad) 0;border-radius:var(--r-lg);background:var(--gold);color:var(--white);padding:clamp(2.5rem,5vw,4.5rem) var(--pad) var(--pad);text-align:center}
.dark-sec .eyebrow{margin-bottom:-.1em}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);text-align:left;margin-top:calc(clamp(5rem,17vw,18.75rem) * -.28);position:relative;z-index:2}
.bento-big{grid-column:span 2;border-radius:var(--r);background:var(--gold);color:var(--white);padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:300px}
.bento-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.bento-text{display:grid;gap:14px}
.bento-big h3{font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:500;letter-spacing:-.02em}
.bento-big p{font-size:.8125rem;line-height:1.5;color:rgba(255,255,255,.85);max-width:28ch;text-wrap:pretty}
.avatars{display:flex;align-self:flex-end}
.avatar{width:52px;height:52px;border-radius:50%;border:3px solid var(--gold);overflow:hidden;margin-right:-14px;position:relative;display:block;background:var(--card)}
.avatar:last-child{margin-right:0}
.dark-sec .giant--dark{color:var(--white)}
.dark-sec .bento-big{background:var(--ink);color:var(--bg)}
.vbg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#2B2119}
.vbg picture{display:contents}
.vbg img,.vbg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbg-video{opacity:0;transition:opacity .8s ease}
.vbg-video.is-playing{opacity:1}
.vbg::after{content:"";position:absolute;inset:0}
.bento-big--video,.bento-big--photo,.stat--video{position:relative;overflow:hidden;isolation:isolate;background:#2B2119}
.bento-big--video .vbg::after{background:linear-gradient(105deg,rgba(28,20,14,.8) 0%,rgba(28,20,14,.5) 45%,rgba(28,20,14,.12) 80%,rgba(28,20,14,.05) 100%)}
.bento-big--video .avatar,.bento-big--photo .avatar{border-color:rgba(239,234,225,.9)}
.bento-big--photo .vbg img{object-position:50% 30%}
.bento-big--photo .vbg::after{background:linear-gradient(105deg,rgba(28,20,14,.55) 0%,rgba(28,20,14,.28) 42%,rgba(28,20,14,.06) 75%,rgba(28,20,14,0) 100%),linear-gradient(0deg,rgba(28,20,14,.42) 0%,rgba(28,20,14,0) 30%)}
.bento-big--photo .bento-text,.bento-big--photo .bento-cap{text-shadow:0 1px 14px rgba(20,14,8,.45)}
.bento-foot{display:flex;align-items:flex-end;gap:12px}
.bento-foot .avatars{margin-left:auto;flex:none}
.bento-big .bento-cap{display:inline-flex;align-items:center;gap:6px;max-width:none;font-size:.75rem;line-height:1.35;color:rgba(239,234,225,.88)}
.bento-cap svg{flex:none}
.bento-big--link{position:relative;isolation:isolate}
.bento-big--link .round-arrow::after{content:"";position:absolute;inset:0;z-index:3;border-radius:var(--r)}
.bento-big--link .round-arrow:hover{transform:none}
.bento-big--link .round-arrow span{display:inline-block;transition:transform .3s}
.bento-big--link:hover .round-arrow span,.bento-big--link:focus-within .round-arrow span{transform:rotate(45deg)}

.section--sun{padding-top:clamp(4rem,8vw,7.5rem)}
.sun-wrap{position:relative;border-radius:var(--r-lg);background:var(--sun);color:var(--ink);overflow:hidden;padding:clamp(3rem,6vw,6rem) clamp(1rem,3vw,3rem) var(--pad)}
.sun-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 0%,rgba(255,255,255,.35),rgba(255,255,255,0) 70%)}
.sun-imgs{position:absolute;inset:0;pointer-events:none}
.sun-img{position:absolute;filter:drop-shadow(0 30px 40px rgba(90,60,0,.25));will-change:transform;pointer-events:none;height:auto}
.sun-img--1{left:2%;top:4%;width:clamp(110px,16vw,260px)}
.sun-img--2{right:3%;top:2%;width:clamp(120px,18vw,290px)}
.sun-img--3{left:18%;top:26%;width:clamp(90px,12vw,190px)}
.sun-img--4{right:16%;top:28%;width:clamp(100px,13vw,210px)}
.sun-head{position:relative;z-index:2;text-align:center}
.sun-head .eyebrow{margin-bottom:-.1em}
.sun-lead{margin:clamp(1rem,2vw,1.75rem) auto 0;max-width:52ch;font-size:clamp(1rem,1.35vw,1.3125rem);line-height:1.45;text-wrap:pretty}
.sun-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--gap);text-align:left;margin-top:clamp(2.5rem,6vw,6rem)}
.sun-story{border-radius:var(--r);background:var(--ink);color:var(--sun);padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between;gap:32px;grid-row:span 2}
.sun-story-text{display:grid;gap:14px}
.sun-label{font-size:.8125rem;font-weight:500;opacity:.7}
.sun-story h3{font-size:clamp(1.75rem,2.6vw,2.625rem);font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.sun-story-text p:not(.sun-label){font-size:.9375rem;line-height:1.6;color:var(--bg);text-wrap:pretty}
.sun-pills{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;font-weight:500}
.sun-pill{padding:12px 18px;border-radius:var(--r-pill);white-space:nowrap;transition:background .3s,color .3s}
.sun-pill--fill{background:var(--sun);color:var(--ink)}
.sun-pill--fill:hover{background:var(--white);color:var(--ink)}
.sun-pill--line{border:1px solid rgba(245,198,59,.5);color:var(--sun)}
.sun-pill--line:hover{background:rgba(245,198,59,.15);color:var(--sun)}
.sun-pill--muted{border:1px solid rgba(239,234,225,.2);color:var(--bg)}
.stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--gap)}
.stack--sun{grid-row:span 2}
.stack--awards{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.stack-card{border-radius:var(--r);background:rgba(255,255,255,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:24px;display:grid;gap:10px;align-content:start;transition:transform .5s var(--ease),background .5s}
.stack--sun .stack-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.8)}
.stack-num{font-size:.8125rem;font-weight:500;color:var(--sun-ink)}
.stack-card h4{font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em}
.stack--sun .stack-card p{font-size:.875rem;line-height:1.55;color:var(--sun-text);text-wrap:pretty}

.section--reviews .eyebrow{margin-bottom:-.1em}
.rev-wrap{position:relative;z-index:2;margin-top:calc(clamp(5rem,17vw,18.75rem) * -.25);overflow:hidden;text-align:left;touch-action:pan-y}
.rev-track{display:flex;gap:var(--gap);transition:transform .7s var(--ease);--per:3}
.review{margin:0;padding:clamp(1.5rem,2.6vw,2.25rem);border-radius:var(--r);background:var(--card);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:300px;text-align:left}
.rev-track .review{flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));min-width:0}
.review p{font-size:clamp(1rem,1.25vw,1.1875rem);line-height:1.45;letter-spacing:-.01em;text-wrap:pretty}
.review footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8125rem;color:var(--muted)}
.review-name{color:var(--ink);font-weight:500}
.review-src{display:flex;align-items:center;gap:8px}
.review-score{color:var(--gold);font-weight:600}
.review--static{min-height:240px}
.review--static p{font-size:clamp(1.0625rem,1.4vw,1.3125rem);line-height:1.4}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--gap)}

.stack--awards .stack-card{background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none;min-height:170px}
.award-intro{gap:6px;align-content:center}
.award-intro p{font-size:.8125rem;color:var(--gold);font-weight:500}
.award-intro h2{font-size:clamp(1.625rem,2.4vw,2.25rem);font-weight:500;letter-spacing:-.02em}
.award{display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:transform .45s var(--ease)}
a.award:hover{transform:translateY(-5px)}
.stack--awards .award--dark{background:var(--ink);color:var(--bg)}
a.award--dark:hover{color:var(--bg)}
.stack--awards .award--gold{background:var(--gold);color:var(--white)}
a.award--gold:hover{color:var(--white)}
.stack--awards .award--cream{background:var(--card);color:var(--ink)}
.award-tag{font-size:.8125rem;font-weight:500;color:var(--muted)}
.award--dark .award-tag{color:rgba(239,234,225,.7)}
.award--gold .award-tag{color:rgba(255,255,255,.75)}
.award-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.award-big{font-size:clamp(3rem,4.5vw,4.5rem);font-weight:500;letter-spacing:-.04em;line-height:.9}
.award-sub{font-size:.875rem;color:var(--gold);font-weight:500}
.award-foot{display:grid;gap:.5rem}
.award-note{font-size:.8125rem;font-weight:500;color:var(--muted)}
.award--gold .award-note{color:rgba(255,255,255,.8)}
.award--dark .award-note{color:rgba(239,234,225,.7)}
.award--gold .award-sub{color:var(--white)}
.award-col{display:grid;gap:2px}
.award-mid{font-size:clamp(1.375rem,2vw,1.875rem);font-weight:500;letter-spacing:-.02em;line-height:1.05}
.award-sub--soft{font-size:.8125rem;color:rgba(255,255,255,.8);font-weight:400}
.award--cream .award-sub--soft,.award--dark .award-sub--soft{color:var(--muted)}
.award--dark .award-sub--soft,.info-card--dark .muted,.legal-card--dark .small{color:var(--muted-dark)}
.award--dark .award-sub{color:var(--gold-light)}

.section--about .eyebrow{margin-bottom:-.1em}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap);text-align:left;margin-top:calc(clamp(4rem,13vw,13.75rem) * -.22);position:relative;z-index:2}
.about-media{position:relative;min-height:380px;border-radius:var(--r);overflow:hidden}
.about-card{border-radius:var(--r);background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.about-text{display:grid;gap:14px}
.about-card h3{font-size:clamp(1.5rem,2.2vw,2.125rem);font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.about-card p{font-size:.9375rem;line-height:1.6;color:var(--muted-2);text-wrap:pretty}
.pills{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;font-weight:500}
.pills--top{margin-top:8px}
.pill{display:inline-block;padding:12px 18px;border-radius:var(--r-pill);transition:background .3s,color .3s;white-space:nowrap}
.pill--dark{background:var(--ink);color:var(--bg)}
.pill--dark:hover{background:var(--gold);color:var(--white)}
.pill--cream{background:var(--bg);color:var(--ink);padding:10px 16px}
.pill--cream:hover{background:var(--white);color:var(--gold)}
.pill--gold{background:var(--gold);color:var(--white);padding:10px 16px}
.pill--gold:hover{background:var(--bg);color:var(--ink)}
.pill--ghost{background:rgba(239,234,225,.1);color:var(--bg);padding:10px 16px}

.stories{padding:clamp(1rem,3vw,2.5rem) var(--pad) 0;display:grid;gap:var(--gap)}
.story{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap)}
.story--rtl{direction:rtl}
.story-media{position:relative;min-height:360px;border-radius:var(--r);overflow:hidden;direction:ltr}
.story-body{border-radius:var(--r);background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);display:grid;gap:14px;align-content:center;direction:ltr}
.story-body h2{font-size:clamp(1.625rem,2.4vw,2.375rem);font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.story-body p:not(.label){font-size:.9375rem;line-height:1.6;color:var(--muted-2);text-wrap:pretty}

.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--gap);text-align:left;margin-top:calc(clamp(4.5rem,15vw,16.25rem) * -.2);position:relative;z-index:2}
.price{border-radius:var(--r);padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:300px;background:var(--card);color:var(--ink)}
.price--gold{background:var(--gold);color:var(--white)}
.price--dark{background:var(--ink);color:var(--bg)}
.price-text{display:grid;gap:6px}
.price h2,.price h3{font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em}
.price-text p{font-size:.8125rem;line-height:1.5;opacity:.75;text-wrap:pretty}
.price-value{font-size:clamp(2.25rem,3vw,3rem);font-weight:500;letter-spacing:-.03em;line-height:1}
.price-suffix{font-size:.875rem;font-weight:400;opacity:.7;letter-spacing:0}
.prices-note{margin:16px 0 0;font-size:.8125rem;color:var(--muted);position:relative;z-index:2}
.info-grid{padding:clamp(3rem,6vw,5rem) var(--pad) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--gap)}
.info-grid--wide{padding-top:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.info-card{border-radius:var(--r);background:var(--card);padding:24px;display:grid;gap:14px;align-content:start}
.info-card h2,.info-card h3{font-size:1.375rem;font-weight:500;letter-spacing:-.02em}
.info-card .muted{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.info-card--gold{background:var(--gold);color:var(--white);gap:16px}
.info-card--dark{background:var(--ink);color:var(--bg);gap:16px}
.info-card .soft{font-size:.875rem;line-height:1.5;color:rgba(239,234,225,.75)}
.rows{display:grid;font-size:.875rem}
.rows li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(30,25,21,.08)}
.rows li:last-child{border-bottom:0}
.rows-val{color:var(--muted);text-align:right}
.rows-val a{color:var(--gold);overflow-wrap:anywhere}
.rows-val a:hover{color:var(--ink)}
.rows--dark li{border-bottom-color:rgba(239,234,225,.14)}
.rows--dark .rows-val{color:var(--gold-light)}
.included{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.inc-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:var(--r-pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-size:.875rem;line-height:1.3}
.inc-ico{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.16);color:var(--white)}
.inc-text small{font-size:.75rem;opacity:.72;white-space:nowrap}

.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap);text-align:left;margin-top:calc(clamp(4.5rem,15vw,16.25rem) * -.2);position:relative;z-index:2}
.contact-cards{display:grid;gap:var(--gap);align-content:start}
.contact-card{border-radius:var(--r);background:var(--card);padding:24px;display:grid;gap:8px}
.contact-big{font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}
.contact-big--muted{color:var(--muted)}
.contact-hours{margin-top:8px;font-size:.8125rem;line-height:1.6;color:var(--muted)}
.contact-card--gold{background:var(--gold);color:var(--white)}
.contact-card--gold .label{color:rgba(255,255,255,.8)}
.contact-address{font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.contact-note{font-size:.875rem;color:rgba(255,255,255,.85)}
.map-box{position:relative;min-height:480px;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 80px rgba(30,25,21,.14);background:var(--card)}
.map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.map-btn{position:absolute;right:16px;top:16px;display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:500;padding:12px 18px;border-radius:var(--r-pill);background:var(--gold);color:var(--white);box-shadow:0 8px 20px rgba(30,25,21,.15);transition:background .3s}
.map-btn:hover{background:var(--ink);color:var(--white)}
.map-chip{position:absolute;left:16px;bottom:16px;background:rgba(239,234,225,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:12px 16px;display:grid;gap:2px;pointer-events:none;max-width:calc(100% - 32px)}

.legal{padding:clamp(1.5rem,4vw,3.5rem) var(--pad) 0;display:grid;gap:var(--gap);text-align:left}
.legal-toc{display:none}
.legal-body{display:grid;gap:var(--gap);min-width:0}
.legal-card{border-radius:var(--r);background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);display:grid;gap:12px;align-content:start;scroll-margin-top:110px}
.legal-card h2{font-size:clamp(1.375rem,2vw,1.875rem);font-weight:500;letter-spacing:-.02em}
.legal-card p:not(.label){max-width:72ch;font-size:.9375rem;line-height:1.6;color:var(--muted-2);text-wrap:pretty}
@media (min-width:1024px){
  .legal{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);column-gap:clamp(1.5rem,3vw,3rem);align-items:start}
  .legal-toc{display:grid;gap:14px;position:sticky;top:110px;padding:24px;border-radius:var(--r);background:var(--card)}
  .legal-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:2px;counter-reset:toc}
  .legal-toc a{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-radius:12px;font-size:.875rem;line-height:1.35;color:var(--muted-2);transition:background .3s,color .3s}
  .legal-toc a::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);min-width:1.4rem;font-size:.75rem;font-weight:500;color:var(--gold)}
  .legal-toc a:hover,.legal-toc a.is-active{background:var(--bg);color:var(--ink)}
  .legal-body{max-width:58rem}
  .legal-card{padding:clamp(2rem,3vw,3rem)}
}
.legal-card p a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.legal-card .small{font-size:.8125rem;color:var(--muted)}
.legal-card--dark{background:var(--ink);color:var(--bg)}
.legal-card--dark .label{color:var(--gold-light)}
.legal-card--dark p:not(.label){color:rgba(239,234,225,.75)}
.legal-card--dark .pill{justify-self:start;padding:12px 18px}
.legal-card .pill--gold:hover{background:var(--bg);color:var(--ink)}

.well-intro{padding-top:clamp(3.5rem,7vw,6rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap);align-items:start;text-align:left}
.intro-card{border-radius:var(--r);background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);display:grid;gap:14px}
.intro-card h2{font-size:clamp(1.75rem,2.8vw,2.75rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.intro-card p:not(.label){font-size:.9375rem;line-height:1.6;color:var(--muted-2);text-wrap:pretty}
.stats{display:grid;gap:var(--gap)}
.stat{border-radius:var(--r);background:var(--card);padding:24px;display:grid;gap:4px}
.stat--gold{background:var(--gold);color:var(--white)}
.stat-label{font-size:.8125rem;color:var(--muted)}
.stat--gold .stat-label{color:rgba(255,255,255,.8)}
.stat-big{font-size:clamp(2.75rem,4vw,4rem);font-weight:500;letter-spacing:-.04em;line-height:1}
.stat-mid{font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.stat-sub{font-size:.8125rem;color:var(--muted)}
.stat--gold .stat-sub{color:rgba(255,255,255,.85)}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.well-intro:has(.stat--video){align-items:stretch}
.stats:has(.stat--video){grid-template-rows:1fr auto}
.stat--video{min-height:clamp(15rem,20vw,20rem);align-content:end;color:var(--white)}
.stat--video .vbg::after{background:linear-gradient(180deg,rgba(28,20,14,.12) 0%,rgba(28,20,14,.2) 40%,rgba(28,20,14,.78) 100%)}
.stat--video .stat-label,.stat--video .stat-sub{color:rgba(255,255,255,.88)}
.well-cards{padding:var(--gap) var(--pad) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--gap);text-align:left}
.free-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--gap);text-align:left}
.free-media{position:relative;min-height:380px;border-radius:var(--r);overflow:hidden}
.free-card{border-radius:var(--r);background:var(--ink);color:var(--bg);padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.free-text{display:grid;gap:14px}
.free-card h3{font-size:clamp(1.5rem,2.2vw,2.125rem);font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.free-text p:not(.label){font-size:.9375rem;line-height:1.6;color:rgba(239,234,225,.75);text-wrap:pretty}
.well-reviews{padding-top:clamp(4rem,8vw,7.5rem)}

.map-wrap{position:relative;z-index:2;margin-top:calc(clamp(5rem,17vw,18.75rem) * -.2)}
.map-box--okolie{height:clamp(26.25rem,58vh,42.5rem);border-radius:var(--r-lg);box-shadow:0 30px 80px rgba(30,25,21,.18)}
.map-filters{position:absolute;left:16px;top:16px;display:flex;gap:4px;background:rgba(239,234,225,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--r-pill);padding:4px;box-shadow:0 8px 20px rgba(30,25,21,.12)}
.map-filter{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;padding:10px 18px;border-radius:var(--r-pill);transition:all .3s;background:transparent;color:var(--ink)}
.map-filter svg{flex:none;color:var(--gold)}
.map-filter[data-season="winter"] svg{color:var(--winter)}
.map-filter.is-active svg{color:var(--white)}
.map-filter.is-active{background:var(--gold);color:var(--white)}
.map-reset{position:absolute;right:16px;top:16px;font-size:.8125rem;font-weight:500;padding:12px 18px;border-radius:var(--r-pill);background:var(--gold);color:var(--white);box-shadow:0 8px 20px rgba(30,25,21,.15);transition:background .3s}
.map-reset:hover{background:var(--ink)}
.map-legend{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;font-size:.75rem;font-weight:500;pointer-events:none;flex-wrap:wrap;transition:opacity .3s}
.map-box.has-route .map-legend{opacity:0}
.map-legend span{display:flex;align-items:center;gap:6px;background:rgba(239,234,225,.9);padding:8px 12px;border-radius:var(--r-pill)}
.legend-summer svg{color:var(--gold)}
.legend-winter svg{color:var(--winter)}
.places-sec{padding:clamp(1.5rem,3vw,2.5rem) var(--pad) 0}
.places-hint{margin:0 0 16px;text-align:center;font-size:.875rem;color:var(--muted)}
.places{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--gap)}
.place{cursor:pointer;border-radius:var(--r);padding:22px;display:grid;gap:12px;align-content:start;transition:transform .45s var(--ease),background .45s,color .45s;background:var(--card);color:var(--ink)}
.place:hover{transform:translateY(-5px)}
.place:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.place.is-hidden{display:none}
.place.is-active{background:var(--gold);color:var(--white)}
.place-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.place-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.8125rem;font-weight:600;background:var(--gold);color:var(--white);flex:none;transition:background .45s,color .45s}
.place-num--winter{background:var(--winter)}
.place.is-active .place-num{background:var(--white);color:var(--gold)}
.place-meta{font-size:.75rem;font-weight:500;color:var(--muted);text-align:right}
.place.is-active .place-meta,.place.is-active .place-sub{color:rgba(255,255,255,.8)}
.place-title{display:grid;gap:4px}
.place h2,.place h3{font-size:1.1875rem;font-weight:500;letter-spacing:-.01em;line-height:1.15}
.place-sub{font-size:.75rem;color:var(--muted)}
.place-times{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.place-time{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 7px;border-radius:var(--r-pill);background:var(--bg);font-size:.75rem;color:var(--muted-2);white-space:nowrap;transition:background .45s,color .45s}
.place-time svg{color:var(--gold);flex:none;transition:color .45s}
.place-time b{font-weight:600;color:var(--ink);transition:color .45s}
.place.is-active .place-time{background:rgba(255,255,255,.16);color:rgba(255,255,255,.85)}
.place.is-active .place-time svg,.place.is-active .place-time b{color:var(--white)}
.place-text{font-size:.875rem;line-height:1.5;text-wrap:pretty}
.places-source{margin:24px 0 0;text-align:center;font-size:.75rem;color:var(--muted)}
.places-source a{color:var(--muted);text-decoration:underline}

.nf-card{position:relative;z-index:2;margin:clamp(1rem,3vw,2.5rem) auto 0;max-width:560px;border-radius:var(--r);background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);display:grid;gap:14px;text-align:left}
.nf-card h2{font-size:clamp(1.5rem,2.2vw,2.125rem);font-weight:500;letter-spacing:-.02em}
.nf-card p{font-size:.9375rem;line-height:1.6;color:var(--muted-2)}
.nf-wrap{position:relative;z-index:2;min-height:calc(100svh - 110px - 4rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1rem,4vw,3rem) var(--pad) clamp(3rem,8vw,6rem)}
.nf-code{margin:clamp(.5rem,1.5vw,1rem) 0 0;font-size:clamp(6.5rem,4rem + 14vw,15rem);font-weight:500;letter-spacing:-.05em;line-height:.9;color:var(--ink)}
.nf-digits{display:inline-flex;align-items:center;gap:.04em}
.nf-star{width:.62em;height:.62em;fill:var(--sun);animation:nfSpin 18s linear infinite}
@keyframes nfSpin{to{transform:rotate(360deg)}}
.nf-title{margin:clamp(1.25rem,3vw,2rem) 0 0;font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem);font-weight:500;letter-spacing:-.02em}
.nf-text{margin:.75rem auto 0;max-width:40ch;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.6;color:var(--muted-2);text-wrap:balance}
.nf-home{margin-top:clamp(1.5rem,3vw,2.25rem)}
.nf-links{margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;font-size:.875rem}
.nf-links a{color:var(--muted-2);text-decoration:underline;text-decoration-color:rgba(118,86,48,.35);text-underline-offset:.3em;transition:color .2s}
.nf-links a:hover{color:var(--gold);text-decoration-color:currentColor}
@media (prefers-reduced-motion:reduce){.nf-star{animation:none}}

.foot{padding:clamp(3rem,7vw,6.875rem) var(--pad) 0;display:grid;gap:var(--gap)}
.foot-box{border-radius:var(--r-lg);background:var(--ink);color:var(--bg);padding:clamp(1.75rem,4vw,3.5rem);display:grid;gap:clamp(2rem,4vw,3.5rem)}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.foot-brand{display:grid;gap:14px;max-width:520px}
.foot-eyebrow{font-size:.8125rem;color:var(--gold-light);font-weight:500}
.foot-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:500;letter-spacing:-.04em;line-height:1;text-wrap:balance}
.foot-logo{display:block;height:clamp(5.5rem,4.5rem + 3vw,8rem);width:auto}
.newsletter{width:100%;max-width:460px;display:grid;gap:12px;position:relative}
.nl-head{display:grid;gap:4px}
.nl-title{font-size:.9375rem;font-weight:500}
.nl-text{font-size:.8125rem;line-height:1.5;color:rgba(239,234,225,.7)}
.nl-row{display:flex;gap:4px;background:rgba(239,234,225,.08);border-radius:var(--r-pill);padding:4px;min-width:0}
.nl-input{flex:1;min-width:0;background:transparent;border:0;border-radius:var(--r-pill);color:var(--bg);font:inherit;font-size:.875rem;padding:12px 18px;outline:none;appearance:none;-webkit-appearance:none;box-shadow:none}
.nl-input:focus,.nl-input:focus-visible{outline:none;box-shadow:none}
.nl-input::placeholder{color:rgba(239,234,225,.45)}
.nl-row:focus-within{box-shadow:0 0 0 1.5px rgba(214,184,133,.55)}
.nl-input:-webkit-autofill,.nl-input:-webkit-autofill:hover,.nl-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #2A241E inset;-webkit-text-fill-color:var(--bg);caret-color:var(--bg);transition:background-color 9999s ease-out}
.nl-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--white);padding:12px 20px;border-radius:var(--r-pill);font-size:.875rem;font-weight:600;white-space:nowrap;transition:background .3s,color .3s}
.nl-btn:hover{background:var(--bg);color:var(--ink)}
.nl-btn .arr{font-size:1rem;line-height:1}
.nl-check{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;line-height:1.5;color:rgba(239,234,225,.7);cursor:pointer}
.nl-check input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.nl-box{width:20px;height:20px;flex:none;margin-top:1px;border-radius:6px;border:1px solid rgba(239,234,225,.35);display:inline-flex;align-items:center;justify-content:center;color:var(--white);transition:background .15s,border-color .15s}
.nl-box svg{opacity:0;transition:opacity .15s}
.nl-check input:checked+.nl-box{background:var(--gold);border-color:var(--gold)}
.nl-check input:checked+.nl-box svg{opacity:1}
.nl-check input:focus-visible+.nl-box{box-shadow:0 0 0 3px rgba(118,86,48,.35)}
.nl-check-text a{color:var(--gold-light);text-decoration:underline;text-underline-offset:2px}
.newsletter.is-sending .nl-btn{opacity:.6;pointer-events:none}
.newsletter.is-done .nl-btn{background:var(--bg);color:var(--ink)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:28px 24px;padding-top:clamp(1.5rem,3vw,2.5rem);border-top:1px solid rgba(239,234,225,.12)}
.foot-col{display:grid;gap:12px;align-content:start}
.foot-col-title{font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light)}
.foot-links{display:grid;gap:8px;font-size:.875rem;line-height:1.4;color:rgba(239,234,225,.8)}
.foot-links a{color:rgba(239,234,225,.8);overflow-wrap:anywhere}
.foot-links a:hover{color:var(--gold-light)}
.foot-operator-name{color:var(--bg);font-weight:500}
.foot-operator-reg{font-size:.75rem;line-height:1.5;color:rgba(239,234,225,.6)}
.foot-todo{font-size:.75rem;line-height:1.5;color:var(--gold-light);border:1px dashed rgba(214,184,133,.45);border-radius:12px;padding:10px 12px}
.socials{display:flex;gap:8px}
.social{width:42px;height:42px;border-radius:50%;background:rgba(239,234,225,.1);display:grid;place-items:center;color:var(--bg);transition:background .3s}
.social:hover{background:var(--gold);color:var(--white)}
.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:10px clamp(1.75rem,4vw,3.5rem) 18px;font-size:.75rem;color:var(--muted)}
.foot-copy{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.foot-copy a{color:var(--muted)}
.foot-credit{font-size:.6875rem}
.foot-copy a:hover{color:var(--ink)}
.madeby{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.madeby:hover{color:var(--ink)}
.madeby-brand{display:inline-flex;align-items:center;gap:6px}
.madeby-brand img{width:22px;height:22px;border-radius:6px}
.madeby-brand strong{font-weight:600;letter-spacing:-.02em;color:var(--ink);font-size:.8125rem}

.toast{position:fixed;left:50%;bottom:24px;z-index:95;transform:translate(-50%,12px);width:max-content;max-width:min(420px,calc(100vw - 32px));padding:16px 22px;border-radius:18px;background:var(--card);color:var(--ink);border:1px solid rgba(118,86,48,.45);font-size:.9375rem;line-height:1.45;font-weight:500;box-shadow:0 24px 60px rgba(30,25,21,.28);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);text-align:center}
.toast::before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:var(--gold);margin:0 auto 10px}
.toast.is-anchored{bottom:auto;transform:translate(-50%,calc(-100% + 8px))}
.toast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast.is-anchored.is-on{transform:translate(-50%,-100%)}
.toast.is-error{border-color:rgba(142,59,59,.5);color:#7A2E2E}
.toast.is-error::before{background:#B94A4A}
.cc-wrap{position:fixed;left:16px;bottom:16px;z-index:70;display:flex;align-items:flex-end;gap:12px;max-width:calc(100vw - 32px)}
.cc-fab{width:45px;height:45px;border-radius:50%;background:var(--gold);display:grid;place-items:center;position:relative;flex:none;box-shadow:0 14px 34px rgba(30,25,21,.22);transition:transform .4s var(--ease),background .3s;transform:scale(.86)}
.cc-fab.is-open{transform:scale(1)}
.cc-fab:hover{transform:scale(1.06);background:var(--ink)}
.cc-fab-ring{display:none;position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--gold);opacity:.5;animation:fabRing 2.4s ease-out infinite}
.cc-fab.is-pending .cc-fab-ring{display:block}
.cc{display:none;width:min(400px,calc(100vw - 100px));background:rgba(247,243,236,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:24px 24px 24px 8px;padding:18px 20px;box-shadow:0 24px 60px rgba(30,25,21,.18);gap:12px;transform-origin:left bottom;animation:cookieIn .5s var(--ease) both;text-align:left}
.cc.is-open{display:grid}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cc-body{display:grid;gap:3px}
.cc-title{font-size:.9375rem;font-weight:500;letter-spacing:-.01em}
.cc-text{font-size:.8125rem;line-height:1.5;color:var(--muted-2);text-wrap:pretty}
.cc-text a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.cc-min{flex:none;width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--ink);display:grid;place-items:center;font-size:1rem;line-height:1;transition:background .3s}
.cc-min:hover{background:var(--white)}
.cc-cats{display:none;gap:8px}
.cc.is-settings .cc-cats{display:grid}
.cc-cat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(30,25,21,.05);text-align:left;width:100%}
.cc-cat--locked{cursor:default}
.cc-cat-text{display:grid;gap:1px}
.cc-cat-title{font-size:.8125rem;font-weight:500}
.cc-cat-desc{font-size:.75rem;color:var(--muted)}
.switch{flex:none;width:40px;height:24px;border-radius:var(--r-pill);background:rgba(30,25,21,.18);position:relative;transition:background .2s}
.switch i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--white);transition:left .2s}
.switch.is-on{background:var(--gold)}
.switch.is-on i{left:19px}
.switch--locked{background:var(--ink);opacity:.3}
.switch--locked i{left:19px}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;font-weight:500}
.cc-btn{padding:11px 18px;border-radius:var(--r-pill);background:var(--bg);color:var(--ink);transition:background .3s,color .3s}
.cc-btn:hover{background:var(--white)}
.cc-btn--dark{background:var(--ink);color:var(--bg)}
.cc-btn--dark:hover{background:var(--gold);color:var(--white)}
.cc-save{display:none}
.cc.is-settings .cc-save{display:inline-block}
.cc.is-settings .cc-btn--settings,.cc.is-settings [data-cc="reject"]{display:none}

@media (max-width:1180px){
  .hdr-nav{display:none}
  .burger{display:grid}
}
@media (min-width:1181px){
  .menu{display:none}
}
@media (max-width:1100px){
  .tabgrid{grid-template-columns:2fr 1fr}
  .rail-track{--per:2}
  .rev-track{--per:2}
}
@media (max-width:760px){
  html{overflow-x:clip}
  .lang:not(.lang--menu){display:none}
  .btn-book{padding:11px 13px;font-size:.72rem;gap:6px}
  .nl-input{font-size:max(16px,1rem)}
  .toast,.toast.is-anchored{top:50%;bottom:auto;transform:translate(-50%,calc(-50% + 12px))}
  .toast.is-on,.toast.is-anchored.is-on{transform:translate(-50%,-50%)}
  .hdr-logo{height:3.75rem}
  .leaf{transform-origin:center;opacity:.34;width:clamp(60px,19vw,96px)}
  .leaf--mobile{display:block}
  .sun-wrap{padding-top:2rem}
  .sun-imgs{position:relative;inset:auto;display:flex;justify-content:center;align-items:flex-end;gap:.5rem;max-width:20rem;margin:0 auto 1rem}
  .sun-img{position:relative;left:auto;right:auto;top:auto;flex:0 1 24%;width:24%;max-width:5rem;margin:0;filter:drop-shadow(0 12px 14px rgba(90,60,0,.22));transform:rotate(var(--rot));animation:sunBob 3.6s ease-in-out infinite}
  .sun-img--1{--rot:-12deg}
  .sun-img--2{--rot:8deg;animation-delay:-.7s}
  .sun-img--3{--rot:-4deg;animation-delay:-1.4s}
  .sun-img--4{--rot:10deg;animation-delay:-2.1s}
  .giant{white-space:normal;font-size:clamp(3.5rem,19vw,5rem);overflow-wrap:anywhere}
  .hero{padding-top:92px}
  .sub{padding-top:92px}
  .sun-wrap{overflow:visible}
  .hdr{gap:8px}
  .hdr-left{gap:4px}
  .hdr-logo-link{padding:0 2px}
  .tabgrid{grid-template-columns:1fr}
  .rail-track{--per:2}
  .rail-track .card-body{padding:12px 12px 14px;gap:4px}
  .rail-track .card-body h3{font-size:.9375rem;line-height:1.25}
  .rail-track .card-body p{font-size:.75rem;line-height:1.4}
  .rail-track .card-clamp{min-height:2.1rem}
  .rail-track .card:hover{transform:none}
  .cta-card{min-height:0;gap:18px;padding:20px 20px 18px}
  .rev-track{--per:1}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stack{display:block;padding-bottom:0}
  .stack-card{position:-webkit-sticky;position:sticky;height:200px;min-height:0;margin-bottom:14px;box-shadow:0 -12px 40px rgba(30,25,21,.14);backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;opacity:1;background:var(--card)}
  .stack>.stack-card:last-child{margin-bottom:0}
  .stack>.stack-card:nth-child(1){top:96px}
  .stack>.stack-card:nth-child(2){top:110px}
  .stack>.stack-card:nth-child(3){top:124px}
  .stack>.stack-card:nth-child(4){top:138px}
  .stack.reveal{transform:none;opacity:1}
  .stack--sun .stack-card:hover{transform:none}
  .stack--awards .award--dark{background:var(--ink)}
  .stack--awards .award--gold{background:var(--gold)}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-cols{grid-template-columns:1fr 1fr;gap:24px 16px}
  .foot-bar{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 0 22px}
  .foot-copy{justify-content:center}
  .hero-media{height:auto;aspect-ratio:auto;max-height:none;overflow:visible;border-radius:0}
  .hero-media img{position:static;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-lg)}
  .hero-fade{inset:0 0 auto 0;aspect-ratio:3/2;border-radius:var(--r-lg)}
  .hero-slider{position:relative;inset:auto;aspect-ratio:3/2;border-radius:var(--r-lg)}
  .hero-media .hero-slider img{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0}
  .hero-slider .hero-fade{inset:0;aspect-ratio:auto;border-radius:0}
  .hero-nav{left:50%;bottom:10px;transform:translateX(-50%);padding:4px}
  .hero-arrow{display:none}
  .hero-dots{padding:2px 4px}
  .hero-bar{position:static;margin-top:12px;text-align:left;grid-template-columns:1fr}
  .hero-bar .chip{grid-column:1;justify-self:stretch}
  .hero-bar .btn-hero{grid-column:1;justify-self:stretch}
  .btn-hero{padding:16px 22px;font-size:.9375rem}
  .stat-grid{grid-template-columns:1fr}
  .map-legend{right:80px}
  .cc-wrap{left:12px;right:12px;bottom:12px;max-width:none}
  .cc-fab.is-open{display:none}
  .cc{width:100%;min-width:0;max-width:calc(100vw - 24px);border-radius:22px;padding:16px 16px 14px;transform-origin:center bottom}
  .cc-actions{gap:6px}
  .cc-btn{padding:10px 14px;font-size:.75rem}
  .cc-text{font-size:.78rem}
  .price{min-height:0;gap:18px;padding:20px 22px}
  .price h2{font-size:1.5rem;font-weight:600;letter-spacing:-.025em}
  .price-value{font-size:2.25rem}
}
@media (max-width:560px){
  .hero-bar .btn-hero{justify-content:space-between}
  .nl-row{flex-direction:column;background:transparent;padding:0;gap:8px}
  .nl-input{background:rgba(239,234,225,.08);border-radius:var(--r-pill);border:1px solid transparent}
  .nl-input:focus{border-color:rgba(214,184,133,.6)}
  .nl-row:focus-within{box-shadow:none}
  .nl-btn{justify-content:center}
  .map-filter{padding:10px 11px;font-size:.75rem}
  .map-reset{padding:11px 13px;font-size:.75rem}
}
@media (max-width:480px){
  .foot-cols{grid-template-columns:1fr;gap:20px}
}
@media (max-width:420px){
  .map-legend span:last-child{display:none}
}
@media (min-width:761px) and (max-width:1100px){
  .prices,.contact-grid,.about-grid,.free-grid,.well-intro,.story{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
}
@media (min-width:1920px){
  .site,.hdr{width:var(--site-w)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .leaf,.sun-img,.hero-slide img{transform:none!important}
  .hero-slide img{animation:none!important}
}
