html{scroll-behavior:smooth}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(48px)}.reveal.in{opacity:1;transform:none}.slide-l{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translate(-56px)}.slide-r{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translate(56px)}.slide-l.in,.slide-r.in{opacity:1;transform:none}.draw path.ln{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s cubic-bezier(.45,0,.25,1) .2s}.draw.in path.ln{stroke-dashoffset:0}.draw path.ah{opacity:0;transition:opacity .4s 1.25s}.draw.in path.ah{opacity:1}.zz-img{box-shadow:var(--shadow-photo);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s}.zz-img:hover{box-shadow:var(--shadow-photo-hover);transform:translateY(-8px)rotate(-1.4deg)scale(1.03)}.zz-mirror:hover{transform:translateY(-8px)rotate(1.4deg)scale(1.03)}.ill{width:100%;height:100%;transition:opacity .55s,transform .55s;position:absolute;inset:0}.cat-card .ill-h{opacity:0;transform:translateY(6px)}.cat-card:hover .ill-h{opacity:1;transform:none}.cat-card:hover .ill-s{opacity:0}.arch-b{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}.arch-b:hover{transform:translateY(-8px)scale(1.12);box-shadow:0 14px 26px #21312a33!important}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq-row summary{transition:color .25s}.faq-row summary:hover{color:var(--color-forest)}.faq-row .chev{transition:transform .35s cubic-bezier(.22,1,.36,1)}.faq-row[open] .chev{transform:rotate(180deg)}.faq-row[open] .ans{animation:.35s both ansIn}.opt-tile{transition:background .25s,transform .3s cubic-bezier(.22,1,.36,1)}.opt-tile:hover{transform:translateY(-3px)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-forest);outline-offset:1px}.top-nav{background:var(--color-forest);transition:background .35s,box-shadow .35s}.top-nav.scrolled{background:var(--color-cream);box-shadow:var(--shadow-nav)}.top-nav .nv-logo{color:var(--color-cream);transition:color .35s}.top-nav.scrolled .nv-logo{color:var(--color-forest)}.top-nav .nv-ar{color:var(--color-blush);transition:color .35s}.top-nav.scrolled .nv-ar{color:var(--color-terracotta)}.top-nav .nv-link{color:var(--color-ongreen-3);transition:color .25s}.top-nav .nv-link:hover{color:var(--color-cream)}.top-nav.scrolled .nv-link{color:var(--color-body-strong)}.top-nav.scrolled .nv-link:hover{color:var(--color-forest)}.top-nav .nv-login{color:var(--color-cream);transition:color .35s}.top-nav.scrolled .nv-login{color:var(--color-forest)}.top-nav .nv-menu-btn{color:var(--color-cream);transition:color .35s}.top-nav.scrolled .nv-menu-btn{color:var(--color-forest)}.top-nav .nv-cta{background:var(--color-cream);color:var(--color-forest);transition:background .35s,color .35s}.top-nav .nv-cta:hover{background:var(--color-cream);color:var(--color-forest)}.top-nav.scrolled .nv-cta{background:var(--color-forest);color:var(--color-cream)}.top-nav.scrolled .nv-cta:hover{background:var(--color-forest-dark);color:var(--color-cream)}.top-nav .nv-pill{border:1px solid #faf7f259;transition:border-color .35s}.top-nav.scrolled .nv-pill{border-color:var(--color-line)}.nv-lang-btn{cursor:pointer;color:var(--color-ongreen);background:0 0;border:0;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:700;transition:background .35s,color .35s}.nv-lang-btn[aria-pressed=true]{background:var(--color-cream);color:var(--color-forest)}.top-nav.scrolled .nv-lang-btn{color:var(--color-body)}.top-nav.scrolled .nv-lang-btn[aria-pressed=true]{background:var(--color-forest);color:var(--color-cream)}.nv-panel .nv-pill{border-color:var(--color-line)}.nv-panel .nv-lang-btn{color:var(--color-body)}.nv-panel .nv-lang-btn[aria-pressed=true]{background:var(--color-forest);color:var(--color-cream)}@media not (min-width:480px){body:has([data-booking-bar]){padding-block-end:calc(76px + env(safe-area-inset-bottom))}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes steam{0%{opacity:0;transform:translateY(0)}30%{opacity:.9}to{opacity:0;transform:translateY(-16px)}}@keyframes ansIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}
