:root{--ink:#17303b;--sea:#12495a;--sky:#eaf1f4;--sun:#e8b923;--bg:#fff;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--ink:#e6eef1;--sea:#7fc3d6;--sky:#12222a;--bg:#0d181d}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:1.05rem/1.65 "Avenir Next","Segoe UI",system-ui,sans-serif}
h1,h2{font-family:"Iowan Old Style",Georgia,serif;line-height:1.15;font-weight:600}
a{color:var(--sea)}a:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.w{max-width:960px;margin:0 auto;padding:0 1.25rem}
nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}nav b{font-family:Georgia,serif;font-size:1.2rem}
nav a{margin-left:.9rem;text-decoration:none}nav a[aria-current]{font-weight:700;border-bottom:2px solid var(--sun)}
.hero{background:linear-gradient(90deg,rgba(8,28,38,.4),rgba(8,28,38,.04) 70%),linear-gradient(rgba(8,28,38,.28),rgba(8,28,38,0) 35%),url(/images/hero.jpg) center/cover,var(--sea);color:#fff;padding:4rem 0 7rem}
.hero h1{font-size:clamp(1.7rem,4.2vw,2.9rem);margin:0 0 1rem;max-width:26ch}.hero h1 span{font-weight:400}.hero p{max-width:40ch;font-size:1.25rem;margin:0 0 2rem}
.btn{display:inline-block;background:var(--sun);color:#17303b;padding:.85rem 1.5rem;border-radius:.4rem;font-weight:700;text-decoration:none}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 2rem;background:var(--sky);padding:1rem 1.25rem;margin:0;list-style:none;font-weight:600}
section{padding:1rem 0}section.w{padding-left:1.25rem;padding-right:1.25rem}h2{font-size:1.9rem;margin:0 0 .75rem}
.am{columns:2;padding-left:1.1rem}@media(min-width:640px){.am{columns:3}}
.rooms{display:grid;gap:1.25rem}@media(min-width:760px){.rooms{grid-template-columns:repeat(3,1fr)}}h3{font-size:1.1rem;margin:.2rem 0}.dist{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;padding:0;list-style:none}.cta>a{margin-right:1rem;margin-bottom:.75rem}footer{background:var(--sky);padding:1.5rem 0;font-size:.9rem}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(min-width:760px){.gal{grid-template-columns:repeat(4,1fr)}.gal a:first-child{grid-column:span 2;grid-row:span 2}}
.gal img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:.3rem}
dialog{border:0;padding:0;background:#000;max-width:96vw;max-height:96vh}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{max-width:96vw;max-height:92vh;display:block}
dialog button{position:absolute;background:rgba(0,0,0,.6);color:#fff;border:0;font-size:2rem;width:3rem;height:3rem;cursor:pointer}dialog button:focus-visible{outline:3px solid var(--sun)}
dialog .x{top:0;right:0}dialog .p{left:0;top:45%}dialog .n{right:0;top:45%}
.hero h1,.hero p{text-shadow:0 1px 12px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.4)}
.hero nav a{color:#fff;background:rgba(0,0,0,.35);padding:.3rem .7rem;border-radius:.35rem;margin-left:.4rem;border:0;text-shadow:none}
.hero nav a[aria-current]{background:var(--sun);color:#17303b}
form{display:grid;gap:1rem;max-width:560px;margin:1rem 0 1.5rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:grid;gap:.3rem;font-weight:600}input,select,textarea{font:inherit;padding:.7rem;border:1px solid #7a9aa6;border-radius:.4rem;background:var(--bg);color:var(--ink);width:100%}
button.btn{border:0;cursor:pointer;font:inherit;font-weight:700;justify-self:start}.hp{display:none}#fs{min-height:1.5em;margin:0;font-weight:600}
#cal{margin:1rem 0 1.5rem;max-width:620px}.ch{display:flex;justify-content:space-between}.ch button{font-size:1.5rem;width:2.5rem;height:2.5rem;border:1px solid #7a9aa6;border-radius:.4rem;background:var(--bg);color:var(--ink);cursor:pointer}.ch button:disabled{opacity:.3}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.wd,.dy{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.wd span{font-size:.8rem;opacity:.7}
.dy button{border:0;background:none;color:var(--ink);font:inherit;padding:.5rem 0;cursor:pointer;border-radius:.3rem}.dy .f:hover{background:var(--sky)}.dy .b{text-decoration:line-through;opacity:.45;background:var(--sky)}.dy .x{opacity:.25}
.dy .r{background:var(--sky)}.dy .s{background:var(--sea);color:var(--bg);opacity:1}.lg{font-size:.9rem}.k{display:inline-block;width:.9rem;height:.9rem;border-radius:.2rem;border:1px solid #7a9aa6;vertical-align:-.1rem}.k.b{background:var(--sky)}.cm{min-height:1.4em;font-weight:600}
.facts{align-items:center}.fav{display:block;height:2.6rem;width:auto;mix-blend-mode:multiply}@media(min-width:760px){.fav{height:3.8rem}}@media(prefers-color-scheme:dark){.fav{mix-blend-mode:normal;background:#fff;border-radius:.4rem;padding:.15rem .5rem}}address{font-style:normal;margin-bottom:.4rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}