/* Agreed reference palette: warm paper, sea blue, coral and sunshine. */
:root{--page:#f8f4ec;--ink:#04314f;--muted:#65757e;--soft:#f1ebe0;--line:rgba(4,49,79,.16);--blue:#075376;--deep:#001b30;--coral:#df6350;--price:#d65340;--gold:#ffda2b;--paper:#fcfaf4;--coral-hover:#c65342;--field-line:#c5cdd0;--wave-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 35C210 -15 335 76 540 40S810 0 1030 34s260 25 410-12V80H0Z'/%3E%3C/svg%3E")}
:root[data-theme=night]{--page:#092c42;--ink:#f8f4ec;--muted:#c7d4d9;--soft:#10374b;--line:rgba(248,244,236,.2);--blue:#075376;--deep:#001b30;--coral:#df6350;--price:#f18d79;--gold:#ffda2b;--paper:#10374b}
.button:hover,.booking-bar .button:hover,:root[data-theme=night] .booking-bar .button:hover{background:var(--coral-hover)}
.button,.booking-bar .button,:root[data-theme=night] .booking-bar .button{background:var(--coral)}
.booking-bar,:root[data-theme=night] .booking-bar{background:#fffffff2;color:#04314f;box-shadow:0 12px 40px #001b3026}
.booking-bar label>span,:root[data-theme=night] .booking-bar label>span{color:#65757e;background:#fff}
.booking-bar input,.booking-bar select,.booking-bar select option{color:#04314f;border-color:var(--field-line);background:#fff}
.main-menu{background:var(--deep)}
.hero{height:clamp(650px,56vw,850px);min-height:650px;max-height:900px;background:var(--blue)}
.hero-header .header-inner{justify-content:flex-end}.hero-header .header-address{margin-right:auto}
.hero .layer,.hero .vine{object-position:center 46%}
.hero-title{width:min(510px,47vw);top:41%}.hero-title h1 img{width:100%;height:auto;margin:auto}
.hero-motto{font-family:var(--body);font-size:13px;line-height:1.65;letter-spacing:.25em;text-transform:uppercase;margin-top:0}
.booking-bar{bottom:38px}
.strip-toolbar,.strip-toolbar .text-link,.strip-navigation .icon-button,.strip-pause{color:#04314f}
.rooms-section,:root[data-theme=night] .rooms-section{position:relative;margin-top:-24px;padding-top:62px;padding-bottom:52px;z-index:4}
.rooms-section:before{display:block;content:'';position:absolute;top:-30px;inset-inline:0;height:56px;background:var(--page);border-radius:0;mask-image:var(--wave-shape);mask-size:100% 100%;z-index:-1}
.rooms-section .section-heading h2{color:var(--ink)}
.rooms-grid{gap:26px;align-items:start}
.room-card{overflow:hidden;border-radius:17px!important;background:var(--soft)!important}
.room-photo{aspect-ratio:1.75;border-radius:0}
.room-photo-meta{padding:3px 16px;color:var(--muted)}
.room-photo-controls .icon-button{width:34px;height:38px}
.room-variants button{color:#04314f;background:#fffffff0}.room-variants button[aria-pressed=true]{background:#075376;color:#fff}
.room-content,:root[data-theme=night] .room-content{padding:15px 22px 20px;background:transparent}
.room-content h3{min-height:0;font-size:32px;margin-bottom:12px}
.room-details{margin-bottom:12px;color:var(--muted);font-size:14px}
.room-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:44px;cursor:pointer;font-size:13px;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--line)}
.room-details summary::-webkit-details-marker{display:none}.room-details summary span{font-size:22px;line-height:1;transition:transform .25s}
.room-details[open] summary span{transform:rotate(45deg)}.room-details-body{padding-top:18px}
.room-description{min-height:0;font-size:14px;margin-bottom:18px}.room-facts{margin-bottom:18px;grid-template-columns:.8fr 1.6fr .6fr;gap:8px;padding-block:15px}.room-facts dd{font-size:22px}.room-facts small{font-size:10px}.room-amenities{margin-bottom:9px;font-size:12px;line-height:1.75}
.room-amenities li:before{content:'✓';color:var(--blue)}:root[data-theme=night] .room-amenities li:before{color:var(--gold)}
.room-content .room-price{min-height:55px;margin-top:0}.room-content .room-price strong{font-size:32px}.room-price small{font-size:12px}
.rooms-footnote{margin-top:25px}
.album-section{padding-top:76px;padding-bottom:62px}
.album-section:before{display:block;content:'';position:absolute;top:-1px;inset-inline:0;height:43px;background:var(--page);border-radius:0;mask-image:var(--wave-shape);mask-size:100% 100%;transform:rotate(180deg);z-index:1;pointer-events:none}
.prices-section,:root[data-theme=night] .prices-section{position:relative;isolation:isolate;padding:64px 0 66px;margin:0;background:transparent;color:#fff}
.prices-section:before{display:block;content:'';position:absolute;inset:-30px 0;z-index:-1;height:auto;border-radius:0;background:linear-gradient(100deg,#04314fe6,#04314fbf),url('assets/photos/photo-056-1280.webp') center 50%/cover;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 360' preserveAspectRatio='none'%3E%3Cpath d='M0 23C220 -10 340 54 555 25S820 4 1060 29s260 15 380-8V338C1210 390 1090 315 850 338S575 370 345 336 110 319 0 347Z'/%3E%3C/svg%3E");mask-size:100% 100%}
:root[data-theme=night] .prices-section:before{background-image:linear-gradient(100deg,#001b30ed,#04314fe0),url('assets/photos/photo-056-1280.webp')}
.prices-section:after{display:none}.prices-inner{grid-template-columns:1fr;gap:26px}
.prices-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 25px}.prices-heading h2{font-size:47px;white-space:normal}.prices-heading p{font-size:13px}.prices-heading .text-link{margin-left:auto;color:white;font-size:13px}
.season-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.season{position:relative;border:0!important;border-radius:20px;padding:20px 18px;min-height:152px;background:var(--gold);color:#04314f;align-items:flex-start;justify-content:flex-start;box-shadow:0 4px 18px #001b301a;transition:transform .25s,background .25s,box-shadow .25s}
.season-name{font-family:var(--heading);font-size:25px;line-height:1.04;min-height:52px}.season-dates{font-size:12px;margin:9px 0 5px}.season strong{font-size:23px;line-height:1.3}
.season:hover{background:#ffe56a;transform:translateY(-4px)}.season[aria-pressed=true]{background:#ffe56a;box-shadow:inset 0 0 0 2px #04314f,0 6px 20px #001b3026}
:root[data-theme=night] .season:hover,:root[data-theme=night] .season[aria-pressed=true]{background:#ffe56a;border-radius:20px}
.season[aria-pressed=true]:after{content:'✓';position:absolute;right:11px;top:7px;font-size:16px;background:transparent;color:#04314f}
.guestbook-section{padding-top:70px}
.review-paper,:root[data-theme=night] .review-paper{background-color:#fcfaf4;color:#04314f}
.review-paper .review-signature,.review-paper .review-photo-link{color:#65757e}
.review-paper .review-stars,:root[data-theme=night] .review-paper .review-stars{color:#bf8522}
.hostess-photo{align-self:center;justify-self:center;width:100%;max-width:290px;height:auto;aspect-ratio:1;border-radius:50%;overflow:hidden}
.hostess-photo img{width:100%;height:100%;object-fit:cover;object-position:center 29%;border-radius:50%}
.hostess-section{padding-top:42px;padding-bottom:72px}
.site-footer{margin-top:28px;padding-top:30px}.footer-wave{display:block!important;top:-64px;height:66px;fill:var(--deep)}
.title-wave,.hero-wave{display:none!important}
#stay-dialog .trip-facts{grid-template-columns:1fr;gap:22px;margin-top:24px}#stay-dialog .trip-facts>div:last-child{grid-column:auto}#stay-dialog .trip-facts dt{font-size:27px}#stay-dialog .trip-facts dd{font-size:14px}
.modal{background:var(--page);color:var(--ink)}.lightbox.modal{background:transparent;color:white}
@media(max-width:1100px){.hero-title{width:50vw}.room-content{padding-inline:17px}.room-content h3{font-size:28px}.season-list{gap:10px}.season{padding:17px 13px}.season-name{font-size:23px}.season strong{font-size:21px}.prices-heading h2{font-size:43px}}
@media(max-width:800px){.hero{height:700px;min-height:700px}.hero-title{width:min(470px,70vw);top:36%}.hero-header .header-phone{margin-right:auto;margin-left:0}.room-content h3{font-size:35px}.room-details summary{font-size:14px}.room-description{font-size:15px}.room-amenities{font-size:14px}.room-photo{aspect-ratio:1.65}.room-facts{grid-template-columns:1fr 1.6fr .6fr}.room-facts dd{font-size:25px}.season-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.season{min-height:145px}.season-name{font-size:27px}.season strong{font-size:24px}.prices-heading .text-link{margin-left:0}.hostess-photo{max-width:230px}}
@media(max-width:640px){.hero{height:720px;min-height:720px;max-height:850px}.hero-title{width:86vw;top:31%}.hero-motto{font-size:11px;letter-spacing:.18em;margin-top:2px}.hero .vine{transform:translateX(-110px);object-position:left 45%}.booking-bar{bottom:35px}.hero-header .header-inner{justify-content:flex-end;flex-wrap:nowrap}.hero-header .header-phone{margin-right:auto}.hero-header .header-phone span{font-size:13px}.rooms-section,:root[data-theme=night] .rooms-section{padding-top:48px;padding-bottom:48px}.rooms-section .section-heading h2{font-size:43px}.rooms-grid{gap:28px}.room-content,:root[data-theme=night] .room-content{padding:14px 20px 22px}.room-content h3{font-size:34px;margin-bottom:7px}.room-content .room-price strong{font-size:32px}.album-section{padding-top:60px;padding-bottom:52px}.prices-section,:root[data-theme=night] .prices-section{padding-top:53px;padding-bottom:54px}.prices-heading{display:block}.prices-heading h2{font-size:41px}.prices-heading p{margin:12px 0 5px}.prices-heading .text-link{font-size:13px}.season-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.season{padding:18px 15px;min-height:155px;border-radius:17px}.season-name{font-size:25px;min-height:52px}.season:last-child{grid-column:1/-1;min-height:125px}.season:last-child .season-name{min-height:0}.season-dates{font-size:12px}.season strong{font-size:23px}.guestbook-section{padding-top:62px}.hostess-section{padding-top:30px;padding-bottom:68px}.hostess-photo{width:100%;max-width:230px;height:auto;aspect-ratio:1}.hostess-photo img{object-position:center 27%}.footer-wave{top:-45px;height:47px}}
@media(prefers-reduced-motion:reduce){.room-details summary span,.season{transition:none}.season:hover{transform:none}}
