/* style.css */
@font-face{font-family:Akrobat;src:url("/assets/Akrobat-Regular.woff2");font-weight:400;font-display:swap}@font-face{font-family:Akrobat;src:url("/assets/Akrobat-Bold.woff2");font-weight:700;font-display:swap}@font-face{font-family:Akrobat;src:url("/assets/Akrobat-ExtraBold.woff2");font-weight:800;font-display:swap}
:root{--green:#1d4d48;--ink:#383838;--lime:#e4eeeb;--paper:#ffffff;--line:#d9dfd5;--muted:#68736b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .2s,color .2s,transform .2s}a:hover{color:#74863d}button:hover,.button:hover{transform:translateY(-2px)}:focus-visible{outline:3px solid #879d42;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Akrobat,Arial,sans-serif;font-weight:400;line-height:1.25;letter-spacing:-.04em}em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(2.3rem,4vw,3.7rem)}h3{font-size:1.55rem;line-height:1.4;font-weight:500;letter-spacing:-.04em}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:28px;background:var(--paper)}.brand{font-family:Georgia,serif;font-size:38px;line-height:.95;font-weight:bold;letter-spacing:-2px}.brand span{display:block;font:9px/1.7 Arial,Helvetica,sans-serif;letter-spacing:2.5px;margin-top:10px}.header nav{display:flex;gap:26px;font-size:14px}.header-actions{display:flex;align-items:center;gap:24px}.phone{font-size:14px;font-weight:600;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:60px;padding:16px 26px;background:var(--green);border:1px solid transparent;color:white;font-size:15px;font-weight:600}.button:hover{background:#295341;color:white}.button.small{min-height:48px;padding:12px 20px;font-size:14px;gap:23px}.button.lime{background:var(--lime);color:var(--green)}.button.lime:hover{background:#e9ffc0}.menu{display:none;background:none;border:0;font-size:25px;color:var(--ink)}.hero{margin:0 20px;position:relative;color:white;min-height:680px;height:calc(100svh - 120px);max-height:900px;display:flex;flex-direction:column;justify-content:space-between;padding:34px 4% 26px;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(5,26,17,.65),rgba(5,26,17,.13)),linear-gradient(0deg,rgba(5,26,17,.45),transparent 50%)}.hero-top,.hero-content,.hero-bottom{position:relative;z-index:1}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:24px;font-size:13px;letter-spacing:1px}.hero-content{padding:45px 0}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:600;margin-bottom:25px}.hero h1{font-size:clamp(3.5rem,6.7vw,6.6rem);max-width:1000px;line-height:1.12;letter-spacing:-.045em}.hero h1 em{color:#e3edc9}.hero-description{margin:28px 0 30px;font-size:17px;line-height:1.75;color:#f3f4ed}.hero-bottom{border-top:1px solid #ffffff55;padding-top:21px;letter-spacing:0;font-size:14px}.hero-bottom a{display:flex;gap:24px}.hero a:not(.button):hover{color:var(--lime)}.section{padding:100px 6%;scroll-margin-top:30px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;align-items:center}.intro-copy{max-width:490px}.intro-copy p{font-size:18px}.intro-copy .muted{font-size:16px;margin-top:16px}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:35px;padding:10px 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);font-size:14px;font-weight:600}.intro .text-link{margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading>p{font-size:15px;color:var(--muted);margin-bottom:7px}.stay{padding-top:25px}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.photo-wrap{position:relative;aspect-ratio:1.5;overflow:hidden;background:#c5ccbd}.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.stay-card:hover img{transform:scale(1.035)}.image-label{position:absolute;top:20px;left:20px;font-size:11px;font-weight:600;letter-spacing:1.2px;background:var(--paper);padding:8px 13px}.photo-number{position:absolute;bottom:14px;right:20px;color:white;font-size:22px;text-shadow:0 1px 5px #000}.card-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.round{width:45px;height:45px;border:1px solid #bcc7b5;border-radius:50%;background:transparent;font-size:23px;color:var(--green)}.stay-card>p{max-width:480px;color:var(--muted);font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 18px}.tags span{border:1px solid var(--line);padding:4px 11px;font-size:12px}.stay-note{margin-top:38px;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:14px}.stay-note a{font-weight:600}.experiences{background:var(--green);color:var(--paper)}.experiences .section-heading>p{color:#c5d2c6}.experiences h2 em{color:var(--lime)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.experience-grid article{padding:28px 40px 25px 0;border-top:1px solid #ffffff40}.experience-grid article+article{padding-left:36px;border-left:1px solid #ffffff40}.experience-index{font-size:12px;letter-spacing:1.5px;color:var(--lime)}.experience-grid h3{font-family:Akrobat,Arial,sans-serif;font-size:29px;line-height:1.35;margin:26px 0 20px}.experience-grid p{color:#cad4ca;font-size:15px;min-height:100px}.experience-grid a{font-size:13px;display:inline-block;margin-top:20px;border-bottom:1px solid #91a48f;padding-bottom:8px}.experiences a:hover{color:var(--lime)}.activities{display:flex;gap:16px 30px;flex-wrap:wrap;border-top:1px solid #ffffff40;margin-top:30px;padding-top:28px;font-size:13px}.activities>span:first-child{color:var(--lime)}.events{display:grid;grid-template-columns:1.1fr 1fr;gap:15%;align-items:center;background:rgb(29 77 72 / 3%)}.event-title>p:not(.eyebrow){margin:28px 0;max-width:500px;color:#566650}.event-facts>div{display:flex;align-items:center;gap:30px;border-bottom:1px solid #becbb3;padding:15px 0}.event-facts strong{font:100px/1.3 Georgia,serif;letter-spacing:-5px;min-width:165px}.event-facts span{font-size:14px;line-height:1.8}.event-facts>p{font-size:13px;margin-top:23px;color:#64705a}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.offer-grid article{padding:30px 0;border-top:1px solid #a5b49b}.offer-grid article>span{font-size:11px;letter-spacing:1.7px;color:var(--muted)}.offer-grid h3{margin:22px 0 16px}.offer-grid p{color:var(--muted);font-size:15px;max-width:310px;min-height:70px}.offer-grid a{font-size:13px;border-bottom:1px solid #a5b49b;padding-bottom:6px;display:inline-block;margin-top:18px}.faq{padding-top:20px}.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:16px}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;line-height:1.2}details[open] summary>span{transform:rotate(45deg)}details p{color:var(--muted);font-size:15px;margin-top:15px}details p a{text-decoration:underline}.contact{background:var(--green);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.contact h2{font-size:clamp(2.5rem,4.5vw,4.1rem);margin-bottom:35px}.contact h2 em{color:var(--lime)}.contact-info .address{font-size:20px;line-height:1.6}.map-link{display:inline-block;margin-top:12px;border-bottom:1px solid #ffffff55;font-size:14px;padding-bottom:5px}.contact-phones{display:flex;flex-wrap:wrap;gap:20px 36px;margin:30px 0 20px}.contact-phones span{font-size:10px;letter-spacing:1.5px;display:block;color:#b7c8b9}.contact-phones a{font-size:18px;display:block;margin-top:8px}.contact-info>a{font-size:14px}.vk-link{margin-left:25px}.contact a:hover{color:var(--lime)}footer{padding:38px 6%;display:flex;align-items:center;justify-content:space-between;gap:35px}footer>span,footer>div{font-size:12px;color:var(--muted)}footer>div{display:flex;gap:25px}dialog{border:0;max-width:580px;width:calc(100% - 32px);padding:44px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#092117b8;backdrop-filter:blur(5px)}dialog h2{font-size:34px;margin-bottom:20px}dialog p:not(.eyebrow){font-size:15px;margin-bottom:25px;color:var(--muted)}dialog .button{width:100%;margin-bottom:12px;font-size:14px;padding:15px 20px;gap:10px}dialog .outline{background:transparent;border-color:var(--line);color:var(--green)}dialog .close{position:absolute;right:16px;top:10px;font-size:30px;background:none;border:0;color:var(--green)}dialog small{display:block;color:var(--muted);font-size:12px;margin-top:22px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.section{padding-left:max(6%,calc((100% - 1450px)/2));padding-right:max(6%,calc((100% - 1450px)/2))}}@media(max-width:1150px){.header{gap:20px}.header nav{gap:17px;font-size:13px}.phone{display:none}.hero h1{font-size:75px}.event-facts strong{font-size:80px;min-width:140px}.experience-grid article{padding-right:20px}.experience-grid article+article{padding-left:25px}.hero{min-height:650px}}@media(max-width:800px){.header{height:85px;padding:0 5%}.brand{font-size:32px}.brand span{font-size:8px}.header .button{min-height:42px;padding:10px 15px;font-size:12px;gap:10px}.header-actions{gap:12px}.menu{display:block}.header nav{display:none;position:absolute;top:85px;left:0;right:0;padding:25px 6%;background:var(--paper);z-index:10;font-size:16px;box-shadow:0 12px 20px #0002}.header nav.open{display:flex;flex-direction:column}.hero{margin:0 10px;min-height:610px;height:calc(100svh - 100px);max-height:800px;padding:25px 6%}.hero-top{font-size:10px;letter-spacing:1px}.hero-top>span:last-child{display:none}.hero-content{padding:30px 0}.hero h1{font-size:clamp(44px,8.8vw,70px)}.hero .eyebrow{font-size:10px}.hero-description{font-size:15px}.hero-bottom{font-size:12px}.hero-bottom>a{gap:8px}.section{padding:65px 6%}.intro,.events,.contact{grid-template-columns:1fr;gap:32px}.intro-copy p{font-size:16px}.section-heading{display:block;margin-bottom:28px}.section-heading>p,.section-heading>a{margin-top:24px}.stay-grid{gap:38px;grid-template-columns:1fr}.photo-wrap{aspect-ratio:1.4}.stay-card>p{max-width:none}.stay-note{display:block}.stay-note a{display:block;margin-top:10px}.experience-grid{grid-template-columns:1fr;margin-top:25px}.experience-grid article,.experience-grid article+article{border-left:none;padding:28px 0}.experience-grid h3{font-size:28px;margin:15px 0}.experience-grid h3 br{display:none}.experience-grid p{min-height:0;max-width:500px}.experience-grid a{margin-top:14px}.activities{margin-top:5px}.event-facts strong{font-size:80px}.event-facts>div{gap:35px}.offer-grid{grid-template-columns:1fr;gap:0}.offer-grid p{min-height:0;max-width:none}.offer-grid h3{margin-top:13px}.faq{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:35px}.contact .button{max-width:100%}.contact-info .address{font-size:18px}footer{flex-wrap:wrap;padding:35px 6%;gap:26px}footer>div{flex-wrap:wrap;gap:14px}footer>.brand{font-size:30px}dialog{padding:35px 25px}dialog h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Visual direction from the supplied designer reference. */
h1,h2{font-family:Akrobat,Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:1.06}h2{font-size:clamp(2.7rem,4.7vw,4.6rem)}em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--green)}h3{font-family:Akrobat,Arial,sans-serif;font-size:32px;text-transform:uppercase;font-weight:700;letter-spacing:0}.eyebrow{font-size:14px;letter-spacing:3px;font-weight:400;text-transform:lowercase}.header{position:absolute;top:0;left:0;right:0;height:115px;color:#fff;background:transparent;z-index:5;padding:0 5%}.brand{display:block;width:170px;height:85px;overflow:hidden;position:relative}.brand img{position:absolute;width:315px;height:177px;max-width:none;left:-73px;top:-48px;object-fit:contain}.header nav{font-size:15px}.header .button{background:#1d4d48df;border-color:#ffffff40}.hero{margin:0;min-height:760px;height:100svh;max-height:1000px;padding:150px 5% 25px}.hero-top{display:none}.hero-content{padding:50px 0 40px;margin:auto 0}.hero h1{font-size:clamp(60px,9.8vw,158px);max-width:none;line-height:1.03;letter-spacing:-.02em;text-shadow:0 3px 20px #0003}.hero-content>.eyebrow{display:none}.hero-description{font-size:clamp(17px,2.4vw,32px);font-weight:600;margin:22px 0 35px;line-height:1.4}.hero-address{font-size:15px;letter-spacing:.5px}.hero-shade{background:linear-gradient(180deg,#001a1990 0%,#051d1735 30%,#001b1950 55%,#001b19b0 100%)}.hero-bottom{margin-top:34px}.button{border-radius:5px;font-size:14px;text-transform:uppercase}.booking-strip{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:22px;align-items:center;z-index:1;padding:25px 30px;border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 8px 40px #0003;margin:0 auto;width:100%;max-width:1180px}.booking-strip>div>span{font-size:10px;letter-spacing:1.2px;display:block;color:var(--green)}.booking-strip strong{font-family:Akrobat,Arial,sans-serif;font-size:26px;line-height:1.2;font-weight:700;display:block;margin-top:8px}.booking-strip>button:not(.button){display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--green);border:0;border-left:1px solid var(--line);padding:12px 0 12px 22px;font-size:16px;min-height:55px}.booking-strip .button{font-size:13px;padding:16px;gap:10px;justify-content:center}.intro{padding-top:95px;padding-bottom:95px}.intro-copy p{line-height:1.75}.stay-card{border:1px solid #dce5e2;border-radius:8px;overflow:hidden;box-shadow:0 7px 24px #1d4d4810;padding-bottom:28px}.stay-card>.card-heading,.stay-card>p,.stay-card>.tags,.stay-card>.text-link{margin-left:28px;margin-right:28px}.stay-card>.text-link{background:var(--green);border:0;color:white;padding:12px 20px;border-radius:5px;margin-top:5px}.stay-card h3{color:var(--green)}.tags span{border-radius:6px;font-size:14px}.image-label{font-size:12px;border-radius:3px}.restaurant{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;background:rgb(29 77 72 / 3%);align-items:center}.restaurant>img{width:100%;height:480px;object-fit:cover;border-radius:6px}.restaurant h2{font-size:clamp(2.5rem,3.8vw,3.8rem)}.restaurant p:not(.eyebrow){margin:25px 0 30px;color:var(--muted)}.experiences{background:#fff;color:var(--ink)}.experiences .section-heading>p{color:var(--muted)}.experiences h2 em{color:var(--green)}.experience-grid article{border-color:var(--line)}.experience-grid article+article{border-color:var(--line)}.experience-index{color:var(--green);font-size:13px}.experience-grid h3{font-family:Akrobat,Arial,sans-serif;font-weight:700;font-size:35px;line-height:1.1}.experience-grid p{color:var(--muted);font-size:16px}.experience-grid a{font-size:14px;color:var(--green)}.experiences a:hover{color:#42796b}.activities{border-color:var(--line);font-size:14px}.activities>span:first-child{color:var(--green)}.events{background:rgb(29 77 72 / 3%)}.event-facts strong{font-family:Akrobat,Arial,sans-serif;font-weight:800;color:var(--green)}.offer-grid a{font-size:14px}.offer-grid article>span{font-size:12px}.contact .button.lime{background:white}.contact h2 em{color:#c2d8d0}.contact-phones span{font-size:12px}footer{background:rgb(29 77 72 / 3%)}footer>.brand img{filter:brightness(0) saturate(100%);opacity:.8}footer>span,footer>div{font-size:14px}dialog h2{font-size:39px}dialog .eyebrow{font-size:13px}dialog .text-link{font-size:14px}
@media(max-width:1150px){.header{gap:22px}.header nav{gap:18px;font-size:14px}.header .brand{width:155px;flex-shrink:0}.hero{min-height:740px}.booking-strip{gap:12px;padding:22px}.booking-strip>button:not(.button){font-size:14px}.booking-strip strong{font-size:24px}.hero h1{font-size:10.2vw}}
@media(max-width:800px){.header{height:95px;padding:0 5%}.header .brand{width:130px;height:72px}.brand img{width:270px;height:152px;left:-67px;top:-43px}.header nav{top:95px;color:var(--ink)}.menu{color:white}.hero{height:auto;min-height:850px;padding:150px 6% 24px}.hero h1{font-size:clamp(65px,14vw,105px);max-width:600px}.hero-description{font-size:19px;max-width:420px}.hero-content{padding:55px 0 45px}.hero-address{font-size:13px;max-width:340px}.hero-image{object-position:64% center}.booking-strip{grid-template-columns:1fr 1fr;padding:20px;gap:14px}.booking-strip>div{grid-column:1/-1}.booking-strip>button:not(.button){padding:10px 0;border:0;border-top:1px solid var(--line);font-size:14px}.booking-strip .button{grid-column:1/-1}.hero-bottom{font-size:12px;gap:16px;margin-top:22px}.hero-bottom>a{max-width:120px}.section{padding-top:65px;padding-bottom:65px}.stay{padding-top:0}.restaurant{grid-template-columns:1fr;gap:32px}.restaurant>img{height:320px}.experience-grid h3{font-size:32px}.event-facts strong{font-size:92px}.faq{padding-top:0}.stay-card>.card-heading,.stay-card>p,.stay-card>.tags,.stay-card>.text-link{margin-left:20px;margin-right:20px}.contact h2{font-size:46px}footer>.brand img{top:-39px;left:-50px}.header .button.small{font-size:11px;padding:11px;gap:8px}.header-actions{gap:8px}}
.group-home-lead{font-size:18px;line-height:1.6;margin:18px 0}.hero .home-group-cta{background:white;color:var(--green);margin:0 0 20px}.hero:has(.home-group-cta){height:auto;min-height:900px}.hero:has(.home-group-cta) .hero-content{padding:40px 0}.header nav{gap:18px}.header .phone{display:none}@media(max-width:800px){.hero:has(.home-group-cta){min-height:950px}.group-home-lead{font-size:16px}.hero .home-group-cta{font-size:12px;padding:15px 18px;gap:10px}.hero:has(.home-group-cta) .hero-content{padding-top:25px}footer>div{flex-wrap:wrap}}
@media(min-width:801px) and (max-width:1050px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 6%;background:#fff;color:var(--ink);z-index:10;font-size:16px;box-shadow:0 12px 20px #0002}.header nav.open{display:flex;flex-direction:column;gap:18px}.header .menu{display:block;color:#fff;background:none;border:0;font-size:26px}.header .header-actions{gap:18px}}
footer{flex-wrap:wrap}.legal-links{flex-basis:100%;display:flex;flex-wrap:wrap;gap:15px 25px;border-top:1px solid var(--line);padding-top:22px;font-size:13px;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:13px;color:var(--muted);line-height:1.5}.consent input{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--green)}.consent a{text-decoration:underline}.section-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 32px;padding:25px 5%;border-bottom:1px solid var(--line);font-size:14px;color:var(--green)}.review-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:rgb(29 77 72 / 3%);margin-bottom:70px}.review-section p:not(.eyebrow){color:var(--muted);margin-bottom:25px}.review-section .text-link{display:table;margin-top:16px}.review-section .button{font-size:12px;gap:12px}.header nav{font-size:14px;gap:18px}.header-actions{gap:15px}@media(min-width:1051px) and (max-width:1200px){.header nav{font-size:13px;gap:14px}.header{padding:0 4%;gap:15px}.header .brand{width:145px}.header .button.small{font-size:12px;padding:12px 15px}}@media(max-width:800px){.review-section{grid-template-columns:1fr;gap:30px;margin-bottom:50px}.section-nav{justify-content:flex-start;font-size:13px;gap:13px 22px}}
/* Clear paths to a group proposal, an individual stay, or an event. */
.hero:has(.sales-choice){min-height:800px;height:auto;padding-top:150px}.hero:has(.sales-choice) h1{font-size:clamp(55px,7.1vw,110px);line-height:1.03;max-width:1200px}.hero:has(.sales-choice) .hero-description{font-size:clamp(16px,1.8vw,25px);margin:24px 0 15px}.hero:has(.sales-choice) .hero-content{padding:25px 0 40px}.sales-hero-actions{display:flex;align-items:center;gap:32px;margin:24px 0}.sales-hero-actions .home-group-cta{margin:0}.hero-call{font-size:12px;line-height:1.7}.hero-call strong{font-size:18px;font-weight:500}.sales-choice{grid-template-columns:repeat(3,1fr);padding:25px 30px;gap:30px}.sales-choice>a{display:block;min-width:0;color:var(--green)}.sales-choice>a+a{border-left:1px solid var(--line);padding-left:30px}.sales-choice span{display:block;font-size:10px;letter-spacing:1.5px}.sales-choice strong{font:700 28px/1.2 Akrobat,Arial,sans-serif;display:block;margin:10px 0}.sales-choice small{font-size:13px;color:var(--muted)}.sales-formats{background:#fff}.sales-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.sales-format-grid article{padding:30px;background:rgb(29 77 72 / 3%);border:1px solid #d4e0d6;display:flex;flex-direction:column;align-items:start}.sales-format-grid article>span{font-size:11px;letter-spacing:1px;color:var(--green)}.sales-format-grid h3{font-size:32px;margin:24px 0 12px;line-height:1.15}.sales-format-grid p{font-size:15px;color:var(--muted)}.sales-format-grid ul{padding:20px 0;list-style:none;flex:1;width:100%;margin:0 0 10px}.sales-format-grid li{font-size:14px;padding:10px 0;border-bottom:1px solid var(--line)}.sales-format-grid .button{width:100%;font-size:11px;padding:14px;min-height:50px;gap:10px}.sales-price-note{margin-top:27px;max-width:800px;font-size:14px;color:var(--muted)}.sales-formats>.text-link{margin-top:15px}.quick-contact{position:fixed;right:22px;bottom:20px;z-index:20;display:flex;box-shadow:0 5px 24px #0003;border:1px solid #ffffff40;border-radius:6px;overflow:hidden}.quick-contact a{background:white;color:var(--green);font-size:13px;padding:14px 20px;font-weight:600}.quick-contact a+a{background:var(--green);color:#fff}.quick-contact a:hover{background:rgb(29 77 72 / 3%);color:var(--green)}body:has(dialog[open]) .quick-contact{display:none}footer{padding-bottom:95px}.request-extra{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:25px}.request-extra summary{font-size:15px;color:var(--green)}.request-extra .form-grid{margin-top:24px}.request-extra[open] summary span{transform:rotate(45deg)}.direct-call{display:flex;max-width:320px;margin-bottom:12px}.group-answer{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;background:rgb(29 77 72 / 3%)}.group-answer ul{list-style:none;margin:0;padding:0}.group-answer li{padding:19px 0;border-top:1px solid #bfcec4}.group-answer strong{font-size:17px;color:var(--green);display:block}.group-answer span{color:var(--muted);font-size:15px;display:block;margin-top:7px}@media(max-width:1050px){.sales-format-grid{gap:16px}.sales-format-grid article{padding:23px}.sales-format-grid h3{font-size:28px}.sales-format-grid .button{font-size:10px}}@media(max-width:800px){.hero:has(.sales-choice){min-height:1000px;padding-top:135px}.hero:has(.sales-choice) h1{font-size:clamp(47px,9.5vw,76px)}.sales-hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.sales-hero-actions .home-group-cta{font-size:12px}.hero-call{font-size:12px}.hero-call strong{font-size:18px}.sales-choice{grid-template-columns:1fr;padding:20px;gap:15px}.sales-choice>a+a{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.sales-choice strong{font-size:24px;margin:5px 0}.sales-choice small{font-size:12px}.sales-choice span{font-size:10px}.sales-format-grid,.group-answer{grid-template-columns:1fr;gap:25px}.sales-format-grid article{padding:28px}.sales-format-grid h3{font-size:34px}.sales-format-grid .button{font-size:13px}.quick-contact{right:12px;left:12px;bottom:12px;justify-content:stretch}.quick-contact a{flex:1;text-align:center;font-size:12px;padding:15px 10px}.quick-contact a+a{flex:1.6}.group-answer{gap:35px}}

.resort-location{background:rgb(29 77 72 / 3%)}.location-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:45px 0}.location-facts article{border-top:1px solid #a8bab1;padding-top:25px}.location-facts strong{font:800 clamp(42px,4vw,65px)/1 Akrobat,Arial,sans-serif;color:#8b2645}.location-facts h3{font-size:29px;margin:18px 0 15px}.location-facts p,.location-end p{color:var(--muted)}.location-end{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;border-top:1px solid #a8bab1;padding-top:30px}.location-end h3{font-size:32px;margin-bottom:15px}.location-end p{margin-top:12px}.location-end>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:20px}@media(max-width:800px){.location-facts,.location-end{grid-template-columns:1fr;gap:25px}}

.regional-routes{background:rgb(29 77 72 / 3%)}.regional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:40px}.regional-grid article{border-top:1px solid #afbeb4;padding-top:22px}.regional-grid article>span{font-size:12px;letter-spacing:1px;color:#8b2645}.regional-grid h3{font-size:29px;line-height:1.1;margin:20px 0}.regional-grid p,.regional-cta p,.regional-teaser>p:not(.eyebrow){color:var(--muted)}.regional-cta{border-top:1px solid #afbeb4;margin-top:40px;padding-top:30px;display:flex;align-items:center;gap:40px}.regional-cta p{flex:1}.regional-cta .button{max-width:100%}.regional-teaser p:not(.eyebrow){max-width:800px;margin:24px 0}.nearby-places .route-note{font-size:13px;color:var(--muted)}@media(max-width:800px){.regional-grid{grid-template-columns:1fr}.regional-cta{flex-direction:column;align-items:flex-start;gap:20px}}

.four-choices{grid-template-columns:repeat(4,1fr)}.capacity-band{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 6%;gap:25px;background:rgb(29 77 72 / 3%);border-bottom:1px solid #d4dbd2}.capacity-band>div{display:flex;flex-direction:column;gap:10px}.capacity-band strong{font:800 45px/1 Akrobat,Arial,sans-serif;color:var(--green)}.capacity-band span{font-size:13px;color:var(--muted)}.three-stays{grid-template-columns:repeat(3,1fr)}.three-stays .tags{flex-wrap:wrap}.national-project{background:var(--green);color:white}.national-project>div{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.national-project h2{font-size:clamp(34px,4vw,56px)}.national-project h2 em{color:#c7dbd2}.national-project p:not(.eyebrow){color:#e0e9e3}.national-project .eyebrow{color:#c7dbd2}@media(max-width:1000px){.four-choices{grid-template-columns:repeat(2,1fr)}.three-stays{grid-template-columns:1fr 1fr}}@media(max-width:800px){.capacity-band{grid-template-columns:repeat(2,1fr);padding:28px 6%;gap:30px}.capacity-band strong{font-size:38px}.three-stays,.national-project>div{grid-template-columns:1fr}.national-project>div{gap:25px}.four-choices{grid-template-columns:1fr 1fr}.four-choices a{padding:16px}.four-choices strong{font-size:20px}.four-choices small{font-size:11px}}

.all-sections{position:relative}.all-sections summary{cursor:pointer;white-space:nowrap}.all-sections>div{position:absolute;top:34px;right:-80px;min-width:480px;display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;padding:20px;box-shadow:0 15px 40px #0003;border-radius:4px;z-index:90;color:var(--green)}.all-sections>div a{padding:11px 14px;color:var(--green)!important;white-space:normal;font-size:14px;border-bottom:1px solid #e2e8e2}.all-sections>div a:hover{background:rgb(29 77 72 / 3%)}.contacts-direct{padding-top:160px;background:rgb(29 77 72 / 3%)}.contacts-direct h1{font:800 clamp(55px,8vw,105px)/1 Akrobat,Arial,sans-serif;color:var(--green)}.contact-large{font:700 clamp(24px,3vw,40px)/1.2 Akrobat,Arial,sans-serif!important}.contact-channels{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px}.content-cards .event-grid article{display:flex;flex-direction:column;align-items:flex-start}.content-cards .event-grid article>a{margin-top:24px}.header{z-index:100}@media(max-width:800px){.all-sections>div{position:static;min-width:0;box-shadow:none;grid-template-columns:1fr;padding:8px;margin-top:12px;max-height:45vh;overflow:auto}.contacts-direct{padding-top:130px}.contact-channels .button{font-size:13px;overflow-wrap:anywhere}.all-sections summary{padding:6px 0}}

.kitchen-videos{background:rgb(29 77 72 / 3%)}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.video-grid article{background:white;padding:25px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.video-grid img{width:100%;height:300px;object-fit:cover}.video-grid h3{font-size:33px}.video-grid p{color:var(--muted)}.video-grid .button{margin-top:auto}@media(max-width:800px){.video-grid{grid-template-columns:1fr}.video-grid img{height:260px}}

.contacts-page .header{background:var(--green)}

.contact-dock{position:fixed;bottom:18px;right:22px;z-index:150;display:flex;align-items:stretch;box-shadow:0 6px 28px #102d2940;border-radius:8px;background:var(--green);color:white}.contact-dock .dock-call{padding:17px 20px;color:white;border-right:1px solid #fff4}.guest-contact{position:relative}.guest-contact>summary{padding:17px 20px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;font-size:15px}.guest-contact>summary::-webkit-details-marker{display:none}.guest-contact-panel{position:absolute;right:0;bottom:calc(100% + 14px);width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);overflow-y:auto;background:#fff;color:#25392f;padding:28px;border:1px solid #d8e2d9;border-radius:12px;box-shadow:0 12px 50px #15332638}.guest-contact-panel h2{font-size:31px;line-height:1.1;margin-bottom:16px}.guest-contact-panel>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-bottom:20px;color:#526457}.guest-contact-panel .button{font-size:13px;width:100%;padding:16px 12px;text-align:center}.guest-contact-panel>.text-link{font-size:13px;margin:18px 0;display:block}.guest-contact-topics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.guest-contact-topics a{font-size:13px;padding:12px;background:rgb(29 77 72 / 3%);color:var(--green);border-radius:4px}.guest-contact-panel .guest-contact-note{font-size:12px!important}.guest-contact-note a{text-decoration:underline}.guest-contact-close{background:none;border:0;color:var(--green);text-decoration:underline;cursor:pointer;font-size:14px}.contact-dock a:focus-visible,.contact-dock button:focus-visible,.contact-dock summary:focus-visible{outline:3px solid #a85071;outline-offset:3px}@media(max-width:800px){.contact-dock{bottom:max(12px,env(safe-area-inset-bottom));right:16px;left:16px;justify-content:center}.guest-contact{position:static;flex:1}.guest-contact>summary{justify-content:center;font-size:14px}.contact-dock .dock-call{padding:17px 18px;font-size:14px}.guest-contact-panel{right:0;width:min(390px,calc(100vw - 32px));padding:24px}.contact-dock{position:fixed}}


/* leisure.css */
/* Shared leisure pages and media */
.local-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:1000px;margin:40px auto 0}.local-film{margin:0;display:grid;grid-template-columns:minmax(140px,230px) 1fr;gap:24px;align-items:center}.local-film video{width:100%;aspect-ratio:9/16;object-fit:contain;background:#102e2b;border-radius:6px}.local-film h3{font-size:30px;line-height:1.15;margin:0 0 16px}.local-film p{font-size:17px;color:var(--muted)}.cabin-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:40px 0}.cabin-gallery img{width:100%;height:560px;object-fit:cover;border-radius:6px}.leisure-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:rgb(29 77 72 / 3%)}.leisure-feature>img{width:100%;height:510px;object-fit:cover;object-position:50% 75%;border-radius:6px}.leisure-feature p,.leisure-banya p,.leisure-plan>p,.group-invitation p{max-width:680px;margin:24px 0;font-size:19px}.leisure-banya{background:var(--green);color:white}.leisure-banya em{color:#c4ddd2}.leisure-banya .button{background:white;color:var(--green)}.leisure-plan{background:rgb(29 77 72 / 3%)}.group-invitation{display:flex;justify-content:space-between;align-items:center;gap:40px}.group-invitation h2{font-size:clamp(36px,4vw,62px)}.group-invitation .button{flex-shrink:0}.hero-buttons{flex-wrap:wrap}.cabin-gallery+.section-note{margin-bottom:22px}
@media(max-width:900px){.local-films{gap:28px}.local-film{grid-template-columns:1fr}.local-film video{max-height:510px}.cabin-gallery img{height:400px}.group-invitation{display:block}.leisure-feature{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.local-films{grid-template-columns:1fr;max-width:330px}.local-film{gap:18px}.cabin-gallery{grid-template-columns:1fr}.cabin-gallery img{height:auto;max-height:620px;object-fit:contain}.leisure-feature>img{height:400px}.hero-content h1{font-size:clamp(44px,11vw,70px)}}

.workshops-section{background:rgb(29 77 72 / 3%)}.workshops-lead{max-width:850px;font-size:21px;line-height:1.55;margin-top:28px}.workshops-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:36px}.workshops-section .section-note a{text-decoration:underline}.workshops-section .event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px}.workshops-section article{border-top:1px solid #9fb2a5;padding-top:24px}.workshops-section article>span{font-size:14px;color:var(--green)}.workshops-section h3{font-size:34px;margin:18px 0 12px}.workshops-section article p{font-size:18px;line-height:1.55}.workshops-section .section-note{max-width:900px;font-size:15px;margin-top:30px}@media(max-width:700px){.workshops-section .event-grid{grid-template-columns:1fr}.workshops-actions{align-items:flex-start;flex-direction:column}}

.banya-page .header{position:relative!important;background:#1d4d48!important}.banya-cover{display:grid;grid-template-columns:1fr 1fr;min-height:730px;background:rgb(29 77 72 / 3%);color:#1d4d48}.banya-cover-copy{padding:70px 10% 65px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.banya-cover .breadcrumb{color:#536d67;margin-bottom:45px;font-size:15px}.banya-cover h1{font-size:clamp(50px,5.6vw,88px);line-height:1.08;letter-spacing:-.025em}.banya-cover-copy>p:not(.eyebrow){font-size:21px;line-height:1.6;margin:30px 0;max-width:490px;color:#48635e}.banya-cover figure{margin:0;position:relative;min-height:730px}.banya-cover img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.banya-cover figcaption{position:absolute;bottom:20px;left:20px;background:#ffffffeb;color:#1d4d48;padding:8px 14px;font-size:14px}.banya-cover .text-link{margin-top:18px}.banya-location{font-size:14px;margin-top:32px;color:#536d67}.nature-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:35px}.nature-photo-pair img{width:100%;height:480px;object-fit:cover;border-radius:6px}.nature-photo-pair figure{margin:0}.nature-photo-pair figcaption{font-size:15px;margin-top:12px;color:#536d67}@media(max-width:800px){.banya-cover{grid-template-columns:1fr}.banya-cover-copy{padding:45px 6%}.banya-cover figure{min-height:480px}.banya-cover .breadcrumb{margin-bottom:28px}.nature-photo-pair{grid-template-columns:1fr}.nature-photo-pair img{height:420px}}

/* Resort direction, aligned with the supplied designer reference */
.resort-home .hero{min-height:720px;height:90svh;max-height:1000px;padding-top:145px}.resort-home .hero-content{padding:30px 0 60px;max-width:1050px}.resort-home .hero h1{font:700 clamp(64px,8.4vw,130px)/1.02 Akrobat,Arial,sans-serif;letter-spacing:-.03em}.resort-home .hero-description{font:400 clamp(23px,3vw,42px)/1.2 Akrobat,Arial,sans-serif;max-width:760px;margin:24px 0}.resort-home .hero-shade{background:linear-gradient(90deg,rgba(8,37,31,.54),rgba(8,37,31,.03) 80%),linear-gradient(0deg,rgba(8,37,31,.35),transparent 40%)}.resort-home .group-home-lead{font-size:19px;line-height:1.55}.resort-home .sales-choice{margin:0;max-width:none;width:100%;border-radius:0;padding:30px 6%;box-shadow:none;border-bottom:1px solid #d9dfd5;grid-template-columns:repeat(4,minmax(0,1fr))}.resort-home .hero-top{font-size:12px}.resort-home .hero-address{font-size:14px}.resort-home .hero-bottom{margin-top:20px}.resort-home .hero-image{object-position:50% 55%}h2 em{font-family:Akrobat,Arial,sans-serif;font-style:normal;color:var(--green)}.contact h2 em,.info-history h2 em,.leisure-banya h2 em{color:#c4ddd2}@media(max-width:800px){.resort-home .hero{min-height:780px;height:auto;padding-top:125px}.resort-home .hero-content{padding:35px 0}.resort-home .hero h1{font-size:clamp(50px,11vw,82px)}.resort-home .hero-description{font-size:29px}.resort-home .sales-choice{grid-template-columns:1fr 1fr;padding:24px 6%;gap:22px}.resort-home .sales-choice>a+a{border:0;padding:0}.resort-home .sales-choice strong{font-size:24px}.resort-home .hero-top{display:none}.resort-home .hero-image{object-position:58% center}}@media(max-width:420px){.resort-home .sales-choice{grid-template-columns:1fr}.resort-home .sales-choice>a+a{border-top:1px solid var(--line);padding-top:16px}}

.cafe-story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.cafe-story>img{width:100%;height:490px;object-fit:cover}.cafe-story p:not(.eyebrow){font-size:21px;line-height:1.6;margin:28px 0}.gastro-guide{background:rgb(29 77 72 / 3%)}.guide-lead{font-size:23px;max-width:940px;margin:28px 0}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:45px 0}.guide-grid article{border-top:1px solid #a2bab3;padding-top:24px}.guide-grid span{font-size:14px;color:#1d4d48;letter-spacing:1px}.guide-grid h3{font-family:Akrobat,Arial,sans-serif;font-size:38px;margin:20px 0}.guide-grid p{font-size:19px;line-height:1.65}.gastro-guide .section-note{font-size:14px;color:#647970;margin-top:24px}@media(max-width:800px){.cafe-story,.guide-grid{grid-template-columns:1fr;gap:30px}.cafe-story>img{height:330px}}

/* Real sauna and kitchen photographs */
.banya-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}.banya-gallery figure{margin:0;min-width:0}.banya-gallery img{display:block;width:100%;height:380px;object-fit:cover;border-radius:4px}.banya-gallery figure:first-child{grid-column:auto}.banya-gallery figure:first-child img{height:auto;max-height:720px}.banya-gallery figure:last-child img{object-fit:contain;background:rgb(29 77 72 / 3%)}.banya-gallery figcaption,.workshop-photo figcaption{font-size:14px;line-height:1.5;margin-top:12px;color:#46554f}.workshop-photo{margin:32px 0}.workshop-photo img{display:block;width:100%;max-height:680px;object-fit:cover;border-radius:4px}.cake-story{background:rgb(29 77 72 / 3%)}.cake-story img{height:auto;aspect-ratio:1.2;object-fit:cover}.cake-story .section-note{font-size:14px}.cafe-story>div{min-width:0}@media(max-width:700px){.banya-gallery{grid-template-columns:1fr;gap:24px}.banya-gallery img{height:auto;max-height:620px;object-fit:contain}.banya-gallery figure:first-child{grid-column:auto}.workshop-photo img{max-height:none}.cake-story{display:flex;flex-direction:column}.cake-story img{width:100%}}


/* home.css */
/* Homepage: quiet resort photography and clear choices */
.resort-home .hero h1{font-size:clamp(58px,7.3vw,112px);max-width:1050px}.resort-home .hero-description{font-size:clamp(25px,3vw,40px);text-transform:none}.resort-home .group-home-lead{max-width:630px}.resort-home .hero{height:auto;min-height:820px;max-height:none;padding-bottom:45px}.resort-home .hero-content{padding-bottom:20px}.resort-home .hero-bottom{position:relative;margin:20px 6% 0;bottom:auto;left:auto;right:auto}.home-kitchen-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.home-kitchen-photos img{width:100%;height:460px;object-fit:cover;border-radius:4px}.home-kitchen-photos img+img{height:330px;margin-top:0}.home-proof{border-left:2px solid #1d4d48;padding-left:18px;font-size:16px!important}.home-secondary{display:block;margin-top:24px}.home-banya{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;background:#1d4d48;color:white;align-items:center}.home-banya>img{width:100%;height:470px;object-fit:cover;border-radius:4px}.home-banya h2 em{color:#d8ee9d}.home-banya p{margin:24px 0}.home-banya .section-note{font-size:14px;color:#d6e4de}.home-history{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;background:rgb(29 77 72 / 3%)}.home-history p:not(.eyebrow){margin:24px 0;line-height:1.7}.home-history figure{margin:0}.home-history img{width:100%;height:460px;object-fit:cover}.home-history figcaption{font-size:14px;color:#54655d;margin-top:12px}.home-format-links{display:flex;flex-wrap:wrap;gap:20px;grid-column:1/-1}.home-format-links a{border-bottom:1px solid #87a19a;padding:12px 0}.resort-home .regional-teaser{padding-top:55px;padding-bottom:55px}.resort-home .group-invitation{flex-wrap:wrap}.resort-home .group-invitation>div:first-child{flex:1 1 550px}.resort-home .group-invitation .home-format-links{flex:1 0 100%}.resort-home .capacity-band strong{font-size:clamp(28px,3.3vw,48px)}@media(max-width:800px){.resort-home .hero{min-height:760px;padding-bottom:25px}.resort-home .hero h1{font-size:clamp(48px,10vw,76px)}.resort-home .hero-content{padding-top:20px}.resort-home .group-home-lead{font-size:18px}.home-banya,.home-history{grid-template-columns:1fr;gap:28px}.home-banya>img,.home-history img{height:330px}.home-kitchen-photos img{height:320px}.home-kitchen-photos img+img{height:240px;margin-top:0}.home-format-links{gap:14px}.resort-home .capacity-band{grid-template-columns:1fr 1fr}.resort-home .hero-bottom{font-size:14px}.resort-home .restaurant{gap:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* photo-format.css */
/* Shared contemporary photo framing. Archive documents and brand assets retain their proportions. */
main .photo-wrap{aspect-ratio:3/2;height:auto!important}
main .photo-wrap img,main .cabin-photo-grid img,main .cabin-gallery img,main .banya-gallery img,main .family-photo-grid img,main .nature-photo-pair img,main .video-grid img,main .workshop-photo img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
main .image-story>img,main .cafe-story>img,main .home-banya>img,main .group-food>img,main .restaurant>img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
main .family-photo-grid img.portrait{object-fit:contain;background:rgb(29 77 72 / 3%)}

main .cabin-photo-grid img.photo-portrait,main .cabin-gallery img.photo-portrait,main .banya-gallery img.photo-portrait,main .family-photo-grid img.photo-portrait,main .nature-photo-pair img.photo-portrait,main .workshop-photo img.photo-portrait{object-fit:contain;background:rgb(29 77 72 / 3%)}
main .group-photo-grid img,main .group-stay-layout>img,main .home-kitchen-photos img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
main .group-photo-grid img.photo-portrait,main .home-kitchen-photos img.photo-portrait{object-fit:contain;background:rgb(29 77 72 / 3%)}

/* Equal-size photographs within every gallery: no staggered cards or featured spans. */
main :is(.home-kitchen-photos,.cabin-gallery,.cabin-photo-grid,.hotel-photo-grid,.family-photo-grid,.banya-gallery,.group-photo-grid,.nature-photo-pair,.video-grid){align-items:start}
main :is(.home-kitchen-photos,.cabin-gallery,.cabin-photo-grid,.hotel-photo-grid,.family-photo-grid,.banya-gallery,.group-photo-grid,.nature-photo-pair,.video-grid)>*{min-width:0}
main .home-kitchen-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
main .home-kitchen-photos img,main .home-kitchen-photos img+img{margin:0!important;align-self:start}
main .banya-gallery figure:first-child{grid-column:auto!important}
main :is(.home-kitchen-photos,.cabin-gallery,.cabin-photo-grid,.hotel-photo-grid,.family-photo-grid,.banya-gallery,.group-photo-grid,.nature-photo-pair,.video-grid) img{display:block;width:100%;max-width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;border-radius:4px;box-sizing:border-box}
@media(max-width:600px){main .home-kitchen-photos{grid-template-columns:1fr}}


/* brand.css */
:root{--ruby:#D40054;--pink:#EC9BAD;--ink:#004C46;--green:#6EA694;--white:#fff}body{color:var(--ink);background:#fff;font-family:'Din Text Pro',Arial,sans-serif;font-size:17px}h1,h2,h3{font-family:'Din Text Comp Pro',Akrobat,Arial,sans-serif;color:inherit}h1{font-size:clamp(2.7rem,7vw,6.4rem);line-height:1.04}h2{line-height:1.12}p{line-height:1.65}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #D40054}body .button,body .button.lime,body .home-group-cta{background:#D40054;color:white;border:1px solid #D40054;border-radius:6px;min-height:46px;text-decoration:none}body .button:hover{background:#ad0045;border-color:#ad0045;color:white}body .button.outline{background:transparent;color:var(--ink)}body .header,body footer{background:#004C46;color:white}body .header{gap:20px}body .header nav{gap:clamp(12px,1.4vw,24px)}body .header nav>a{font-size:15px;white-space:nowrap}body .header .phone{display:none}body .header .brand img{object-fit:contain}body .hero{min-height:640px}body .hero h1{font-size:clamp(4rem,9vw,9rem);max-width:950px}body .hero-description{font-size:clamp(1.3rem,2.6vw,2rem);max-width:780px;line-height:1.35}body .hero-content{padding-bottom:60px}body .hero-shade{background:linear-gradient(90deg,rgba(0,40,35,.7),rgba(0,40,35,.08))}body .hero-top{font-size:13px}body .capacity-band{background:#004C46;color:white}body .capacity-band strong{color:white}body .contact,body .home-banya,body .group-invitation,body .national-project{background:#004C46;color:#fff}body .offers,body .choice-help{background:rgb(29 77 72 / 3%)}body .tags span{background:rgb(29 77 72 / 3%);color:#004C46}body .contact-dock .dock-call,body .guest-contact>summary{background:#004C46;color:#fff}body .contact-dock{bottom:14px;right:14px}body .section{scroll-margin-top:100px}body .section h2 em{color:inherit}body .tz-main{padding-top:90px}body .tz-main h1{max-width:1100px;margin:24px 0}body .tz-main .section{padding-top:60px;padding-bottom:60px}body .search-band{padding:30px max(24px,5vw);background:#004C46;color:#fff}body .stay-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end;margin:22px 0}body .stay-search label{display:grid;gap:8px;font-size:15px;min-width:0}body .stay-search :is(input,select){width:100%;min-width:0;min-height:50px;border:1px solid #aac4bc;border-radius:5px;padding:12px;background:#fff;color:#004C46}body .children-ages{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap;grid-row:2}body [hidden]{display:none!important}body .search-error{grid-column:1/-1;margin:0;color:inherit}body .tz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0}body .tz-grid article{border:1px solid #cddbd6;padding:24px;border-radius:8px;min-width:0;background:white}body .tz-grid h2{font-size:2.2rem}body .tz-grid h3{font-size:1.9rem;margin:22px 0 12px}body .tz-grid img,body .tz-split>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:5px;display:block}body .tz-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}body .tz-split a{display:table;margin-top:20px}body .catalog-filters,body .choice-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}body .catalog-filters button,body .choice-buttons button{padding:13px 20px;background:white;color:#004C46;border:1px solid #6EA694;border-radius:5px;cursor:pointer}body .catalog-filters button[aria-pressed=true],body .choice-buttons button[aria-pressed=true]{color:#fff;background:#004C46}body .compare-check{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:16px}body .compare-check input{width:20px;height:20px;accent-color:#D40054}body .table-scroll{overflow-x:auto}body .comparison table{border-collapse:collapse;min-width:500px;width:100%;margin:20px 0}body .comparison th,body .comparison td{padding:18px;border:1px solid #cddbd6;text-align:left}body .comparison th{background:rgb(29 77 72 / 3%)}body .booking-result{border:1px solid #6EA694;padding:28px;border-radius:8px;margin-top:30px}body .booking-result h2{font-size:2rem}body .booking-result .text-link{display:block;margin-top:20px}body #choice-result a{display:inline-block;margin:0 20px 24px 0}body .repeat-search{background:rgb(29 77 72 / 3%)}body .tz-main .text-link{font-size:17px}body .tz-main .eyebrow{font-size:14px}
@media(max-width:1100px){body .header .menu{display:block}body .header nav{display:none}body .header nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#004C46;padding:24px;flex-direction:column;align-items:flex-start}body .header nav.open a{padding:10px;font-size:18px}body .stay-search{grid-template-columns:repeat(2,minmax(0,1fr))}body .stay-search>button{grid-column:1/-1}body .tz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body{font-size:16px}body .header{padding:12px 18px}body .header .brand{width:100px}body .header .button{font-size:14px;padding:10px 12px}body .hero{min-height:650px}body .hero h1{font-size:4.4rem}body .hero-top{display:none}body .hero-content{padding:90px 24px 60px}body .hero-content .hero-description{font-size:23px}body .hero-bottom{font-size:13px}body .search-band{padding:20px}body .stay-search{gap:12px}body .stay-search input{padding:10px 6px;font-size:15px}body .tz-grid,body .tz-split{grid-template-columns:1fr}body .tz-main .section{padding:32px 20px}body .tz-grid article{padding:18px}body .contact-dock{bottom:8px;right:8px;max-width:calc(100vw - 16px)}body footer{padding-bottom:90px}body .guest-contact-panel{max-width:calc(100vw - 24px);max-height:70vh;overflow:auto}body .tz-main{padding-top:68px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.admin-shell{max-width:1500px;margin:auto}.admin-shell form{display:grid;gap:16px}.admin-shell label{display:grid;gap:6px}.admin-shell :is(input,select,textarea){border:1px solid #6EA694;padding:12px;width:100%;min-width:0;border-radius:4px;background:white;color:#004C46}.admin-shell button{padding:12px;cursor:pointer;min-height:44px}.admin-shell article{border:1px solid #ccd9d4;padding:20px;margin:20px 0;border-radius:6px}.admin-shell #entity-fields{display:grid;gap:16px}.admin-shell .tz-split{grid-template-columns:1fr 1.7fr}.admin-shell #content-preview img{width:100%;aspect-ratio:3/2;object-fit:cover}.admin-shell #integration-state{white-space:pre-wrap}.admin-shell #content-list button{display:block;width:100%;text-align:left;margin:10px 0;background:rgb(29 77 72 / 3%);border:1px solid #6EA694;color:#004C46}.admin-shell #content-preview{white-space:pre-wrap}.admin-shell #content-history button{display:block;margin:10px 0}@media(max-width:750px){.admin-shell .tz-split{grid-template-columns:1fr}}


/* resort/nature.css */
.resort-nature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:35px;align-items:start}.resort-nature-grid figure{margin:0;min-width:0}.resort-nature-grid a{display:block;aspect-ratio:3/2;overflow:hidden;background:rgb(29 77 72 / 3%);border-radius:5px}.resort-nature-grid img{display:block;width:100%;height:100%!important;aspect-ratio:3/2;object-fit:cover}.resort-nature-grid figcaption{font-size:18px;line-height:1.5;color:#004c46;margin-top:14px}.resort-nature-note{font-size:15px;color:#53675b;margin-top:24px}@media(max-width:650px){.resort-nature-grid{grid-template-columns:1fr;gap:25px}}
.resort-social{background:rgb(29 77 72 / 3%)}.resort-social>a:first-child{display:block;margin-bottom:32px}.resort-social img{display:block;width:100%;height:auto;border-radius:5px}.resort-social h2{max-width:950px}.resort-social p:not(.eyebrow){font-size:20px;line-height:1.6;max-width:800px;margin:24px 0}


/* river-photos.css */
body .hero #hero-title{font-size:clamp(3rem,6vw,6.2rem);line-height:1.06;max-width:1000px}body .hero-content .hero-description{max-width:780px}@media(max-width:600px){body .hero-content{padding:50px 20px}body .hero #hero-title{font-size:clamp(2.6rem,10vw,3.8rem)}}.resort-lead{font-size:20px;line-height:1.65;max-width:900px}.resort-nature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resort-nature-grid img{height:100%!important;aspect-ratio:3/2;object-fit:cover}@media(max-width:650px){.resort-nature-grid{grid-template-columns:1fr}}

/* layout-fixes.css */
/* Intrinsic photo proportions; image frames never follow the text column height. */
main img[width][height]{max-width:100%;height:auto}
main :is(.gastro-hero,.activity-hero,.banya-cover,.hero,.konka-stage)>img{height:100%!important;object-fit:cover}
main .resort-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
main .resort-split>*{min-width:0}
main .resort-split>img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
main .resort-split figure{align-self:center;width:100%;margin:0}
main .resort-split figure img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto;object-fit:contain}
main .archive-proportions a{display:block}
main .archive-proportions img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
main :is(.wedding-gallery,.archive-grid,.resort-nature-grid,.hotel-photo-grid,.cafe-photo-gallery)>*{min-width:0}
@media(max-width:950px){main .resort-split{grid-template-columns:minmax(0,1fr);gap:30px}}


/* reference-theme.css */
/* Shared visual system drawn from the owner's sait-nov reference. */
:root{--green:#1d4d48;--ink:#383838;--ruby:#1d4d48;--lime:rgb(29 77 72 / 3%);--paper:#fff;--muted:#64716e;--line:#d5dfdc}
body{font-family:Helvetica,Arial,sans-serif;color:#383838;background:#fff;line-height:1.75}
body h1,body h2,body h3{font-family:Akrobat,'Arial Narrow',Arial,sans-serif;font-weight:800;letter-spacing:-.015em;text-transform:uppercase}
body h2{font-size:clamp(32px,3.1vw,50px);line-height:1.1}body h3{font-size:clamp(24px,2.1vw,32px);line-height:1.18}
body h1 em,body h2 em,body h3 em{font-family:inherit;font-style:normal;font-weight:inherit;color:inherit}
body .eyebrow{font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:3px;line-height:1.6;text-transform:lowercase}
body .section{padding:88px max(24px,calc((100vw - 1280px)/2));scroll-margin-top:35px}
body .section :is(h2,h3){color:inherit}body .section-heading{gap:24px;margin-bottom:36px}
body .button,body .button.lime,body .home-group-cta{background:#1d4d48;border-color:#1d4d48;color:#fff;border-radius:5px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 2px 8px #00000014;min-height:48px}
body .button:hover,body .button.lime:hover{background:#123f39;border-color:#123f39;color:#fff;transform:none}
body .button.outline{background:transparent;border-color:#1d4d4899;color:#1d4d48;box-shadow:none}
body .text-link{color:inherit;font-size:15px;font-weight:500}body .tags span{border:1px solid #1d4d4866;background:transparent;color:#1d4d48;border-radius:7px;padding:6px 12px;font-size:13px}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #83b7a8;outline-offset:5px}
body .header{position:relative;top:auto;left:auto;right:auto;z-index:30;height:auto;min-height:96px;width:100%;padding:16px max(24px,calc((100vw - 1400px)/2));background:#1d4d48;color:#fff;gap:24px;box-shadow:none}
body .header nav{gap:clamp(12px,1.4vw,22px)}body .header nav>a{font-size:15px;font-weight:400;text-transform:lowercase}
body .header .brand{flex-shrink:0}body .header .brand img{max-width:135px;max-height:72px;width:auto;height:auto}
body .header .button{border-color:#ffffff70;background:transparent;box-shadow:none;white-space:nowrap}body .header .button:hover{background:#ffffff1f}
body .header .menu{color:#fff}body .header nav.open{background:#1d4d48}
body footer{background:#fff;color:#383838;border-top:1px solid #d5dfdc}body footer .brand{color:#1d4d48}body footer a:hover{color:#1d4d48}
body .offers,body .choice-help,body .repeat-search,body .home-history,body .parking-summary{background:rgb(29 77 72 / 3%)}
body .contact,body .home-banya,body .group-invitation,body .national-project{background:#1d4d48;color:#fff}
body .contact .button,body .group-invitation .button,body .home-banya .button{border-color:#ffffff90;background:#fff;color:#1d4d48}
body .contact-dock .dock-call,body .guest-contact>summary{background:#1d4d48;color:#fff}
body .tz-grid article{border:1px solid #d5dfdc;border-radius:8px;box-shadow:0 2px 12px #00000008}
body .resort-philosophy{max-width:1440px;margin:auto}body .resort-philosophy h2{max-width:1040px;color:#383838;line-height:1.2}body .resort-philosophy h2 span{color:#587670}body .resort-philosophy>p:not(.eyebrow){max-width:900px;font-size:clamp(18px,1.7vw,23px);margin:28px 0}
body.resort-home .header{position:absolute;inset:0 0 auto;background:linear-gradient(#12352f80,#12352f28);border-bottom:1px solid #ffffff30}
body.resort-home .hero{margin:0;width:100%;height:auto;min-height:max(790px,100svh);max-height:none;padding:145px max(24px,calc((100vw - 1280px)/2)) 32px;display:flex;justify-content:flex-end;gap:40px;border-radius:0;overflow:hidden}
body.resort-home .hero .hero-image{position:absolute;inset:0;display:block;width:100%;height:100%!important;max-height:none;object-fit:cover;object-position:center;aspect-ratio:auto;border-radius:0;transition:opacity 1.25s ease;opacity:0}
body.resort-home .hero .hero-image.is-active{opacity:1}
body.resort-home .hero-shade{background:linear-gradient(90deg,#0b272d59,transparent 75%),linear-gradient(0deg,#051c20a6,transparent 75%);z-index:0}
body.resort-home .hero-content{position:relative;z-index:1;width:100%;padding:0;margin:100px 0 0;color:#fff}
body.resort-home .hero-content .eyebrow{font-size:14px;letter-spacing:3px;margin:0 0 20px;text-transform:uppercase}
body.resort-home .hero h1{font-size:clamp(72px,7.5vw,116px);line-height:.95;font-weight:800;max-width:750px;letter-spacing:-.015em;color:white;text-shadow:0 3px 16px #00000025}
body.resort-home .hero-description{font-size:clamp(21px,2vw,29px);line-height:1.4;font-weight:400;max-width:670px;margin:24px 0 18px;color:#fff}
body.resort-home .hero-address{font-size:14px;color:#fff;line-height:1.6;margin:0}
.season-controls{position:absolute;z-index:2;right:max(24px,calc((100vw - 1280px)/2));top:135px;display:flex;align-items:center;gap:4px;border:1px solid #ffffff70;border-radius:6px;padding:4px;background:#133b354d;backdrop-filter:blur(8px)}
.season-controls button{min-height:44px;padding:10px 20px;border:0;border-radius:4px;background:transparent;color:white;font:600 14px/1.4 Helvetica,Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.season-controls button:hover{transform:none;background:#ffffff20;color:#fff}.season-controls button[aria-pressed=true].season-button{background:white;color:#1d4d48}.season-controls .season-play{border-left:1px solid #ffffff50;border-radius:0;margin-left:4px;font-size:12px;padding:10px 12px}
body.resort-home .hero .search-band{position:relative;z-index:2;width:100%;padding:20px 24px;margin:0;background:#fffffff5;border-radius:7px;color:#1d4d48;box-shadow:0 8px 28px #00000024;backdrop-filter:blur(10px)}
body.resort-home .hero .stay-search{margin:0;grid-template-columns:1fr 1fr .8fr .8fr auto;gap:20px;align-items:end}
body.resort-home .hero .stay-search label{font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;gap:8px}
body.resort-home .hero .stay-search :is(input,select){border:0;border-bottom:1px solid #1d4d4833;border-radius:0;background:transparent;color:#383838;min-height:44px;padding:8px 0;font-size:16px;letter-spacing:0}
body.resort-home .hero .stay-search button{min-height:52px;justify-content:center;white-space:nowrap}
body.resort-home .hero .stay-search .search-error:empty{display:none}
body.resort-home .capacity-band{background:white;color:#383838;padding:48px max(24px,calc((100vw - 1280px)/2)) 24px;gap:24px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:0}
body.resort-home .capacity-band>div{border:0;text-align:center;padding:12px 0}body.resort-home .capacity-band strong{font:800 clamp(42px,4.2vw,64px)/1 Akrobat,Arial,sans-serif;color:#1d4d48;letter-spacing:-.01em}body.resort-home .capacity-band span{font-size:15px;margin-top:8px;color:#555}
body.resort-home .stay{background:rgb(29 77 72 / 3%)}body.resort-home .stay-grid{gap:24px}body.resort-home .stay-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e2e8e5;box-shadow:0 2px 12px #00000008;padding-bottom:22px}
body.resort-home .stay-card>:not(.photo-wrap){margin-left:22px;margin-right:22px}body.resort-home .stay-card .card-heading{margin-top:22px}body.resort-home .stay-card h3{font-size:27px;color:#1d4d48}body.resort-home .photo-number{display:none}
body.resort-home .experiences{background:white;color:#383838}body.resort-home .experiences h2{color:#1d4d48}body.resort-home .experience-grid{gap:28px;margin-top:30px}body.resort-home .experience-grid article,body.resort-home .experience-grid article+article{padding:0;border:0}
body.resort-home .experience-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:5px;margin-bottom:22px}body.resort-home .experience-index{color:#698079;font-size:13px}body.resort-home .experience-grid h3{color:#1d4d48;margin:14px 0}body.resort-home .experience-grid p{color:#555;font-size:16px;min-height:0}body.resort-home .experience-grid a{font-size:15px;color:#1d4d48}body.resort-home .activities{border-color:#d5dfdc;font-size:15px}body.resort-home .activities>span:first-child{color:#1d4d48}
body.resort-home .restaurant{background:rgb(29 77 72 / 3%)}body.resort-home .home-kitchen-photos{gap:16px}body.resort-home .home-kitchen-photos img{height:auto!important;aspect-ratio:3/2;object-fit:cover}
body.resort-home .home-history img,body.resort-home .home-banya>img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:5px}
body.resort-home .offers h2,body.resort-home .restaurant h2,body.resort-home .review-section h2,body.resort-home .home-history h2{color:#1d4d48}
@media(min-width:1600px){body.resort-home .hero-content{margin-top:160px}}
@media(max-width:1100px){body .section{padding:64px 32px}body .header{padding:16px 32px}body.resort-home .hero{padding-left:32px;padding-right:32px;min-height:860px}body.resort-home .hero .stay-search{gap:14px;grid-template-columns:1fr 1fr 1fr 1fr}body.resort-home .hero .stay-search>button{grid-column:1/-1}body .header nav.open{top:100%}body.resort-home .season-controls{right:32px}body.resort-home .stay-grid.three-stays{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body .section{padding:48px 20px}body h2{font-size:34px}body .eyebrow{font-size:13px;letter-spacing:2px}body .header{padding:12px 20px;min-height:82px;gap:14px}body .header .brand img{max-width:95px;max-height:58px}body .header .button{font-size:12px;min-height:44px;padding:9px 12px}body .header-actions{gap:12px}body.resort-home .hero{min-height:920px;padding:166px 20px 24px;gap:28px}body.resort-home .hero-content{margin:0;padding:0}body.resort-home .hero h1{font-size:72px;max-width:100%;line-height:.97}body.resort-home .hero-content .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:20px}body.resort-home .hero-description{font-size:22px;line-height:1.4}body.resort-home .hero-address{font-size:13px;max-width:300px}body.resort-home .season-controls{top:102px;right:20px;left:auto}body.resort-home .season-controls button{padding:8px 14px;font-size:12px}body.resort-home .hero .hero-image{object-position:62% center}body.resort-home .hero .search-band{padding:18px}body.resort-home .hero .stay-search{grid-template-columns:1fr 1fr;gap:14px}body.resort-home .hero .stay-search input{font-size:15px}body.resort-home .capacity-band{padding:30px 20px 10px;grid-template-columns:1fr 1fr;gap:20px}body.resort-home .capacity-band strong{font-size:44px}body.resort-home .capacity-band span{font-size:14px}body.resort-home .stay-grid.three-stays,body.resort-home .experience-grid{grid-template-columns:1fr}body.resort-home .experience-grid{gap:36px}body .section-heading{align-items:flex-start;flex-direction:column;gap:18px}body.resort-home .resort-philosophy h2{font-size:31px}body.resort-home .hero .children-ages{gap:12px}body.resort-home .hero .children-ages label{flex:1 1 110px}}
@media(prefers-reduced-motion:reduce){body.resort-home .hero .hero-image{transition:none}html{scroll-behavior:auto}}
/* Preserve the supplied logo's transparent canvas crop. */
body .header .brand{width:155px;height:85px;overflow:hidden;position:relative}
body .header .brand img{position:absolute;width:315px;height:177px;max-width:none;max-height:none;left:-73px;top:-48px;object-fit:contain}
body .header nav.open{color:#fff}
body .tz-main{padding-top:0}
@media(max-width:700px){body .header .brand{width:110px;height:60px}body .header .brand img{width:245px;height:138px;left:-60px;top:-40px}}

/* Full archival frame, without the previous portrait enlargement. */
body main .archive-proportions{align-self:center;min-width:0}body main .archive-proportions img,body .home-history img{width:100%;height:auto!important;max-height:none;aspect-ratio:3/2!important;object-fit:contain!important;background:rgb(29 77 72 / 3%)}body main .archive-proportions a{display:block;width:100%}
/* Logo canvas has wide transparent margins; keep the complete word inside its frame. */
body .header .brand,body footer .brand{width:170px;height:66px;position:relative;overflow:hidden;flex-shrink:0}
body .header .brand img,body footer .brand img{position:absolute;display:block;width:300px;height:168.75px;max-width:none;max-height:none;left:-65px;top:-35px;object-fit:contain}
@media(max-width:700px){body .header .brand{width:120px;height:48px}body .header .brand img{width:210px;height:118.125px;left:-45px;top:-23px}}

/* Group enquiries are a primary navigation destination. */
body .header nav>a.nav-groups{font-weight:700;white-space:nowrap;border-bottom:1px solid #ffffff70;padding-bottom:3px}
@media(min-width:1101px) and (max-width:1400px){body .header{gap:18px}body .header nav{gap:14px}body .header nav>a{font-size:14px}}

/* Compact footer destinations; event formats live under Groups and Gastrobar. */
body footer{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start;gap:28px 64px;padding:48px max(24px,calc((100vw - 1280px)/2)) 96px}
body footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:100%;max-width:none;min-width:0}
body footer .footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
body footer .footer-column strong{font-size:16px;color:#1d4d48;line-height:1.4;margin-bottom:6px}
body footer .footer-column a{font-size:15px;line-height:1.6;overflow-wrap:normal}
body footer>span{grid-column:1/-1;font-size:13px;line-height:1.7}
body footer .legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}
.gastro-services{display:flex;flex-wrap:wrap;gap:14px 32px;padding:24px max(24px,calc((100vw - 1280px)/2));background:rgb(29 77 72 / 3%);border-bottom:1px solid #d5dfdc}
.gastro-services a{font-size:17px;color:#1d4d48;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){body footer{grid-template-columns:1fr;gap:28px;padding:40px 32px 100px}}
@media(max-width:600px){body footer{padding:36px 20px 110px}body footer .footer-links{grid-template-columns:1fr;gap:28px}.gastro-services{padding:22px 20px;gap:16px 24px}}


/* gallery-layout52.css */
/* Complete, equal-size rows for photo and video collections. */
body main .balanced-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;align-items:start!important;width:100%;box-sizing:border-box}
body main .balanced-gallery[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body main .balanced-gallery[data-columns="1"]{grid-template-columns:minmax(0,1fr)!important}
body main .balanced-gallery>figure{min-width:0;width:100%;margin:0!important;grid-column:auto!important;grid-row:auto!important;align-self:start}
body main .balanced-gallery>figure>a:first-child{display:block;width:100%;aspect-ratio:3/2;background:rgb(29 77 72 / 3%);border-radius:5px;overflow:hidden}
body main .balanced-gallery img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/2!important;object-fit:cover;margin:0!important;border-radius:5px}
body main .balanced-gallery img.preserve-frame,body main .balanced-gallery .contain img,body main .balanced-gallery.cafe-documents img,body main .balanced-gallery.original-posters img{object-fit:contain!important}
body main .balanced-gallery figcaption{padding-top:12px;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
body main .balanced-gallery figcaption p{margin:6px 0 0}
body main .balanced-gallery video{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain;background:#173e39;border-radius:5px}
body main .banquet-video-gallery{margin-top:28px}
@media(max-width:700px){body main .balanced-gallery[data-columns]{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}}
/* Uniform frames must preserve the source photograph's proportions. */
body main .balanced-gallery>figure>a.filled-photo-frame{position:relative;display:block;aspect-ratio:3/2;overflow:hidden}
body main .balanced-gallery>figure>a.filled-photo-frame>img{position:absolute!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;left:0!important;top:0!important;aspect-ratio:auto!important;object-fit:cover!important;border-radius:0}
body main .balanced-gallery>figure>a.filled-photo-frame>img.preserve-frame{object-fit:contain!important}
body main .balanced-gallery.portrait-pair>figure>a.filled-photo-frame{aspect-ratio:9/16!important}

/* Portrait video cards: equal frames with captions below on every page. */
body main .local-films{max-width:760px;margin:36px auto 0;gap:32px!important}
body main .local-films>.local-film{display:flex;flex-direction:column;gap:0;align-items:stretch}
body main .local-films video{aspect-ratio:9/16!important;object-fit:contain;height:auto!important;max-height:none!important}
body main .local-films figcaption{width:100%;padding-top:20px}
body main .local-films h3{font-size:30px;line-height:1.2;margin:0 0 12px}
@media(max-width:700px){body main .local-films{max-width:380px}}

/* Photo anchors have a definite origin even when an image has no crop overrides. */
body main .balanced-gallery>figure>a.filled-photo-frame>img{display:block}


/* layout55.css */
body.resort-home .section.resort-philosophy{max-width:none;width:auto;margin:0;display:block}body.resort-home .resort-philosophy h2{max-width:1100px;width:auto;text-wrap:pretty}body.resort-home .resort-philosophy>p:not(.eyebrow){max-width:1000px;width:auto;line-height:1.65}.promo55-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%;max-width:none;margin:32px 0}.promo55-grid figure{margin:0;min-width:0}.promo55-grid a{display:block;aspect-ratio:9/16;overflow:hidden}.promo55-grid img{display:block;width:100%;height:100%;object-fit:cover}.winter54-posters>p{max-width:1000px}body.info-page .content-cards .event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.promo55-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}body.info-page .content-cards .event-grid{grid-template-columns:1fr}}@media(max-width:520px){.promo55-grid{grid-template-columns:1fr;gap:24px}body.resort-home .resort-philosophy h2{font-size:clamp(27px,7vw,34px)}body.resort-home .resort-philosophy>p:not(.eyebrow){font-size:18px}}
/* Portrait videos with full-width captions, without horizontal matte bars. */
body.resort-home #park-videos .local-films{max-width:760px;margin:36px auto 0;gap:32px!important}
body.resort-home #park-videos .local-film{display:flex;flex-direction:column;gap:0;align-items:stretch}
body.resort-home #park-videos .local-film video{width:100%;height:auto!important;max-height:none;aspect-ratio:9/16;object-fit:contain}
body.resort-home #park-videos .local-film figcaption{width:100%;padding-top:20px}
body.resort-home #park-videos .local-film h3{margin:0 0 10px;font-size:30px;line-height:1.15}
body.resort-home #park-videos .local-film p{margin:0;line-height:1.6}
@media(max-width:700px){body.resort-home #park-videos .local-films{max-width:380px;gap:32px!important}}


/* responsive66.css */
/* Keep intrinsic content within its column instead of clipping page overflow. */
body main :is(section,article,figure,form,fieldset,nav,div){min-width:0}
body main :is(h1,h2,h3,p,figcaption,label,summary){overflow-wrap:break-word}
body main :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px}
body main .button{max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center}
body main .camping-opening>img{height:auto!important;aspect-ratio:2048/1433;object-fit:contain}
body main .balanced-gallery img.preserve-frame{object-fit:contain!important}
/* The navigation moves into a touch menu before its links become cramped. */
@media(max-width:1100px){
 body .header .menu{display:block;min-width:44px;min-height:44px;padding:6px}
 body .header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;background:#1d4d48;color:white;z-index:110;max-height:calc(100dvh - 96px);overflow-y:auto}
 body .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 body .header nav>a,body .header nav summary{min-height:44px;display:flex;align-items:center;padding:9px 0}
 body .header nav .all-sections>div{position:static;min-width:0;max-width:100%;box-shadow:none;grid-template-columns:1fr;padding:8px;margin:8px 0}
 body.resort-home .stay-grid.three-stays{grid-template-columns:1fr}
}
@media(max-width:700px){
 body main :is(.hero-buttons,.hero-bottom,.stay-note,.form-actions,.card-heading){flex-wrap:wrap}
 body.resort-home .hero h1{font-size:clamp(44px,10vw,66px);line-height:1.04}
 body main .info-hero h1{font-size:clamp(42px,10vw,70px)}
 body main .gastro-hero:not(.camping-opening) h1{font-size:clamp(42px,10vw,70px)}
 body main .request-form button{width:100%}
 body main .table-scroll{max-width:100%}
 body footer .footer-column a{overflow-wrap:break-word}
}
@media(max-width:480px){
 body .header{padding-left:16px;padding-right:16px;gap:10px}
 body .header .brand{width:104px;height:46px}
 body .header .brand img{width:182px;height:102.375px;left:-39px;top:-19px}
 body .header-actions{gap:6px;min-width:0}
 body .header .button,body .header .button.small{padding:8px 10px;font-size:11px;gap:4px;min-height:44px}
 body main .form-grid,body main .request-form .form-grid{grid-template-columns:minmax(0,1fr)}
 body main .section-heading h2{max-width:100%}
 body main .section{padding-left:20px;padding-right:20px}
 body main .hero-buttons .button{width:100%;justify-content:center}
}
/* Every local clip is 720×1280: preserve its vertical frame on every page. */
body main .balanced-gallery video{aspect-ratio:9/16!important;width:100%;height:auto!important;max-height:none!important;object-fit:contain}
body main :is(.banquet-video-gallery,.wedding-video-grid){max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:700px){body main :is(.banquet-video-gallery,.wedding-video-grid){max-width:380px}}


/* tourism-brand70.css */
body main .tourism-brand70{display:block;width:240px;max-width:100%;margin:0 0 26px;padding:0}body main .tourism-brand70 img{display:block;width:100%!important;height:auto!important;max-width:100%;aspect-ratio:757/567!important;object-fit:contain!important;border-radius:0;filter:none} @media(max-width:600px){body main .tourism-brand70{width:190px;margin-bottom:22px}}


/* release71.css */
.skip-content71{position:fixed;top:10px;left:10px;z-index:1000;padding:12px 18px;background:white;color:#004c46;transform:translateY(-180%);border:2px solid #004c46}.skip-content71:focus{transform:translateY(0)}body dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box}body main .managed-content img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}body main [data-compare]:disabled{cursor:not-allowed}body main .round{flex-shrink:0}body main .comparison{max-width:100%;overflow-x:auto}body main .comparison table{width:100%;min-width:520px}body main .request-form :is(input,select,textarea){width:100%;box-sizing:border-box}body :is(button,summary){touch-action:manipulation}@media(max-width:480px){body .header .phone{display:none!important}body main .stay-search{grid-template-columns:minmax(0,1fr)!important}body main .stay-search>*{grid-column:1!important}body main .stay-search .children-ages{grid-column:1!important}body .contact-dock{max-width:calc(100vw - 24px)}body .guest-contact-panel{max-width:calc(100vw - 24px);box-sizing:border-box}body main .card-heading h3{font-size:clamp(25px,7vw,36px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *,body *::before,body *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.event-links76{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 30px;padding:28px 24px;background:rgb(29 77 72 / 3%);border-bottom:1px solid #d8e3dc}.event-links76 a{color:#004c46;font-size:17px;line-height:1.45;border-bottom:1px solid #9cb5a7;padding:10px 0}.event-links76 a:focus-visible{outline:2px solid #004c46;outline-offset:5px}@media(max-width:600px){.event-links76{display:grid;grid-template-columns:1fr;padding:22px 20px;gap:8px}.event-links76 a{min-width:0}}

.registry-link77{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.registry-link77:focus-visible{outline:2px solid currentColor;outline-offset:4px}


/* navigation-typography78.css */
/* Shared title hierarchy. Titles get the available width, never a narrow flex column. */
body main h1{font-family:Akrobat,Arial,sans-serif!important;font-size:clamp(48px,6.5vw,92px)!important;font-weight:800!important;line-height:1.06!important;letter-spacing:-.015em!important;text-transform:uppercase;max-width:100%!important;white-space:normal!important;overflow-wrap:normal;word-break:normal;hyphens:none}
body main h2{font-family:Akrobat,Arial,sans-serif!important;font-size:clamp(34px,3.4vw,48px)!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-.015em!important;text-transform:uppercase;max-width:100%!important;white-space:normal!important;overflow-wrap:normal;word-break:normal;hyphens:none}
body main h3{font-family:Akrobat,Arial,sans-serif!important;font-size:clamp(26px,2.1vw,32px)!important;font-weight:700!important;line-height:1.18!important;letter-spacing:0!important;text-transform:uppercase;white-space:normal!important;overflow-wrap:normal;word-break:normal;hyphens:none}
body main :is(h1,h2,h3) em{font:inherit;letter-spacing:inherit;display:inline}
body main .section-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:18px!important;width:100%;margin-bottom:32px}
body main .section-heading>div{flex:none!important;width:100%!important;max-width:none!important;min-width:0}
body main .section-heading>p{width:100%!important;max-width:78ch!important;margin:0!important;flex:none!important}
body main .section-heading :is(h1,h2){width:100%!important;max-width:none!important;margin-bottom:0}
body main :is(h1,h2,h3){height:auto;min-height:0;overflow:visible}
/* Native details remain usable even without JavaScript. */
body .header #navigation{gap:clamp(12px,1.3vw,22px);align-items:center}
body .header .nav-category78{position:relative;flex:none}
body .header .nav-category78>summary{list-style:none;cursor:pointer;font:inherit;font-size:15px;font-weight:400;white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;text-transform:none}
body .header .nav-category78>summary::-webkit-details-marker{display:none}
body .header .nav-category78>summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .15s}
body .header .nav-category78[open]>summary::after{transform:rotate(225deg);margin-top:3px}
body .header .nav-panel78{position:absolute;top:100%;left:-18px;width:280px;max-width:calc(100vw - 32px);padding:12px;background:#fff;color:#1d4d48;border:1px solid #dce5e2;box-shadow:0 12px 30px #102c2524;z-index:120;max-height:calc(100dvh - 130px);overflow:auto}
body .header .nav-panel78>a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font:400 15px/1.4 Helvetica,Arial,sans-serif;text-transform:none;text-decoration:none;border:0;white-space:normal}
body .header .nav-panel78>a:hover,body .header .nav-panel78>a:focus-visible{background:rgb(29 77 72 / 3%);color:#1d4d48}
body .header .nav-category78>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body .header #navigation>a{min-height:44px;display:flex;align-items:center;text-transform:none}
@media(max-width:1250px){
 body .header .menu{display:block;min-width:44px;min-height:44px}
 body .header #navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px;background:#1d4d48;color:#fff;z-index:110;max-height:calc(100dvh - 96px);overflow:auto}
 body .header #navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 body .header .nav-category78{width:100%;border-bottom:1px solid #ffffff24}
 body .header .nav-category78>summary{justify-content:space-between;min-height:48px;padding:12px 0}
 body .header .nav-panel78{position:static;width:100%;max-width:none;max-height:none;box-shadow:none;margin:0 0 12px;padding:8px;border:0}
 body .header #navigation>a{padding:12px 0}
}
@media(max-width:700px){
 body main h1{font-size:clamp(40px,8.5vw,58px)!important;line-height:1.08!important}
 body main h2{font-size:clamp(30px,6.5vw,36px)!important;line-height:1.14!important}
 body main h3{font-size:26px!important;line-height:1.2!important}
 body main .section-heading{gap:16px!important;margin-bottom:26px}
 body main :is(h1,h2,h3){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){body .header .nav-category78>summary::after{transition:none}}


/* guest-experience79.css */
body main .guest-shortcuts79{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 5%;background:#1d4d48;color:#fff}
body main .guest-shortcuts79 a{padding:20px 12px;text-align:center;border-right:1px solid #ffffff40;font-size:15px;text-decoration:none;min-height:56px;display:flex;align-items:center;justify-content:center}
body main .guest-shortcuts79 a:last-child{border-right:0}
body main .guest-shortcuts79 a:hover,body main .guest-shortcuts79 a:focus-visible{background:#ffffff14}
body main .guest-reviews79{background:rgb(29 77 72 / 3%)}
body main .guest-planning79{background:rgb(29 77 72 / 3%)}
body main .guest-actions79{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
body main .guest-actions79>.button{min-height:48px;display:flex;align-items:center;justify-content:center;white-space:normal}
body main .guest-plan-grid79{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
body main .guest-plan-grid79 article{display:flex;flex-direction:column;min-width:0;border-top:1px solid #1d4d4840;padding-top:24px}
body main .guest-plan-grid79 h3{margin:0 0 16px}
body main .guest-plan-grid79 p{margin:0 0 20px;line-height:1.6}
body main .guest-plan-grid79 .text-link{margin-top:auto;align-self:flex-start}
body main .guest-faq-list79{border-top:1px solid #1d4d4840;max-width:1000px}
body main .guest-faq-list79 details{border-bottom:1px solid #1d4d4840}
body main .guest-faq-list79 summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-size:19px;font-weight:600;line-height:1.4;padding:22px 0;min-height:48px}
body main .guest-faq-list79 summary::-webkit-details-marker{display:none}
body main .guest-faq-list79 summary::after{content:'+';font:400 28px/1 Arial,sans-serif;flex:none}
body main .guest-faq-list79 details[open]>summary::after{content:'−'}
body main .guest-faq-list79 details>div{padding:0 32px 24px 0;max-width:78ch}
body main .guest-faq-list79 p{line-height:1.65;margin:0 0 14px}
body main .guest-faq-list79 details>div>a{display:inline-block;margin-right:20px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
body main .guest-faq-list79 summary:focus-visible{outline:2px solid #1d4d48;outline-offset:4px}
@media(max-width:900px){body main .guest-shortcuts79{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px}body main .guest-shortcuts79 a:nth-child(2){border-right:0}body main .guest-shortcuts79 a:nth-child(-n+2){border-bottom:1px solid #ffffff40}}
@media(max-width:700px){body main .guest-plan-grid79{grid-template-columns:1fr;gap:26px}body main .guest-actions79{flex-direction:column;align-items:stretch}body main .guest-actions79>.button{width:100%;font-size:13px}body main .guest-faq-list79 summary{font-size:17px}body main .guest-faq-list79 details>div{padding-right:0}body main .guest-shortcuts79 a{font-size:14px;padding:16px 8px}}
/* Keep the official project artwork, reduce its visual weight and align the label. */
body main :is(.national-project,.state-support)>.project-heading79{display:flex!important;align-items:center!important;justify-content:flex-start;gap:24px!important;margin-bottom:30px;grid-template-columns:none}
body main .project-heading79>.tourism-brand70{width:120px!important;flex:0 0 120px;margin:0!important}
body main .project-heading79>.eyebrow{margin:0!important;max-width:54ch;font-size:12px;line-height:1.6;letter-spacing:1.5px}
body main .konka-story79{margin-top:40px;border-top:1px solid #1d4d4840;padding-top:32px}
body main .konka-story79>p{max-width:84ch;line-height:1.7;margin:18px 0}
body main .konka-story79>h3{margin:0 0 20px}
body main .konka-facts79{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}
body main .konka-facts79>div{border-top:1px solid #1d4d4840;padding-top:18px;display:flex;flex-direction:column;gap:8px}
body main .konka-facts79 strong{font:700 30px/1.2 Akrobat,Arial,sans-serif}
body main .konka-facts79 span{font-size:14px;line-height:1.5}
body main .konka-sources79 summary{cursor:pointer;padding:16px 0;min-height:44px}
body main .konka-sources79 a{display:block;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
body main .konka-sources79 p{max-width:84ch;line-height:1.65}
@media(max-width:700px){body main :is(.national-project,.state-support)>.project-heading79{gap:18px!important;align-items:center!important}body main .project-heading79>.tourism-brand70{width:96px!important;flex-basis:96px}body main .project-heading79>.eyebrow{font-size:11px;letter-spacing:1px}body main .konka-facts79{grid-template-columns:1fr;gap:18px}}
/* Source links are text, never empty photograph frames. */
body main .balanced-gallery>figure>a:not(:first-child){display:inline-block!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;background:none!important;border-radius:0!important;overflow:visible!important;margin-top:8px}
body main .journal-intro{display:block!important;width:100%;min-width:0;max-width:100%;padding-left:max(24px,calc((100% - 1280px)/2))!important;padding-right:max(24px,calc((100% - 1280px)/2))!important}
body main .journal-intro>h1{width:100%!important;min-width:0;max-width:100%!important;overflow-wrap:break-word;white-space:normal!important;margin-left:0;margin-right:0}
body main .journal-intro>.journal-lead{width:100%;max-width:850px;min-width:0}
@media(max-width:700px){body main .journal-intro{padding-left:20px!important;padding-right:20px!important}}
body main .attraction-grid79 figcaption{padding-top:20px}
body main .attraction-grid79 h3{margin:0 0 12px}
body main .attraction-grid79 figcaption p{margin:0 0 14px;max-width:60ch;line-height:1.65}
body main .attraction-grid79 .text-link{display:inline-block;min-height:44px;padding:8px 0}
body main .attraction-grid79>figure{display:flex;flex-direction:column;height:100%}
body main .attraction-grid79>figure>figcaption{display:flex;flex-direction:column;flex:1}
body main .attraction-grid79 .text-link{margin-top:auto;align-self:flex-start}
body main .attraction-grid79 img:is([src*="pechory"],[data-perf-original*="pechory"]){object-position:75% center}
body main .attraction-credits79{font-size:13px;color:#596c65;margin-top:24px;line-height:1.65}
body main .attraction-credits79 summary{cursor:pointer;padding:12px 0;min-height:44px}
body main .attraction-credits79 ul{padding-left:20px;margin:8px 0}
body main .attraction-credits79 a{text-decoration:underline;text-underline-offset:3px}
body main .attraction-credits79 li{margin-bottom:10px}


/* calm80.css */
/* Quiet shared resort presentation. Photographs stay inline; contact stays in the header. */
body{--calm-ink:#233c36;--calm-green:#1d4d48;--calm-paper:rgb(29 77 72 / 3%)}
body main :is(h1,h2,h3){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
body main :is(h2,h3) em{color:inherit!important}
body main .location-facts strong{color:var(--calm-green)!important}
body main .section-heading{gap:18px!important}
body main .eyebrow{letter-spacing:1.5px}
body .text-link{display:inline-block!important;max-width:100%;white-space:normal!important;line-height:1.5!important;text-underline-offset:5px}
body main .text-link::after,body main .image-story .text-link::after{content:none!important}
body .header-actions{gap:16px}
body .header .header-contact80{position:relative;flex:none;color:inherit}
body .header .header-contact80>summary{background:transparent!important;color:inherit!important;padding:12px 0!important;font:600 15px/1.3 Arial,sans-serif;min-height:44px;display:flex;align-items:center;list-style:none;border-radius:0}
body .header .header-contact80>summary::-webkit-details-marker{display:none}
body .header .header-contact80>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body .header .header-contact80 .guest-contact-panel{position:absolute!important;top:calc(100% + 12px)!important;bottom:auto!important;right:0!important;left:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 140px);overflow:auto;background:#fff!important;color:var(--calm-ink)!important;padding:24px;border:1px solid #d8dfd9;border-radius:8px;box-shadow:0 10px 35px #173a3020;z-index:180;}
body .header .guest-contact-panel h2{font:600 23px/1.25 Arial,sans-serif!important;text-transform:none!important;color:var(--calm-green)!important;margin:0 0 20px}
body .header .guest-contact-panel .button{font-size:14px;width:100%;margin:0 0 14px;white-space:normal}
body .header .contact-option80{display:block;font:400 14px/1.5 Arial,sans-serif;padding:10px 0;color:var(--calm-ink);overflow-wrap:anywhere}
body .header .guest-contact-close{display:block;margin-top:12px;padding:10px 0;font:400 14px/1.5 Arial,sans-serif;color:var(--calm-green);background:transparent;border:0;text-decoration:underline;cursor:pointer}
body .contact-dock{display:none!important}
body main .calm-heading80{max-width:900px;margin-bottom:32px}
body main .calm-heading80 h2{margin:0 0 18px!important;max-width:100%!important;font-size:clamp(32px,3.5vw,48px)!important;line-height:1.15!important}
body main .calm-heading80 p{margin:0;max-width:72ch;line-height:1.7;font-size:17px;color:#4e6058}
body main .calm-nature80{background:var(--calm-paper)}
body main .calm-photo-grid80{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body main .calm-photo-grid80 figure{margin:0;min-width:0}
body main .calm-photo-grid80 img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover;border-radius:0;transform:none!important}
body main .calm-photo-grid80 figcaption{font:600 17px/1.4 Arial,sans-serif;padding:14px 0 0;color:var(--calm-ink)}
body main .calm-location80{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:30px;padding-top:24px;border-top:1px solid #cdd5cc}
body main .calm-location80 p{margin:0;line-height:1.7;font-size:15px}
body main .calm-history80{background:#fff}
body main .calm-carousel80{min-width:0;max-width:100%;margin-bottom:22px}
body main .calm-track80{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#99aaa1 transparent;padding-bottom:12px;}
body main .calm-track80:focus-visible{outline:2px solid var(--calm-green);outline-offset:4px}
body main .calm-slide80{flex:0 0 calc((100% - 24px)/2);min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
body main .calm-slide80 img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;background:var(--calm-paper);transform:none!important;border-radius:0}
body main .calm-slide80 figcaption{display:block;padding:18px 0 4px;color:var(--calm-ink)}
body main .calm-slide80 figcaption strong{display:block;font:600 19px/1.4 Arial,sans-serif;margin-bottom:8px;color:inherit}
body main .calm-slide80 figcaption span{display:block;font:400 15px/1.6 Arial,sans-serif;color:#53645c}
body main .calm-carousel-controls80{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:10px}
body main .calm-carousel-controls80 button{border:1px solid #c2cec6;background:transparent;color:var(--calm-green);font:500 14px/1.5 Arial,sans-serif;padding:10px 18px;min-height:44px;cursor:pointer}
body main .calm-carousel-controls80 button:disabled{opacity:.4;cursor:default}
body main .calm-carousel-controls80 button:focus-visible{outline:2px solid var(--calm-green);outline-offset:3px}
body main .calm-carousel-controls80 output{font:400 14px/1.5 Arial,sans-serif;color:#53645c;min-width:42px;text-align:center}
body main .capacity-band{background:#fff!important;color:var(--calm-green)!important}
body main .capacity-band strong{color:var(--calm-green)!important}
@media(max-width:1250px){body .header-actions{gap:14px}body .header .header-contact80{position:static}body .header .header-contact80 .guest-contact-panel{top:calc(100% + 8px)!important;right:16px!important}}
@media(max-width:700px){body .header{gap:10px!important}body .header-actions{gap:10px!important}body .header .header-contact80>summary{font-size:12px}body .header-actions>.button.small{font-size:11px!important;padding:12px 10px!important}body .header .brand{width:90px!important;max-width:90px!important;flex:0 0 90px!important}body .header .brand img{width:90px!important}body .header .menu{width:36px!important;min-width:36px!important;padding:0!important}body main .calm-heading80 p{font-size:16px}body main .calm-photo-grid80{grid-template-columns:1fr;gap:24px}body main .calm-location80{display:block}body main .calm-location80 .text-link{margin-top:18px}body main .calm-slide80{flex-basis:100%}body main .calm-track80{gap:16px}body main .calm-carousel-controls80{justify-content:space-between}body main .calm-heading80{margin-bottom:24px}body main .calm-photo-grid80 figcaption{font-size:16px}body main .calm-slide80 figcaption strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){body main .calm-track80{scroll-behavior:auto}}

body main :is(.calm-nature80,.calm-history80){color:var(--calm-ink)}
body main .offers{background:var(--calm-paper)!important}
body footer{padding-bottom:40px!important}

/* Narrow headers retain the logo crop and generous touch controls. */
body .booking-label-short81{display:none}
@media(max-width:700px){
 body .header .brand{height:40px!important}
 body .header .brand img{width:157.5px!important;height:88.6px!important;left:-33.75px!important;top:-16.4px!important;max-width:none!important;max-height:none!important}
 body .header .menu{width:44px!important;min-width:44px!important;min-height:44px!important}
}
@media(max-width:400px){
 body .header{padding-left:12px!important;padding-right:12px!important;gap:8px!important}
 body .header-actions{gap:8px!important}
 body .booking-label-full81{display:none}
 body .booking-label-short81{display:inline}
}

/* One heading color, including the history page's former ruby emphasis. */
body{--ruby:#1d4d48;--pink:#f5f3ec}
body main :is(h1,h2,h3) :is(em,span,strong){color:inherit!important;font-style:normal}
body main .timeline-date{color:#1d4d48!important}
body main .route-detail{border-left-color:#a2b5ac}
body main :is(.route-detail>span,.journey-grid article>span){color:#52675d}
body main .history-hero figure{transform:none;box-shadow:none;padding:0;border:0;background:transparent}
body main .monastery-gallery82 .preserve-frame{object-fit:contain!important}

body.history-page{--ruby:#1d4d48;--green:#1d4d48}
body main .siege-details82 p{line-height:1.7;max-width:80ch;margin:18px 0}
body main .siege-details82 .source{padding:6px 0;display:inline-block}
body main .timeline-content blockquote{margin:24px 0;padding:12px 0 12px 24px;border-left:2px solid #a2b5ac;font-size:20px;line-height:1.6;color:inherit;background:transparent}
body main .monastery-gallery82{margin-top:28px}

body main .fishing-cover82{display:flex;flex-direction:column;height:auto!important;min-height:0!important;padding:0;background:rgb(29 77 72 / 3%);color:var(--ink);overflow:visible}
body main .fishing-cover82>img{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;max-height:72vh;background:#1d2925}
body main .fishing-cover82>.gastro-overlay{display:none}
body main .fishing-cover82>.gastro-hero-copy{position:relative!important;inset:auto!important;width:100%;max-width:1280px;margin:0 auto;padding:40px max(24px,5vw);color:var(--ink)}
body main .fishing-cover82 .breadcrumb,body main .fishing-cover82 .eyebrow,body main .fishing-cover82 p{color:var(--ink)}
body main .fishing-cover82 h1{font-size:clamp(36px,5vw,68px);line-height:1.1}
@media(max-width:700px){body main .fishing-cover82>img{max-height:none}body main .fishing-cover82>.gastro-hero-copy{padding:28px 24px}}

body main .arrival-stage83{display:block;position:relative;aspect-ratio:1270/955;overflow:hidden;background:rgb(29 77 72 / 3%)}
body main .arrival-stage83>img{position:absolute;max-width:none!important;width:147.6378%!important;height:auto!important;object-fit:initial!important;left:-6.1417%;top:-8.0628%}
.arrival-dot83{position:absolute;left:24.49%;top:10.37%;transform:translate(-50%,-100%);width:34px;height:52px;background:#1d4d48;border-radius:50% 50% 45% 45%;border:3px solid white;box-shadow:0 0 0 3px #1d4d48}
.arrival-dot83:after{content:'';position:absolute;left:8px;top:9px;width:12px;height:12px;border-radius:50%;background:white}
.arrival-label83{position:absolute;left:28%;top:3%;padding:10px 15px;background:#1d4d48;color:white;border-radius:5px;font-size:clamp(14px,2vw,23px);line-height:1.3;font-weight:700}
.arrival-label83>span{display:block;font-size:clamp(10px,1.2vw,14px);font-weight:400;margin-top:3px}
.directions-actions83{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 12px}
.directions-actions83 .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.directions-actions83 .text-link{padding:12px 4px;min-height:44px}
.directions-note83{font-size:14px;line-height:1.6;color:#59615e;margin-bottom:30px;max-width:70ch}
.location-context83{border-top:1px solid #bac7bf;padding:20px 0}
.location-context83 summary{cursor:pointer;font-size:20px;color:#1d4d48;min-height:44px;padding:8px 0}
body main .archive-plan83{display:block;width:100%;max-width:720px;margin:28px auto;background:rgb(29 77 72 / 3%)}
body main .archive-plan83 img{display:block;width:100%;height:auto!important;max-height:none;object-fit:contain!important}
.archive-plan83 figcaption{padding:18px 22px;line-height:1.6;font-size:16px}.archive-plan83 figcaption a{display:inline-block;margin:10px 18px 0 0;text-decoration:underline}
@media(max-width:600px){.arrival-dot83{width:22px;height:33px;border-width:2px;box-shadow:0 0 0 2px #1d4d48}.arrival-dot83:after{width:8px;height:8px;left:5px;top:6px}.arrival-label83{padding:6px 9px;left:30%;top:2%}.directions-actions83{display:grid;grid-template-columns:1fr 1fr}.directions-actions83 .text-link{grid-column:1/-1}.directions-actions83 .button{padding:12px 8px;font-size:12px}}

/* Official Tourism mark from the supplied logo guide: preserve artwork and clear space. */
body main .project-heading79>.tourism-brand70.tourism-brand85{box-sizing:border-box;width:148px!important;flex:0 0 148px!important;padding:16px!important;margin:0!important;background:#fff;border-radius:4px;overflow:visible;align-self:center}
body main .tourism-brand70.tourism-brand85 img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1030/854!important;object-fit:contain!important;filter:none!important;opacity:1!important;mix-blend-mode:normal;border-radius:0!important}
@media(max-width:600px){body main .project-heading79>.tourism-brand70.tourism-brand85{width:120px!important;flex-basis:120px!important;padding:14px!important}body main .project-heading79{gap:18px!important}}


/* sales87.css */
/* Two current offers, with equal columns and normal text flow. */
body.resort-home .hero-sales87{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px;max-width:800px}
body.resort-home .hero-sales87 .button{min-height:48px;white-space:normal;text-align:center;line-height:1.35}
body.resort-home .hero-sales87 .button.outline{background:transparent;border:1px solid #fff;color:#fff}
body main .priority-sales87 .offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body main .priority-sales87 .offer-grid article{display:flex;flex-direction:column;min-width:0;height:auto}
body main .priority-sales87 .offer-grid article h3{line-height:1.2;white-space:normal}
body main .priority-sales87 .offer-grid article a{margin-top:auto;padding-top:16px}
body main .max-sales87{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
body main .max-sales87 p{margin:0;line-height:1.5;flex:1 1 260px}
body main .max-sales87 [data-max-status]{flex:1 0 100%;font-size:14px}
@media(max-width:700px){body main .priority-sales87 .offer-grid{grid-template-columns:minmax(0,1fr);gap:20px}body.resort-home .hero-sales87{display:grid;grid-template-columns:minmax(0,1fr);width:100%}body.resort-home .hero-sales87 .button{width:100%;font-size:14px;padding:14px 16px}}


/* primary104.css */
/* User's accommodation screenshot, isolated to the primary homepage. */
/* River and pine park: three equal photographs, with the resort link above them. */
body.resort-home main #resort-location.nature118{padding:60px 6%;max-width:1800px;margin:0 auto;box-sizing:border-box;color:#383838;background:rgb(29 77 72 / 3%)}
body.resort-home main #resort-location.nature118 .calm-heading80{max-width:none;margin:0 0 36px}
body.resort-home main #resort-location.nature118 h2{font:700 48px/1.15 Akrobat,Arial,sans-serif!important;letter-spacing:0;text-transform:uppercase;margin:0!important;color:#383838!important;max-width:none!important}
body.resort-home main #resort-location.nature118 .nature118-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 0 22px}
body.resort-home main #resort-location.nature118 .nature118-summary p{font:400 15px/1.6 Helvetica,Arial,sans-serif;margin:0;max-width:760px;flex:1;color:#383838}
body.resort-home main #resort-location.nature118 .nature118-summary a{flex-shrink:0;font:400 15px/1.5 Helvetica,Arial,sans-serif;color:#1d4d48;border-bottom:1px solid #789c9c;text-decoration:none;margin:0}
body.resort-home main #resort-location.nature118 .calm-photo-grid80{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.resort-home main #resort-location.nature118 figure{margin:0;min-width:0}
body.resort-home main #resort-location.nature118 figure img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;border-radius:0;transform:none!important}
body.resort-home main #resort-location.nature118 figcaption{font:400 15px/1.5 Akrobat,Arial,sans-serif;color:#1d4d48;margin:0;padding-top:12px}
@media(max-width:700px){
body.resort-home main #resort-location.nature118{padding:40px 20px}
body.resort-home main #resort-location.nature118 h2{font-size:34px!important}
body.resort-home main #resort-location.nature118 .calm-heading80{margin-bottom:24px}
body.resort-home main #resort-location.nature118 .nature118-summary{display:block;margin-bottom:24px}
body.resort-home main #resort-location.nature118 .nature118-summary a{display:inline-block;margin-top:16px}
body.resort-home main #resort-location.nature118 .calm-photo-grid80{grid-template-columns:1fr;gap:24px}
}
body.resort-home main #stay.stay102{padding:60px 6%;max-width:1800px;margin:0 auto;color:#383838;background:#fff}
body.resort-home main #stay.stay102 .stay102-heading{display:block;margin-bottom:40px}
body.resort-home main #stay.stay102 .eyebrow{font:400 13px/1.4 Helvetica,Arial,sans-serif!important;letter-spacing:2px;text-transform:lowercase;color:#1d4d48;margin:0 0 22px!important}
body.resort-home main #stay.stay102 h2{font:700 48px/1.15 Akrobat,Arial,sans-serif!important;text-transform:uppercase;margin:0 0 22px!important;color:#383838!important;letter-spacing:0;max-width:none}
body.resort-home main #stay.stay102 .stay102-intro{font:400 15px/1.6 Helvetica,Arial,sans-serif;max-width:1100px;margin:0 0 6px}
body.resort-home main #stay.stay102 .stay102-all{display:block;width:fit-content;margin-left:auto;margin-right:16px;margin-top:4px;color:#1d4d48;font:400 15px/1.5 Helvetica,Arial,sans-serif;border-bottom:1px solid #6f908d;text-decoration:none}
body.resort-home main #stay.stay102 .stay102-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
body.resort-home main #stay.stay102 .stay102-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #d2dddd;border-radius:10px;box-shadow:0 0 15px #244e4812}
body.resort-home main #stay.stay102 .stay102-card>img{display:block;width:100%!important;height:auto!important;aspect-ratio:553/393!important;object-fit:cover!important;transform:none!important;border-radius:0}
body.resort-home main #stay.stay102 .stay102-body{display:flex;flex-direction:column;flex:1;padding:24px 20px;box-sizing:border-box;min-height:350px}
body.resort-home main #stay.stay102 h3{font:700 28px/1.2 Akrobat,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:0;margin:0 0 16px!important;color:#383838!important;max-width:none;overflow-wrap:normal}
body.resort-home main #stay.stay102 .stay102-meta{font:400 15px/1.5 Akrobat,Arial,sans-serif;color:#789c9c;margin:0 0 16px}
body.resort-home main #stay.stay102 .stay102-description{font:400 15px/1.6 Helvetica,Arial,sans-serif;margin:0 0 25px;color:#383838;max-width:none}
body.resort-home main #stay.stay102 .stay102-chips{display:flex;align-content:start;flex-wrap:wrap;gap:10px 8px;margin-bottom:24px}
body.resort-home main #stay.stay102 .stay102-bed{width:100%}
body.resort-home main #stay.stay102 .stay102-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;box-sizing:border-box;padding:7px 9px;border:1px solid #d2dddd;border-radius:10px;color:#1d4d48;font:400 15px/1.2 Akrobat,Arial,sans-serif}
body.resort-home main #stay.stay102 .stay102-chip svg{width:20px;height:20px;flex:0 0 20px}
body.resort-home main #stay.stay102 .stay102-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
body.resort-home main #stay.stay102 .stay102-button{display:flex;align-items:center;justify-content:center;padding:12px 8px;box-sizing:border-box;min-height:46px;min-width:0;border:1px solid #1d4d48;border-radius:4px;background:#1d4d48;color:#fff;text-align:center;text-transform:uppercase;text-decoration:none;font:700 12px/1.3 Helvetica,Arial,sans-serif;white-space:normal}
body.resort-home main #stay.stay102 .stay102-button.outline{background:#fff;color:#1d4d48;border-color:#a7bdbe}
body.resort-home main #stay.stay102 .stay102-button.upcoming{background:#f7e5b3;color:#1d4d48;border-color:#f7e5b3}
body.resort-home main #stay.stay102 a:focus-visible{outline:3px solid #658e81;outline-offset:4px}

body .header{height:80px!important;min-height:80px!important;box-sizing:border-box;padding-top:0!important;padding-bottom:0!important}
body .header .brand{width:145px!important;max-width:145px!important;height:56px!important;flex:0 0 145px!important}
body .header .brand img{width:256px!important;height:144px!important;left:-55px!important;top:-30px!important;max-width:none!important;max-height:none!important}
body.resort-home main #stay.stay102 .stay102-card:last-child>img{object-position:center 65%!important}
@media(max-width:1000px){
body.resort-home main #stay.stay102 .stay102-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.resort-home main #stay.stay102 .stay102-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
body.resort-home main #stay.stay102 .stay102-card:last-child>img{height:100%!important}
body.resort-home main #stay.stay102 .stay102-all{margin:20px 0 0}
}
@media(max-width:700px){
body .header .brand{width:85px!important;max-width:85px!important;height:38px!important;flex-basis:85px!important}
body .header .brand img{width:149px!important;height:84px!important;left:-32px!important;top:-15px!important}
body.resort-home main #stay.stay102{padding:40px 20px}
body.resort-home main #stay.stay102 h2{font-size:34px!important}
body.resort-home main #stay.stay102 .stay102-grid{grid-template-columns:1fr}
body.resort-home main #stay.stay102 .stay102-card:last-child{display:flex;grid-column:auto}
body.resort-home main #stay.stay102 .stay102-card:last-child>img{height:auto!important}
body.resort-home main #stay.stay102 .stay102-body{min-height:0}
body.resort-home main #stay.stay102 h3{font-size:28px!important}
}

/* Compact shared header and alternating seasonal offers. */
body .header{padding-left:6%!important;padding-right:6%!important}
body .header .brand{width:120px!important;max-width:120px!important;height:48px!important;flex-basis:120px!important}
body .header .brand img{width:210px!important;height:118px!important;left:-45px!important;top:-24px!important}
body.resort-home main #offers.sales105{background:white;color:#383838;padding:60px 6%}
body.resort-home main #offers.sales105 .sales105-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:40px}
body.resort-home main #offers.sales105 .eyebrow{font:400 13px/1.4 Helvetica,Arial,sans-serif;letter-spacing:2px;color:#1d4d48;margin-bottom:22px}
body.resort-home main #offers.sales105 h2{font:700 48px/1.15 Akrobat,Arial,sans-serif!important;letter-spacing:0;text-transform:uppercase;margin:0!important;max-width:none!important}
body.resort-home main #offers.sales105 .sales105-heading>a{font-size:15px;color:#1d4d48;border-bottom:1px solid #789c9c;white-space:nowrap}
body.resort-home main #offers.sales105 .sales105-rows{display:grid;gap:30px}
body.resort-home main #offers.sales105 .sales105-row{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:4px;background:rgb(29 77 72 / 3%);min-width:0}
body.resort-home main #offers.sales105 .sales105-copy{display:flex;flex-direction:column;align-items:start;padding:30px;min-width:0}
body.resort-home main #offers.sales105 .sales105-copy>span{font:400 12px/1.5 Arial,sans-serif;text-transform:uppercase;margin-bottom:16px}
body.resort-home main #offers.sales105 h3{font:700 28px/1.2 Akrobat,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:0;margin:0 0 18px!important;color:#383838!important}
body.resort-home main #offers.sales105 p:not(.eyebrow){font:400 15px/1.6 Helvetica,Arial,sans-serif;color:#667571;margin:0 0 18px;max-width:none}
body.resort-home main #offers.sales105 .sales105-row>img{width:100%!important;height:100%!important;min-height:320px;object-fit:cover!important;aspect-ratio:auto!important;display:block;border-radius:0}
body.resort-home main #offers.sales105 .sales105-button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;background:#1d4d48;color:white;border-radius:4px;padding:14px 24px;min-height:46px;font:700 12px/1.4 Arial,sans-serif;text-transform:uppercase;text-align:center}
@media(max-width:700px){
body .header{padding-left:20px!important;padding-right:20px!important}
body .header .brand{width:78px!important;max-width:78px!important;height:34px!important;flex-basis:78px!important}
body .header .brand img{width:137px!important;height:77px!important;left:-29px!important;top:-15px!important}
body.resort-home main #offers.sales105{padding:40px 20px}
body.resort-home main #offers.sales105 h2{font-size:34px!important}
body.resort-home main #offers.sales105 .sales105-heading{display:block;margin-bottom:24px}
body.resort-home main #offers.sales105 .sales105-heading>a{display:inline-block;margin-top:18px}
body.resort-home main #offers.sales105 .sales105-row{display:flex;flex-direction:column}
body.resort-home main #offers.sales105 .sales105-row>img{order:-1;height:auto!important;min-height:0;aspect-ratio:3/2!important}
body.resort-home main #offers.sales105 .sales105-copy{padding:24px 20px}
body.resort-home main #offers.sales105 .sales105-button{margin-top:8px}
}


/* hero106.css */
body.resort-home .hero{padding-left:6%;padding-right:6%}
body.resort-home .hero-address{display:flex;align-items:center;gap:14px;font-size:15px;max-width:none}
body.resort-home .hero-address svg{width:26px;height:32px;flex:0 0 26px}
body.resort-home .hero .season-controls{right:6%;border-radius:999px;padding:5px;gap:4px;background:linear-gradient(135deg,#1d4d4860,#ffffff25);border:1px solid #d5f0eaa0;backdrop-filter:blur(16px);box-shadow:inset 0 2px 3px #fff4,inset 0 -2px 3px #fff6,0 5px 20px #082f3540}
body.resort-home .hero .season-controls .season-button{border-radius:999px;min-width:86px;background:transparent;color:#fff;font-size:15px;text-transform:none}
body.resort-home .hero .season-controls .season-button[aria-pressed=true]{background:#1d4d4890;color:white;box-shadow:inset 0 1px 8px #d9fff024}
body.resort-home .hero .season-controls .season-play{position:absolute;right:0;top:calc(100% + 8px);border:0;margin:0;border-radius:999px;background:#1d4d485c;backdrop-filter:blur(10px);min-height:32px;padding:5px 12px}
body.resort-home .hero .search-band{width:min(100%,1120px);align-self:center;padding:20px 24px;background:#f7f8f8f5;overflow:visible}
body.resort-home .hero .stay-search{grid-template-columns:1fr 1fr 1fr 1.5fr;gap:20px;align-items:center}
body.resort-home .hero .stay-search>label{min-width:0;font-size:12px;gap:2px}
body.resort-home .hero .stay-search :is(input,select){font-size:15px;min-height:36px;max-width:100%;border-bottom:0}
body.resort-home .hero .stay-search>button{width:100%;min-height:58px;border-radius:4px;background:#1d4d48;color:white;box-shadow:0 4px 10px #163c3820;font-size:15px}
.guest106{position:relative;min-width:0;color:#383838}
.guest106 summary{display:flex;align-items:center;gap:10px;min-height:58px;font-size:15px;cursor:pointer;list-style:none}
.guest106 summary::-webkit-details-marker{display:none}.guest106 summary i{font-style:normal;margin-left:auto}
.guest106 svg,.date106-heading svg{width:24px;height:24px;flex:0 0 24px}
.date106-heading{display:flex;align-items:center;gap:10px}
.guest106-panel{position:absolute;bottom:calc(100% + 12px);left:0;width:280px;max-width:calc(100vw - 40px);padding:20px;background:white;box-shadow:0 8px 30px #0003;border-radius:8px;display:grid;gap:14px;color:#383838}
body.resort-home .hero .guest106-panel label{display:grid;grid-template-columns:1fr 90px;align-items:center;font-size:15px}
body.resort-home .hero .guest106-panel select{border:1px solid #c6d6d2;border-radius:4px;padding:8px}
body.resort-home .hero .guest106-panel .children-ages{display:grid;gap:10px}
@media(max-width:900px){body.resort-home .hero .stay-search{grid-template-columns:1fr 1fr;gap:16px}body.resort-home .hero .stay-search>button{grid-column:auto}body.resort-home .hero .search-band{padding:18px}}
@media(max-width:700px){body.resort-home .hero{padding-left:20px;padding-right:20px}body.resort-home .hero .season-controls{right:20px}body.resort-home .hero .season-controls .season-button{min-width:70px;font-size:15px}body.resort-home .hero-address{align-items:start;font-size:15px}body.resort-home .hero .stay-search>button{font-size:13px;white-space:normal}.guest106 summary{font-size:13px;gap:7px}.guest106 svg,.date106-heading svg{width:20px;height:20px;flex-basis:20px}}

/* Refinements: compact, higher-contrast season toggle and booking bar. */
body.resort-home .hero .season-controls{padding:3px;gap:2px;background:#163e38d9;border-color:#d5f0eabf}
body.resort-home .hero .season-controls .season-button{min-width:64px;min-height:36px;padding:7px 13px;font:600 13px/1.3 Helvetica,Arial,sans-serif;color:#fff}
body.resort-home .hero .season-controls .season-button[aria-pressed=true]{background:rgb(29 77 72 / 3%);color:#163e38;box-shadow:inset 0 1px 4px #fff8}
body.resort-home .hero .season-controls .season-play{font-family:Helvetica,Arial,sans-serif;font-size:11px;min-height:28px;background:#163e38d9}
body.resort-home .hero .search-band{width:min(100%,1040px);padding:12px 20px}
body.resort-home .hero .stay-search{gap:16px}
body.resort-home .hero .stay-search>button{min-height:50px}
body.resort-home .hero .guest106 summary{min-height:50px}
body.resort-home main #stay.stay102 h2,body.resort-home main #offers.sales105 h2{font-family:Akrobat,Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.015em!important}
@media(max-width:700px){body.resort-home .hero .season-controls .season-button{min-width:58px;min-height:36px;padding:7px 10px;font-size:13px}body.resort-home .hero .search-band{padding:12px 16px}body.resort-home .hero .stay-search{gap:12px}}
/* Screenshot-matched glass season control and single-line booking bar. */
body.resort-home .hero108 .season-controls{display:flex;gap:0;padding:4px;width:190px;height:60px;border:1px solid #cee9df70;border-radius:999px;background:linear-gradient(155deg,#123c3d5c,#d5efe52b);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 2px 2px #c5efee66,inset 0 -3px 3px #d6fff0b0,0 4px 8px #082b3233}
body.resort-home .hero108 .season-controls .season-button{flex:1;min-width:0;height:50px;min-height:0;border-radius:999px;padding:0;font:400 17px/1 Helvetica,Arial,sans-serif;text-transform:none;color:#d8e9e4;box-shadow:none}
body.resort-home .hero108 .season-controls .season-button[aria-pressed=true]{background:linear-gradient(135deg,#143c3d9c,#244a4560);color:white;box-shadow:inset 0 1px 2px #e5fff01c}
body.resort-home .hero108 .season-controls .season-play{display:none}
body.resort-home .hero108 .search-band{width:100%;max-width:none;padding:24px 30px;border-radius:5px;background:rgb(29 77 72 / 3%);box-shadow:0 8px 28px #00000018}
body.resort-home .hero108 .stay-search{grid-template-columns:1fr 1fr 1fr 1.15fr;gap:0;align-items:center}
body.resort-home .hero108 .stay-search>.guest106,body.resort-home .hero108 .stay-search>.date108{height:62px;min-width:0;padding:0 18px;position:relative}
body.resort-home .hero108 .stay-search>.date108:before{content:'';position:absolute;left:0;top:18px;height:26px;border-left:1px solid #727976}
body.resort-home .hero108 .guest106 summary{height:62px;min-height:62px;font:400 15px/1.3 Helvetica,Arial,sans-serif;text-transform:uppercase;gap:12px}
body.resort-home .hero108 .guest106 summary i,body.resort-home .hero108 .chevron108{width:15px;height:15px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:auto;position:relative;top:-4px;flex:0 0 15px;font-size:0}
body.resort-home .hero108 .date106-heading{height:62px;font:400 15px/1.3 Helvetica,Arial,sans-serif;gap:14px;width:100%;letter-spacing:0}
body.resort-home .hero108 .guest106 svg,body.resort-home .hero108 .date106-heading svg{width:28px;height:28px;flex-basis:28px}
body.resort-home .hero108 .stay-search>.date108>input{position:absolute;inset:0;width:100%;height:62px;opacity:0;cursor:pointer;min-height:0;padding:0;border:0}
body.resort-home .hero108 .stay-search>.date108:focus-within{outline:2px solid #668f83;outline-offset:-2px;border-radius:4px}
body.resort-home .hero108 .stay-search>button{grid-column:auto;min-height:62px;height:auto;margin-left:18px;width:calc(100% - 18px);padding:12px;font:700 17px/1.3 Helvetica,Arial,sans-serif;text-transform:uppercase}
body.resort-home .hero108 .guest106-panel{z-index:3;bottom:calc(100% + 18px)}
@media(max-width:900px){body.resort-home .hero108 .search-band{padding:20px}body.resort-home .hero108 .stay-search{grid-template-columns:1fr 1fr;gap:12px}body.resort-home .hero108 .stay-search>.date108:before{display:none}body.resort-home .hero108 .stay-search>button{width:100%;margin:0;font-size:15px}body.resort-home .hero108 .stay-search>.guest106,body.resort-home .hero108 .stay-search>.date108{padding:0 10px}}
@media(max-width:700px){body.resort-home .hero108 .season-controls{width:160px;height:52px}body.resort-home .hero108 .season-controls .season-button{height:42px;font-size:15px}body.resort-home .hero108 .search-band{padding:12px}body.resort-home .hero108 .date106-heading,body.resort-home .hero108 .guest106 summary{font-size:13px;gap:8px}body.resort-home .hero108 .guest106 svg,body.resort-home .hero108 .date106-heading svg{width:22px;height:22px;flex-basis:22px}body.resort-home .hero108 .chevron108,body.resort-home .hero108 .guest106 summary i{width:10px;height:10px;flex-basis:10px}}
/* Contrast for white copy over the summer and winter cover. */
body.resort-home .hero108 .hero-shade{background:linear-gradient(90deg,rgba(5,26,23,.72) 0%,rgba(5,26,23,.38) 55%,rgba(5,26,23,.14) 100%),linear-gradient(0deg,rgba(5,26,23,.55),transparent 80%)}
body.resort-home .hero108 .hero-content :is(h1,.eyebrow,.hero-description,.hero-address){text-shadow:0 2px 5px rgba(0,0,0,.65),0 0 18px rgba(0,0,0,.3)}
body.resort-home .hero108 .hero-sales87 .button.outline{background:rgba(8,36,31,.52);text-shadow:0 1px 3px rgba(0,0,0,.6);border-color:#fff;color:#fff}
body.resort-home .hero108 .season-controls .season-button{color:white;text-shadow:0 1px 3px rgba(0,0,0,.6)}
body.resort-home .header :is(nav,summary,.menu){text-shadow:0 1px 4px rgba(0,0,0,.5)}
body.resort-home .header .guest-contact-panel,body.resort-home .header .nav-panel78{text-shadow:none}
@media(max-width:700px){body.resort-home .hero108 .hero-shade{background:linear-gradient(90deg,rgba(5,26,23,.62),rgba(5,26,23,.38)),linear-gradient(0deg,rgba(5,26,23,.5),rgba(5,26,23,.08) 80%)}}


/* header119.css */
/* Keep navigation in place without changing the existing 80px header layout. */
body .header{
 position:fixed!important;top:0!important;left:0!important;right:0!important;
 width:100%!important;z-index:500!important;box-sizing:border-box;
 height:80px!important;min-height:80px!important;padding-top:0!important;padding-bottom:0!important;
 background:rgba(29,77,72,.74)!important;
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
 border:0!important;
 transition:background-color .2s ease,box-shadow .2s ease;
}
/* Text pages keep space for navigation; photo covers sit beneath it. */
body:not(.resort-home){padding-top:80px}
body .header:not(.is-scrolled){
 background:transparent!important;border-bottom-color:transparent;
 -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none!important;
}
body .header.is-scrolled{box-shadow:0 3px 18px rgba(12,38,33,.12)}
body .header nav.open{top:100%!important;max-height:calc(100dvh - 80px);overflow-y:auto}
@media(prefers-reduced-motion:reduce){body .header{transition:none}}

body:has(main>:is(.hero,.gastro-hero,.activity-hero,.team43-hero,.wedding-hero,.banya-cover):first-child){padding-top:0!important}
body.header-paper191 .header:not(.is-scrolled){color:#1d4d48!important}
body.header-paper191 .header:not(.is-scrolled) :is(nav,.menu,.header-contact80>summary,.button){color:#1d4d48!important}
body.header-paper191 .header:not(.is-scrolled) .button{border-color:rgb(29 77 72 / 38%)!important}
body.header-paper191 .header:not(.is-scrolled) .brand img{filter:brightness(0) saturate(100%) invert(25%) sepia(18%) saturate(1115%) hue-rotate(125deg) brightness(92%) contrast(88%)!important}
body.header-paper191 .header:not(.is-scrolled) nav.open{color:white!important}

body.header-paper191{padding-top:80px!important}


/* typography121.css */
/* One colour for content headings and their introductory labels. */
:root{--section-heading-colour:#383838;--section-label-colour:#1d4d48}
body main :is(h2,h3){color:var(--section-heading-colour)!important}
body main :is(h2,h3) :is(em,span,strong){color:inherit!important}
body main .eyebrow,body main .section .eyebrow{color:var(--section-label-colour)!important}
/* Keep the unified text colours legible on the formerly dark content panels. */
body main :is(.contact,.home-banya,.group-invitation,.national-project){background:rgb(29 77 72 / 3%)!important;color:#383838!important}
body main :is(.contact,.home-banya,.group-invitation,.national-project) :is(p,.section-note,.contact-phones,.contact-phones a){color:#383838}
body main :is(.contact,.home-banya,.group-invitation,.national-project) .eyebrow{color:var(--section-label-colour)!important}
body main .contact .button.lime{background:#1d4d48;color:white;border-color:#1d4d48}
/* Photo-cover copy retains its contrast against the image. */
body main :is(.hero,.gastro-hero,.activity-hero) .eyebrow{color:inherit!important}
body .header .header-contact80>summary{
 font-family:Helvetica,Arial,sans-serif!important;font-weight:400!important;letter-spacing:normal;
}
/* Unified underlined editorial links: 90% brand green and one underline offset. */
body main a.text-link:not(.stay-card>.text-link),
body.resort-home main #offers.sales105 .sales105-heading>a{
 color:rgba(29,77,72,.9)!important;
 border-bottom:0!important;
 text-decoration-line:underline!important;
 text-decoration-color:currentColor!important;
 text-decoration-thickness:1px!important;
 text-underline-offset:6px!important;
 text-decoration-skip-ink:auto;
 padding-bottom:10px;
}
body.resort-home main #resort-location.nature118 .calm-heading80 h2{font-weight:800!important}
/* Reference season switch: solid capsule and white selected half. */
body.resort-home .hero108 .season-controls{
 box-sizing:border-box;width:190px;height:60px;padding:4px;gap:0;
 background:#2d5554;border:0;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}
body.resort-home .hero108 .season-controls .season-button{
 height:52px;font:700 20px/1 Helvetica,Arial,sans-serif;
 text-transform:uppercase;color:#fff;text-shadow:none;box-shadow:none;
}
body.resort-home .hero108 .season-controls .season-button[aria-pressed=true]{
 background:#fff;color:#1d4d48;box-shadow:none;text-shadow:none;
}
@media(max-width:700px){
 body.resort-home .hero108 .season-controls{width:160px;height:52px}
 body.resort-home .hero108 .season-controls .season-button{height:44px;font-size:17px}
}

/* Nature booking invitation, matching the supplied composition. */
body.resort-home main .rest123{padding:60px 6%;background:#fff}
body.resort-home main .rest123-card{border-radius:14px;overflow:hidden;padding:56px;min-height:380px;box-sizing:border-box;background:linear-gradient(90deg,rgba(10,39,32,.94),rgba(10,39,32,.74) 48%,rgba(10,39,32,.1)),var(--perf-rest-photo, none) center 55%/cover no-repeat;color:white}
body.resort-home main .rest123-copy{max-width:470px}
body.resort-home main .rest123-copy h2{color:white!important;font-size:clamp(34px,3.5vw,48px);line-height:1.12;margin:0 0 22px}
body.resort-home main .rest123-copy .eyebrow{color:#fff!important;margin-bottom:14px}
body.resort-home main .rest123-copy>p:not(.eyebrow){color:#fff;line-height:1.5;max-width:390px}
body.resort-home main .rest123 .button{background:#fff;color:#1d4d48;border:1px solid #fff;border-radius:5px;margin:12px 0 18px;min-width:210px;text-align:center}
body.resort-home main .rest123-copy .rest123-note{font-size:13px;margin:12px 0 0}
body.resort-home .hero108 .hero-sales87 .button.outline{background:#fff!important;color:#1d4d48!important;border-color:#fff;border-radius:12px;text-shadow:none}
body.resort-home .hero108 .season-controls{width:127px;height:40px;padding:3px;top:155px!important}
body.resort-home .hero108 .season-controls .season-button{height:34px;font-size:13px}
@media(max-width:700px){
 body.resort-home main .rest123{padding:36px 20px}
 body.resort-home main .rest123-card{padding:30px 24px;min-height:350px}
 body.resort-home .hero108 .season-controls{width:107px;height:35px;top:115px!important}
 body.resort-home .hero108 .season-controls .season-button{height:29px;font-size:11px}
}

/* Description typography follows the group and New Year block. */
body main :is(.section,.contact,.home-banya,.group-invitation,.national-project) p:not(.eyebrow):not(.stay102-meta):not(.search-error){
 font:400 15px/1.6 Helvetica,Arial,sans-serif!important;color:#434C4A!important;
}
body main :is(.hero,.gastro-hero,.activity-hero) p:not(.eyebrow),
body.resort-home main .rest123-copy>p:not(.eyebrow){color:#fff!important}
body.resort-home .hero108 .hero-sales87 .button{border-radius:4px!important}

/* Mobile CTA alignment: equal side padding and genuinely centred copy. */
@media(max-width:700px){
 body.resort-home .hero108 .hero-sales87{width:100%;align-items:stretch}
 body.resort-home .hero108 .hero-sales87 .button,
 body.resort-home main .rest123 .button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;width:100%!important;min-width:0!important;
  padding:16px 20px!important;margin-left:0!important;margin-right:0!important;
  text-align:center!important;gap:0!important;white-space:normal!important;
  line-height:1.35!important;min-height:50px;
 }
 body.resort-home .hero108 .stay-search>button{
  display:flex!important;justify-content:center!important;align-items:center!important;
  padding-left:20px!important;padding-right:20px!important;text-align:center!important;
 }
}
/* River gallery captions follow body typography on every viewport. */
body.resort-home main #resort-location.nature118 figcaption{
 font:400 15px/1.6 Helvetica,Arial,sans-serif!important;color:#434C4A!important;
}

body.resort-home main .gastro127-chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}
body.resort-home main .gastro127-chips>span{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #d2dddd;border-radius:8px;font:400 15px/1.3 Helvetica,Arial,sans-serif;color:#1d4d48}
body.resort-home main .gastro127-chips svg{width:20px;height:20px;flex:0 0 20px}
body.resort-home main .gastro127-hours{margin-bottom:24px}
body.resort-home main #experiences .taste127-photo{object-position:center bottom!important}

/* Full landscape photography in photo blocks; posters retain their complete text. */
body main :is(.image-story,.leisure-feature)>img,
body main :is(.calm-slide80,.team43-hero-photo,.team43-gallery,.parking-section figure,.cabin-gallery,.banya-gallery,.group-photo-grid,.family-photo-grid,.cabin-photo-grid,.nature-photo-pair,.workshop-photo,.home-kitchen-photos) img,
body main img.food109,
body main .fishing-cover82>img{
 width:100%!important;height:auto!important;aspect-ratio:3/2!important;
 object-fit:cover!important;object-position:center!important;max-height:none!important;
}
body.resort-home main .leisure-feature .button{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 min-height:46px!important;padding-top:12px!important;padding-bottom:12px!important;line-height:1.3;
}
/* One CTA geometry, with explicit contrast on the photographic invitation. */
body.resort-home main .rest123.rest123 .rest123-copy>p:not(.eyebrow){color:#fff!important}
body.resort-home main .rest123 .button,
body.resort-home main .home-banya .button,
body.resort-home main .leisure-feature .button,
body.resort-home main #contacts .button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 text-align:center!important;box-sizing:border-box!important;gap:0!important;
 padding:12px 24px!important;min-height:46px!important;height:auto!important;
 line-height:1.3!important;border-radius:4px!important;
}
body.resort-home main .home-banya .button{background:#1d4d48!important;color:#fff!important;border:1px solid #1d4d48!important}
body.resort-home main #contacts .button>span:empty{display:none!important}
@media(max-width:700px){
 body.resort-home main .rest123 .button{min-height:46px!important;padding:12px 24px!important}
}
/* Contrast is tied to the actual panel background, including mobile layouts. */
body main .green-panel-copy130.green-panel-copy130{
 color:#fff!important;
}
body main .green-panel-copy130.green-panel-copy130 :is(span,strong,em,small){color:inherit!important}

:root{--soft-panel131:rgba(29,77,72,.03)}
body main :is(.contact,.home-banya,.group-invitation,.national-project,.guest-reviews79,.review-section,.home-history,.leisure-feature,.workshops-section,.river-section,.parking-section,.parking-summary,.choice-help,.offers,.team43-band,.capacity-band,.contacts-direct){background:var(--soft-panel131)!important}
body.resort-home main #resort-location.nature118{background:var(--soft-panel131)!important}
body main .trust131{display:grid;grid-template-columns:1fr 1.15fr;gap:6%;align-items:center;padding:60px 6%}
body main .trust131-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
body main .trust131-copy{min-width:0}
body main .trust131-copy h2{margin:0 0 24px}
body main .trust131-rating{display:flex;gap:20px;align-items:center;flex-wrap:wrap;width:fit-content;margin-bottom:24px;text-decoration:none;color:#1d4d48}
body main .trust131-yandex{font:700 22px/1.3 Helvetica,Arial,sans-serif}
body main .trust131-rating strong{padding:10px 15px;background:#fff;border-radius:6px;font:700 20px/1.3 Helvetica,Arial,sans-serif}
body main .trust131-rating strong span{color:#e4aa2c;letter-spacing:2px}
body main .trust131 .guest-actions79{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
body main .trust131 .button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;min-height:46px;text-align:center}
@media(max-width:700px){body main .trust131{grid-template-columns:1fr;padding:40px 20px;gap:28px}body main .trust131 .button{width:100%;box-sizing:border-box}body main .trust131-rating{gap:12px}}

body main .carousel-controls80 button{border-radius:4px!important}
body main .guest-reviews79 .review-award132{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px}
body main .guest-reviews79 .review-award132 strong{display:inline-block;color:#1d4d48;font:700 17px/1.4 Helvetica,Arial,sans-serif;border-left:3px solid #1d4d48;padding-left:14px}
body main .guest-reviews79 .review-award132 span{font-size:15px;color:#434c4a}

/* Group invitation: branded green panel with CTA directly below the copy. */
body.resort-home main #groups.group-invitation{
 display:block;background:#1d4d48!important;color:#fff!important;
}
body.resort-home main #groups.group-invitation :is(h2,p,.eyebrow,.home-format-links a){color:#fff!important}
body.resort-home main #groups.group-invitation>div:first-child{max-width:850px}
body.resort-home main #groups.group-invitation>div:first-child>p:not(.eyebrow){margin-bottom:24px}
body.resort-home main #groups.group-invitation .button{
 display:inline-flex;align-items:center;justify-content:center;text-align:center;
 background:#fff!important;color:#1d4d48!important;border:1px solid #fff;
 border-radius:4px;padding:12px 24px;min-height:46px;box-sizing:border-box;margin:0;
}
body.resort-home main #groups.group-invitation .home-format-links{margin-top:32px}
body.resort-home main #groups.group-invitation .home-format-links a{border-color:rgba(255,255,255,.55)}
@media(max-width:700px){body.resort-home main #groups.group-invitation .button{width:100%;white-space:normal}}
/* History gallery titles match the experience card headings. */
body.resort-home main .experience-grid h3,
body.resort-home main .calm-carousel80 .calm-slide80 figcaption>strong{
 font:700 35px/1.1 Akrobat,Arial,sans-serif!important;
 display:block;color:#383838!important;
}
body.resort-home main .calm-carousel80 .carousel-controls80 button{
 border-radius:4px!important;
}
@media(max-width:700px){
 body.resort-home main .experience-grid h3,
 body.resort-home main .calm-carousel80 .calm-slide80 figcaption>strong{font-size:32px!important}
}

body.resort-home main #resort-location.nature118 .nature135-label{
 font:400 13px/1.4 Helvetica,Arial,sans-serif!important;letter-spacing:2px;
 text-transform:lowercase;color:#1d4d48!important;margin:0 0 22px!important;
}
body.resort-home main #resort-location.nature118 figcaption{text-transform:uppercase;letter-spacing:.02em}
body.resort-home main .activities135{display:flex;flex-wrap:wrap;align-items:center;gap:24px 28px}
body.resort-home main .activities135 a{
 display:inline-block;font:400 18px/1.4 Helvetica,Arial,sans-serif;
 color:#434c4a;border:0;border-bottom:1px solid #87a19a;border-radius:0;
 padding:12px 0;text-decoration:none;background:transparent;
}
body.resort-home main .activities135>span{font:400 18px/1.4 Helvetica,Arial,sans-serif;color:#1d4d48}
@media(max-width:700px){body.resort-home main .activities135{gap:12px 20px}}

body.resort-home main .rest123-card{border-radius:4px!important}
body.resort-home main .activities.activities136{border-top:0!important;gap:10px 12px}
body.resort-home main .activities136 a{
 display:inline-flex;align-items:center;gap:8px;padding:8px 12px;
 border:1px solid #d2dddd;border-radius:10px;text-decoration:none;
 color:#1d4d48;font:400 15px/1.2 Akrobat,Arial,sans-serif;min-height:36px;box-sizing:border-box;
}
body.resort-home main .activities136 svg{width:20px;height:20px;flex:0 0 20px}
@media(max-width:700px){
 body .header{padding-left:20px!important;padding-right:20px!important}
 body .header .header-actions{margin-left:auto;margin-right:-8px}
}

/* Dark photographic covers retain white headings and all supporting copy. */
body main :is(.gastro-hero-copy,.activity-hero-copy) :is(h1,h2,h3,p,.eyebrow,.breadcrumb,.hero-menu-link){color:#fff!important}

/* Pale panels use the homepage's 3% brand tint, with dark copy. */
body main :is(.repeat-search,.regional-routes,.kitchen-videos,.gastro-services,.event-links76,.team43-hero,.research-stats>div,.research68 blockquote,.signature-menu-grid article){background:rgba(29,77,72,.03)!important}
body main .soft-panel-copy139{color:#434c4a!important}
body main .soft-panel-copy139:is(h1,h2,h3,h4){color:#383838!important}
body main .soft-panel-copy139:is(a,.eyebrow){color:#1d4d48!important}
/* Bounded winter gallery must not inherit viewport-wide section gutters. */
body main #winter-moments.winter116-posters{
 display:block;width:100%;max-width:1200px;min-width:0;box-sizing:border-box;
 margin:0 auto;padding:48px 24px!important;
}
body main #winter-moments .winter116-grid{
 width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;
}
body main #winter-moments .winter116-grid figure{width:100%;min-width:0;margin:0}
body main #winter-moments .winter116-frame{width:100%;box-sizing:border-box;border-radius:4px}
body main #winter-moments figcaption{width:100%;font-size:15px;line-height:1.6;word-break:normal;overflow-wrap:normal}
@media(max-width:600px){
 body main #winter-moments.winter116-posters{padding:32px 20px!important}
 body main #winter-moments .winter116-grid{grid-template-columns:minmax(0,1fr);gap:28px}
}

/* Supplied editorial posters retain their complete lettering. */
body main .winter-promo142{max-width:1200px;width:100%;box-sizing:border-box;margin:0 auto;padding:48px 24px!important}
body main .winter-promo142-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
body main .winter-promo142-grid figure{margin:0;min-width:0}
body main .winter-promo142-grid a{display:block}
body main .winter-promo142-grid img{display:block;width:100%;height:auto!important;aspect-ratio:1;object-fit:contain!important;border-radius:4px}
@media(max-width:600px){body main .winter-promo142{padding:32px 20px!important}body main .winter-promo142-grid{grid-template-columns:minmax(0,1fr)}}

/* Increase accommodation CTA labels without changing button geometry. */
body.resort-home main #stay.stay102 .stay102-button{font-size:14px}
/* Use available space for the river introduction instead of a 760px column. */
body.resort-home main #resort-location.nature118 .nature118-summary{flex-wrap:wrap;gap:16px 32px}
body.resort-home main #resort-location.nature118 .nature118-summary p{max-width:none;width:auto;flex:1 1 900px}

/* All four gastrobar films share one aligned row. */
body main #new-videos .banquet-video-gallery{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:24px!important;max-width:none!important;width:100%;margin:32px 0 0!important;align-items:start;
}
body main #new-videos .banquet-video-gallery figure{margin:0;min-width:0}
body main #new-videos .banquet-video-gallery video{
 display:block;width:100%!important;height:auto!important;aspect-ratio:9/16!important;object-fit:contain!important;border-radius:4px;
}
body main #new-videos .banquet-video-gallery figcaption{font-size:15px;line-height:1.6;padding-top:12px}
@media(max-width:700px){
 body main #new-videos .banquet-video-gallery{
  grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:min(78vw,300px);
  overflow-x:auto;scroll-snap-type:x mandatory;gap:16px!important;padding-bottom:16px;
 }
 body main #new-videos .banquet-video-gallery figure{scroll-snap-align:start}
}

/* Wedding clips keep their native proportions in one continuous row. */
body main #wedding-videos .wedding-video-row148{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:24px!important;max-width:none!important;width:100%;margin:32px 0!important;align-items:start}
body main #wedding-videos .wedding-video-row148 figure{min-width:0;margin:0}
body main #wedding-videos .wedding-video-row148 video{display:block;width:100%!important;height:auto!important;aspect-ratio:9/16!important;object-fit:contain!important;border-radius:4px}
body main #wedding-videos .wedding-video-row148 figcaption{padding-top:12px}
body main #wedding-videos .wedding-video-row148 figcaption h3{font-family:Akrobat,Arial,sans-serif;font-size:24px;line-height:1.2}
body main #wedding-videos .wedding-video-row148 figcaption p,body main #wedding-videos .wedding-video-row148 figcaption a{font-size:15px;line-height:1.6}
@media(max-width:900px){body main #wedding-videos .wedding-video-row148{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:min(72vw,260px);gap:16px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}body main #wedding-videos .wedding-video-row148 figure{scroll-snap-align:start}}

/* Wedding banquet photos: a complete row with matching landscape frames. */
body main #wedding-banquet .wedding-banquet150{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
body main #wedding-banquet .wedding-banquet150 figure{min-width:0;margin:0}
body main #wedding-banquet .wedding-banquet150 .filled-photo-frame{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:4px}
body main #wedding-banquet .wedding-banquet150 img{width:100%!important;height:100%!important;object-fit:cover!important}
body main #wedding-banquet .wedding-banquet150 figcaption{font-size:15px;line-height:1.6;color:#434C4A;margin-top:12px}
@media(max-width:700px){body main #wedding-banquet .wedding-banquet150{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}}

/* Booking search panel keeps its original solid white surface. */
body.resort-home main .hero.hero108 .search-band{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Site-wide readability: enlarge descriptive copy without changing headings or buttons. */
body main :is(p,li,figcaption,label,blockquote,dt,dd,small):not(.eyebrow),
body .new-year-widget p,
body footer :is(p,li,small){
 font-size:18px!important;
 line-height:1.65!important;
}
body main small:not(.eyebrow),body footer small{font-size:16px!important;line-height:1.6!important}
body main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body main textarea,
body main select{font-size:17px!important;line-height:1.5!important}
body main p:not(.eyebrow) a:not(.button):not([role="button"]){font-size:inherit!important}

@media(max-width:700px){
 body main :is(p,li,figcaption,label,blockquote,dt,dd):not(.eyebrow),
 body .new-year-widget p,
 body footer :is(p,li){font-size:17px!important;line-height:1.6!important}
 body main small:not(.eyebrow),body footer small{font-size:15px!important}
 body main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
 body main textarea,
 body main select{font-size:16px!important}
}


/* Footer readability: enlarge all footer copy, links, and section labels. */
body footer :is(a,p,li,small,span,strong,em){font-size:17px!important;line-height:1.65!important}
@media(max-width:700px){body footer :is(a,p,li,small,span,strong,em){font-size:16px!important;line-height:1.6!important}}


/* photo-contrast158.css */
/* Uniform photo tint and diffuse contrast for copy over photography. */
body main .hero .hero-shade,
body main .gastro-hero .gastro-overlay,
body main .activity-hero:after {
 background:rgba(0,27,25,.30)!important;
}
body main .scene-label{background:rgba(0,27,25,.30)!important}
body.resort-home main .rest123-card{
 background-image:linear-gradient(rgba(0,27,25,.30),rgba(0,27,25,.30)),var(--perf-rest-photo, none)!important;
}
body main :is(.hero-content,.hero-top,.hero-bottom,.gastro-hero-copy,.activity-hero-copy,.scene-label,.rest123-card) :is(h1,h2,h3,p,.eyebrow,.hero-description,.hero-address,.breadcrumb,.hero-menu-link),
body main :is(.hero-top,.hero-bottom,.scene-label){
 text-shadow:0 0 20px rgba(35,38,37,.40),0 0 40px rgba(35,38,37,.22)!important;
}
body main :is(.hero-content,.gastro-hero-copy,.activity-hero-copy,.rest123-card) :is(.button,.button *){text-shadow:none!important}

/* Keep all header navigation text crisp over the translucent header. */
body .header nav,
body .header nav *,
body .header :is(summary,.menu){text-shadow:none!important}


/* Darken the home cover to the requested 40% while inner-page covers stay unchanged. */
body.resort-home main .hero .hero-shade{background:rgba(0,27,25,.40)!important}

/* Refined rooms request panel: airy sage ground, clear callout and a distinct form card. */
body.rooms-index-page main .request-section{
 box-sizing:border-box;width:min(1320px,calc(100% - 48px));margin:56px auto 72px;
 padding:clamp(28px,4.5vw,58px);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
 gap:clamp(28px,5vw,72px);align-items:center;
 background:rgb(29 77 72 / 3%);border:1px solid #dfe7df;border-radius:12px;
}
body.rooms-index-page main .request-section>div>.eyebrow{color:#42675d!important;letter-spacing:1.8px;margin:0 0 14px}
body.rooms-index-page main .request-section h2{font-size:clamp(34px,4vw,54px);line-height:1.08;margin:0 0 20px}
body.rooms-index-page main .request-section>div>p:not(.eyebrow){margin:0;max-width:48ch;color:#4e6058;line-height:1.65}
body.rooms-index-page main .request-call{
 margin:24px 0 0;padding:16px 18px;background:#fff;border:1px solid #e2e9e3;
 border-left:4px solid #1d4d48;border-radius:8px;
}
body.rooms-index-page main .request-call span{font-size:13px;color:#68766f}
body.rooms-index-page main .request-call a{font-size:clamp(22px,2.3vw,29px);font-weight:700;margin-top:5px;text-decoration:none}
body.rooms-index-page main .request-section .request-explain{font-size:13px;line-height:1.6;margin:18px 0 0;color:#68766f}
body.rooms-index-page main #inquiry-form{
 min-width:0;padding:clamp(20px,3vw,34px);background:#fff;border:1px solid #dfe7e1;
 border-radius:10px;box-shadow:0 10px 30px rgba(29,77,72,.08);
}
body.rooms-index-page main #inquiry-form .form-grid{gap:18px 16px}
body.rooms-index-page main #inquiry-form .form-grid label{font-size:13px;font-weight:600;color:#46564e;gap:8px}
body.rooms-index-page main #inquiry-form :is(input,select,textarea){
 border-color:#cfdbd2;border-radius:6px;background:rgb(29 77 72 / 3%);color:#253b33;
}
body.rooms-index-page main #inquiry-form :is(input,select){height:52px}
body.rooms-index-page main #inquiry-form textarea{min-height:112px}
body.rooms-index-page main #inquiry-form :is(input,select,textarea):focus{outline:2px solid #719487;outline-offset:2px}
body.rooms-index-page main #inquiry-form .consent{font-size:13px;line-height:1.5;color:#52635b;align-items:flex-start}
body.rooms-index-page main #inquiry-form .consent input{width:18px;min-width:18px;height:18px;margin:2px 8px 0 0;accent-color:#1d4d48}
body.rooms-index-page main #inquiry-form .form-note{font-size:12px;line-height:1.55;color:#68766f}
body.rooms-index-page main #inquiry-form button[type=submit]{justify-content:center;box-shadow:none}
body.rooms-index-page main .gastro-hero-copy .hero-menu-link{border-bottom:0;text-decoration:none}
@media(max-width:800px){
 body.rooms-index-page main .request-section{width:calc(100% - 32px);margin:32px auto 48px;padding:24px;grid-template-columns:1fr;gap:24px}
 body.rooms-index-page main #inquiry-form{padding:22px}
}
@media(max-width:560px){
 body.rooms-index-page main .request-section{width:calc(100% - 24px);padding:20px}
 body.rooms-index-page main #inquiry-form{padding:18px}
 body.rooms-index-page main #inquiry-form .form-grid{grid-template-columns:1fr;gap:16px}
 body.rooms-index-page main #inquiry-form .form-grid .full{grid-column:auto}
 body.rooms-index-page main .request-section h2{font-size:clamp(32px,9vw,42px)}
}

/* Mobile header: logo, contact label, full booking button, menu. */
@media(max-width:700px){
 body .header{display:flex!important;flex-wrap:nowrap!important;padding-left:12px!important;padding-right:12px!important;gap:8px!important}
 body .header .header-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin-left:auto!important;margin-right:0!important}
 body .header .header-contact80{display:block!important;flex:none!important}
 body .header .header-contact80>summary{display:flex!important;font-size:12px!important;white-space:nowrap!important}
 body .header .booking-label-full81{display:inline!important}
 body .header .booking-label-short81{display:none!important}
 body .header-actions>.button.small{font-size:10px!important;padding:10px 8px!important;white-space:nowrap!important;min-height:40px!important}
 body .header .menu{display:block!important;width:36px!important;min-width:36px!important;min-height:44px!important;padding:0!important}
}

/* Rooms catalogue: compact transition to the photo archive. */
body.rooms-index-page main #catalog{padding-bottom:32px!important}
body.rooms-index-page main .room-archive89{margin-top:0!important}
body.rooms-index-page main #catalog .room-soon89{background:#f4b544!important;border:0!important;color:#3d3422!important}

/* Mobile home cover: conceal introductory copy while preserving button positions. */
@media(max-width:700px){
 body.resort-home main .hero108 .hero-content #hero-title,
 body.resort-home main .hero108 .hero-content .hero-description{visibility:hidden!important}
}


/* photo-controls162.css */
body main .unified-photo162{position:relative!important}
body main .unified-photo162 .photo-controls162{position:absolute!important;inset:auto!important;left:var(--photo-left,0px)!important;top:var(--photo-top,0px)!important;width:var(--photo-width,100%)!important;height:var(--photo-height,100%)!important;display:block!important;margin:0!important;padding:0!important;pointer-events:none!important;z-index:8}
body main .unified-photo162 .photo-controls162 button{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;bottom:auto!important;width:44px!important;height:56px!important;min-height:44px!important;padding:8px!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;pointer-events:auto!important;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.75))}
body main .unified-photo162 .photo-prev162{left:12px!important;right:auto!important}
body main .unified-photo162 .photo-next162{right:12px!important;left:auto!important}
body main .unified-photo162 .photo-controls162 button svg{display:block!important;width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round;stroke-linejoin:round}
body main .unified-photo162 .photo-controls162 .photo-count162{position:absolute!important;bottom:16px!important;left:50%!important;transform:translateX(-50%)!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;color:white!important;font:500 15px/1.2 Helvetica,Arial,sans-serif!important;text-shadow:none!important;pointer-events:none}
body main .unified-photo162 :is(.photo-dots101,.gastro-dots99,.room-dots153,[data-room-dot],[data-gastro-dot]){display:none!important}
body main .unified-photo162 .photo-controls162 button:focus-visible{outline:2px solid white!important;outline-offset:2px}
body main .unified-photo162 .photo-controls162[hidden]{display:none!important}

/* Photo frames follow the photograph, with no coloured backing or letterbox. */
body main .unified-photo162:is(.room-slider89,.gastro-gallery99,.photo-gallery101){background:transparent!important;padding:0!important;height:auto!important;aspect-ratio:auto!important;min-height:0!important}
body main .unified-photo162 :is(.room-slide89,.gastro-slide99,.photo-slide101){background:transparent!important;padding:0!important;margin:0!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important}
body main .unified-photo162 :is(.room-slide89,.gastro-slide99,.photo-slide101) img{display:block!important;position:static!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:72vh!important;aspect-ratio:auto!important;object-fit:contain!important;background:transparent!important;margin:0 auto!important;transform:none!important}
body main .unified-photo162 .calm-slide80 img{aspect-ratio:auto!important;background:transparent!important}
body main img:is(.photo-portrait,.portrait,.preserve-frame),body main :is(.cafe-photo-frame,.filled-photo-frame,.photo-wrap){background:transparent!important}
body main img{background:transparent!important}

/* Soft diffuse shadow keeps white counters legible on light photographs. */
body main :is(.photo-count162,[data-counter80],[data-room-count],[data-menu-counter]){text-shadow:none!important}


/* special-offers165.css */
body main .offers166{background:rgb(29 77 72 / 3%);color:#383838}
body main .offers166>.eyebrow{color:#1D4D48;margin-bottom:20px}
body main .offers166>h2{margin-bottom:48px}
.offers166-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.offers166-card{min-width:0;border-radius:5px;overflow:hidden;background:#fff;box-shadow:0 7px 24px #00000012}
.offers166-icon{height:96px;padding-top:20px;display:flex;align-items:center;justify-content:center;color:#8EA6A2}
.offers166-icon svg{width:72px;height:72px}
.offers166-copy{padding:18px 24px 24px}
body main .offers166-card h3{font-family:Akrobat,Arial,sans-serif!important;font-weight:400!important;text-transform:none!important;font-size:clamp(24px,2.1vw,30px)!important;line-height:1.2!important;text-align:center;color:#383838!important;margin:0 0 16px;min-height:2.4em}
body main .offers166-card p{font:400 16px/1.5 Helvetica,Arial,sans-serif;color:#383838;margin:0}
@media(max-width:1000px){.offers166-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:600px){.offers166-grid{grid-template-columns:1fr;gap:24px}.offers166-copy{padding:16px 24px 24px}body main .offers166-card h3{min-height:0}body main .offers166>h2{margin-bottom:32px}}


/* home-family168.css */
/* Match the home sauna block's columns, gap and photo proportions. */
body.resort-home main .home-family168{grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}
body.resort-home main .home-family168>img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/2!important;object-fit:cover!important;object-position:center!important;border-radius:5px}
@media(max-width:900px){body.resort-home main .home-family168{grid-template-columns:1fr;gap:30px}}


/* kitchen169.css */
body.resort-home main #restaurant{grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}
body main .kitchen169-carousel{min-width:0;width:100%;position:relative}
body main .kitchen169-carousel .calm-track80{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;padding:0;width:100%}
body main .kitchen169-carousel .calm-track80::-webkit-scrollbar{display:none}
body main .kitchen169-carousel .calm-slide80{flex:0 0 100%;min-width:0;margin:0;padding:0;scroll-snap-align:start}
body main .kitchen169-carousel .calm-slide80 img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;border-radius:5px;max-height:none!important}
body.resort-home main #restaurant>div>.button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px!important;padding:12px 24px!important;line-height:1.35!important;margin:0!important}
body.resort-home main #restaurant .home-secondary{display:block!important;width:fit-content;margin:20px 0 0!important}
body main .kitchen169-carousel .photo-controls162 button:disabled{opacity:0;pointer-events:none!important}
@media(max-width:900px){body.resort-home main #restaurant{grid-template-columns:1fr;gap:30px}}

body main .kitchen169-carousel .photo-controls162 .photo-count162{color:#fff!important;font:500 15px/1.2 Helvetica,Arial,sans-serif!important;text-shadow:0 2px 5px rgba(0,0,0,.85)}


/* outline184.css */
/* Shared outlined action buttons, matching accommodation card borders. */
body main .button.outline{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:48px!important;height:auto!important;padding:12px 24px!important;gap:8px!important;font-size:14px!important;line-height:20px!important;text-align:center!important;border-width:1px!important;border-style:solid!important;border-color:rgb(29 77 72 / 38%)!important;border-radius:4px!important}
body main .stay102-button.outline{border-color:rgb(29 77 72 / 38%)!important}


/* mobile-hero185.css */
@media(max-width:700px){body.resort-home main .hero108>.hero-content{margin-top:220px!important}body.resort-home main .hero108{height:auto;max-height:none}}


/* family202.css */
body main .home-family168 .home-family-slider202{position:relative!important;min-width:0;width:100%;overflow:hidden;border-radius:6px;background:transparent!important;padding:0!important}
body main .home-family-slide202{margin:0!important;padding:0!important;background:transparent!important}
body main .home-family-slide202[hidden]{display:none!important}
body main .home-family-slide202 img{position:static!important;display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;transform:none!important;background:transparent!important}
body main .home-family-slider202 .photo-controls162{--photo-left:0px;--photo-top:0px;--photo-width:100%;--photo-height:100%}
body main .home-family-slider202 .photo-count162{color:#fff!important;font-size:20px!important}
body main #activity-kids>img{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important;background:transparent!important}


/* photo-fill203.css */
body main :is(.photo-fill203,.photo-edge203){display:block;position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;padding:0!important;background:transparent!important}
body main .photo-fill203 img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/2!important;object-fit:cover!important;max-height:none!important;transform:scale(1.24)!important;background:transparent!important;margin:0!important}
body main .photo-edge203 img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/2!important;object-fit:cover!important;max-height:none!important;transform:scale(1.08)!important;background:transparent!important;margin:0!important}
body main .activity-card>:is(.photo-fill203,.photo-edge203){border-radius:6px 6px 0 0}


/* history-controls205.css */
body main .calm-history80 .unified-photo162 .photo-next162{left:var(--history-next205)!important;right:auto!important}
body main .calm-history80 .calm-track80{scrollbar-color:#1d4d48 transparent!important}
body main .calm-history80 .calm-track80::-webkit-scrollbar{height:9px}
body main .calm-history80 .calm-track80::-webkit-scrollbar-thumb{background:#1d4d48;border-radius:8px}
body main .calm-history80 .calm-track80::-webkit-scrollbar-track{background:transparent}
body main .calm-history80 .calm-slide80>:is(img,.photo-edge203){border-radius:6px!important;overflow:hidden}
body main .calm-history80 .calm-slide80>img{border-radius:6px!important}


/* updates207.css */
body main .calm-history80 .unified-photo162 .photo-prev162{left:var(--history-prev207,12px)!important;right:auto!important}
body main .gastro-hero .hero-buttons>.button:first-child{border:0!important;box-shadow:none!important}
body main .gastro-hero .hero-buttons>.company207{background:#1d4d48!important;color:#fff!important;border:0!important;box-shadow:none!important;text-decoration:none!important;padding:12px 24px!important}
body main .sales105-rows{display:grid!important;grid-template-columns:1fr!important;gap:30px!important}
body main .sales105-row{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:480px!important;align-items:stretch!important}
body main .sales105-row>img{width:100%!important;height:100%!important;min-height:480px!important;object-fit:cover!important;aspect-ratio:auto!important}
body main .sales105-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:36px!important}
body main .sales105-copy .sales105-button{margin-top:auto!important;align-self:flex-start}
@media(max-width:800px){body main .sales105-row{grid-template-columns:1fr!important;min-height:0!important}body main .sales105-row>img{height:300px!important;min-height:0!important;order:-1}body main .sales105-copy{min-height:380px;padding:26px!important}}
body main .sales105-rows{grid-auto-rows:1fr!important}
@media(max-width:800px){body main .sales105-rows{grid-auto-rows:auto!important}}

@media(min-width:1024px){body .hero-mobile208{display:none!important}}
body main .calm-history80 .photo-count162{display:none!important}


/* new-year-widget.css */
.new-year-widget,
.new-year-widget *{box-sizing:border-box}
.new-year-widget{position:fixed;z-index:1000;top:50%;right:max(12px,env(safe-area-inset-right));transform:translateY(-50%);max-width:calc(100vw - 16px);color:#1d4d48;font-family:Helvetica,Arial,sans-serif}
.new-year-widget [hidden]{display:none!important}
.new-year-widget__tab{display:block;width:58px;height:132px;padding:0;border:0;border-radius:8px;background:#fbfaf7;box-shadow:0 8px 24px #0a24213d;cursor:pointer;text-align:center;transition:transform .2s,background-color .2s}
.new-year-widget__tab:hover{transform:translateX(-2px);background:#fff}
.new-year-widget__tab-inner{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px}
.new-year-widget__snowflake{width:20px;height:20px;color:#1d4d48}
.new-year-widget__tab-title{font-size:8px;font-weight:700;line-height:1.15;text-transform:uppercase}
.new-year-widget__tab-days{color:#d94e48;font-family:Akrobat,Arial,sans-serif;font-size:18px;font-weight:800;line-height:1}
.new-year-widget__tab-caption{color:#626967;font-size:8px;line-height:1}
.new-year-widget__panel{width:min(272px,calc(100vw - 24px));overflow:hidden;border:1px solid #ffffffb3;border-radius:10px;background:#fbfaf7;box-shadow:0 10px 30px #0a242140}
.new-year-widget__panel-content{padding:12px}
.new-year-widget__heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.new-year-widget__eyebrow{margin:0 0 4px;color:#587a75;font-size:8px;letter-spacing:.2em;text-transform:uppercase}
.new-year-widget__title{margin:0;color:#1d4d48;font-family:Akrobat,Helvetica,Arial,sans-serif;font-size:18px;font-weight:800;line-height:1.02;text-transform:uppercase}
.new-year-widget__close{display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border:1px solid #b4c7c3;border-radius:50%;background:transparent;color:#1d4d48;font-size:21px;line-height:1;cursor:pointer}
.new-year-widget__close:hover{background:#eaf0ee}
.new-year-widget__intro{margin:9px 0 0;color:#59615f;font-size:10px;line-height:1.35}
.new-year-widget__countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px}
.new-year-widget__countdown>div{padding:5px 2px;border-radius:5px;background:#f1eeea;text-align:center}
.new-year-widget__countdown span{display:block;color:#d94e48;font-family:Akrobat,Helvetica,Arial,sans-serif;font-size:18px;font-weight:800;line-height:1}
.new-year-widget__countdown small{display:block;margin-top:4px;color:#626967;font-size:8px;line-height:1}
.new-year-widget__actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.new-year-widget__action{display:flex;min-height:36px;align-items:center;justify-content:center;padding:6px 4px;border:1px solid #9eb8b3;border-radius:4px;color:#1d4d48;font-size:8px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .2s}
.new-year-widget__action:hover{background:#eaf0ee}
.new-year-widget__action--primary{border-color:#1d4d48;background:#1d4d48;color:#fff}
.new-year-widget__action--primary:hover{background:#28645d}
@media(max-width:480px){.new-year-widget{right:max(8px,env(safe-area-inset-right))}.new-year-widget__tab{width:52px;height:120px}.new-year-widget__panel{width:min(272px,calc(100vw - 18px))}}
@media(prefers-reduced-motion:reduce){.new-year-widget__tab,.new-year-widget__action{transition:none}}


/* travelline-home.css */
body.resort-home .hero .search-band.travel-line-search{display:block;width:min(100%,1120px);align-self:center;padding:12px 20px;background:#f7f8f8f5;overflow:visible}
.travel-line-search__container{width:100%;min-height:58px}
.travel-line-search__container iframe{display:block;width:100%!important;max-width:100%;border:0}
.travel-line-search__status{margin:0;padding:10px 4px;color:#424242;font-size:13px;line-height:1.4}
.travel-line-search__fallback[hidden]{display:none!important}
.travel-line-search__fallback{display:flex;justify-content:center;margin-top:8px}
.travel-line-search__fallback .button{min-height:44px;padding:12px 22px}
@media(max-width:900px){body.resort-home .hero .search-band.travel-line-search{padding:14px}}
@media(max-width:700px){body.resort-home .hero .search-band.travel-line-search{padding:10px 12px}.travel-line-search__container{min-height:64px}.travel-line-search__status{text-align:center;font-size:12px}}


/* phone-actions.css */
.phone-actions-number{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.18em}
.phone-actions-number:focus-visible{outline:2px solid #d40054;outline-offset:3px;border-radius:2px}
.phone-actions-popover{position:fixed;z-index:10000;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:220px;max-width:calc(100vw - 24px);padding:9px;background:#fff;color:#004c46;border:1px solid #6ea694;border-radius:8px;box-shadow:0 10px 30px #183d3030;font:500 14px/1.35 'DIN Text Pro',Arial,sans-serif}
.phone-actions-popover :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #6ea694;border-radius:5px;background:#fff;color:#004c46;text-decoration:none;font:inherit;cursor:pointer}
.phone-actions-popover .phone-actions-call{background:#004c46;color:#fff;border-color:#004c46}
.phone-actions-popover .phone-actions-close{width:34px;min-width:34px;padding:4px;margin-left:auto;font-size:20px}
.phone-actions-status{flex-basis:100%;min-height:1em;color:#52665d;font-size:12px}
.choice-help .help-contacts{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:14px}
.choice-help .help-contacts>a{position:static!important;left:auto!important;display:inline-flex;align-items:center;max-width:100%;white-space:normal;margin:0}
body .consent+button[type=submit],body .consent+.form-note+button[type=submit]{margin-top:14px}
body .activity-intro h2 em{display:block}


/* site-photo-fit-20261015.css */
/* Site-wide photo fit corrections: fill image frames without stretching source photos. */
body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>a:first-child {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: transparent !important;
}

body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>a:first-child>img {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  border-radius: 0;
}

body main .balanced-gallery:not(.cafe-documents):not(.original-posters):not(.portrait-pair)>figure>img {
  display: block;
  width: 100% !important;
  max-height: none !important;
  aspect-ratio: 3 / 2;
  object-fit: cover !important;
  background: transparent !important;
  margin: 0 !important;
}

/* Small, deliberate crop removes the printed cream margins in historical photos. */
body main .history45-grid .history45-photo img {
  transform: scale(1.08) !important;
  transform-origin: center bottom !important;
}

body main .history45-grid .history45-photo img:is([src*="history-new-09-v45.webp"],[data-perf-original*="history-new-09-v45.webp"]) {
  transform-origin: center top !important;
}

body main .monastery-gallery82 a img {
  object-fit: cover !important;
  transform: scale(1.10) !important;
  transform-origin: center !important;
}

body main .balanced-gallery.document-gallery>figure>a:first-child>img {
  object-fit: cover !important;
  transform: scale(1.055) !important;
  transform-origin: center top !important;
}

/* These two groups have cream gutters embedded in the source photographs. */
body main #parking .parking-photos .filled-photo-frame img {
  transform: scale(1.12) !important;
  transform-origin: center !important;
}

/* Room carousels: use the full frame on desktop and phones, with no colored letterbox. */
body main .room-slider89,
body main .room-slider89 .room-slide89 {
  background: transparent !important;
}

body main .room-slider89 .room-slide89>img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* One source file contains a portrait photo centered on wide gray margins. Zoom the
   original photograph to remove those margins without stretching it. */
body main .room-slider89 .room-slide89 img:is([src*="hotel-unified-10.webp"],[data-perf-original*="hotel-unified-10.webp"]) {
  transform: scale(1.9) !important;
  transform-origin: center 62% !important;
}

/* Portrait photos were exported on wide canvases with empty side gutters.
   Match the frame to the actual image so the photo stays complete and undistorted. */
body main a[href*="monastery-portal82-full.jpg"],
body main a[href*="team-new-14-v43-full.webp"],
body main a[href*="team-new-18-v43-full.webp"],
body main a[href*="wedding-moment-28-v41-full.webp"],
body main a[href*="history-new-09-v45-full.webp"],
body main a[href*="archive-extra-13-v38-full.webp"],
body main a[href*="archive-extra-14-v38-full.webp"],
body main a[href*="archive-extra-15-v38-full.webp"],
body main a[href*="archive-extra-16-v38-full.webp"],
body main a[href*="archive-extra-17-v38-full.webp"],
body main a[href*="archive-extra-21-v38-full.webp"],
body main a[href*="archive-poster-1907-v38-full.webp"] {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}

body main a[href*="monastery-portal82-full.jpg"] {
  aspect-ratio: 5 / 8 !important;
  max-width: 640px !important;
  margin-inline: auto !important;
}

body main a[href*="team-new-14-v43-full.webp"],
body main a[href*="team-new-18-v43-full.webp"],
body main a[href*="wedding-moment-28-v41-full.webp"] {
  aspect-ratio: 2 / 3 !important;
}

/* Tall newspaper collages/posters fill a portrait tile while keeping the full artwork. */
body main a[href*="archive-extra-13-v38-full.webp"],
body main a[href*="archive-extra-14-v38-full.webp"],
body main a[href*="archive-extra-15-v38-full.webp"],
body main a[href*="archive-extra-16-v38-full.webp"],
body main a[href*="archive-extra-17-v38-full.webp"],
body main a[href*="archive-extra-21-v38-full.webp"],
body main a[href*="archive-poster-1907-v38-full.webp"] {
  aspect-ratio: 9 / 16 !important;
}

/* Panoramic archive postcard with large cream bands embedded above and below. */
body main a[href*="history-new-09-v45-full.webp"] {
  aspect-ratio: 3 / 1 !important;
}

body main a[href*="monastery-portal82-full.jpg"] > img,
body main a[href*="team-new-14-v43-full.webp"] > img,
body main a[href*="team-new-18-v43-full.webp"] > img,
body main a[href*="wedding-moment-28-v41-full.webp"] > img,
body main a[href*="history-new-09-v45-full.webp"] > img,
body main a[href*="archive-extra-13-v38-full.webp"] > img,
body main a[href*="archive-extra-14-v38-full.webp"] > img,
body main a[href*="archive-extra-15-v38-full.webp"] > img,
body main a[href*="archive-extra-16-v38-full.webp"] > img,
body main a[href*="archive-extra-17-v38-full.webp"] > img,
body main a[href*="archive-extra-21-v38-full.webp"] > img,
body main a[href*="archive-poster-1907-v38-full.webp"] > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
  margin: 0 !important;
}

/* Historical gallery-wide zoom must not trim these now precisely framed images. */
body main .history45-grid .history45-photo[href*="monastery-portal82-full.jpg"] > img,
body main .history45-grid .history45-photo[href*="history-new-09-v45-full.webp"] > img {
  transform: none !important;
}

/* One coloured illustration has a thin cream scan border on all four edges. */
body main a[href*="archive-extra-6-v38-full.webp"] > img {
  transform: scale(1.1) !important;
  transform-origin: center !important;
}

/* The gastrobar video-card image had visible side gutters inside its frame. */
body main .video-grid article>img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  background: transparent;
  margin: 0;
}

body main #videos .video-grid article {
  overflow: hidden;
}

body main #videos .video-grid article>img {
  transform: scale(1.12) !important;
  transform-origin: center !important;
}

/* Equal-height map buttons. */
body main .directions-actions83 .button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  line-height: 1.2 !important;
}

@media (max-width: 600px) {
  body main .directions-actions83 .button {
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}


.booking-launch-dialog{position:fixed;inset:0;margin:auto;width:min(1040px,calc(100vw - 28px));height:min(820px,calc(100dvh - 28px));max-width:none;max-height:none;padding:0;border:1px solid #d5e1dc;border-radius:18px;overflow:hidden;background:#f7faf8;box-shadow:0 24px 90px #102d2980}
.booking-launch-dialog::backdrop{background:#102a27b8;backdrop-filter:none;-webkit-backdrop-filter:none}
.booking-launch-dialog iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.booking-launch-close{position:absolute;z-index:2;top:10px;right:12px;padding:8px 14px;border:1px solid #c8d8d1;border-radius:999px;background:#fff;color:#1d4d48;font:600 13px/1.2 Arial,sans-serif;box-shadow:0 2px 10px #102d2920;cursor:pointer}
.booking-launch-close:focus-visible{outline:3px solid #1d4d48;outline-offset:2px}
html.tl-booking-frame,html.tl-booking-frame body{min-width:0!important;margin:0!important;background:#fff!important}
html.tl-booking-frame body{overflow:auto!important}
html.tl-booking-frame body>.header,html.tl-booking-frame body>header,html.tl-booking-frame body>footer,html.tl-booking-frame .contact-dock,html.tl-booking-frame .new-year-widget,html.tl-booking-frame #request-widget{display:none!important}
html.tl-booking-frame main#main-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html.tl-booking-frame main#main-content>:not(#online-booking){display:none!important}
html.tl-booking-frame #online-booking{display:block!important;max-width:none!important;margin:0!important;padding:24px 24px 36px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;scroll-margin:0!important}
html.tl-booking-frame #online-booking h2{margin:0 0 10px!important;font-size:clamp(24px,4vw,36px)!important}
html.tl-booking-frame #online-booking #tl-booking-form{min-height:min(72vh,680px)!important}
.header .header-contact80 .guest-contact-panel a[href*="vk.com/im"]{display:flex!important;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:14px 16px!important;border:1px solid #1d4d48!important;border-radius:6px!important;background:#1d4d48!important;color:#fff!important;text-align:center!important;text-decoration:none!important;opacity:1!important;visibility:visible!important;font-weight:700!important}
.header .header-contact80 .guest-contact-panel a[href*="vk.com/im"]:hover{background:#143c38!important;color:#fff!important}
.room-book89{border:1px solid #dce7e1!important;border-radius:16px!important;box-shadow:0 10px 30px #183d3010!important}
.room-book89 input{border-radius:8px!important}
@media(max-width:700px){.booking-launch-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:14px}.booking-launch-close{top:7px;right:8px}.room-book89{border-radius:14px!important}}
html.tl-booking-frame #online-booking{box-sizing:border-box!important;overflow-x:hidden!important}
.booking-launch-close:hover{background:#1d4d48;color:#fff;border-color:#1d4d48}
.booking-launch-close:active{background:#143c38;color:#fff}
