:root{color-scheme:light;--ivory:#f8f5ed;--page-sand:#f1e5d3;--sand:#ebe2d2;--green:#203b31;--muted:#516054;--line:#d4cebe}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.oscar{margin:0;background:var(--page-sand);color:var(--green);font:16px/1.55 "Source Sans 3",Arial,sans-serif}
.oscar a{color:inherit;text-underline-offset:.25em}
.oscar img{display:block;width:100%;height:100%;object-fit:cover}
.oscar h1,.oscar h2,.oscar h3,.oscar .brand{font-family:"Old Standard TT",Georgia,serif;font-weight:400;line-height:1.02;margin:0}
.oscar h1{font-size:clamp(2.9rem,5.7vw,6rem);letter-spacing:-.045em;max-width:10ch}
.oscar:lang(el) h1{max-width:13ch;font-size:clamp(2.6rem,4.8vw,5.1rem)}
.oscar h2{font-size:clamp(2.35rem,4.5vw,4.35rem);letter-spacing:-.04em}
.oscar h3{font-size:2rem}
.oscar p{margin:0;color:var(--muted)}
.oscar :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.oscar .skip{position:absolute;left:1rem;top:-8rem;padding:.75rem;background:var(--ivory);z-index:2}
.oscar .skip:focus{top:.5rem}
.oscar .site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.7rem;padding:1.1rem 4vw;border-bottom:1px solid var(--line)}
.oscar .brand{width:max-content;font-size:2.65rem;letter-spacing:-.05em;text-decoration:none}
.oscar .brand small{display:block;margin-top:.25rem;font:700 .57rem Arial,sans-serif;letter-spacing:.18em}
.oscar nav,.oscar .header-actions{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}
.oscar .header-actions{justify-content:flex-end}
.oscar nav a,.oscar .language{text-decoration:none;white-space:nowrap}
.oscar nav a:hover,.oscar .language:hover{text-decoration:underline}
.oscar .button{background:var(--green);color:var(--ivory);padding:.85rem 1.2rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-weight:600;white-space:nowrap}
.oscar .button:hover{background:#355347}
.oscar .hero{display:grid;grid-template-columns:42% 58%;min-height:540px;background:var(--sand)}
.oscar .hero-copy{padding:clamp(2rem,6vw,7rem) clamp(1.4rem,5vw,6rem);display:grid;align-content:center;justify-items:start;gap:1.5rem}
.oscar .hero-copy>p:not(.label){max-width:32ch;font-size:1.1rem}
.oscar .label{text-transform:uppercase;letter-spacing:.18em;font-size:.71rem;font-weight:700}
.oscar .hero img{min-height:100%;max-height:680px}
.oscar .wrap{width:min(1180px,calc(100% - 8vw));margin-inline:auto}
.oscar .rooms{padding-block:clamp(3.5rem,7vw,7rem)}
.oscar .section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.oscar .text-link{font-weight:600}
.oscar .room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.oscar .room-grid article{border-top:1px solid var(--line);min-width:0;background:#f0eade}
.oscar .room-grid img{height:auto;aspect-ratio:4/3}
.oscar .room-grid article>div{padding:1.25rem}
.oscar .room-grid p{margin-top:.45rem}
.oscar .feature{display:grid;grid-template-columns:1fr 1fr;background:var(--sand)}
.oscar .feature img{min-height:320px;max-height:490px}
.oscar .feature>div{display:grid;justify-items:start;align-content:center;gap:1.25rem;padding:clamp(2rem,6vw,6rem)}
.oscar .feature p{max-width:38ch}
.oscar .breakfast{background:transparent;display:block}
.oscar .breakfast>div{padding-inline:0}
.oscar footer{background:var(--green);color:var(--ivory);padding:clamp(2.5rem,5vw,5rem) 0}
.oscar .footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.oscar address{font-style:normal;margin-top:1.3rem}
.oscar .footer-links{display:grid;justify-items:start;align-content:center;gap:.6rem}
@media(max-width:850px){
.oscar .site-header{grid-template-columns:1fr auto;gap:1rem}
.oscar nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap}
.oscar .room-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
.oscar .hero,.oscar .feature,.oscar .footer-grid{grid-template-columns:1fr}
.oscar .hero{min-height:0}
.oscar .hero img,.oscar .feature img{min-height:0;aspect-ratio:4/3}
.oscar .section-head{align-items:start;flex-direction:column}
.oscar .room-grid{gap:.65rem}
.oscar .room-grid article>div{padding:.85rem}
.oscar h3{font-size:1.55rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.oscar .availability{padding:1.4rem 0;border-bottom:1px solid var(--line)}
.oscar .availability .iosh_form input,.oscar .availability .iosh_form button{max-width:100%}
.oscar .breakfast{border-top:1px solid var(--line);margin-top:clamp(2.5rem,6vw,6rem)}
.oscar .room-text{display:grid;align-content:end;background:var(--sand)}
.oscar .room-text>div{border-bottom:1px solid var(--line)}
.oscar .welcome{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap:clamp(1.7rem,6vw,6rem);align-items:center;padding-top:clamp(3rem,7vw,7rem)}
.oscar .welcome img{height:auto;aspect-ratio:5/4}
.oscar .welcome-copy{display:grid;gap:1.25rem}
.oscar .welcome-copy>p{max-width:43ch}
.oscar .welcome .welcome-signature{color:var(--green);font:italic 1.2rem Georgia,serif}
@media(max-width:600px){
.oscar .welcome{grid-template-columns:1fr}
.oscar .welcome-copy{grid-row:1}
}
.oscar .welcome img{object-position:center 48%}
.oscar .breakfast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:clamp(1rem,4vw,4rem);padding-block:clamp(2rem,5vw,5rem)}
.oscar .breakfast-photos{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.oscar .breakfast-photos img{min-height:0;height:auto;aspect-ratio:4/3}
.oscar .oscar-gallery{padding-bottom:clamp(2rem,6vw,6rem)}
.oscar .gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}
.oscar .gallery-grid img{height:auto;aspect-ratio:4/5}
@media(max-width:700px){
.oscar .breakfast{grid-template-columns:1fr}
.oscar .breakfast>div{padding-block:0}
.oscar .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.oscar .gallery-grid>a:first-child{grid-column:1/-1}
.oscar .gallery-grid>a:first-child img{aspect-ratio:16/9}
}
.oscar .site-header{gap:clamp(.8rem,2vw,1.7rem)}
.oscar .hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;min-height:clamp(540px,76vh,780px);background:#253a32;color:var(--ivory)}
.oscar .hero img{position:absolute;inset:0;z-index:-2;height:100%;min-height:0;max-height:none;object-position:center 52%}
.oscar .hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,31,25,.85),rgba(14,31,25,.55) 43%,rgba(14,31,25,.12) 80%)}
.oscar .hero-copy{width:min(100%,1280px);margin:auto;padding:clamp(3rem,8vw,8rem) 5vw;gap:1.25rem}
.oscar .hero h1{max-width:13ch}
.oscar .hero p{color:var(--ivory)}
.oscar .hero .button{background:var(--ivory);color:var(--green)}
.oscar .hero .button:hover{background:var(--sand)}
.oscar .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem 1.35rem}
.oscar .hero-explore{font-weight:600}
.oscar .availability{background:transparent;padding-block:1.25rem}
.oscar .welcome{grid-template-columns:minmax(0,.86fr) minmax(0,1fr)}
.oscar .welcome img{max-height:510px;aspect-ratio:4/5}
@media(max-width:950px){
.oscar .site-header{grid-template-columns:1fr auto}
.oscar nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap}
}
@media(max-width:600px){
.oscar .hero{min-height:530px}
.oscar .hero img{aspect-ratio:auto;object-position:58% center}
.oscar .hero::after{background:linear-gradient(90deg,rgba(14,31,25,.85),rgba(14,31,25,.48))}
.oscar .welcome{grid-template-columns:1fr}
.oscar .welcome img{aspect-ratio:4/3}
}
.oscar .room-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem}
.oscar .room-thumbnails img{aspect-ratio:4/3}
.oscar .room-grid img[src*="/triple-room"]{object-position:center 72%}
.oscar-family .site-header{width:min(1320px,100%);margin:auto;padding-inline:clamp(1rem,5vw,5rem)}
.oscar-family .hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1rem,4vw,4rem);align-items:center;width:min(1200px,92%);margin:clamp(1.75rem,5vw,5rem) auto 0;min-height:0;background:transparent;color:var(--green)}
.oscar-family .hero::after{content:none}
.oscar-family .hero-copy{padding:1rem 0 1rem clamp(0rem,2vw,2rem);margin:0;gap:1.4rem}
.oscar-family .hero h1{font-size:clamp(2.8rem,6vw,5.5rem)}
.oscar-family .hero p{color:var(--muted)}
.oscar-family .hero img{position:static;z-index:auto;width:100%;height:clamp(420px,49vw,620px);object-position:center 53%;aspect-ratio:auto}
.oscar-family .hero .button{background:var(--green);color:var(--ivory)}
.oscar-family .hero .button:hover{background:#355347}
.oscar-family .availability{margin-top:1.2rem}
.oscar-family .welcome{grid-template-columns:minmax(0,1fr) minmax(0,.83fr);padding-top:clamp(3rem,7vw,7rem)}
.oscar-family .welcome img{aspect-ratio:4/3}
.oscar-family .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,4vw,3rem)}
.oscar-family .room-grid article{background:transparent;border:0}
.oscar-family .room-grid article>div{padding:1rem 0;border-bottom:1px solid var(--line)}
.oscar-family .room-grid article>img{aspect-ratio:3/2}
.oscar-family .room-thumbnails{max-width:17rem}
.oscar-family #pool{width:min(1180px,92%);margin-inline:auto}
.oscar-family .breakfast{margin-top:clamp(2rem,5vw,5rem)}
@media(max-width:700px){
.oscar-family .hero,.oscar-family .welcome{grid-template-columns:1fr}
.oscar-family .hero img{height:auto;aspect-ratio:4/3}
.oscar-family .hero-copy{padding:0}
.oscar-family .welcome-copy{grid-row:1}
}
@media(max-width:470px){.oscar-family .room-grid{grid-template-columns:1fr}}
.oscar img.waterfront-banner{width:100%;height:auto;max-height:65vh;object-position:center 62%}
.oscar .waterfront-bar{padding-top:clamp(2.5rem,6vw,6rem)}
.oscar .waterfront-bar p{max-width:62ch;margin-top:1rem}
.oscar .waterfront-bar-photos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem}
.oscar .waterfront-bar-photos img{height:auto;aspect-ratio:3/4}
.oscar .waterfront-bar-photos a:first-child img{aspect-ratio:3/2}
@media(max-width:650px){
.oscar .waterfront-bar-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
.oscar .waterfront-bar-photos a:first-child{grid-column:1/-1}
}
.oscar .room-cover{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.oscar .room-cover img{aspect-ratio:3/2}
.oscar .room-gallery-link{display:inline-block;margin-top:.75rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.oscar .room-gallery{width:min(900px,calc(100% - 2rem));max-height:calc(100% - 2rem);padding:clamp(1rem,3vw,2rem);border:1px solid var(--line);background:var(--ivory);color:var(--green)}
.oscar .room-gallery::backdrop{background:rgba(14,31,25,.75)}
.oscar .room-gallery header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}
.oscar .room-gallery header button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);padding:.4rem .65rem;cursor:pointer}
.oscar .room-gallery-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.oscar .room-gallery-photos img{height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--sand)}
@media(max-width:520px){.oscar .room-gallery-photos{grid-template-columns:1fr}}
.oscar .direct-booking{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.oscar .direct-booking p{color:var(--green);font-size:1.1rem}
.oscar .elysium{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;background:var(--sand);padding:clamp(1.5rem,4vw,3.5rem);margin-bottom:clamp(2rem,6vw,5rem)}
.oscar .elysium p{max-width:54ch;margin-top:.85rem}

.oscar .contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem)}
.oscar .contact-grid address{display:grid;justify-items:start;gap:.4rem;overflow-wrap:anywhere}
.oscar .contact-grid address p{color:inherit;margin-bottom:.35rem}
.oscar .footer-social,.oscar .contact-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:1.25rem}
.oscar .footer-social a{font-weight:700}
.oscar .contact-map iframe{display:block;width:100%;height:clamp(240px,30vw,380px);border:0;margin:.85rem 0;background:var(--sand)}
@media(max-width:700px){.oscar .contact-grid{grid-template-columns:1fr}}
.oscar footer .footer-credits{margin:2rem auto 0;padding-top:1rem;border-top:1px solid rgba(248,245,237,.3);color:inherit;font-size:.875rem}
