.desc-grid{display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:start}@media(max-width:1000px){.desc-grid{grid-template-columns:1fr;gap:40px}}.desc-sidebar{position:sticky;top:100px}@media(max-width:1000px){.desc-sidebar{position:static}}.desc-title-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.desc-badge{display:inline-flex;align-items:center;background:#2d6b5e1f;color:var(--teal-deep);border:1px solid rgba(45,107,94,.28);padding:5px 11px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;white-space:nowrap}.cabin-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:280px;gap:12px;border-radius:var(--radius-lg);overflow:hidden}.cabin-gallery__item{position:relative;overflow:hidden;cursor:zoom-in;background:var(--bg-alt);padding:0}.cabin-gallery__item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.cabin-gallery__item:hover img{transform:scale(1.04)}.cabin-gallery__item--0{grid-row:span 2}.cabin-gallery__more{position:absolute;inset:0;display:grid;place-items:center;background:#0f14108c;color:#fff;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.cabin-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.cabin-gallery__item--0{grid-column:1 / 3;grid-row:span 1;height:220px}}dialog.lightbox{background:transparent;border:none;padding:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0}dialog.lightbox::backdrop{background:#0a0806f0}.lightbox__stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vh,64px)}.lightbox__img{max-width:min(100%,1180px);max-height:min(100%,82vh);width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 20px 80px #00000080}.lightbox__close,.lightbox__arrow{position:fixed;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:100px;width:48px;height:48px;display:grid;place-items:center;backdrop-filter:blur(8px);transition:all var(--tr);z-index:2}.lightbox__close:hover,.lightbox__arrow:hover{background:#fff3}.lightbox__close{top:24px;right:24px}.lightbox__arrow--left{left:24px;top:50%;transform:translateY(-50%)}.lightbox__arrow--right{right:24px;top:50%;transform:translateY(-50%)}.lightbox__counter{position:fixed;bottom:24px;left:50%;transform:translate(-50%);color:#ffffffb3;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em}@media(max-width:640px){.lightbox__stage{padding:20px}.lightbox__close,.lightbox__arrow{width:40px;height:40px}}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.pricing-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;position:relative}.pricing-card--featured{background:linear-gradient(155deg,#eef4f1,#e3ede8);color:var(--ink);border-color:#2d6b5e59;box-shadow:0 10px 30px #2d6b5e1f}.pricing-card__badge{position:absolute;top:-12px;left:24px;background:var(--teal);color:#fff;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:100px;font-weight:400}.pricing-card__name{font-family:var(--font-serif);font-size:22px;color:inherit}.pricing-card__price{display:flex;align-items:baseline;gap:6px}.pricing-card__amount{font-family:var(--font-serif);font-size:44px;font-weight:400;line-height:1;color:inherit}.pricing-card--featured .pricing-card__amount{color:var(--teal)}.pricing-card__unit{font-size:14px;color:inherit;opacity:.65}.pricing-card__note{font-size:14px;color:inherit;opacity:.7;margin-top:4px}@media(max-width:880px){.pricing-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.pricing-grid{grid-template-columns:1fr}}.season-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:6px;gap:4px;margin:0 auto 24px;max-width:760px;box-shadow:var(--shadow-sm)}.season-tab{padding:14px 18px;border-radius:10px;color:var(--ink-soft);font-family:var(--font-sans);font-size:15px;font-weight:500;transition:all var(--tr);white-space:nowrap;text-align:center}.season-tab:hover{background:var(--bg-alt);color:var(--ink)}.season-tab--active{background:var(--teal);color:#fff;box-shadow:0 4px 12px #2d6b5e59}.season-tab--active:hover{background:var(--teal);color:#fff}@media(max-width:640px){.season-tabs{grid-template-columns:1fr 1fr}.season-tab{text-align:left;white-space:normal}}.season-info{max-width:760px;margin:0 auto 32px;background:#f1f5f3;border:1px solid #cfdcd7;border-radius:var(--radius);padding:18px 22px;display:flex;flex-direction:column;gap:8px}.season-info__row{display:flex;gap:12px;align-items:baseline;font-size:14.5px;line-height:1.5;flex-wrap:wrap}.season-info__label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);flex-shrink:0;min-width:90px}.season-info__value{color:var(--ink-soft);flex:1}.discounts{max-width:760px;margin:0 auto 32px;text-align:center}.discounts__title{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px}.discounts__list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.discount-pill{display:inline-flex;align-items:baseline;gap:9px;background:var(--bg-card);border:1px solid var(--line);border-radius:100px;padding:8px 16px}.discount-pill__guests{font-size:13.5px;color:var(--ink-soft)}.discount-pill__off{font-family:var(--font-serif);font-size:18px;line-height:1;color:var(--teal)}.extras{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:8px 28px}.extras__title{font-size:15px;font-family:var(--font-mono);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);padding:18px 0 14px;border-bottom:1px solid var(--line);margin:0}.extras__table{width:100%;border-collapse:collapse}.extras__table tr{border-bottom:1px solid var(--line)}.extras__table tr:last-child{border-bottom:none}.extras__table td{padding:16px 0;font-size:15px;color:var(--ink)}.extras__price{font-weight:400;font-family:var(--font-mono);font-size:14px;color:var(--teal);text-align:right;white-space:nowrap;width:1%;padding-right:24px!important;padding-left:24px!important}.extras__note{color:var(--ink-muted);font-size:13.5px;text-align:right;width:30%}@media(max-width:640px){.extras__note{display:none}}.sauna-panel{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;box-shadow:var(--shadow-sm)}.sauna-panel__img{position:relative;min-height:360px}.sauna-panel__img img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sauna-panel__body{padding:40px;display:flex;flex-direction:column;gap:18px;justify-content:center}.sauna-panel__rules{display:flex;flex-direction:column;gap:12px;margin-top:6px}.sauna-panel__rule{display:flex;gap:12px;align-items:flex-start;color:var(--ink-soft);font-size:15px}.sauna-panel__rule svg{color:var(--teal);flex-shrink:0;margin-top:3px}.sauna-panel__rule strong{color:var(--ink);font-weight:500}@media(max-width:860px){.sauna-panel{grid-template-columns:1fr}.sauna-panel__img{min-height:240px}.sauna-panel__body{padding:28px}}.alt-cabin{display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--tr);box-shadow:var(--shadow-sm)}.alt-cabin:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.alt-cabin__img{position:relative;min-height:320px;overflow:hidden}.alt-cabin__img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.alt-cabin:hover .alt-cabin__img img{transform:scale(1.04)}.alt-cabin__badge{position:absolute;top:20px;left:20px;background:var(--gold);color:#1a1a1a;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:100px;z-index:1}.alt-cabin__body{padding:40px;display:flex;flex-direction:column;gap:14px;justify-content:center}.alt-cabin__name{font-family:var(--font-serif);font-size:32px;color:var(--ink)}.alt-cabin__tag{font-family:var(--font-serif);font-style:italic;color:var(--teal);font-size:17px}.alt-cabin__desc{color:var(--ink-soft);font-size:15.5px;line-height:1.55}.alt-cabin__meta{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line);margin-top:8px;flex-wrap:wrap;gap:12px}.alt-cabin__meta strong{color:var(--teal);font-family:var(--font-serif);font-size:22px;font-weight:400}@media(max-width:760px){.alt-cabin{grid-template-columns:1fr}.alt-cabin__body{padding:28px}}.sticky-cta{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(150%);background:var(--bg-card);border:1px solid var(--line);border-radius:100px;padding:10px 10px 10px 24px;display:flex;align-items:center;gap:20px;box-shadow:0 10px 40px #140f0a2e;z-index:50;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.sticky-cta--show{transform:translate(-50%) translateY(0)}.sticky-cta__price strong{font-family:var(--font-serif);font-size:22px;color:var(--teal);font-weight:500}.sticky-cta__price .muted{font-size:14px}.sticky-cta .btn{border-radius:100px;padding:12px 22px}@media(max-width:540px){.sticky-cta{left:16px;right:16px;transform:translateY(150%);width:auto}.sticky-cta--show{transform:translateY(0)}}
