/* Aegean Minimal: white and sea blue, airy, full-bleed photography, modern sans-serif. */
:root{--bg:#fff;--surface:#fff;--surface-2:#eef5f8;--text:#0f2a3a;--muted:#4b6272;--primary:#0b5f80;--primary-hover:#084b66;--primary-contrast:#fff;--eyebrow:#0b5f80;--line:#dbe6ec;--line-strong:#8fa6b3;--radius:10px;--radius-lg:18px;--btn-radius:999px;--mark-radius:50%;--font-body:'Manrope Variable',system-ui,-apple-system,'Segoe UI',sans-serif;--font-display:'Manrope Variable',system-ui,sans-serif;--display-weight:300;--display-tracking:-.03em;--h1:clamp(2.7rem,6.4vw,5.8rem);--h2:clamp(2rem,3.6vw,3.2rem);--card-shadow:0 1px 2px rgba(15,42,58,.05),0 14px 34px -14px rgba(15,42,58,.22);--footer-bg:#0a2230;--footer-text:#e7f0f4;--booking-bg:#eef5f8;--demo-bg:#eef5f8}
h3{font-weight:600;letter-spacing:-.015em}
.brand{font-family:var(--font-body);font-weight:700;letter-spacing:.01em}
.brand-mark{font-weight:600}
.page-home .site-header{position:absolute;left:0;right:0;background:transparent;color:#fff;--focus:#fff;--link-hover:currentColor}
.page-home .site-header .btn-primary{background:#fff;color:var(--text)}
.site-header.is-solid{position:sticky;top:0}
.header-cta{min-height:42px;padding:9px 20px}

.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(94vh,900px);padding:150px var(--gutter) 0;color:#fff;--focus:#fff;--link-hover:currentColor}
.hero .eyebrow-light{font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,24,36,.62) 0%,rgba(4,24,36,.28) 45%,rgba(4,24,36,0) 70%),linear-gradient(180deg,rgba(4,24,36,.55) 0%,rgba(4,24,36,0) 26%,rgba(4,24,36,.1) 55%,rgba(4,24,36,.6) 100%)}
.hero-content{text-shadow:0 1px 18px rgba(4,24,36,.35)}
.hero-content{max-width:820px;padding-bottom:48px}
.hero h1{color:#fff;margin-bottom:.25em}
.hero-lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:#fff;max-width:52ch}
.hero-booking{position:relative;z-index:2;margin-bottom:-56px;padding:18px 18px 18px 26px;border-radius:22px;background:#fff;color:var(--text);box-shadow:0 30px 60px -24px rgba(4,24,36,.45);--focus:var(--primary);--link-hover:var(--primary)}
.hero-booking .booking-form{gap:0 14px}
.hero-booking .field input{border:0;border-bottom:1.5px solid var(--line);border-radius:0;padding-inline:0;background:transparent}
.hero-booking .booking-submit{min-height:56px;padding-inline:30px}

.intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end;padding-top:calc(clamp(56px,8vw,110px) + 70px)}
.intro-copy p{font-size:1.15rem;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--line)}
.facts div{padding:22px 18px 0 0}
.facts div+div{padding-left:18px;border-left:1px solid var(--line)}
.facts dt{font-size:.82rem;color:var(--muted);order:2}
.facts dd{margin:0 0 6px;font-size:clamp(2.2rem,3.8vw,3.4rem);font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--primary)}
.facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end}
.facts .fact-text{font-size:1.25rem;font-weight:600;letter-spacing:0;line-height:1.3}

.rooms-section{background:var(--bg)}
.room-card-media{aspect-ratio:4/3.2}
.room-card-body h3{font-size:1.35rem}

.coast{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(32px,5vw,80px);align-items:center;background:var(--surface-2)}
.coast-copy p{color:var(--muted);font-size:1.1rem}
.coast-photos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:clamp(360px,40vw,520px)}
.coast-photos img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}
.coast-photos img:first-child{grid-row:1/3}

.reviews-section{background:var(--bg)}
.review{border:0;background:var(--surface-2)}
.review-stars .on{color:#0b5f80}
.booking-section{background:linear-gradient(180deg,var(--surface-2),#e3eef3)}

.room-header h1{font-weight:300}
.gallery{--gallery-radius:14px}
.room-aside .booking-card{box-shadow:var(--card-shadow);border:0}
.booking-card-title strong{font-weight:600}

@media (max-width:960px){
  .page-home .site-header .site-menu{color:var(--text);--focus:var(--primary);--link-hover:var(--primary)}
  .page-home .site-header .site-menu .btn-primary{background:var(--primary);color:#fff}
  .intro{grid-template-columns:1fr}
  .coast{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero{min-height:620px;padding-top:120px}
  .hero-content{padding-bottom:28px}
  .hero-booking{margin:0 -4px 20px;padding:16px;border-radius:18px}
  .hero-booking .booking-form{gap:12px}
  .intro{padding-top:56px}
  .facts{grid-template-columns:1fr 1fr 1fr}
  .facts dd{font-size:2rem}
  .facts .fact-text{font-size:1rem}
  .facts div{padding:16px 10px 0 0}
  .facts div+div{padding-left:10px}
  .coast-photos{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .coast-photos img{aspect-ratio:1}
  .coast-photos img:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:16/10}
}
