﻿@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,200..300&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap");

:root {
  --lagoon: #0A3B3C;
  --lagoon-deep: #04272A;
  --teal: #0E7C7B;
  --teal-bright: #189398;
  --teal-soft: #4FC4BE;
  --ice: #E8F4F6;
  --ice-deep: #DCEEEC;
  --gold: #C7A268;
  --gold-ink: #A9823F;
  --chip-bg: #F5E3C2;
  --chip-ink: #8A5A00;
  --star: #E8A33D;
  --ink: #22302F;
  --ink-soft: #52625F;
  --line: #DCE5E2;
  --cream: #FAF6F0;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
img { max-width: 100%; display: block; }
body {
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  font-size: 16px; line-height: 1.68; color: var(--ink); background: #fff;
}
a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--lagoon); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid var(--teal-bright); outline-offset: 2px;
}
.container { max-width: 1312px; margin: 0 auto; padding: 0 64px; }
h1, h2, h3, .display { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; color: var(--teal); }
.kicker {
  font-size: 12px; font-weight: 700; letter-spacing: 3.2px; text-transform: uppercase; color: #6E807D;
}
.btn {
  display: inline-flex; align-items: center; gap: 10px; border: 0; cursor: pointer; white-space: nowrap;
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  padding: 15px 30px; border-radius: 0; transition: background .18s ease, color .18s ease, filter .18s ease;
}
.btn-book { background: var(--teal-bright); color: var(--lagoon-deep); }
.btn-book:hover { filter: brightness(1.07); color: var(--lagoon-deep); }
.btn-solid { background: transparent; color: var(--teal); border: 1px solid var(--teal); }
.btn-solid:hover { background: var(--teal); color: #fff; }
.btn-outline { background: transparent; color: var(--teal); border: 1px solid var(--teal); }
.btn-outline:hover { background: var(--teal); color: #fff; }
.btn-gold { background: transparent; color: var(--gold-ink); border: 1px solid var(--gold-ink); }
.btn-gold:hover { background: var(--gold-ink); color: #fff; }
.btn-ghost-ice { background: transparent; color: var(--ice); border: 1px solid var(--ice); }
.btn-ghost-ice:hover { background: var(--ice); color: var(--lagoon); }
.chev::after { content: ""; width: 8px; height: 8px; border-right: 2.4px solid currentColor; border-top: 2.4px solid currentColor; transform: rotate(45deg); }

/* ---------- top bar + header ---------- */
.topbar { background: rgba(6,42,43,.9); color: var(--ice); font-size: 12.5px; letter-spacing: .4px; position: relative; z-index: 40; }
.hero-wrap .topbar { background: rgba(6,42,43,.55); }
.topbar-inner { display: flex; justify-content: space-between; align-items: center; height: 40px; }
.topbar a { color: var(--ice); font-weight: 600; }
.topbar .lang span { opacity: .55; }
.topbar .lang b { margin-right: 10px; }
.site-header { position: absolute; top: 40px; left: 0; right: 0; z-index: 30; }
.header-inner { display: flex; justify-content: space-between; align-items: center; height: 84px; }
.logo-white { width: 218px; height: 57px; object-fit: contain; }
.logo-teal { display: none; width: 172px; height: 45px; object-fit: contain; }
.nav { display: flex; gap: 30px; align-items: center; }
.nav a { color: #fff; font-size: 14.5px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase; }
.nav a:hover { color: var(--teal-soft); }
.nav > a.active, .nav-drop > a.active { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1.5px; }
.nav-drop { position: relative; display: flex; align-items: center; }
.nav-panel { position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%); background: #fff; min-width: 216px; padding: 10px 0; border-radius: 4px; box-shadow: 0 18px 44px rgba(6,42,43,.18); display: flex; flex-direction: column; opacity: 0; visibility: hidden; transition: opacity .18s ease; }
.nav-panel::before { content: ""; position: absolute; top: -16px; left: 0; right: 0; height: 16px; }
.nav-drop:hover .nav-panel, .nav-drop:focus-within .nav-panel, .nav-drop.open .nav-panel { opacity: 1; visibility: visible; }
.nav .nav-panel a { color: var(--lagoon); padding: 10px 22px; font-size: 12px; letter-spacing: 1.6px; }
.nav .nav-panel a:hover { color: var(--teal); background: var(--ice); }
.burger { display: none; background: none; border: 0; width: 44px; height: 44px; cursor: pointer; }
.burger svg { stroke: #fff; }
.mobile-menu { display: none; }

/* ---------- hero ---------- */
.hero-wrap { position: relative; }
.hero { position: relative; height: 700px; overflow: hidden; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,42,43,.62) 0%, rgba(6,42,43,.28) 36%, rgba(6,42,43,.16) 55%, rgba(6,42,43,.52) 100%); }
/* home hero video loop: fades in over the photo once buffered (mobile only, injected from functions.php) */
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.4s ease; }
.hero.video-live .hero-video { opacity: 1; }
.hero-copy { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; padding-top: 232px; }
.hero-copy .over { color: #BFE7E4; font-size: 13px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; text-shadow: 0 1px 14px rgba(6,42,43,.65); }
.hero-copy h1 { font-size: clamp(40px, 5.4vw, 82px); font-weight: 300; line-height: 1.04; letter-spacing: 6px; color: #fff; text-transform: uppercase; text-shadow: 0 2px 26px rgba(6,42,43,.45); }
.hero-copy p { color: var(--ice); font-size: 19px; max-width: 660px; text-shadow: 0 1px 12px rgba(6,42,43,.5); }

/* booking bar */
.booking { position: relative; z-index: 20; margin: -62px auto 0; max-width: 1080px; background: #fff; border-radius: 6px; box-shadow: 0 30px 70px rgba(6,42,43,.3); padding: 22px 26px 14px; }
.booking-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)) 220px; gap: 14px; }
.field { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--line); border-radius: 2px; padding: 10px 16px; }
.field label { font-size: 11px; font-weight: 700; letter-spacing: 1.6px; color: var(--teal); text-transform: uppercase; }
.field input, .field select { border: 0; font: 600 16px/1.4 "Source Sans 3", Arial, sans-serif; color: var(--ink); width: 100%; background: transparent; }
.booking .btn { justify-content: center; font-size: 14.5px; }
.booking-note { display: flex; justify-content: center; gap: 8px; align-items: center; padding-top: 11px; font-size: 12.5px; color: var(--ink-soft); }
.booking-note svg { flex: none; }

/* stat bar */
.statbar { background: var(--lagoon); padding: 48px 0; margin-top: -62px; padding-top: 102px; }
.statbar-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.stat { display: flex; flex-direction: column; gap: 8px; align-items: center; text-align: center; padding: 6px 20px; }
.stat + .stat { border-left: 1px solid #16524E; }
.stat b { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 40px; line-height: 1; color: #DCC391; }
.stat span { font-size: 10.5px; font-weight: 700; letter-spacing: 2.6px; color: #9FBCB8; text-transform: uppercase; }
.stat b span { margin-left: 10px; }
.legal-doc { overflow-wrap: anywhere; }

/* ---------- sections ---------- */
section { padding: 96px 0; }
.sec-head { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; padding-bottom: 48px; }
.sec-head h2, .split h2, .feature h2 { font-size: clamp(32px, 3.5vw, 50px); letter-spacing: 0.5px; text-transform: none; line-height: 1.12; }
.sec-head .sub { font-size: 16px; color: var(--ink-soft); max-width: 62ch; }
.bg-ice { background: var(--ice); }
.bg-cream { background: var(--cream); }

.split { display: grid; grid-template-columns: 1fr 560px; gap: 72px; align-items: center; }
.split .copy { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.split .copy p { color: var(--ink-soft); max-width: 56ch; }
.arch { border-radius: 280px 280px 4px 4px; object-fit: cover; width: 100%; }
.split .arch { height: 480px; }
.layered { position: relative; height: 600px; }
.layered .back { position: absolute; top: 0; right: 0; width: 54%; height: 66%; object-fit: cover; border-radius: 2px; }
.layered .front { position: absolute; left: 0; bottom: 0; width: 74%; height: 78%; object-fit: cover; border-radius: 999px 999px 4px 4px; box-shadow: 0 30px 60px rgba(6,42,43,.22); }
.ornament { position: absolute; opacity: .15; pointer-events: none; }

.authentic { padding-top: 0; }
.authentic .band { width: 100%; height: 400px; object-fit: cover; }
.authentic .inner { display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; padding-top: 64px; }
.authentic h2 { font-size: clamp(30px, 3vw, 44px); letter-spacing: 3px; }
.authentic p { color: var(--ink-soft); max-width: 64ch; }

.amenities { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 38px 26px; }
.amenity { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; font-size: 14px; font-weight: 600; }
.amenity svg { stroke: var(--teal); }

.feature { display: grid; grid-template-columns: 520px 1fr; gap: 80px; align-items: center; }
.feature.flip { grid-template-columns: 1fr 520px; }
.framed { position: relative; }
.framed img { position: relative; z-index: 1; width: 100%; height: 470px; object-fit: cover; border-radius: 3px; display: block; }
.framed::after { content: ""; position: absolute; top: 20px; left: 20px; width: 100%; height: 100%; border: 1px solid rgba(24,147,152,.5); border-radius: 3px; }
.feature .copy { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.feature .copy p { font-size: 16px; color: var(--ink-soft); max-width: 54ch; }
.feature + .feature { margin-top: 84px; }
.rate-line { font-size: 15px; font-weight: 600; }

.weddings { position: relative; min-height: 520px; padding: 0; display: flex; align-items: center; }
.weddings > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.weddings .veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0) 40%, rgba(250,246,240,.55) 68%, rgba(250,246,240,.8) 100%); }
.wed-card { position: relative; margin: 70px 32px 70px auto; width: 470px; max-width: 100%; background: #fff; border-radius: 16px; box-shadow: 0 20px 50px rgba(6,42,43,.18); padding: 40px 42px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.weddings .container { width: 100%; }
.wed-card .kicker { color: var(--gold-ink); }
.wed-card p { font-size: 16px; color: var(--ink-soft); }

.terms { font-size: 13px; color: var(--ink-soft); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.code { font-weight: 700; letter-spacing: 1.6px; padding: 3px 10px; }

.stars { display: inline-flex; gap: 3px; }
.rating-line { display: flex; gap: 10px; align-items: center; font-size: 14.5px; font-weight: 600; flex-wrap: wrap; justify-content: center; }
.reviews { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.review { display: flex; flex-direction: column; gap: 12px; background: #fff; border-radius: 4px; padding: 34px; align-items: flex-start; }
.review h3 { font-weight: 300; color: var(--lagoon); }
.review svg { stroke: var(--teal); }

/* dark offers */
.offers-dark { background: var(--lagoon); position: relative; overflow: hidden; }
.offers-dark .vlabel { position: absolute; left: 6px; top: 50%; transform: rotate(-90deg); color: #9FBCB8; font-size: 11px; font-weight: 700; letter-spacing: 5px; opacity: .8; }
.offer-row { display: grid; grid-template-columns: 1fr 440px; gap: 72px; align-items: center; padding: 0 40px; }
.offer-row.flip { grid-template-columns: 440px 1fr; }
.offer-row + .offer-row { margin-top: 84px; }
.offer-row .copy { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.offer-row h3 { font-size: clamp(28px, 2.8vw, 40px); color: #DCC391; }
.offer-badge { border: 1px solid #DCC391; color: #DCC391; font-size: 10.5px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; padding: 7px 14px; }
.offer-row ul { list-style: none; display: flex; flex-direction: column; gap: 10px; color: var(--ice); font-size: 15.5px; }
.offer-row li { display: flex; gap: 12px; align-items: baseline; }
.offer-row li::before { content: ""; width: 5px; height: 5px; border-radius: 999px; background: var(--teal-soft); flex: none; transform: translateY(-3px); }
.offer-row .terms { color: #9FBCB8; font-style: normal; }
.offer-row .code { border: 1px dashed #DCC391; color: #DCC391; background: transparent; border-radius: 0; }
.offer-row .arch { height: 480px; border-radius: 999px 999px 4px 4px; }

/* scroll reveal */
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s ease; }
[data-reveal].in { opacity: 1; transform: none; }

.map-grid { display: grid; grid-template-columns: 540px 1fr; gap: 64px; align-items: center; }
.map-card { background: var(--ice-deep); border-radius: 16px; height: 360px; position: relative; overflow: hidden; }
.map-label { position: absolute; background: #fff; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; box-shadow: 0 4px 12px rgba(6,42,43,.12); }
.map-pin { position: absolute; left: 42%; top: 21%; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.map-pin .tag { background: var(--lagoon); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 1px; padding: 5px 12px; border-radius: 999px; white-space: nowrap; }
.chips { display: flex; flex-wrap: wrap; gap: 12px; }
.chip { display: inline-flex; gap: 8px; align-items: center; border: 1px solid #B9CFCB; color: var(--lagoon); font-size: 12.5px; font-weight: 600; letter-spacing: .6px; padding: 9px 18px; }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--teal); font-size: 13.5px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }

.prefooter { background: var(--ice); padding: 64px 0 60px; }
.prefooter .inner { display: flex; flex-direction: column; gap: 22px; align-items: center; }
.prefooter img { width: 240px; height: 62px; object-fit: contain; }
.phones { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.phone-btn { display: inline-flex; gap: 10px; align-items: center; background: var(--lagoon); color: #fff; font-size: 15px; font-weight: 600; padding: 14px 26px; border-radius: 8px; }
.phone-btn:hover { color: #fff; background: var(--lagoon-deep); }

footer { background: #05221F; color: #B9CFC9; font-size: 13.5px; position: relative; overflow: hidden; }
.foot-hr { border-top: 1px solid #123B34; }
.foot-brandband { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 76px 0 48px; text-align: center; position: relative; }
.foot-brandband img { width: 216px; height: 56px; object-fit: contain; }
.foot-tag { color: var(--teal-soft); font-size: 11px; font-weight: 700; letter-spacing: 3.6px; }
.foot-grid { display: grid; grid-template-columns: 300px repeat(4, minmax(0,1fr)); gap: 44px; padding: 50px 0; position: relative; }
.foot-col { display: flex; flex-direction: column; gap: 13px; }
.foot-col b { color: var(--ice); font-size: 11px; font-weight: 700; letter-spacing: 2.8px; padding-bottom: 6px; text-transform: uppercase; }
.foot-col a { color: #B9CFC9; }
.foot-col a:hover { color: #fff; }
.foot-address { font-size: 13.5px; line-height: 1.95; color: #9DB8B2; }
.foot-address a { color: #9DB8B2; }
.socials { display: flex; gap: 14px; }
.socials a { width: 38px; height: 38px; border: 1px solid #1C4A43; border-radius: 999px; display: flex; align-items: center; justify-content: center; }
.socials a:hover { border-color: var(--teal-soft); }
.foot-mid { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 38px 0; flex-wrap: wrap; position: relative; }
.newsletter { display: flex; flex-direction: column; gap: 12px; }
.newsletter b { color: var(--ice); font-size: 11px; letter-spacing: 2.8px; text-transform: uppercase; }
.newsletter form { display: flex; gap: 10px; }
.newsletter input { width: 300px; max-width: 60vw; border: 1px solid #1C4A43; border-radius: 2px; padding: 13px 16px; font: 13.5px "Source Sans 3", Arial, sans-serif; background: transparent; color: #fff; }
.newsletter input::placeholder { color: #7E9992; }
.newsletter .btn { padding: 13px 26px; font-size: 11px; }
.nl-done { color: var(--teal-soft); font-size: 13.5px; letter-spacing: .4px; }
.ta-badge { display: flex; gap: 14px; align-items: center; background: #0A322D; border: 1px solid #123B34; border-radius: 3px; padding: 18px 24px; }
.ta-badge b { color: var(--ice); font-size: 14px; display: block; letter-spacing: .3px; }
.ta-badge span { font-size: 12px; color: #7E9992; }
.foot-bottom { display: flex; justify-content: space-between; align-items: center; padding: 26px 0 32px; font-size: 12px; color: #7E9992; gap: 16px; flex-wrap: wrap; position: relative; }
.foot-bottom a { color: #7E9992; margin-right: 24px; }
.foot-bottom a:hover { color: #fff; }
.foot-ornament { position: absolute; left: -70px; bottom: -70px; opacity: .05; pointer-events: none; }

/* floating book pill */
.book-float { position: fixed; right: 22px; bottom: 22px; z-index: 90; background: var(--teal-bright); color: var(--lagoon-deep); font: 700 11px/1 "Source Sans 3", "Segoe UI", Arial, sans-serif; letter-spacing: 2.4px; text-transform: uppercase; padding: 17px 24px; border-radius: 999px; box-shadow: 0 12px 30px rgba(6,42,43,.35); opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
.book-float.on { opacity: 1; transform: none; pointer-events: auto; }
.book-float:hover { filter: brightness(1.07); color: var(--lagoon-deep); }

/* ---------- mobile ---------- */
@media (max-width: 1023px) {
  .container { padding: 0 20px; }
  body { font-size: 15.5px; }
  .topbar-inner { justify-content: center; height: 34px; }
  .topbar .lang, .topbar .uk { display: none; }
  .site-header { position: static; background: #fff; border-bottom: 1px solid var(--line); }
  .hero-wrap .topbar { background: var(--lagoon); }
  .header-inner { height: 68px; }
  .logo-white { display: none; }
  .logo-teal { display: block; }
  .nav { display: none; }
  .header-cta { display: flex; gap: 12px; align-items: center; }
  .header-cta .btn { align-self: center; padding: 10px 16px; font-size: 11px; letter-spacing: 1.6px; white-space: nowrap; border-radius: 3px; }
  .burger { display: flex; align-items: center; justify-content: center; }
  .burger svg { stroke: var(--lagoon); }
  .mobile-menu.open { display: block; background: #fff; border-bottom: 1px solid var(--line); }
  .mobile-menu a { display: block; padding: 14px 20px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; font-size: 13.5px; color: var(--lagoon); border-top: 1px solid var(--line); }
  /* cinematic full-height hero: big serif title over the image, copy trimmed */
  .hero { height: min(74svh, 640px); min-height: 470px; }
  .hero-copy { align-items: center; text-align: center; justify-content: center; height: 100%; padding: 0 24px 96px; gap: 12px; }
  .hero-copy .over { font-size: 10.5px; letter-spacing: 3.4px; }
  .hero-copy h1 { font-family: "Source Serif 4", Georgia, serif; font-size: 46px; font-weight: 300; line-height: 1.08; letter-spacing: .5px; text-transform: none; }
  .hero-copy p { display: none; }
  body.home .hero-shade { background: linear-gradient(180deg, rgba(6,42,43,.48) 0%, rgba(6,42,43,.1) 32%, rgba(6,42,43,.08) 54%, rgba(6,42,43,.68) 100%); }
  /* booking: one white card floating over the hero base, no teal band */
  .booking { margin: -84px -6px 0; border-radius: 14px; box-shadow: 0 24px 60px rgba(6,42,43,.35); padding: 16px 16px 12px; background: #fff; }
  .booking-grid { grid-template-columns: repeat(2, minmax(0,1fr)); background: transparent; border-radius: 0; padding: 0; gap: 10px; }
  .booking-grid .btn { grid-column: 1 / -1; }
  .field { padding: 9px 12px; border-radius: 10px; }
  .field input, .field select { font-size: 15px; min-width: 0; }
  .field.guests { grid-column: 1 / -1; }
  .booking-note { color: var(--ink-soft); }
  .hero-offset { padding-top: 24px; margin-top: 0; }
  .trust-inner { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 10px; }
  .trust-item { font-size: 12px; }
  section { padding: 48px 0; }
  .sec-head { padding-bottom: 28px; }
  .split, .feature, .feature.flip, .map-grid { grid-template-columns: 1fr; gap: 20px; }
  .split .arch, .feature .arch { height: 300px; border-radius: 175px 175px 3px 3px; }
  .feature.flip .arch, .feature .arch { order: -1; }
  .feature + .feature { margin-top: 48px; }
  .layered { height: 390px; }
  .authentic .band { height: 200px; }
  .authentic .inner { padding-top: 30px; }
  .amenities { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px 12px; }
  .amenity { font-size: 11.5px; }
  .amenity svg { width: 30px; height: 30px; }
  .weddings { min-height: 0; flex-direction: column; align-items: stretch; }
  .weddings > img { position: static; height: 230px; }
  .weddings .veil { display: none; }
  .wed-card { margin: 0; width: 100%; border-radius: 0; box-shadow: none; background: var(--cream); padding: 26px 20px 34px; }
  .offers-dark .vlabel { display: none; }
  .offer-row, .offer-row.flip { grid-template-columns: 1fr; gap: 18px; padding: 0; }
  .offer-row .arch { order: -1; height: 300px; }
  .offer-row + .offer-row { margin-top: 52px; }
  .reviews { grid-template-columns: 1fr; }
  .framed img { height: 310px; }
  .framed::after { top: 12px; left: 12px; }
  .statbar { padding: 6px 0 44px; margin-top: 0; }
  .statbar-grid { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 24px; }
  .stat + .stat { border-left: 0; }
  .stat:nth-child(even) { border-left: 1px solid #16524E; }
  .stat b { font-size: 28px; }
  .stat span { font-size: 9px; letter-spacing: 2px; }
  .foot-brandband { padding: 48px 0 30px; }
  .map-card { height: 240px; }
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .foot-brand { grid-column: 1 / -1; }
  .foot-mid { flex-direction: column; align-items: flex-start; }
  .book-float { right: 16px; bottom: 16px; padding: 14px 20px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .split { grid-template-columns: 1fr 440px; gap: 48px; }
  .feature { grid-template-columns: 420px 1fr; gap: 48px; }
  .feature.flip { grid-template-columns: 1fr 420px; }
  .nav { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
.skip { position: absolute; left: -9999px; top: 0; z-index: 200; background: #fff; color: var(--teal); font: 700 12px/1 "Source Sans 3", "Segoe UI", Arial, sans-serif; letter-spacing: 1px; text-transform: uppercase; padding: 14px 18px; }
.skip:focus { left: 12px; top: 12px; outline: 3px solid var(--teal-bright); }

/* SeaGarden inner-page components (loads after styles.css) */

/* solid header variant for inner pages */
.site-header.solid { position: static; background: #fff; border-bottom: 1px solid var(--line); }
.site-header.solid .logo-white { display: none; }
.site-header.solid .logo-teal { display: block; }
.site-header.solid .nav a { color: var(--lagoon); }
.site-header.solid .nav a:hover { color: var(--teal); }
.site-header.solid .burger svg { stroke: var(--lagoon); }

/* page hero */
.page-hero { position: relative; height: 430px; display: flex; align-items: flex-end; overflow: hidden; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero .shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,42,43,.42) 0%, rgba(6,42,43,.2) 45%, rgba(6,42,43,.7) 100%); }
.page-hero .inner { position: relative; z-index: 5; padding-bottom: 54px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.page-hero .over { color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; text-shadow: 0 1px 12px rgba(6,42,43,.7); }
.page-hero h1 { font-size: clamp(36px, 4.6vw, 62px); color: #fff; letter-spacing: 1px; line-height: 1.06; text-shadow: 0 2px 20px rgba(6,42,43,.45); }
.page-hero p { color: var(--ice); font-size: 17px; max-width: 640px; text-shadow: 0 1px 10px rgba(6,42,43,.5); }
.page-hero--flat { background: var(--ice); padding: 80px 0 64px; }
.page-hero--flat .inner { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.page-hero--flat h1 { font-size: clamp(34px, 4vw, 56px); color: var(--teal); letter-spacing: .5px; line-height: 1.08; }
.page-hero--flat p { color: var(--ink-soft); font-size: 16.5px; max-width: 68ch; }

.page-intro { padding: 76px 0; }
.page-intro .lead { font-size: 16.5px; color: var(--ink-soft); max-width: 70ch; }
.note-line { font-size: 13px; color: var(--ink-soft); font-style: italic; }

/* meta chips */
.meta-row { display: flex; flex-wrap: wrap; gap: 10px; }
.meta { border: 1px solid #B9CFCB; color: var(--lagoon); font-size: 10.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 7px 14px; }
.meta.gold { border-color: #D8BE93; color: var(--gold-ink); }

/* room cards */
.room-card { display: grid; grid-template-columns: 460px 1fr; gap: 60px; align-items: center; padding: 60px 0; }
.room-card + .room-card { border-top: 1px solid var(--line); }
.room-card .copy { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.room-card h2 { font-size: clamp(28px, 2.6vw, 38px); letter-spacing: .5px; }
.room-card .copy p { color: var(--ink-soft); font-size: 16px; max-width: 54ch; }
.mini-amens { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12.5px; color: var(--ink-soft); letter-spacing: .4px; }
.fact { background: var(--cream); padding: 14px 18px; font-size: 14px; color: var(--ink); border-radius: 3px; max-width: 54ch; }
.fact b { color: var(--gold-ink); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; font-size: 11px; display: block; padding-bottom: 4px; }

/* venue cards reuse .feature; weekly strip */
.week { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 12px; }
.day { background: #fff; border: 1px solid var(--line); padding: 18px 12px; text-align: center; display: flex; flex-direction: column; gap: 7px; }
.day b { font-size: 10px; font-weight: 700; letter-spacing: 2px; color: var(--teal); text-transform: uppercase; }
.day span { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 16.5px; color: var(--lagoon); line-height: 1.25; }

/* wedding packages */
.pkg { display: grid; grid-template-columns: 380px 1fr; gap: 52px; align-items: center; padding: 52px 0; }
.pkg + .pkg { border-top: 1px solid #E9DFCC; }
.pkg > img { width: 100%; height: 330px; object-fit: cover; border-radius: 3px; }
.pkg .copy { display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
.pkg h2 { font-size: clamp(26px, 2.4vw, 34px); color: var(--gold-ink); letter-spacing: .5px; }
.pkg ul { list-style: none; display: flex; flex-direction: column; gap: 8px; color: var(--ink); font-size: 15px; }
.pkg li { display: flex; gap: 12px; align-items: baseline; }
.pkg li::before { content: ""; width: 5px; height: 5px; border-radius: 999px; background: var(--gold); flex: none; transform: translateY(-3px); }
.pkg .stay { font-size: 13px; color: var(--ink-soft); }

/* loyalty tiers */
.tier { display: grid; grid-template-columns: 210px 1fr; gap: 32px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 3px; padding: 28px 32px; }
.tier + .tier { margin-top: 18px; }
.tier-card { height: 118px; border-radius: 8px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px 16px; color: #fff; }
.tier-card .brand { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 17px; }
.tier-card .lvl { font-size: 9.5px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; opacity: .85; }
.tier-preferred { background: linear-gradient(135deg, #8F9A97, #C4CCC9); color: #2A3331; }
.tier-premium { background: linear-gradient(135deg, #9E2B33, #D0555A); }
.tier-exclusive { background: linear-gradient(135deg, #A88427, #D9BC6A); color: #3A2E10; }
.tier-elite { background: linear-gradient(135deg, #14201E, #37504C); }
.tier .copy { display: flex; flex-direction: column; gap: 8px; }
.tier h2 { font-size: 24px; letter-spacing: .5px; }
.tier .qual { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-ink); }
.tier p { font-size: 14.5px; color: var(--ink-soft); max-width: 64ch; }

/* faq */
.faq details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.faq summary { cursor: pointer; font-weight: 600; font-size: 16.5px; color: var(--lagoon); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: "Source Serif 4", Georgia, serif; font-weight: 300; color: var(--teal); font-size: 26px; line-height: 1; flex: none; }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { padding-top: 12px; color: var(--ink-soft); font-size: 15px; max-width: 75ch; }

/* gallery */
.filter-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.filter { background: none; border: 1px solid var(--line); padding: 10px 20px; font: 700 10.5px "Source Sans 3", Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase; color: var(--ink-soft); cursor: pointer; }
.filter.active, .filter:hover { border-color: var(--teal); color: var(--teal); }
.masonry { columns: 3; column-gap: 20px; }
.masonry figure { break-inside: avoid; margin: 0 0 20px; }
.masonry img { width: 100%; display: block; border-radius: 3px; }
.masonry figcaption { font-size: 12px; color: var(--ink-soft); padding: 7px 2px 0; letter-spacing: .3px; }

/* forms */
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.f-field { display: flex; flex-direction: column; gap: 7px; }
.f-field label { font-size: 10.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--teal); }
.f-field input, .f-field select, .f-field textarea { border: 1px solid var(--line); border-radius: 2px; padding: 13px 14px; font: 15px "Source Sans 3", Arial, sans-serif; color: var(--ink); background: #fff; width: 100%; }
.f-field textarea { min-height: 130px; resize: vertical; }

/* numbered steps */
.steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px; counter-reset: s; }
.step { display: flex; flex-direction: column; gap: 8px; counter-increment: s; }
.step::before { content: counter(s, decimal-leading-zero); font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 32px; color: var(--gold-ink); }
.steps.teal .step::before { color: var(--teal); }
.step b { font-size: 15.5px; color: var(--lagoon); }
.step p { font-size: 14px; color: var(--ink-soft); }

/* misc */
.callout { background: var(--cream); padding: 26px 30px; display: flex; gap: 16px; align-items: flex-start; border-radius: 3px; }
.video-thumb { position: relative; }
.video-thumb img { width: 100%; display: block; border-radius: 3px; }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.tab-row { display: flex; gap: 10px; flex-wrap: wrap; }
.tab { border: 1px solid var(--line); padding: 11px 22px; font: 700 11px "Source Sans 3", Arial, sans-serif; letter-spacing: 2.2px; text-transform: uppercase; color: var(--ink-soft); }
.tab.active { background: var(--teal); border-color: var(--teal); color: #fff; }

@media (max-width: 1023px) {
  .page-hero { height: 320px; }
  .page-hero--flat { padding: 48px 0 40px; }
  .page-intro { padding: 44px 0; }
  .room-card { grid-template-columns: 1fr; gap: 18px; padding: 40px 0; }
  .room-card .framed { order: -1; }
  .week { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pkg { grid-template-columns: 1fr; gap: 16px; padding: 36px 0; }
  .pkg > img { order: -1; height: 240px; }
  .tier { grid-template-columns: 1fr; gap: 18px; padding: 22px 20px; }
  .masonry { columns: 2; column-gap: 12px; }
  .masonry figure { margin-bottom: 12px; }
  .form-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .two-col { grid-template-columns: 1fr; }
}

/* == elevation pass == */
.subnav { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--line); }
.subnav-inner { display: flex; justify-content: center; gap: 0; flex-wrap: wrap; }
.subnav a { font-size: 11px; font-weight: 700; letter-spacing: 2.2px; text-transform: uppercase; color: var(--ink-soft); padding: 17px 18px; position: relative; }
.subnav a + a::before { content: ""; position: absolute; left: 0; top: 50%; height: 14px; width: 1px; background: #D8BE93; transform: translateY(-50%); }
.subnav a:hover, .subnav a.active { color: var(--teal); }
.masonry img { transition: transform .7s ease; }
.masonry figure:hover img { transform: scale(1.035); }
.masonry figure { overflow: hidden; border-radius: 3px; background: #fff; }
.masonry figcaption { padding: 8px 10px 10px; }
.menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 44px; }
.menu-item { display: flex; flex-direction: column; gap: 4px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.menu-item b { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 21px; color: var(--lagoon); }
.menu-item span { font-size: 14px; color: var(--ink-soft); }
.exc-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.exc-card { border: 1px solid var(--line); border-radius: 3px; padding: 30px 32px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; background: #fff; transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease; }
.exc-card:hover { border-color: var(--teal); transform: translateY(-4px); box-shadow: 0 18px 36px rgba(6,42,43,.09); }
section { scroll-margin-top: 64px; }
.room-card, .pkg { scroll-margin-top: 64px; }
@media (max-width: 1023px) {
  .subnav { display: none; }
  .menu-grid { grid-template-columns: 1fr; gap: 0; }
  .exc-grid { grid-template-columns: 1fr; }
}

/* == dining sub-theme == */
.theme-dining .kicker { color: var(--gold-ink); }
.theme-dining .btn-solid { color: var(--gold-ink); border-color: var(--gold-ink); }
.theme-dining .btn-solid:hover { background: var(--gold-ink); color: #fff; }
.theme-dining .subnav a:hover, .theme-dining .subnav a.active { color: var(--gold-ink); }
.theme-dining .text-link { color: var(--gold-ink); }
.theme-dining .meta { border-color: #D8BE93; color: var(--gold-ink); }
.theme-dining .day { background: var(--cream); border-color: #E9DFCC; }
.theme-dining .day b { color: var(--gold-ink); }
.rest-hero .inner { align-items: center; text-align: center; margin: 0 auto; }
.rest-hero p { margin: 0 auto; }
.rest-rule { width: 74px; height: 10px; border-top: 1px solid rgba(255,255,255,.85); position: relative; margin: 2px 0 4px; }
.rest-rule::after { content: ""; position: absolute; top: -4px; left: 50%; width: 7px; height: 7px; background: var(--gold); transform: translateX(-50%) rotate(45deg); }
.theme-dining .menu-card { max-width: 780px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 58px 64px 46px; position: relative; }
.theme-dining .menu-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(169,130,63,.35); border-radius: 2px; pointer-events: none; }
.theme-dining .menu-card .sec-head { padding-bottom: 26px; }
.theme-dining .menu-grid { display: block; max-width: 560px; margin: 0 auto; }
.theme-dining .menu-item { text-align: center; border-bottom: 0; padding: 17px 0; align-items: center; }
.theme-dining .menu-item + .menu-item::before { content: ""; display: block; width: 28px; border-top: 1px solid var(--gold); margin: 0 auto 17px; }
.theme-jasmine .menu-card { background: var(--cream); border-color: #E9DFCC; }
.theme-chatham .menu-card { background: var(--lagoon); border-color: #16524E; }
.theme-chatham .menu-card::before { border-color: rgba(199,162,104,.45); }
.theme-chatham .menu-card .sec-head h2 { color: var(--gold); }
.theme-chatham .menu-card .kicker { color: #C7A268; }
.theme-chatham .menu-card .sub { color: #C7DAD6; }
.theme-chatham .menu-item b { color: #EAD9B0; }
.theme-chatham .menu-item span { color: #C7DAD6; }
.theme-grill .menu-card { border: 1px dashed #B9CFCB; background: #fff; }
.theme-grill .menu-card::before { display: none; }
.theme-grill .menu-item b { color: var(--teal); }
@media (max-width: 1023px) {
  .theme-dining .menu-card { padding: 34px 20px 26px; }
  .theme-dining .menu-card::before { inset: 6px; }
}



/* == icon art recovered from inline SVG == */

#guest-quote::after{content:"";position:absolute;right:60px;top:50%;margin-top:-130px;width:260px;height:260px;opacity:.15;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22260%22%20viewBox%3D%220%200%20220%20220%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M110%2088%20C96%2060%20102%2032%20120%2024%20C138%2036%20134%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C138%2076%20164%2080%20172%2098%20C160%20114%20128%20108%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C134%20106%20144%20132%20130%20146%20C110%20142%20102%20112%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C90%20108%2064%20114%2052%20100%20C60%2082%2092%2076%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C84%2074%2074%2048%2088%2036%20C108%2040%20116%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20L138%2054%22%3E%3C%2Fpath%3E%20%3Ccircle%20cx%3D%22141%22%20cy%3D%2250%22%20r%3D%224%22%3E%3C%2Fcircle%3E%20%3Cpath%20d%3D%22M112%20146%20C110%20172%20112%20190%20118%20210%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M113%20176%20C97%20168%2085%20172%2077%20184%20C89%20192%20105%20188%20113%20176Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M116%20192%20C131%20184%20145%20188%20153%20200%20C141%20208%20125%20204%20116%20192Z%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(1)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011a8%208%200%200%201%2016%200z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2011v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2021c1.5-1%203-1%204.5%200s3%201%204.5%200%203-1%204.5%200%203%201%204.5%200%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(10)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%223%22%3E%3C%2Frect%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%221.1%22%20fill%3D%22%230E7C7B%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%229%22%20r%3D%221.1%22%20fill%3D%22%230E7C7B%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2215%22%20r%3D%221.1%22%20fill%3D%22%230E7C7B%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%221.1%22%20fill%3D%22%230E7C7B%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(11)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%227%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M12%206V3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5.6%2011h12.8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5.6%2015h12.8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%206a14%2014%200%200%200%200%2014%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%206a14%2014%200%200%201%200%2014%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(12)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M12%208.5v7%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8.5%2012h7%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(13)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M12%207.5V12l3%202%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(14)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%229%22%20width%3D%2216%22%20height%3D%2211%22%20rx%3D%221.5%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M12%209v11%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%209c-1.2-3-5.5-3-5.5-1s4%201%205.5%201z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%209c1.2-3%205.5-3%205.5-1s-4%201-5.5%201z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(15)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222.5%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%228%22%20r%3D%222.5%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M4%2020v-1a4%204%200%200%201%204-4h8a4%204%200%200%201%204%204v1%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(2)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203v7%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4%203v4a2%202%200%200%200%204%200V3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2010v11%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17%203v18%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17%203c2.5%200%203.5%203%203.5%206s-1%205-3.5%205%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(3)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2018a2.5%202.5%200%201%201-5%200%202.5%202.5%200%200%201%205%200z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M9%2018V5l10-2v12%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M19%2015a2.5%202.5%200%201%201-5%200%202.5%202.5%200%200%201%205%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(4)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%204v12%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M14%204v12%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%208h6%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M8%2012h6%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2019c1.5-1%203-1%204.5%200s3%201%204.5%200%203-1%204.5%200%203%201%204.5%200%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(5)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M4%2012a11%2011%200%200%201%2016%200%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4%2012a11%2011%200%200%200%2016%200%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(6)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.5%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M6.5%206.5l3%203%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17.5%206.5l-3%203%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6.5%2017.5l3-3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17.5%2017.5l-3-3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(7)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019L19%205%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2021c2%200%203-1%203-3%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M21%203c-2%200-3%201-3%203%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M9%2015l-3%206%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M15%209l6-3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(8)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%229.5%22%20r%3D%226%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M6%206l7%207%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M13%206l-7%207%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M14%2014l6%206%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.amenities .amenity:nth-child(9)::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%208v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4%209.5v5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M17%208v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M20%209.5v5%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M7%2012h10%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.burger::before{content:"";display:block;width:26px;height:26px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230A3B3C%22%20stroke-width%3D%222.1%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16M4%2012h16M4%2017h16%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.callout::before{content:"";display:block;width:34px;height:34px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23A9823F%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203l7%207-9%209H5v-7z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%205l7%207%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(1)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%3E%3C%2Fcircle%3E%3Cpath%20d%3D%22M12%202v3M12%2019v3M2%2012h3M19%2012h3M5%205l2%202M17%2017l2%202M19%205l-2%202M7%2017l-2%202%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(2)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M3%2017c1.5-1%203-1%204.5%200s3%201%204.5%200%203-1%204.5%200%203%201%204.5%200%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2013l3-8M12%2013l3-8%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(3)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M3%207l18%206%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2010l-2%209%22%3E%3C%2Fpath%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2220%22%20r%3D%221.6%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(4)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011l8-7%208%207%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M6%2010v10h12V10%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10%2020v-6h4v6%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(5)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011a8%208%200%200%201%2016%200z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2011v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2021c1.5-1%203-1%204.5%200s3%201%204.5%200%203-1%204.5%200%203%201%204.5%200%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.exc-grid .exc-card:nth-child(6)::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M6%203c0%206-2%208-2%2012a8%208%200%200%200%2016%200c0-4-2-6-2-12%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M10%208c0%203-1%204-1%206M14%208c0%203%201%204%201%206%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.map-card{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%20540%20360%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M0%20150%20C%2080%20120%2C%20150%20160%2C%20230%20130%20C%20310%20100%2C%20380%20140%2C%20460%20115%20C%20500%20105%2C%20525%20110%2C%20540%20100%20L%20540%20360%20L%200%20360%20Z%22%20fill%3D%22%23F3F8F6%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M0%20150%20C%2080%20120%2C%20150%20160%2C%20230%20130%20C%20310%20100%2C%20380%20140%2C%20460%20115%20C%20500%20105%2C%20525%20110%2C%20540%20100%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%222%22%20opacity%3D%220.35%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M60%20220%20C%20140%20210%2C%20220%20235%2C%20320%20225%20C%20400%20218%2C%20460%20235%2C%20540%20225%22%20fill%3D%22none%22%20stroke%3D%22%23B9CFCB%22%20stroke-width%3D%223%22%20opacity%3D%220.7%22%3E%3C%2Fpath%3E%20%3Ccircle%20cx%3D%22415%22%20cy%3D%22150%22%20r%3D%225%22%20fill%3D%22%230E7C7B%22%3E%3C%2Fcircle%3E%20%3Ccircle%20cx%3D%22150%22%20cy%3D%22170%22%20r%3D%225%22%20fill%3D%22%230E7C7B%22%20opacity%3D%220.55%22%3E%3C%2Fcircle%3E%20%3C%2Fsvg%3E");background-size:cover;background-position:center}
.map-pin::before{content:"";display:block;width:40px;height:40px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23189398%22%20stroke%3D%22%230A3B3C%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M12%2021s-7-5.75-7-11a7%207%200%200%201%2014%200c0%205.25-7%2011-7%2011z%22%3E%3C%2Fpath%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.6%22%20fill%3D%22%23ffffff%22%20stroke%3D%22none%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E")}
.phone-btn::before{content:"";display:block;width:15px;height:15px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234FC4BE%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2016.9v2a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%203.2%202%202%200%200%201%204.1%201h2a2%202%200%200%201%202%201.7c.1.9.3%201.8.6%202.7a2%202%200%200%201-.5%202.1L7%208.6a16%2016%200%200%200%206%206l1.1-1.1a2%202%200%200%201%202.1-.5c.9.3%201.8.5%202.7.6a2%202%200%200%201%202%202.1z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.reviews .review:nth-child(1)::before{content:"";display:block;width:28px;height:28px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011a8%208%200%200%201%2016%200z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M12%2011v8%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3%2021c1.5-1%203-1%204.5%200s3%201%204.5%200%203-1%204.5%200%203%201%204.5%200%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.reviews .review:nth-child(2)::before{content:"";display:block;width:28px;height:28px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-8-5.3-8-11a4.6%204.6%200%200%201%208-3.1A4.6%204.6%200%200%201%2020%2010c0%205.7-8%2011-8%2011z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.reviews .review:nth-child(3)::before{content:"";display:block;width:28px;height:28px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2013l4%204L19%207%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.socials a:nth-child(1)::before{content:"";display:block;width:15px;height:15px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E8F4F6%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%208h3V4h-3a4%204%200%200%200-4%204v3H7v4h3v6h4v-6h3l1-4h-4V8z%22%20transform%3D%22scale%280.9%29%20translate%281%2C1%29%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.socials a:nth-child(2)::before{content:"";display:block;width:15px;height:15px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E8F4F6%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%225%22%3E%3C%2Frect%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2217.2%22%20cy%3D%226.8%22%20r%3D%221%22%20fill%3D%22%23E8F4F6%22%20stroke%3D%22none%22%3E%3C%2Fcircle%3E%3C%2Fsvg%3E")}
.socials a:nth-child(3)::before{content:"";display:block;width:15px;height:15px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E8F4F6%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222.5%22%20y%3D%226%22%20width%3D%2219%22%20height%3D%2212%22%20rx%3D%223.5%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M10%209.5l5%202.5-5%202.5z%22%20fill%3D%22%23E8F4F6%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.ta-badge::before{content:"";display:block;width:30px;height:30px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23E8A33D%22%3E%3Cpath%20d%3D%22M12%202l3%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.9%2021l1.2-6.8-5-4.9%206.9-1z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E")}
.wed-card::after{content:"";position:absolute;right:-34px;top:-30px;width:150px;height:150px;opacity:.14;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22150%22%20height%3D%22150%22%20viewBox%3D%220%200%20220%20220%22%20fill%3D%22none%22%20stroke%3D%22%23A9823F%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M110%2088%20C96%2060%20102%2032%20120%2024%20C138%2036%20134%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C138%2076%20164%2080%20172%2098%20C160%20114%20128%20108%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C134%20106%20144%20132%20130%20146%20C110%20142%20102%20112%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C90%20108%2064%20114%2052%20100%20C60%2082%2092%2076%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C84%2074%2074%2048%2088%2036%20C108%2040%20116%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E")}
footer::after{content:"";position:absolute;left:-70px;bottom:-70px;width:300px;height:300px;opacity:.05;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20220%20220%22%20fill%3D%22none%22%20stroke%3D%22%234FC4BE%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M110%2088%20C96%2060%20102%2032%20120%2024%20C138%2036%20134%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C138%2076%20164%2080%20172%2098%20C160%20114%20128%20108%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C134%20106%20144%20132%20130%20146%20C110%20142%20102%20112%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C90%20108%2064%20114%2052%20100%20C60%2082%2092%2076%20110%2088Z%22%3E%3C%2Fpath%3E%20%3Cpath%20d%3D%22M110%2088%20C84%2074%2074%2048%2088%2036%20C108%2040%20116%2066%20110%2088Z%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E")}


/* ============================================================
   Restores what the Bricks HTML converter drops.
   - bare <b> and <label> become spans (styled here)
   - nested spans/divs lose their classes, so those are targeted
     structurally by position
   - inline <svg> is gone, redrawn above as CSS backgrounds
   ============================================================ */

.xb{font-weight:700}
.stat .xb,.stat > span:first-child{font-family:"Source Serif 4",Georgia,serif;font-weight:300;font-size:40px;line-height:1;color:#DCC391}
.foot-col .xb,.foot-col > span:first-child{color:var(--ice);font-size:11px;font-weight:700;letter-spacing:2.8px;padding-bottom:6px;text-transform:uppercase}
.newsletter .xb,.newsletter > span:first-child{color:var(--ice);font-size:11px;font-weight:700;letter-spacing:2.8px;text-transform:uppercase}
.ta-badge .xb,.ta-badge > div > span:first-child{color:var(--ice);font-size:14px;display:block;letter-spacing:.3px}
.ta-badge > div > span:last-child{font-size:12px;color:#7E9992}

/* booking bar (static mockup) */
.booking > div:first-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 220px;gap:14px}
.booking > div:first-child > div{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:2px;padding:10px 16px}
.booking > div:first-child > div > span:first-child{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--teal);text-transform:uppercase}
.booking > div:first-child > div > span:last-child{font:600 16px/1.4 "Source Sans 3",Arial,sans-serif;color:var(--ink)}
.booking > div:first-child > .btn{justify-content:center;font-size:14.5px}
.booking > div:last-child{display:flex;justify-content:center;gap:8px;align-items:center;padding-top:11px;font-size:12.5px;color:var(--ink-soft)}

/* newsletter + enquiry mockups */
.nl-form{display:flex;gap:10px;align-items:stretch}
.nl-input,.newsletter > div > span:first-child{width:300px;max-width:60vw;border:1px solid #1C4A43;border-radius:2px;padding:13px 16px;font:13.5px "Source Sans 3",Arial,sans-serif;color:#7E9992}
.newsletter .btn{padding:13px 26px;font-size:11px}
.f-box{border:1px solid var(--line);border-radius:2px;height:46px;background:#fff;display:block}
.f-field .fld-label{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal)}
.field .fld-label{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--teal);text-transform:uppercase}
.field .fld-value{font:600 16px/1.4 "Source Sans 3",Arial,sans-serif;color:var(--ink)}

/* faq accordions rendered open */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0}
.faq-q{font-weight:600;font-size:16.5px;color:var(--lagoon)}
.faq-a{padding-top:12px;color:var(--ink-soft);font-size:15px;max-width:75ch}

/* inline flow: the converter splits text runs and <br> into block elements */
.topbar-inner > div:first-child{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.amenity{gap:0}
.amenity::before{margin-bottom:12px}
.amenity > *{line-height:1.68}
.review::before{margin-bottom:12px}
.foot-address a{display:block}
.foot-bottom > div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}

@media (max-width:1023px){
  .booking > div:first-child{grid-template-columns:repeat(2,minmax(0,1fr));background:transparent;border-radius:0;padding:0;gap:10px}
  .booking > div:first-child > .btn{grid-column:1 / -1}
  .booking > div:first-child > div:nth-child(3){grid-column:1 / -1}
  .booking > div:last-child{color:var(--ink-soft)}
  .stat .xb,.stat > span:first-child{font-size:28px}
  .amenity::before{width:30px;height:30px}
  .topbar-inner > div:first-child{justify-content:center}
  .foot-bottom > div:last-child{justify-content:flex-start}
}

/* staging additions */
/* Bricks .brxe-section is flex + align-items:center; block children shrink-to-fit.
   Restore full-width flow for the ported .container (original relied on block layout). */
.container { width: 100%; }
.brxe-shortcode { display: contents; }
.field select { appearance: auto; -webkit-appearance: auto; }
.foot-brandband .phone-link { color: var(--ice); font-size: 15.5px; font-weight: 600; letter-spacing: .3px; }
.foot-brandband .phone-link:hover { color: var(--teal-soft); }
.foot-brandband .phones { gap: 30px; }
.foot-brandband .btn { margin-top: 2px; }
/* weddings band: follow wedding-teaser.jpg aspect (1280x734) so the bride's
   head and dress train are fully visible; capped at the image's native scale */
.weddings { min-height: min(57.34vw, 826px); }
.wed-list ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 2px 0; }
.wed-list li { display: flex; gap: 12px; align-items: baseline; color: var(--ink-soft); font-size: 15.5px; }
.wed-list li::before { content: ""; width: 5px; height: 5px; border-radius: 999px; background: var(--gold); flex: none; transform: translateY(-3px); }
/* hero legibility: deeper scrim for the bright pool hero */
.hero-shade { background:
  linear-gradient(180deg, rgba(6,42,43,.42) 0%, rgba(6,42,43,0) 26%),
  radial-gradient(ellipse 60% 44% at 50% 45%, rgba(6,42,43,.52) 0%, rgba(6,42,43,.3) 52%, rgba(6,42,43,0) 76%); }
/* guest-quote ornament: large corner botanical, deliberately cropped by the section edge */
#guest-quote { overflow: hidden; padding: 116px 0 104px !important; }
#guest-quote .container { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 20px; align-items: center; text-align: center; }
.gq-slider { width: 100%; max-width: 900px; margin: 0 auto; }
.gq-slides { position: relative; }
.gq-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .7s ease; display: flex; flex-direction: column; gap: 18px; align-items: center; text-align: center; pointer-events: none; }
.gq-slide.is-active { opacity: 1; pointer-events: auto; }
.gq-slide blockquote { font-size: clamp(24px, 2.4vw, 36px); line-height: 1.35; border: 0; padding: 0; margin: 0; }
.gq-slide figcaption { font-size: 14px; color: var(--ink-soft); }
.gq-dots { display: flex; gap: 11px; justify-content: center; margin-top: 30px; }
.gq-dots button { width: 9px; height: 9px; border-radius: 999px; border: 1px solid var(--teal); background: transparent; cursor: pointer; padding: 0; transition: background .2s ease; }
.gq-dots button.is-active { background: var(--teal); }
#guest-quote::after { content: ""; position: absolute; right: -60px; bottom: -70px; top: auto; margin-top: 0; width: 440px; height: 560px; opacity: .16; pointer-events: none; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22440%22%20height%3D%22560%22%20viewBox%3D%220%200%20440%20560%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%3E%20%3Cpath%20d%3D%22M400%20560%20C340%20440%20330%20330%20368%20210%20C382%20166%20408%20130%20438%20106%22%2F%3E%20%3Cpath%20d%3D%22M382%20350%20C330%20300%20314%20240%20330%20178%20C338%20148%20356%20122%20380%20104%22%2F%3E%20%3Cpath%20d%3D%22M408%20470%20C350%20430%20296%20428%20240%20452%22%2F%3E%20%3Cpath%20d%3D%22M368%20210%20C330%20196%20302%20168%20296%20132%20C330%20128%20362%20148%20376%20180%20Z%22%2F%3E%20%3Cpath%20d%3D%22M388%20268%20C424%20250%20436%20214%20430%20178%20C398%20190%20380%20222%20384%20258%20Z%22%2F%3E%20%3Cpath%20d%3D%22M348%20300%20C310%20292%20288%20262%20286%20228%20C318%20230%20344%20254%20350%20288%20Z%22%2F%3E%20%3Cpath%20d%3D%22M330%20178%20C300%20160%20288%20128%20292%2096%20C322%20106%20340%20136%20336%20168%20Z%22%2F%3E%20%3Cpath%20d%3D%22M240%20452%20C232%20418%20208%20396%20176%20390%20C180%20422%20204%20444%20236%20450%20Z%22%2F%3E%20%3Cpath%20d%3D%22M300%20444%20C310%20412%20302%20380%20278%20358%20C266%20388%20274%20420%20296%20442%20Z%22%2F%3E%20%3Cpath%20d%3D%22M438%20106%20m-4%200%20a4%204%200%201%200%208%200%20a4%204%200%201%200%20-8%200%22%2F%3E%20%3Cpath%20d%3D%22M380%20104%20m-3%200%20a3%203%200%201%200%206%200%20a3%203%200%201%200%20-6%200%22%2F%3E%20%3Cg%20transform%3D%22translate%28360%2C60%29%22%3E%20%3Cpath%20d%3D%22M0%200%20C-8%20-16%20-4%20-34%208%20-44%20C20%20-34%2022%20-16%2012%20-2%20Z%22%2F%3E%20%3Cpath%20d%3D%22M4%202%20C20%20-4%2038%200%2046%2014%20C34%2024%2016%2024%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M8%2010%20C24%2016%2032%2032%2028%2048%20C12%2044%202%2028%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-2%208%20C-18%2014%20-34%208%20-42%20-6%20C-28%20-16%20-10%20-12%200%200%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-4%20-2%20C-20%20-8%20-28%20-24%20-24%20-40%20C-8%20-36%202%20-20%200%20-4%20Z%22%2F%3E%20%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%225%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E"); }
#guest-quote::before { content: ""; position: absolute; left: -150px; top: -190px; width: 440px; height: 560px; opacity: .1; pointer-events: none; transform: scale(-1); background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22440%22%20height%3D%22560%22%20viewBox%3D%220%200%20440%20560%22%20fill%3D%22none%22%20stroke%3D%22%230E7C7B%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%3E%20%3Cpath%20d%3D%22M400%20560%20C340%20440%20330%20330%20368%20210%20C382%20166%20408%20130%20438%20106%22%2F%3E%20%3Cpath%20d%3D%22M382%20350%20C330%20300%20314%20240%20330%20178%20C338%20148%20356%20122%20380%20104%22%2F%3E%20%3Cpath%20d%3D%22M408%20470%20C350%20430%20296%20428%20240%20452%22%2F%3E%20%3Cpath%20d%3D%22M368%20210%20C330%20196%20302%20168%20296%20132%20C330%20128%20362%20148%20376%20180%20Z%22%2F%3E%20%3Cpath%20d%3D%22M388%20268%20C424%20250%20436%20214%20430%20178%20C398%20190%20380%20222%20384%20258%20Z%22%2F%3E%20%3Cpath%20d%3D%22M348%20300%20C310%20292%20288%20262%20286%20228%20C318%20230%20344%20254%20350%20288%20Z%22%2F%3E%20%3Cpath%20d%3D%22M330%20178%20C300%20160%20288%20128%20292%2096%20C322%20106%20340%20136%20336%20168%20Z%22%2F%3E%20%3Cpath%20d%3D%22M240%20452%20C232%20418%20208%20396%20176%20390%20C180%20422%20204%20444%20236%20450%20Z%22%2F%3E%20%3Cpath%20d%3D%22M300%20444%20C310%20412%20302%20380%20278%20358%20C266%20388%20274%20420%20296%20442%20Z%22%2F%3E%20%3Cpath%20d%3D%22M438%20106%20m-4%200%20a4%204%200%201%200%208%200%20a4%204%200%201%200%20-8%200%22%2F%3E%20%3Cpath%20d%3D%22M380%20104%20m-3%200%20a3%203%200%201%200%206%200%20a3%203%200%201%200%20-6%200%22%2F%3E%20%3Cg%20transform%3D%22translate%28360%2C60%29%22%3E%20%3Cpath%20d%3D%22M0%200%20C-8%20-16%20-4%20-34%208%20-44%20C20%20-34%2022%20-16%2012%20-2%20Z%22%2F%3E%20%3Cpath%20d%3D%22M4%202%20C20%20-4%2038%200%2046%2014%20C34%2024%2016%2024%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M8%2010%20C24%2016%2032%2032%2028%2048%20C12%2044%202%2028%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-2%208%20C-18%2014%20-34%208%20-42%20-6%20C-28%20-16%20-10%20-12%200%200%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-4%20-2%20C-20%20-8%20-28%20-24%20-24%20-40%20C-8%20-36%202%20-20%200%20-4%20Z%22%2F%3E%20%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%225%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E"); }
.layered .back, .layered .back.layer-alt { z-index: 1; }
.layered .front, .layered .front.layer-alt { z-index: 2; }
.layered .layer-alt { opacity: 0; transition: opacity 1.4s ease; pointer-events: none; }
.layered .layer-alt.show { opacity: 1; }
/* topbar: seamless transparent phone line, top right over the hero (desktop, home) */
.topbar-inner .uk { display: flex; gap: 5px; align-items: center; white-space: nowrap; }
@media (min-width: 1024px) {
  .header-cta { display: none; }
  .topbar { position: absolute; top: 0; left: 0; right: 0; background: transparent; z-index: 45; }
  .topbar-inner { justify-content: flex-end; height: 46px; }
  .topbar-inner > div:first-child { flex-wrap: nowrap; white-space: nowrap; }
  .topbar a { font-size: 12px; letter-spacing: .8px; text-shadow: 0 1px 12px rgba(6,42,43,.65); }
  .site-header { top: 46px; }
  /* light-topped pages: same transparent header, dark scheme for legibility */
  body.light-header .logo-white { display: none; }
  body.light-header .logo-teal { display: block; }
  body.light-header .nav a { color: var(--lagoon); text-shadow: none; }
  body.light-header .nav a:hover { color: var(--teal); }
  body.light-header .nav .btn-book { color: var(--lagoon-deep); }
  body.light-header .topbar a { color: var(--lagoon); text-shadow: none; }
  body.light-header .uk { color: var(--ink-soft); }
  /* flat-hero pages: clear the floating header */
  body.light-header .page-hero--flat { padding-top: 200px; }
}
@media (max-width: 1023px) {
  body.home .topbar { background: var(--lagoon); }
}
/* Treated Like Family: fade in from the wedding band's dress/floor tones, settle on ice */
#reviews { background: linear-gradient(180deg, #F7F3EC 0%, #EDF3F3 14%, var(--ice) 30%, var(--ice) 100%); }
#reviews .review { border-radius: 15px; box-shadow: 0 16px 38px rgba(6,42,43,.09); transition: transform .25s ease, box-shadow .25s ease; }
#reviews .review:hover { transform: translateY(-4px); box-shadow: 0 24px 48px rgba(6,42,43,.13); }
/* Montego Bay section: generated illustrated map replaces the CSS placeholder map */
.map-card { background-color: var(--ice-deep); background-image: url("/wp-content/uploads/2026/08/montego-map-v2.jpg"); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 16px; }
.map-card .map-label, .map-card .map-pin { display: none; }

/* 1024-1279: compress the nav so items never wrap to two lines */
@media (min-width: 1024px) and (max-width: 1279px) {
  .nav { gap: 15px; }
  .nav a { font-size: 12.5px; letter-spacing: 1px; white-space: nowrap; }
  .nav .btn { padding: 12px 18px; }
  .logo-white { width: 165px; height: 43px; }
}
.nav a { white-space: nowrap; }



/* flagship grand heroes: oversized serif word over a softly veiled photo */
.grand-hero { height: 560px !important; overflow: visible; z-index: 5; }
.grand-hero .shade { background: linear-gradient(180deg, rgba(250,246,240,.9) 0%, rgba(250,246,240,.12) 34%, rgba(250,246,240,.1) 62%, rgba(6,42,43,.55) 100%); }
.grand-word { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 4; pointer-events: none; font-family: "Source Serif 4", Georgia, serif; font-weight: 200; font-style: italic; font-size: clamp(110px, 15vw, 230px); line-height: 1; color: rgba(255,255,255,.92); letter-spacing: 4px; text-shadow: 0 4px 40px rgba(6,42,43,.25); }
.grand-hero .inner { z-index: 5; }
/* dining: floating plate hangs over the hero edge into the intro */
body.page-slug-dining .grand-hero::after , body.page-slug-restaurants-bars .grand-hero::after { content: ""; position: absolute; right: 7%; bottom: -84px; width: 330px; height: 220px; z-index: 6; pointer-events: none; background: url("/wp-content/uploads/2026/08/plate_food_img.png") center / contain no-repeat; filter: drop-shadow(0 22px 30px rgba(6,42,43,.25)); }
@media (max-width: 1023px) {
  .grand-hero { height: 430px !important; }
  .grand-word { font-size: clamp(72px, 20vw, 130px); }
  body.page-slug-dining .grand-hero::after , body.page-slug-restaurants-bars .grand-hero::after { width: 210px; height: 140px; bottom: -50px; right: 5%; }
}

/* grand hero refinements: homepage-style dark glow behind the title zone */
.grand-hero .shade { background:
  linear-gradient(180deg, rgba(250,246,240,.96) 0%, rgba(250,246,240,.62) 13%, rgba(250,246,240,.08) 34%, rgba(6,42,43,0) 58%, rgba(6,42,43,.62) 100%),
  radial-gradient(ellipse 48% 40% at 20% 88%, rgba(6,42,43,.5) 0%, rgba(6,42,43,0) 74%); }
body.page-slug-about .grand-word , body.page-slug-seagarden-all-inclusive .grand-word { font-size: clamp(52px, 8.6vw, 132px); letter-spacing: 6px; white-space: nowrap; }
/* subtle entrance animation for grand heroes */
@media (prefers-reduced-motion: no-preference) {
  .grand-word { animation: gw-fade 1.2s .15s ease both; }
  .grand-hero .inner { animation: gw-rise .9s ease both; }
}
@keyframes gw-fade { from { opacity: 0; letter-spacing: 12px; } to { opacity: 1; } }
@keyframes gw-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
/* weddings triptych: hover pop */
.wed-strip { display: flex; gap: 14px; }
.wed-strip .brxe-image, .wed-strip img { flex: 1; min-width: 0; }
.wed-strip img { width: 100%; height: 340px; object-fit: cover; border-radius: 4px; transition: transform .35s ease, box-shadow .35s ease; }
.wed-strip img:hover { transform: scale(1.05) translateY(-6px); box-shadow: 0 24px 48px rgba(6,42,43,.28); position: relative; z-index: 2; }
@media (max-width: 1023px) { .wed-strip { flex-direction: column; } .wed-strip img { height: 220px; } }

/* about hero: lush bamboo, lighter veil so the green reads */
body.page-slug-about .grand-hero .shade , body.page-slug-seagarden-all-inclusive .grand-hero .shade { background:
  radial-gradient(ellipse 72% 36% at 50% 44%, rgba(6,42,43,.34) 0%, rgba(6,42,43,0) 76%),
  linear-gradient(180deg, rgba(250,246,240,.95) 0%, rgba(250,246,240,.55) 13%, rgba(250,246,240,.05) 32%, rgba(6,42,43,.08) 55%, rgba(6,42,43,.78) 100%),
  radial-gradient(ellipse 48% 40% at 20% 88%, rgba(6,42,43,.55) 0%, rgba(6,42,43,0) 74%); }
body.page-slug-about .grand-word , body.page-slug-seagarden-all-inclusive .grand-word { color: rgba(255,255,255,.96); }
/* grand-hero legibility: same shadow treatment as the other page heroes */
.grand-word { text-shadow: 0 2px 14px rgba(6,42,43,.5), 0 6px 46px rgba(6,42,43,.35); }
.grand-hero .over { text-shadow: 0 1px 12px rgba(6,42,43,.85), 0 4px 30px rgba(6,42,43,.5); }
.grand-hero h1 { text-shadow: 0 2px 16px rgba(6,42,43,.75), 0 5px 34px rgba(6,42,43,.45); }
/* entertainment hero: deliberate night-show treatment */
body.page-slug-entertainment .page-hero , body.page-slug-seagarden-entertainment .page-hero { height: 560px; }
body.page-slug-entertainment .page-hero > img , body.page-slug-seagarden-entertainment .page-hero > img { object-position: 66% 30%; }
body.page-slug-entertainment .page-hero .shade , body.page-slug-seagarden-entertainment .page-hero .shade { background:
  linear-gradient(180deg, rgba(4,39,42,.2) 0%, rgba(4,39,42,0) 42%, rgba(4,39,42,.72) 100%),
  radial-gradient(ellipse 52% 42% at 22% 84%, rgba(4,39,42,.55) 0%, rgba(4,39,42,0) 75%); }

/* global image life: slow zoom on hover inside framed/arch/card media */
.framed, .layered .back, .layered .front, .room-card > .brxe-image, .pkg > .brxe-image, .offer-row .arch, .exc-card, .masonry figure { overflow: hidden; }
.framed img, .room-card > img, .pkg > img, .offer-row .arch, .masonry img, .split .arch, .exc-card img {
  transition: transform 1s cubic-bezier(.2,.6,.2,1); }
.framed:hover img, .room-card:hover > img, .pkg:hover > img, .offer-row .arch:hover, .masonry figure:hover img, .split .arch:hover, .exc-card:hover img { transform: scale(1.045); }
/* hero: slow ken burns on the home hero */
@media (prefers-reduced-motion: no-preference) {
  body.home .hero > img { animation: kb 16s ease-out both; }
  @keyframes kb { from { transform: scale(1.08); } to { transform: scale(1); } }
}
/* guest praise band (rooms/weddings/offers) */
.praise-band { display: flex; flex-direction: column; gap: 26px; align-items: center; padding: 26px 0 6px; }
.praise-rating { font-size: 13px; letter-spacing: .6px; color: var(--gold-ink); }
.praise-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; width: 100%; }
.praise-cards figure { background: #fff; border-radius: 12px; padding: 24px 26px; margin: 0; box-shadow: 0 12px 30px rgba(6,42,43,.07); display: flex; flex-direction: column; gap: 10px; }
.praise-cards blockquote { border: 0; margin: 0; padding: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 17px; line-height: 1.5; color: var(--lagoon); }
.praise-cards figcaption { font-size: 12.5px; color: var(--ink-soft); }
@media (max-width: 1023px) { .praise-cards { grid-template-columns: 1fr; } }

/* ===== hero richness pass: standard page heroes ===== */
.page-hero { height: 560px !important; }
.page-hero .shade { background:
  linear-gradient(180deg, rgba(6,42,43,.56) 0%, rgba(6,42,43,.18) 24%, rgba(6,42,43,.12) 56%, rgba(6,42,43,.68) 100%),
  radial-gradient(ellipse 58% 46% at 50% 76%, rgba(6,42,43,.4) 0%, rgba(6,42,43,0) 76%); }
.page-hero .eyebrow { display: inline-block; position: relative; padding-bottom: 13px; }
.page-hero .eyebrow::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; width: 54px; height: 2px; background: var(--gold); }
@media (prefers-reduced-motion: no-preference) {
  .page-hero .inner { animation: gw-rise .9s ease both; }
}
/* ===== special offers page ===== */
.ofr-hero { background: var(--lagoon-deep, #05221F) linear-gradient(180deg, rgba(14,124,123,.16), rgba(5,34,31,0) 60%); padding: 170px 0 74px; text-align: center; }
.ofr-hero h1 { color: #fff; }
.ofr-hero p { color: var(--ice); }
.ofr-hero .kicker.gold, .ofr-join .kicker.gold { color: var(--gold); display: inline-block; position: relative; padding-bottom: 12px; }
.ofr-hero .kicker.gold::after, .ofr-join .kicker.gold::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; width: 54px; height: 2px; background: var(--gold); }
.ofr-feat-sec { padding-top: 0 !important; margin-top: -1px; background: linear-gradient(180deg, #05221F 46%, transparent 46%); }
.ofr-feat { display: grid; grid-template-columns: 1.15fr 1fr; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 70px rgba(6,42,43,.25); }
.ofr-feat > img { width: 100%; height: 100%; object-fit: cover; min-height: 480px; }
.ofr-feat-copy { background: var(--lagoon); color: var(--ice); padding: 48px 46px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.ofr-feat-copy h2 { color: #fff; }
.ofr-feat-copy .wed-list li { color: var(--ice); }
.ofr-badges { display: flex; gap: 10px; }
.ofr-badge { display: inline-block; background: var(--gold); color: #05221F; font: 700 11px/1 "Source Sans 3", Arial, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; padding: 7px 13px; border-radius: 999px; }
.ofr-badge.line { background: transparent; color: var(--gold); border: 1px solid var(--gold); }
.ofr-badge.onimg { position: absolute; top: 14px; left: 14px; background: rgba(255,255,255,.92); color: var(--teal); }
.ofr-value { font-family: "Source Serif 4", Georgia, serif; font-weight: 400; font-size: 24px; color: var(--gold); }
.ofr-card .ofr-value { color: var(--teal); font-size: 20px; }
.ofr-dates { font-size: 13px; border-top: 1px solid rgba(14,124,123,.25); padding-top: 12px; width: 100%; }
.ofr-dates .lbl { display: block; font: 700 11px/1.6 "Source Sans 3", Arial, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; color: var(--gold); }
.ofr-card .ofr-dates .lbl { color: var(--gold-ink, #8a6d3b); }
.ofr-cta { display: flex; gap: 18px; align-items: center; }
.ofr-terms-link { font-size: 12.5px; color: inherit; opacity: .75; text-decoration: underline; }
.ofr-terms-link.center { display: block; text-align: center; margin-top: 8px; }
.ofr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 30px; margin-top: 34px; }
.ofr-card { background: #fff; border-radius: 8px; border-top: 3px solid var(--gold); box-shadow: 0 2px 12px rgba(10,59,60,.08); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; display: flex; flex-direction: column; }
.ofr-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(10,59,60,.15); }
.ofr-media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; }
.ofr-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ofr-card:hover .ofr-media img { transform: scale(1.04); }
.ofr-body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.ofr-body .ofr-btn { margin-top: auto; text-align: center; justify-content: center; }
.ofr-code { align-self: flex-start; border: 1px dashed var(--gold); color: var(--gold-ink, #8a6d3b); font-size: 12.5px; letter-spacing: 1.4px; padding: 7px 14px; border-radius: 4px; }
.ofr-pillars { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 26px; margin-top: 30px; }
.ofr-pillar { border-top: 2px solid var(--gold); padding-top: 14px; }
.ofr-pillar .xb { color: var(--lagoon); }
.ofr-pillar p { font-size: 14px; color: var(--ink-soft); }
.ofr-join { background: var(--lagoon-deep, #05221F); text-align: center; }
.ofr-join h2 { color: #fff; }
.ofr-join p { color: var(--ice); max-width: 560px; margin: 0 auto; }
h2.center { text-align: center; }
#offer-terms .ofr-fine { font-size: 13.5px; color: var(--ink-soft); max-width: 62ch; }
@media (max-width: 1023px) {
  .ofr-feat { grid-template-columns: 1fr; }
  .ofr-feat > img { min-height: 260px; }
  .ofr-pillars { grid-template-columns: 1fr 1fr; }
  .ofr-hero { padding: 120px 0 60px; }
}

/* offers v2: on-brand refinements */
.center-col { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
#featured h2.center { margin-bottom: 30px; }
.ofr-feat-copy h3 { color: #fff; font-size: clamp(26px, 2.4vw, 34px); }
.fine-card { max-width: 760px; margin: 54px auto 0; border: 1px dashed var(--gold); border-radius: 10px; background: #fff; padding: 30px 38px; display: flex; flex-direction: column; gap: 10px; }
.fine-card p { font-size: 13.5px; color: var(--ink-soft); margin: 0; }
.fine-card .xb { color: var(--lagoon); }
.fine-kicker { font: 700 11px/1 "Source Sans 3", Arial, sans-serif; letter-spacing: 2.2px; text-transform: uppercase; color: var(--gold-ink, #8a6d3b); display: inline-block; position: relative; padding-bottom: 11px; align-self: flex-start; }
.fine-kicker::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 2px; background: var(--gold); }
#deals .pkg .stay a { color: inherit; }
#list .brxe-shortcode form, #list form { justify-content: center; }

/* white-to-green transitions fade instead of hard edges (Rowland 2026-08-21) */
.brxe-section.bg-ice { background: linear-gradient(180deg, #ffffff 0%, var(--ice) 170px); }
.brxe-section.bg-cream { background: linear-gradient(180deg, #ffffff 0%, var(--cream) 170px); }
/* editorial Direct Difference (offers) */
.direct-ed { overflow: hidden; }
.direct-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 70px; align-items: center; position: relative; }
.direct-copy { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.direct-copy h2 { font-size: clamp(40px, 4.6vw, 64px); line-height: 1.06; }
.direct-copy p { max-width: 46ch; }
.direct-media { position: relative; min-height: 560px; }
.direct-media .dm-main { position: absolute; right: 0; top: 0; width: 78%; height: 470px; object-fit: cover; border-radius: 6px; box-shadow: 0 24px 60px rgba(6,42,43,.18); }
.direct-media .dm-sub { position: absolute; left: 0; bottom: 0; width: 52%; height: 260px; object-fit: cover; border-radius: 6px; box-shadow: 0 24px 50px rgba(6,42,43,.22); z-index: 2; }
.direct-media::before { content: ""; position: absolute; left: 26%; top: 44%; width: 340px; height: 430px; z-index: 3; opacity: .2; pointer-events: none; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22440%22%20height%3D%22560%22%20viewBox%3D%220%200%20440%20560%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%3E%20%3Cpath%20d%3D%22M400%20560%20C340%20440%20330%20330%20368%20210%20C382%20166%20408%20130%20438%20106%22%2F%3E%20%3Cpath%20d%3D%22M382%20350%20C330%20300%20314%20240%20330%20178%20C338%20148%20356%20122%20380%20104%22%2F%3E%20%3Cpath%20d%3D%22M368%20210%20C330%20196%20302%20168%20296%20132%20C330%20128%20362%20148%20376%20180%20Z%22%2F%3E%20%3Cpath%20d%3D%22M388%20268%20C424%20250%20436%20214%20430%20178%20C398%20190%20380%20222%20384%20258%20Z%22%2F%3E%20%3Cpath%20d%3D%22M348%20300%20C310%20292%20288%20262%20286%20228%20C318%20230%20344%20254%20350%20288%20Z%22%2F%3E%20%3Cpath%20d%3D%22M330%20178%20C300%20160%20288%20128%20292%2096%20C322%20106%20340%20136%20336%20168%20Z%22%2F%3E%20%3Cg%20transform%3D%22translate%28360%2C60%29%22%3E%20%3Cpath%20d%3D%22M0%200%20C-8%20-16%20-4%20-34%208%20-44%20C20%20-34%2022%20-16%2012%20-2%20Z%22%2F%3E%20%3Cpath%20d%3D%22M4%202%20C20%20-4%2038%200%2046%2014%20C34%2024%2016%2024%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M8%2010%20C24%2016%2032%2032%2028%2048%20C12%2044%202%2028%204%2012%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-2%208%20C-18%2014%20-34%208%20-42%20-6%20C-28%20-16%20-10%20-12%200%200%20Z%22%2F%3E%20%3Cpath%20d%3D%22M-4%20-2%20C-20%20-8%20-28%20-24%20-24%20-40%20C-8%20-36%202%20-20%200%20-4%20Z%22%2F%3E%20%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%225%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") center / contain no-repeat; }
.fine-note { border-top: 1px solid var(--line); margin-top: 58px; padding-top: 22px; }
.fine-note p { font-size: 13px; line-height: 1.75; color: var(--ink-soft); column-count: 2; column-gap: 44px; margin: 0; }
.fine-note .xb { color: var(--lagoon); }
@media (max-width: 1023px) {
  .direct-grid { grid-template-columns: 1fr; gap: 40px; }
  .direct-media { min-height: 420px; }
  .direct-media .dm-main { height: 340px; }
  .direct-media .dm-sub { height: 190px; }
  .fine-note p { column-count: 1; }
}

/* page endings fade softly into the footer (Rowland 2026-08-21) */
#brx-content > .brxe-section:last-child:not(.bg-ice):not(.bg-cream):not(.weddings):not(.praise-sec):not(.direct-ed) {
  background: linear-gradient(180deg, rgba(255,255,255,0) 26%, var(--cream) 100%); }
#brx-content > .direct-ed:last-child { background: linear-gradient(180deg, rgba(255,255,255,0) 30%, var(--cream) 100%); }
/* editorial variants: alternate watermark tint on light grounds */
.ed-craft .direct-media::before, .ed-dine .direct-media::before { opacity: .14; }

/* photo slider (excursions and future carousels) */
.ttd-exc h2 { margin-bottom: 30px; }
.sg-slider { position: relative; }
.sgs-track { display: flex; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
.sgs-track::-webkit-scrollbar { display: none; }
.sgs-card { flex: 0 0 356px; scroll-snap-align: start; position: relative; margin: 0; border-radius: 10px; overflow: hidden; height: 500px; }
.sgs-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.sgs-card:hover img { transform: scale(1.05); }
.sgs-card figcaption { position: absolute; inset: auto 0 0 0; padding: 90px 24px 22px; color: #fff; background: linear-gradient(180deg, rgba(6,42,43,0) 0%, rgba(6,42,43,.82) 62%); display: flex; flex-direction: column; gap: 9px; }
.sgs-card h3 { color: #fff; font-size: 23px; }
.sgs-card .meta { border-color: rgba(255,255,255,.45); color: #fff; }
.sgs-card p { font-size: 13.5px; line-height: 1.55; color: var(--ice); margin: 0; }
.sgs-note { font: 700 10.5px/1 "Source Sans 3", Arial, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; color: var(--gold); }
.sgs-arrow { position: absolute; top: 44%; z-index: 5; width: 46px; height: 46px; border-radius: 999px; background: #fff; color: var(--lagoon); display: flex; align-items: center; justify-content: center; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 8px 22px rgba(6,42,43,.25); transition: transform .2s ease, background .2s ease, color .2s ease; user-select: none; }
.sgs-arrow:hover { background: var(--teal); color: #fff; transform: scale(1.08); }
.sgs-prev { left: -14px; }
.sgs-next { right: -14px; }
.sgs-foot { font-size: 12.5px; color: var(--ink-soft); font-style: italic; margin-top: 16px; }
/* countdown */
.ofr-count { display: flex; gap: 14px; align-items: center; }
.ofr-count .lbl { font: 700 11px/1.6 "Source Sans 3", Arial, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; color: var(--gold); }
.ofr-count .cd { display: flex; flex-direction: column; align-items: center; min-width: 46px; background: rgba(255,255,255,.08); border: 1px solid rgba(199,162,104,.45); border-radius: 6px; padding: 7px 6px 5px; }
.ofr-count .cd > span, .ofr-count .cd .cd-d, .ofr-count .cd .cd-h, .ofr-count .cd .cd-m, .ofr-count .cd .cd-s { font-family: "Source Serif 4", Georgia, serif; font-size: 21px; color: #fff; }
.ofr-count .cd em { font: 400 9.5px/1 "Source Sans 3", Arial, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; font-style: normal; color: var(--gold); margin-top: 3px; }
/* unmistakable buttons: lift + shadow + color shift on hover, site-wide */
.btn { transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, filter .18s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(6,42,43,.22); }
.btn:active { transform: translateY(0); }
a.meta { transition: background .18s ease, color .18s ease; }
a.meta:hover { background: var(--teal); color: #fff; border-color: var(--teal); }
@media (max-width: 1023px) { .sgs-card { flex-basis: 300px; height: 440px; } .sgs-prev { left: 4px; } .sgs-next { right: 4px; } }

/* dining hero: extra-dense header band over the very bright dish photo */
body.page-slug-dining .grand-hero .shade , body.page-slug-restaurants-bars .grand-hero .shade { background:
  linear-gradient(180deg, rgba(250,246,240,.97) 0%, rgba(250,246,240,.78) 14%, rgba(250,246,240,.12) 36%, rgba(6,42,43,0) 58%, rgba(6,42,43,.62) 100%),
  radial-gradient(ellipse 48% 40% at 20% 88%, rgba(6,42,43,.5) 0%, rgba(6,42,43,0) 74%); }

/* dining pages: the Hours/Dress/Cost strip becomes a designed lagoon info bar */
body.theme-dining .steps { margin-top: 64px; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; background: var(--lagoon); border-radius: 14px; padding: 38px 14px; box-shadow: 0 22px 50px rgba(6,42,43,.18); position: relative; overflow: hidden; }
body.theme-dining .steps::after { content: ""; position: absolute; right: -70px; bottom: -90px; width: 300px; height: 380px; opacity: .1; pointer-events: none; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22440%22%20height%3D%22560%22%20viewBox%3D%220%200%20440%20560%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%3E%20%3Cpath%20d%3D%22M400%20560%20C340%20440%20330%20330%20368%20210%20C382%20166%20408%20130%20438%20106%22%2F%3E%20%3Cpath%20d%3D%22M368%20210%20C330%20196%20302%20168%20296%20132%20C330%20128%20362%20148%20376%20180%20Z%22%2F%3E%20%3Cpath%20d%3D%22M388%20268%20C424%20250%20436%20214%20430%20178%20C398%20190%20380%20222%20384%20258%20Z%22%2F%3E%20%3Cpath%20d%3D%22M348%20300%20C310%20292%20288%20262%20286%20228%20C318%20230%20344%20254%20350%20288%20Z%22%2F%3E%20%3C%2Fsvg%3E") center / contain no-repeat; }
body.theme-dining .step { padding: 4px 36px; border-left: 1px solid rgba(255,255,255,.16); }
body.theme-dining .step:first-child { border-left: 0; }
body.theme-dining .step::before { color: var(--gold); font-size: 24px; }
body.theme-dining .step .xb { color: #fff; font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase; }
body.theme-dining .step p { color: var(--ice); font-size: 14.5px; }
@media (max-width: 1023px) {
  body.theme-dining .steps { grid-template-columns: 1fr; padding: 26px 8px; }
  body.theme-dining .step { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); padding: 18px 26px; }
  body.theme-dining .step:first-child { border-top: 0; }
}

/* legal/document pages: readable measure and calm hierarchy */
.legal-doc { max-width: 780px; display: flex; flex-direction: column; gap: 14px; }
.legal-doc h2 { font-size: 24px; margin-top: 26px; }
.legal-doc h3 { font-size: 18px; color: var(--teal); margin-top: 12px; }
.legal-doc h4 { font-size: 15.5px; color: var(--lagoon); margin-top: 8px; }
.legal-doc p { font-size: 15px; line-height: 1.75; color: var(--ink-soft); }
.legal-doc .wed-list li { font-size: 14.5px; }

/* photo-hero eyebrows: explicit light styling (authored pages use .eyebrow, ported ones .over) */
.page-hero .eyebrow { font: 700 11.5px/1.6 "Source Sans 3", "Segoe UI", Arial, sans-serif; letter-spacing: 2.6px; text-transform: uppercase; color: var(--ice); text-shadow: 0 1px 14px rgba(6,42,43,.55); }
.grand-hero .eyebrow { color: var(--lagoon); text-shadow: none; }

/* ===== mobile polish pass (2026-08-21) ===== */
@media (max-width: 1023px) {
  /* home hero: keep the clear-image look but anchor the copy on a readable scrim */
  body.home .hero-shade { background:
    linear-gradient(180deg, rgba(6,42,43,.5) 0%, rgba(6,42,43,.12) 22%, rgba(6,42,43,0) 40%),
    linear-gradient(180deg, rgba(6,42,43,0) 30%, rgba(6,42,43,.55) 62%, rgba(6,42,43,.65) 100%); }
  .hero-copy .over, .hero-copy h1 { text-shadow: 0 2px 18px rgba(6,42,43,.85); }
  .hero-copy p { text-shadow: 0 1px 12px rgba(6,42,43,.9); }
  /* grand words: wrap and scale down instead of clipping */
  .grand-word, body.page-slug-about .grand-word , body.page-slug-seagarden-all-inclusive .grand-word { font-size: clamp(34px, 12vw, 64px); white-space: normal; text-align: center; padding: 0 16px; letter-spacing: 2px; }
  /* editorial media: clean stack instead of colliding collage */
  .direct-media { min-height: 0; padding-bottom: 64px; }
  .direct-media .dm-main { position: static; width: 100%; height: 300px; display: block; }
  .direct-media .dm-sub { position: absolute; right: 14px; bottom: 0; left: auto; top: auto; width: 46%; height: 150px; border: 4px solid #fff; }
  .direct-media::before { left: 4%; top: 20%; width: 220px; height: 280px; }
  /* offers featured: tighter panel, countdown wraps cleanly */
  .ofr-feat-copy { padding: 30px 22px; }
  .ofr-count { flex-wrap: wrap; gap: 10px; }
  .ofr-count .cd { min-width: 52px; }
  /* statbar-esque number bands breathe a little more */
  .statbar-inner { gap: 18px 26px; }
}

/* ---------- sticky header: transparent over the hero at rest, solid once scrolled ---------- */
@media (min-width: 1024px) {
  .site-header { position: fixed; left: 0; right: 0; transition: top .25s ease, background .25s ease, box-shadow .25s ease; }
  body.scrolled .site-header { top: 0; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 30px rgba(6,42,43,.08); }
  body.scrolled .site-header .logo-white { display: none; }
  body.scrolled .site-header .logo-teal { display: block; }
  body.scrolled .site-header .nav a { color: var(--lagoon); text-shadow: none; }
  body.scrolled .site-header .nav a:hover { color: var(--teal); }
  body.scrolled .site-header .nav .btn-book { color: var(--lagoon-deep); }
}
@media (max-width: 1023px) {
  /* whole header block sticks; -34px lets the topbar slide out so the white bar pins alone */
  #brx-header { position: sticky; top: -34px; z-index: 100; }
  .site-header { transition: box-shadow .25s ease; }
  body.scrolled .site-header { box-shadow: 0 6px 20px rgba(6,42,43,.12); }
  .subnav { top: 68px; }
}
/* sub-nav pins below the sticky header, not underneath it */
@media (min-width: 1024px) {
  .subnav { top: 84px; }
}

/* About statbar: long labels wrap as a tidy left-aligned column beside the numeral
   instead of spilling ragged lines under it */
.stat b { display: flex; align-items: center; justify-content: center; gap: 12px; }
.stat b span { margin-left: 0; text-align: left; line-height: 1.6; max-width: 160px; }

/* About: extra breathing room between the Three Promises intro and the first promise */
#promises .sec-head { padding-bottom: 72px; }
@media (max-width: 1023px) {
  #promises .sec-head { padding-bottom: 40px; }
}

/* anchor jumps land below the sticky header/subnav instead of underneath them */
section[id], div[id].statbar { scroll-margin-top: 140px; }

/* rooms overview: fill the bare right column with the Every Room Includes card */
body.page-slug-rooms #overview .container , body.page-slug-accommodations #overview .container { display: grid; grid-template-columns: 1.35fr 1fr; column-gap: 64px; row-gap: 14px; align-items: start; }
body.page-slug-rooms #overview .container > * , body.page-slug-accommodations #overview .container > * { grid-column: 1; }
body.page-slug-rooms #overview .room-incl , body.page-slug-accommodations #overview .room-incl { grid-column: 2; grid-row: 1 / span 2; background: var(--ice); border-radius: 14px; padding: 28px 30px; }
.room-incl .ri-title { display: block; font-size: 11px; font-weight: 700; letter-spacing: 2.6px; text-transform: uppercase; color: var(--teal); margin-bottom: 16px; }
.room-incl ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px 20px; }
.room-incl li { position: relative; padding-left: 22px; font-size: 14.5px; color: var(--ink-soft); }
.room-incl li::before { content: ""; position: absolute; left: 0; top: 5px; width: 7px; height: 11px; border-right: 2px solid var(--teal); border-bottom: 2px solid var(--teal); transform: rotate(45deg); }
@media (max-width: 1023px) {
  #overview .container { display: block; }
  #overview .room-incl { margin-top: 26px; }
}

/* dining: keep venue cards alternating after L'Albero joined the line-up
   (Jasmine L, Chatham R, L'Albero L, Grill R, Bars L on desktop) */
@media (min-width: 1024px) {
  #grill.feature { grid-template-columns: 1fr 520px; }
  #grill.feature .framed { order: 2; }
  #bars.feature.flip { grid-template-columns: 520px 1fr; }
  #bars.feature.flip .framed { order: -1; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  #grill.feature { grid-template-columns: 1fr 420px; }
  #bars.feature.flip { grid-template-columns: 420px 1fr; }
}

/* dining hero: ride the Flavour grand word higher so it clears the title block */
body.page-slug-dining .grand-word , body.page-slug-restaurants-bars .grand-word { align-items: flex-start; padding-top: 52px; }
@media (max-width: 1023px) {
  body.page-slug-dining .grand-word , body.page-slug-restaurants-bars .grand-word { padding-top: 84px; }
}

/* restaurant pages: intro spreads the full container width, no side column */
.theme-dining .page-intro .container { display: block; }
.theme-dining .page-intro .lead { max-width: none; margin: 0; }
.theme-dining .page-intro .lead + .lead { margin-top: 14px; }

/* footer ta-badge slot: Bravo widget + payment badges beside the newsletter form.
   The old 350+ card chrome (star icon, boxed frame) is retired. */
.ta-badge { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; background: transparent; border: 0; padding: 0; }
.ta-badge::before { content: none; }
.ta-badge > .brxe-image img { max-height: 32px; width: auto; background: #fff; padding: 6px 10px; border-radius: 4px; }

/* offer landing pages (couples-only-special-offer, family-reunions-offer) */
.offer-hero .inner { gap: 16px; }
.offer-hero .inner .btn { margin-top: 6px; }
.offer-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 26px; }
.offer-terms { margin-top: 34px; font-size: 13px; color: var(--ink-soft); max-width: 76ch; margin-left: auto; margin-right: auto; text-align: center; }
.offer-cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.offer-code-callout { display: inline-flex; align-items: center; gap: 10px; background: var(--ice); border: 1px dashed var(--teal); border-radius: 8px; padding: 10px 18px; font-weight: 700; letter-spacing: 1.5px; color: var(--lagoon); }
@media (max-width: 767px) {
  .offer-steps { grid-template-columns: 1fr; }
}

/* offer landing pages: solid flush header, full-bleed campaign banner, countdown,
   dark CTA band. Matches the approved mockup (2026-09-01). */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.offer-banner { background: #fff; }
.offer-banner img, .offer-banner .brxe-image img { display: block; width: 100%; height: auto; }
.offer-banner .offer-img-mobile { display: none; }
@media (max-width: 767px) {
  .offer-banner .offer-img-desktop { display: none; }
  .offer-banner .offer-img-mobile { display: block; }
}
/* solid header stack: topbar in flow, white header always, banner flush beneath */
body.offer-landing .topbar { position: static; background: var(--lagoon-deep); }
body.offer-landing .topbar a { color: var(--ice); text-shadow: none; }
@media (min-width: 1024px) {
  /* header lives IN FLOW on offer pages (sticky, topbar slides out), so the
     banner is never overlapped no matter how tall the nav wraps */
  body.offer-landing #brx-header { position: sticky; top: -46px; z-index: 100; }
  body.offer-landing .site-header { position: static; background: #fff; border-bottom: 1px solid var(--line); }
}
/* countdown band */
.count-band { background: var(--lagoon); color: #fff; padding: 26px 0 30px; }
.count-inner { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.count-label { font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #9FBCB8; }
.count-grid { display: flex; gap: 14px; }
.count-cell { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; min-width: 86px; padding: 12px 10px 10px; display: flex; flex-direction: column; align-items: center; }
.count-cell b { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; font-size: 38px; line-height: 1; color: var(--gold); }
.count-cell span { font-size: 10px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; color: #9FBCB8; margin-top: 4px; }
@media (max-width: 600px) { .count-cell { min-width: 66px; } .count-cell b { font-size: 28px; } }
/* dark CTA band */
#brx-content .offer-cta.cta-dark, .offer-cta.cta-dark { background: var(--lagoon); }
.offer-cta.cta-dark .kicker { color: var(--gold); }
.offer-cta.cta-dark h2 { color: #fff; }
.offer-cta.cta-dark .sub { color: #C7DAD6; }
.offer-cta.cta-dark .btn-outline { border-color: rgba(255,255,255,.5); color: #fff; }
.offer-cta.cta-dark .sec-head { padding-bottom: 26px; }
.cta-note { margin-top: 20px; font-size: 13px; color: #9FBCB8; text-align: center; }

/* offer landing intros spread the full container width, like the restaurant pages */
body.offer-landing .page-intro .lead { max-width: none; margin: 0; }

/* offer landing additions: photo strip (arch treatment), mid-page CTA, quotes band */
.photo-strip-sec { padding: 40px 0 64px; }
.photo-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 34px; }
.ph-item { overflow: visible; }
.ph-item .brxe-image { overflow: hidden; border-radius: 165px 165px 10px 10px; box-shadow: 0 20px 44px rgba(6,42,43,.16); }
.ph-item img { width: 100%; height: 340px; object-fit: cover; display: block; transition: transform 1s cubic-bezier(.2,.6,.2,1); }
.ph-item:hover img { transform: scale(1.045); }
.ph-cap { margin-top: 16px; font-family: "Source Serif 4", Georgia, serif; font-style: italic; font-size: 16.5px; color: var(--lagoon); text-align: center; line-height: 1.5; }
@media (max-width: 767px) {
  .photo-strip { grid-template-columns: 1fr; gap: 28px; }
  .ph-item img { height: 260px; }
}
.mid-cta { padding-top: 48px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.mid-cta-note { font-size: 13px; color: var(--ink-soft); }
.quotes-band { background: var(--cream, #FAF6F0); }

/* exclusive members portal: locked and unlocked states */
.portal-locked, .portal-open { background: var(--ice); border-radius: 16px; padding: 46px 48px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.portal-locked .ri-title, .portal-open .ri-title { color: var(--gold-ink); }
.portal-locked h2, .portal-open h2 { font-family: "Source Serif 4", Georgia, serif; font-weight: 300; color: var(--lagoon); font-size: clamp(28px, 3vw, 40px); }
.portal-locked p, .portal-open p { max-width: 62ch; color: var(--ink-soft); line-height: 1.7; }
.portal-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
@media (max-width: 1023px) {
  /* card runs full-bleed on small screens so it maps to the banner above */
  .portal-locked, .portal-open { border-radius: 0; margin: 0 -20px; padding: 40px 22px; }
  #portal { padding-bottom: 0; }
}
