:root {
  --ink: #102421;
  --ink-2: #24332f;
  --sea: #0b2724;
  --sea-2: #113d36;
  --sea-3: #174c43;
  --cream: #fffaf0;
  --paper: #f6f0e4;
  --paper-2: #efe4cf;
  --gold: #e6b84a;
  --gold-2: #f6cf62;
  --rust: #9a6434;
  --line: rgba(16, 36, 33, 0.15);
  --shadow-soft: 0 22px 65px rgba(8, 24, 22, 0.14);
  --shadow-strong: 0 34px 90px rgba(5, 18, 16, 0.28);
  --sans: "Segoe UI", Inter, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --display: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --radius-lg: 30px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --container: min(1180px, calc(100% - 44px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.58;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 0%, rgba(230, 184, 74, 0.12), transparent 35%),
    linear-gradient(180deg, #fff8eb 0%, #f4ead9 46%, #fff8ec 100%);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.skip-link {
  position: fixed; left: 16px; top: 16px; z-index: 1000;
  transform: translateY(-160%);
  background: var(--cream); color: var(--ink);
  padding: 12px 16px; border-radius: 12px;
}
.skip-link:focus { transform: translateY(0); }

/* Header — strong like the approved right-side version, but readable. */
.site-header {
  position: sticky;
  top: 12px;
  z-index: 100;
  padding: 0 18px;
  margin-top: 0;
  pointer-events: none;
}
.nav-shell {
  width: var(--container);
  min-height: 72px;
  margin: 0 auto;
  padding: 9px 12px 9px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  pointer-events: auto;
  color: #fff9ee;
  background:
    linear-gradient(180deg, rgba(10, 23, 22, 0.96), rgba(8, 18, 17, 0.94)),
    radial-gradient(circle at 78% 0%, rgba(230, 184, 74, 0.10), transparent 36%);
  border: 1px solid rgba(255, 250, 240, 0.16);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 300px; }
.brand-mark {
  width: 58px; height: 58px;
  display: grid; place-items: center;
  border-radius: 16px;
  background: rgba(255, 250, 240, 0.055);
  border: 1px solid rgba(255, 250, 240, 0.16);
}
.brand-mark img { width: 50px; height: 50px; object-fit: contain; }
.brand-wordmark { display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.brand-wordmark strong {
  font-family: var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.035em;
  font-size: clamp(1.14rem, 1.35vw, 1.38rem);
  line-height: 1.02;
  font-weight: 850;
  color: #fffaf0;
}
.brand-wordmark span {
  font-family: var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.055em;
  font-size: clamp(0.9rem, 0.95vw, 1rem);
  line-height: 1.14;
  font-weight: 850;
  color: var(--gold-2);
}
.nav-toggle { display: none; }
.nav-links { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.nav-links a {
  position: relative;
  font-family: var(--sans);
  font-size: clamp(1.02rem, 1vw, 1.14rem);
  line-height: 1;
  font-weight: 820;
  color: #fffaf0;
  padding: 14px 2px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.nav-links a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px;
  transform: scaleX(0); transform-origin: center;
  background: var(--gold-2); border-radius: 999px;
  transition: transform .18s ease;
}
.nav-links a:hover::after { transform: scaleX(1); }
.language-switch {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px;
  border-radius: 15px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.15);
}
.language-switch button {
  border: 0; cursor: pointer; border-radius: 11px;
  padding: 12px 13px;
  min-width: 46px;
  font-size: 1rem; line-height: 1; font-weight: 850;
  color: #fffaf0; background: transparent;
}
.language-switch button.is-active {
  color: var(--ink);
  background: #fffaf0;
  box-shadow: inset 0 0 0 1px rgba(16,36,33,0.08), 0 10px 22px rgba(0,0,0,0.22);
}

/* Hero */
.hero {
  position: relative;
  min-height: clamp(640px, 78vh, 820px);
  margin-top: -84px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #061312;
  color: #fffaf0;
  isolation: isolate;
}
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; z-index: -3; filter: saturate(1.04) contrast(1.02) brightness(1.08); }
.hero-overlay {
  position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(4, 13, 12, 0.82) 0%, rgba(5, 16, 15, 0.62) 33%, rgba(5,16,15,0.16) 64%, rgba(5,16,15,0.08) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.46) 0%, rgba(0,0,0,0.08) 28%, rgba(0,0,0,0.42) 100%);
}
.hero-content { width: var(--container); margin: 0 auto; padding: 150px 0 84px; max-width: 1180px; }
.eyebrow, .section-label, .service-kicker, .package-eyebrow, .form-intro p {
  margin: 0 0 12px;
  font-family: var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.075em;
  font-size: 0.98rem;
  line-height: 1.2;
  font-weight: 850;
  color: var(--rust);
}
.hero .eyebrow { color: #fffaf0; text-shadow: 0 3px 18px rgba(0,0,0,0.80); font-size: clamp(1rem, 1.05vw, 1.15rem); }
.hero-title {
  margin: 0;
  max-width: 740px;
  font-family: var(--serif);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  font-size: clamp(5.6rem, 9vw, 9.6rem);
  line-height: 0.78;
  color: #fffaf0;
  text-shadow: 0 4px 18px rgba(0,0,0,0.45), 0 24px 70px rgba(0,0,0,0.42);
}
.hero-title span { display: block; }
.hero-lead {
  margin: 32px 0 24px;
  max-width: 900px;
  font-family: var(--sans);
  font-size: clamp(1.14rem, 1.35vw, 1.45rem);
  line-height: 1.43;
  font-weight: 820;
  color: #fffaf0;
  text-shadow: 0 3px 18px rgba(0,0,0,0.78);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 28px; }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 54px;
  padding: 16px 24px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-family: var(--sans);
  font-size: 1.03rem;
  line-height: 1.1;
  font-weight: 850;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary, .button-submit {
  background: linear-gradient(180deg, #ffd965, #e7ac35);
  color: #1f2118;
  box-shadow: 0 18px 42px rgba(181,116,25,0.30), inset 0 1px 0 rgba(255,255,255,0.45);
}
.button-ghost, .button-outline-light {
  color: #fffaf0;
  background: rgba(255,255,255,0.075);
  border-color: rgba(255,250,240,0.40);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.09);
}
.button-light { background: #fffaf0; color: var(--ink); box-shadow: 0 18px 42px rgba(0,0,0,0.18); }
.button-dark { background: var(--sea); color: #fffaf0; box-shadow: 0 18px 42px rgba(7,24,22,0.18); }
.hero-facts {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 0;
  max-width: 820px;
  border-top: 1px solid rgba(255,250,240,0.22);
}
.hero-facts li {
  padding: 14px 20px 0 0;
  margin-right: 18px;
  border-right: 1px solid rgba(255,250,240,0.22);
  color: #fffaf0;
  font-family: var(--sans);
  font-size: clamp(1.02rem, 1.02vw, 1.15rem);
  font-weight: 850;
  line-height: 1.15;
  text-shadow: 0 2px 13px rgba(0,0,0,0.72);
}
.hero-facts li:last-child { border-right: 0; }

.quick-strip {
  width: min(1120px, calc(100% - 52px));
  margin: -38px auto 0;
  position: relative; z-index: 5;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: rgba(255, 252, 246, 0.96);
  border: 1px solid rgba(16, 36, 33, 0.10);
  border-radius: 0 0 22px 22px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.quick-strip a { padding: 24px 26px; border-right: 1px solid rgba(16,36,33,0.09); }
.quick-strip a:last-child { border-right: 0; }
.quick-strip span { display: block; color: #2c6a61; text-transform: uppercase; letter-spacing: 0.075em; font-size: 0.98rem; font-weight: 850; line-height: 1.2; margin-bottom: 4px; }
.quick-strip strong { display: block; color: var(--ink); font-size: 1.08rem; font-weight: 800; line-height: 1.25; }

.section { padding: clamp(72px, 7vw, 112px) 0; }
.section-inner { width: var(--container); margin: 0 auto; }
.section-heading { text-align: center; max-width: 880px; margin: 0 auto 34px; }
.section-heading h2, .sea-copy h2, .stay-content h2, .contact-copy h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.55rem, 4.4vw, 4.7rem);
  line-height: 0.96;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.section-heading p:not(.section-label) { margin: 16px auto 0; max-width: 720px; font-size: 1.15rem; line-height: 1.52; font-weight: 650; color: #44534d; }

/* Koha tunne — connected to hero, clean and premium */
.intro-section {
  padding: clamp(64px, 6vw, 96px) 0 clamp(74px, 7vw, 108px);
  background:
    linear-gradient(180deg, rgba(255,250,240,0.96), rgba(246,240,228,0.98)),
    radial-gradient(circle at 10% 12%, rgba(230,184,74,0.10), transparent 40%);
}
.intro-section .section-inner { width: min(1140px, calc(100% - 52px)); }
.intro-grid, .proof-strip {
  position: relative;
  display: grid;
  grid-template-columns: 1.03fr 1fr;
  gap: 24px;
}
.intro-grid { padding: 28px; background: linear-gradient(135deg, #071b19, #123c35); border-radius: 30px 30px 0 0; box-shadow: var(--shadow-strong); border: 1px solid rgba(255,250,240,0.13); }
.intro-grid::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(circle at 34% 26%, rgba(230,184,74,0.17), transparent 34%), linear-gradient(90deg, rgba(255,255,255,0.04), transparent 60%);
}
.intro-grid > * { position: relative; z-index: 1; }
.intro-grid .section-heading { margin: 0; max-width: none; text-align: left; padding: 28px; border-radius: 24px; background: linear-gradient(145deg, rgba(5,20,18,0.78), rgba(19,73,61,0.50)); border: 1px solid rgba(255,250,240,0.13); }
.intro-grid .section-heading h2 { color: #fffaf0; font-size: clamp(2.65rem, 4.4vw, 4.5rem); max-width: 11ch; text-shadow: 0 10px 32px rgba(0,0,0,0.32); }
.intro-grid .section-label { color: var(--gold-2); }
.intro-copy { padding: 32px; border-radius: 24px; background: rgba(255,252,246,0.96); border: 1px solid rgba(255,255,255,0.68); box-shadow: inset 0 1px 0 rgba(255,255,255,0.78); }
.intro-copy p { margin: 0; font-size: 1.16rem; line-height: 1.55; font-weight: 620; color: #24332f; }
.intro-copy p + p { margin-top: 18px; }
.proof-strip {
  grid-template-columns: repeat(3, 1fr);
  padding: 0 28px 28px;
  background: linear-gradient(135deg, #071b19, #123c35);
  border-radius: 0 0 30px 30px;
  border: 1px solid rgba(255,250,240,0.13); border-top: 0;
  box-shadow: var(--shadow-strong);
}
.proof-strip article { padding: 26px; min-height: 156px; border-radius: 22px; background: rgba(255,252,246,0.96); border: 1px solid rgba(255,255,255,0.70); }
.proof-strip article:nth-child(2) { background: linear-gradient(145deg, rgba(16,60,52,0.92), rgba(10,36,33,0.92)); color: #fffaf0; border-color: rgba(255,250,240,0.18); }
.proof-strip strong { display: block; margin-bottom: 10px; font-family: var(--display); font-size: 1.28rem; line-height: 1.22; color: inherit; }
.proof-strip span { display: block; font-size: 1rem; line-height: 1.45; font-weight: 610; color: inherit; opacity: .94; }

/* Elamused */
.services-section {
  padding-top: clamp(78px, 7vw, 118px);
  background:
    linear-gradient(180deg, #fffaf0 0%, #f4ead8 100%);
}
.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }
.service-card {
  position: relative; min-height: 440px; overflow: hidden; border-radius: 24px;
  background: var(--sea); box-shadow: 0 24px 56px rgba(8,24,22,.20); border: 1px solid rgba(16,36,33,0.16);
}
.service-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.98) contrast(1.02); }
.service-card::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(5,12,11,0.03) 0%, rgba(5,12,11,0.22) 36%, rgba(5,12,11,0.92) 100%); }
.service-body { position: absolute; inset: auto 0 0; z-index: 1; padding: 26px; color: #fffaf0; }
.service-kicker { color: var(--gold-2); font-size: .98rem; margin-bottom: 8px; text-shadow: 0 2px 12px rgba(0,0,0,.65); }
.service-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 2.2vw, 2.75rem); line-height: .93; font-weight: 650; text-shadow: 0 3px 16px rgba(0,0,0,.55); }
.service-card p:not(.service-kicker) { margin: 14px 0 0; font-size: 1.05rem; line-height: 1.37; font-weight: 760; text-shadow: 0 2px 14px rgba(0,0,0,.70); }

/* Merel */
.sea-feature {
  padding: clamp(78px, 7vw, 120px) 0;
  background: #fffaf0;
}
.sea-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 44px; align-items: center; }
.sea-copy p:not(.section-label) { margin: 22px 0; font-size: 1.16rem; line-height: 1.55; font-weight: 620; color: #44534d; }
.sea-points { display: flex; flex-wrap: wrap; gap: 10px; }
.sea-points span { padding: 11px 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 1rem; font-weight: 760; color: var(--sea-2); }
.sea-images { display: grid; grid-template-columns: 1.1fr .8fr; grid-auto-rows: 178px; gap: 16px; }
.sea-photo { margin: 0; overflow: hidden; border-radius: 22px; box-shadow: var(--shadow-soft); border: 1px solid rgba(16,36,33,.10); }
.sea-photo-main { grid-row: span 2; }
.sea-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Stay */
.stay-feature {
  padding: clamp(78px, 7vw, 118px) 0;
  color: #fffaf0;
  background: linear-gradient(135deg, #071b19, #123c35);
}
.stay-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: center; }
.stay-media { border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-strong); border: 1px solid rgba(255,250,240,.14); }
.stay-media img { width: 100%; height: min(620px, 58vw); min-height: 430px; object-fit: cover; }
.stay-content h2 { color: #fffaf0; }
.stay-content p:not(.section-label) { font-size: 1.16rem; line-height: 1.55; font-weight: 620; color: rgba(255,250,240,.88); }
.booking-rating { display:flex; gap:16px; align-items:center; margin: 26px 0; padding: 18px; border-radius: 20px; background: rgba(255,250,240,.09); border:1px solid rgba(255,250,240,.16); }
.booking-rating__score { width: 70px; height:70px; display:grid; place-items:center; border-radius:16px; background: var(--gold); color: var(--ink); font-weight:900; font-size:1.55rem; }
.booking-rating__body { flex:1; display:flex; flex-direction:column; gap:2px; }
.booking-rating__body span, .booking-rating__body small { font-weight: 700; color: rgba(255,250,240,.82); }
.booking-rating__body strong { font-size:1.1rem; }
.booking-rating__link { font-weight: 850; color: var(--gold-2); }
.detail-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:10px; margin: 24px 0; }
.detail-grid span { padding: 12px 14px; border-radius:14px; background: rgba(255,255,255,.08); font-size:1rem; font-weight:760; }

/* Packages */
.packages-section { background: var(--paper); }
.package-grid { display:grid; grid-template-columns: 1.12fr 1fr 1fr; gap:22px; }
.package-card { padding: 30px; border-radius: 26px; background: rgba(255,252,246,.92); border:1px solid rgba(16,36,33,.12); box-shadow: var(--shadow-soft); }
.package-card-featured { background: linear-gradient(145deg, #09231f, #174c43); color:#fffaf0; }
.package-card h3 { margin:0 0 14px; font-family: var(--serif); font-size: clamp(2rem, 2.4vw, 2.8rem); line-height: .98; }
.package-card p:not(.package-eyebrow) { font-size: 1.08rem; line-height:1.48; font-weight:620; }
.package-card ul { margin: 18px 0 24px; padding-left: 20px; font-weight:680; }
.package-link { font-weight: 850; color: var(--sea-2); }
.package-card-featured .package-link, .package-card-featured .package-eyebrow { color: var(--gold-2); }

/* Gallery */
.gallery-section { background:#fffaf0; }
.photo-mosaic { display:grid; grid-template-columns: 1.15fr .85fr .85fr; gap:18px; }
.photo-tile { position:relative; margin:0; min-height:240px; overflow:hidden; border-radius:24px; box-shadow: var(--shadow-soft); cursor:pointer; }
.photo-tile-large { grid-row: span 2; min-height: 500px; }
.photo-tile img { width:100%; height:100%; object-fit:cover; transition: transform .35s ease; }
.photo-tile:hover img { transform: scale(1.035); }
.photo-tile figcaption { position:absolute; left:16px; bottom:16px; padding:10px 13px; border-radius:999px; background:rgba(7,24,22,.78); color:#fffaf0; font-size:1rem; font-weight:800; }

/* Contact — strong final CTA */
.contact-section {
  position: relative; isolation:isolate; overflow:hidden;
  padding: clamp(84px, 7vw, 120px) 20px;
  color:#fffaf0;
  background-color:#071513;
  background-image:
    linear-gradient(90deg, rgba(5,14,14,.88), rgba(8,24,23,.62)),
    linear-gradient(180deg, rgba(5,14,14,.28), rgba(5,14,14,.62)),
    url("assets/fishing/boats-sunset.webp");
  background-size: cover; background-position: center 52%;
}
.contact-section::after { content:""; position:absolute; inset:18px; border-radius:34px; border:1px solid rgba(239,204,125,.17); pointer-events:none; z-index:-1; }
.contact-grid { display:grid; grid-template-columns: .92fr 1.08fr; gap:30px; align-items:stretch; }
.contact-copy { padding:36px; border-radius:30px; background:linear-gradient(145deg, rgba(5,20,18,.94), rgba(19,73,61,.78)); border:1px solid rgba(255,250,240,.16); box-shadow:var(--shadow-strong); }
.contact-copy h2 { color:#fffaf0; font-size: clamp(2.7rem, 4.2vw, 4.6rem); max-width: 12ch; }
.contact-copy p:not(.section-label) { font-size:1.14rem; line-height:1.5; font-weight:720; color:rgba(255,250,240,.9); }
.contact-proof { display:grid; gap:12px; margin:24px 0; }
.contact-proof div { padding:13px 14px; border-radius:16px; background:rgba(255,250,240,.08); border:1px solid rgba(255,250,240,.12); }
.contact-proof strong { display:block; color:var(--gold-2); font-weight:900; }
.contact-proof span { display:block; font-size:1rem; line-height:1.35; color:rgba(255,250,240,.84); font-weight:650; }
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; }
.inquiry-form { padding:32px; border-radius:30px; background:rgba(255,252,246,.97); color:var(--ink); border:1px solid rgba(255,255,255,.75); box-shadow:var(--shadow-strong); }
.form-intro { margin-bottom:22px; }
.form-intro h3 { margin:4px 0 4px; font-family:var(--display); font-size:1.45rem; }
.form-intro span { color:#51615a; font-size:1rem; font-weight:650; }
.form-row { display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
.inquiry-form label { display:block; margin-bottom:14px; font-weight:820; color:#3a4842; }
.inquiry-form label span { display:block; margin-bottom:8px; font-size:1rem; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width:100%; min-height:54px; padding:14px 16px; border-radius:14px; border:1px solid rgba(16,36,33,.14); background:#fff; color:var(--ink); font-size:1rem; outline:none; }
.inquiry-form textarea { min-height:132px; resize:vertical; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(230,184,74,.17); }
.button-submit { width:100%; border:0; cursor:pointer; margin-top:4px; }
.form-status { min-height: 24px; margin: 12px 0 0; font-weight: 750; }

.site-footer { padding: 34px 0 44px; background:#071513; color:#fffaf0; }
.footer-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-brand { display:flex; align-items:center; gap:14px; }
.footer-brand img { width:54px; height:54px; }
.footer-brand strong { display:block; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.footer-brand p, .footer-bottom { margin:0; color:rgba(255,250,240,.72); font-size:1rem; }
.footer-bottom { display:flex; gap:18px; }

.image-lightbox[hidden] { display:none; }
.image-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.86); }
.image-lightbox img { max-width:min(1000px, 94vw); max-height:84vh; border-radius:18px; }
.image-lightbox__close { position:absolute; top:20px; right:20px; width:48px; height:48px; border:0; border-radius:50%; background:#fff; font-size:2rem; cursor:pointer; }

@media (max-width: 1080px) {
  :root { --container: min(100% - 28px, 980px); }
  .nav-shell { min-height: 66px; }
  .brand { min-width: 250px; }
  .brand-mark { width:52px; height:52px; }
  .brand-mark img { width:46px; height:46px; }
  .nav-links { gap: 18px; }
  .hero-title { font-size: clamp(4.8rem, 9vw, 7.7rem); }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .package-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  body { font-size: 17px; }
  .site-header { top: 8px; padding: 0 10px; }
  .nav-shell { min-height: 62px; }
  .brand { min-width: 0; }
  .brand-wordmark strong { font-size: 1.04rem; }
  .brand-wordmark span { font-size: .78rem; }
  .nav-toggle { display:grid; width:46px; height:46px; place-items:center; border:0; border-radius:12px; background:rgba(255,255,255,.08); }
  .nav-toggle span { width:22px; height:2px; background:#fffaf0; display:block; margin:3px 0; }
  .nav-links { position:absolute; left:14px; right:14px; top: calc(100% + 8px); display:none; flex-direction:column; align-items:stretch; padding:14px; border-radius:18px; background:rgba(7,21,19,.98); border:1px solid rgba(255,255,255,.14); }
  .nav-links.is-open { display:flex; }
  .language-switch { width:100%; justify-content:space-between; }
  .language-switch button { flex:1; }
  .hero { min-height: 690px; margin-top: -78px; }
  .hero-content { padding-top: 132px; padding-bottom: 70px; }
  .hero-title { font-size: clamp(4rem, 16vw, 6.8rem); }
  .hero-lead { font-size: 1.1rem; max-width: 95%; }
  .hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; border-top:0; }
  .hero-facts li { border:1px solid rgba(255,255,255,.15); padding:10px 11px; margin:0; border-radius:12px; background:rgba(0,0,0,.12); }
  .quick-strip { grid-template-columns: repeat(2, 1fr); width: calc(100% - 28px); margin-top: -22px; }
  .quick-strip a { padding:18px; }
  .intro-grid, .proof-strip, .sea-layout, .stay-layout, .contact-grid { grid-template-columns: 1fr; }
  .proof-strip { padding: 0 22px 22px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 390px; }
  .photo-mosaic { grid-template-columns: 1fr; }
  .photo-tile-large { min-height: 340px; }
  .form-row { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .brand-mark { width:46px; height:46px; }
  .brand-mark img { width:40px; height:40px; }
  .brand-wordmark strong { font-size:.95rem; }
  .brand-wordmark span { font-size:.70rem; letter-spacing:.04em; }
  .hero-title { font-size: clamp(3.4rem, 17vw, 5.4rem); }
  .hero-actions .button { width:100%; }
  .quick-strip { grid-template-columns: 1fr; }
  .quick-strip a { border-right:0; border-bottom:1px solid rgba(16,36,33,.08); }
  .section-heading h2, .sea-copy h2, .stay-content h2, .contact-copy h2 { font-size: clamp(2.35rem, 12vw, 3.3rem); }
  .intro-grid, .proof-strip { padding-left: 16px; padding-right: 16px; }
  .intro-grid .section-heading, .intro-copy, .proof-strip article, .contact-copy, .inquiry-form { padding: 22px; }
  .service-card { min-height: 360px; }
  .footer-panel { flex-direction:column; align-items:flex-start; }
}

/* Anchor safety: sticky header must not hide section starts. */
#top, #services, #stay, #packages, #gallery, #contact,
.sea-feature, .intro-section {
  scroll-margin-top: 112px;
}


/* === Accommodation carousel + optimized images === */
.stay-media.stay-gallery {
  position: relative;
  overflow: visible;
  padding: 14px;
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,250,240,.14), rgba(255,250,240,.045));
  border: 1px solid rgba(255,250,240,.18);
  box-shadow: var(--shadow-strong);
}
.stay-gallery__stage {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #071513;
  border: 1px solid rgba(255,250,240,.16);
  box-shadow: 0 22px 58px rgba(0,0,0,.30);
}
.stay-media.stay-gallery .stay-gallery__image {
  display: block;
  width: 100%;
  height: min(610px, 54vw);
  min-height: 430px;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.02) contrast(1.02) brightness(.98);
}
.stay-gallery__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(3,12,11,0) 42%, rgba(3,12,11,.62) 100%);
}
.stay-gallery__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(255,250,240,.34);
  border-radius: 999px;
  background: rgba(7,21,19,.72);
  color: #fffaf0;
  font-family: var(--sans);
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.stay-gallery__arrow:hover,
.stay-gallery__arrow:focus-visible {
  background: rgba(230,184,74,.96);
  color: #071513;
  border-color: rgba(230,184,74,1);
  transform: translateY(-50%) scale(1.04);
}
.stay-gallery__arrow--prev { left: 18px; }
.stay-gallery__arrow--next { right: 18px; }
.stay-gallery__caption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(7,21,19,.74);
  border: 1px solid rgba(255,250,240,.16);
  color: #fffaf0;
  backdrop-filter: blur(12px);
}
.stay-gallery__caption span {
  flex: 0 0 auto;
  color: var(--gold-2);
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .06em;
}
.stay-gallery__caption strong {
  color: #fffaf0;
  font-family: var(--serif);
  font-size: clamp(1.4rem, 1.7vw, 2.1rem);
  line-height: 1;
  font-weight: 700;
  text-align: right;
}
.stay-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.stay-gallery__thumb {
  height: 78px;
  padding: 0;
  overflow: hidden;
  border-radius: 14px;
  border: 2px solid rgba(255,250,240,.16);
  background: rgba(255,255,255,.08);
  cursor: pointer;
  opacity: .72;
  transition: transform .18s ease, opacity .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.stay-gallery__thumb:hover,
.stay-gallery__thumb:focus-visible,
.stay-gallery__thumb.is-active {
  opacity: 1;
  transform: translateY(-1px);
  border-color: var(--gold);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}
.stay-media.stay-gallery .stay-gallery__thumb img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
}
@media (max-width: 1080px) {
  .stay-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .stay-media.stay-gallery .stay-gallery__image { min-height: 380px; height: 68vw; }
  .stay-gallery__arrow { width: 48px; height: 48px; font-size: 2rem; }
  .stay-gallery__thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .stay-media.stay-gallery { padding: 10px; border-radius: 24px; }
  .stay-media.stay-gallery .stay-gallery__image { min-height: 320px; height: 78vw; }
  .stay-gallery__caption { position: static; margin: 0; border-radius: 0 0 18px 18px; flex-direction: column; align-items: flex-start; }
  .stay-gallery__caption strong { text-align: left; }
  .stay-gallery__thumb { height: 70px; }
}


/* FINAL BRIGHT PREMIUM PASS — emotional light, no gloomy hero, no tiny text. */
.hero-image {
  filter: saturate(1.10) contrast(1.01) brightness(1.24) !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(4,13,12,0.64) 0%, rgba(5,16,15,0.42) 32%, rgba(5,16,15,0.08) 62%, rgba(5,16,15,0.02) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.24) 0%, rgba(0,0,0,0.02) 38%, rgba(0,0,0,0.30) 100%) !important;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 54% 38%, rgba(255,216,116,0.18), transparent 25%),
    radial-gradient(circle at 74% 28%, rgba(255,171,73,0.13), transparent 34%);
  mix-blend-mode: screen;
}
.hero-lead,
.hero-facts li,
.nav-links a,
.quick-strip strong,
.quick-strip span,
.service-card p:not(.service-kicker),
.intro-copy p,
.proof-strip span,
.sea-copy p:not(.section-label),
.stay-content p:not(.section-label),
.package-card p:not(.package-eyebrow),
.contact-copy p:not(.section-label),
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea,
.inquiry-form label span {
  font-size: max(1rem, inherit);
}
.section { padding: clamp(62px, 5.8vw, 96px) 0; }
.services-section,
.gallery-section,
.sea-feature,
.packages-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(230,184,74,0.12), transparent 36%),
    linear-gradient(180deg, #fffaf0 0%, #f5ecdd 100%) !important;
}

/* Gallery restored: premium photo mosaic, not a single carousel. */
.packages-section { padding-bottom: clamp(56px, 5vw, 82px) !important; }
.contact-section {
  background-image:
    linear-gradient(90deg, rgba(5,14,14,.74), rgba(8,24,23,.44)),
    linear-gradient(180deg, rgba(5,14,14,.12), rgba(5,14,14,.48)),
    url("assets/fishing/boats-sunset.webp") !important;
}

.gallery-carousel__image { height: 360px; }
  .gallery-carousel__arrow { width: 50px; height: 50px; font-size: 2rem; }
  .gallery-carousel__meta { left: 18px; right: 18px; bottom: 18px; }


/* Final correction: gallery section stays as photo mosaic; ööbimine uses one large switchable image without thumbnail strip. */
.photo-mosaic {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 18px;
}
.gallery-section .section-heading p:not(.section-label) {
  display: none !important;
}
.stay-gallery__thumbs,
.stay-gallery__thumb,
.stay-gallery__thumb img {
  display: none !important;
}
.stay-media.stay-gallery {
  padding: 12px;
}
.stay-gallery__stage {
  margin-bottom: 0 !important;
}
.stay-media.stay-gallery .stay-gallery__image {
  min-height: 520px;
  height: clamp(520px, 48vw, 680px);
}
@media (max-width: 920px) {
  .photo-mosaic { grid-template-columns: 1fr; }
  .photo-tile-large { min-height: 340px; }
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 380px;
    height: 68vw;
  }
}

.form-privacy {
  margin: 10px 2px 0 !important;
  color: #68746f !important;
  font-size: .82rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
.footer-bottom {
  position: relative !important;
}
.footer-privacy {
  position: relative;
}
.footer-privacy summary {
  list-style: none;
  cursor: pointer;
  color: rgba(255,250,240,.76);
  border-bottom: 1px solid rgba(230,184,74,.35);
}
.footer-privacy summary::-webkit-details-marker {
  display: none;
}
.footer-privacy summary:hover,
.footer-privacy summary:focus-visible {
  color: #f2c96a;
  border-bottom-color: rgba(242,201,106,.82);
}
.footer-privacy__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 14px);
  z-index: 20;
  width: min(360px, calc(100vw - 32px));
  padding: 17px;
  border: 1px solid rgba(255,250,240,.14);
  border-radius: 16px;
  background: #102722;
  box-shadow: 0 18px 42px rgba(0,0,0,.28);
  color: #fffaf0;
}
.footer-privacy__panel::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 100%;
  border: 8px solid transparent;
  border-top-color: #102722;
}
.footer-privacy__panel strong {
  display: block;
  margin-bottom: 7px;
  color: #f2c96a;
}
.footer-privacy__panel p {
  margin: 0 0 9px !important;
  color: rgba(255,250,240,.78) !important;
  font-size: .86rem !important;
  line-height: 1.45 !important;
}
.footer-privacy__panel a {
  color: #fffaf0 !important;
}
@media (max-width: 760px) {
  .footer-privacy__panel {
    right: auto;
    left: 0;
  }
  .footer-privacy__panel::after {
    right: auto;
    left: 24px;
  }
}

/* Temporary header mark: a clean HH monogram in place of the detailed logo. */
.site-header .brand-mark {
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 250, 240, 0.11), transparent 66%),
    rgba(8, 27, 24, 0.72) !important;
}
.site-header .brand-initials {
  color: #efc765;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.42rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  transform: translateX(0.05em);
  white-space: nowrap;
}
@media (max-width: 560px) {
  .site-header .brand-initials {
    font-size: 1.22rem;
    letter-spacing: 0.08em;
  }
}
@media (max-width: 620px) {
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 320px;
    height: 78vw;
  }
}

/* FINAL HERO EMOTION + SUNSET READABILITY PASS
   Goal: keep the sunny sea emotion, remove gloom, and give every hero text a subtle readable tone behind it. */
.hero {
  background: #d9902f !important;
}
.hero-image {
  filter: saturate(1.18) contrast(1.02) brightness(1.32) !important;
  object-position: center 48% !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(7, 15, 13, 0.54) 0%,
      rgba(15, 22, 15, 0.31) 28%,
      rgba(103, 60, 12, 0.06) 58%,
      rgba(255, 178, 54, 0.00) 100%),
    linear-gradient(180deg,
      rgba(8, 16, 15, 0.23) 0%,
      rgba(0, 0, 0, 0.00) 34%,
      rgba(11, 21, 18, 0.30) 100%) !important;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 49% 38%, rgba(255, 225, 132, 0.30), transparent 20%),
    radial-gradient(circle at 78% 27%, rgba(255, 173, 73, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(255, 207, 112, 0.06), rgba(255, 244, 215, 0.00) 42%);
  mix-blend-mode: screen;
}
.hero-content {
  position: relative;
  padding-top: 150px !important;
  padding-bottom: 88px !important;
}
.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  margin-bottom: 14px;
  border-radius: 10px;
  color: #fffaf0 !important;
  background: linear-gradient(90deg, rgba(7, 16, 15, 0.24), rgba(7, 16, 15, 0.08));
  box-shadow: 0 10px 28px rgba(0,0,0,0.10);
  text-shadow: 0 2px 12px rgba(0,0,0,0.80) !important;
}
.hero-title {
  text-shadow:
    0 2px 10px rgba(0,0,0,0.48),
    0 14px 42px rgba(0,0,0,0.42),
    0 0 1px rgba(0,0,0,0.55) !important;
}
.hero-lead {
  display: block;
  max-width: 880px !important;
  width: fit-content;
  padding: 12px 16px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(6, 16, 14, 0.38), rgba(6, 16, 14, 0.16));
  border: 1px solid rgba(255, 250, 240, 0.10);
  color: #fffaf0 !important;
  text-shadow: 0 2px 13px rgba(0,0,0,0.86) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.12);
  backdrop-filter: blur(2px);
}
.hero-actions {
  margin-top: 18px !important;
}
.hero-facts {
  border-top: 0 !important;
  gap: 10px !important;
}
.hero-facts li {
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(255,250,240,0.17) !important;
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(6,16,14,0.30), rgba(6,16,14,0.14));
  box-shadow: 0 12px 30px rgba(0,0,0,0.11);
  backdrop-filter: blur(2px);
}

/* Warm sunset section system: premium, lighter and emotionally connected to the hero. */
.intro-section,
.services-section,
.sea-feature,
.stay-feature,
.packages-section,
.gallery-section,
.contact-section {
  background-color: #fff7e9 !important;
}
.intro-section,
.services-section,
.packages-section,
.gallery-section {
  background-image:
    radial-gradient(circle at 16% 0%, rgba(255, 205, 104, 0.22), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(222, 116, 45, 0.10), transparent 38%),
    linear-gradient(180deg, #fff8eb 0%, #f5e8d4 100%) !important;
}
.intro-grid {
  background:
    linear-gradient(135deg, rgba(255, 248, 235, 0.76), rgba(239, 220, 188, 0.54)),
    radial-gradient(circle at 20% 18%, rgba(255, 207, 112, 0.20), transparent 32%) !important;
  border-color: rgba(158, 97, 39, 0.13) !important;
}
.intro-grid .section-heading,
.proof-strip article:nth-child(2) {
  background:
    linear-gradient(145deg, rgba(54, 43, 28, 0.88), rgba(47, 75, 61, 0.78)),
    radial-gradient(circle at 80% 18%, rgba(255, 198, 89, 0.16), transparent 38%) !important;
  border-color: rgba(255, 221, 146, 0.22) !important;
}
.intro-copy,
.proof-strip article:not(:nth-child(2)) {
  background: rgba(255, 251, 244, 0.94) !important;
  border-color: rgba(159, 103, 45, 0.14) !important;
}
.stay-feature {
  background:
    linear-gradient(135deg, rgba(47, 36, 22, 0.96), rgba(31, 63, 53, 0.91)),
    radial-gradient(circle at 18% 0%, rgba(255, 198, 89, 0.20), transparent 36%),
    radial-gradient(circle at 88% 20%, rgba(255, 137, 51, 0.10), transparent 38%) !important;
}
.stay-content p:not(.section-label),
.stay-content h2,
.stay-content .section-label {
  text-shadow: 0 2px 14px rgba(0,0,0,0.22);
}
.contact-section {
  background-image:
    linear-gradient(90deg, rgba(42, 31, 20, 0.62), rgba(21, 51, 45, 0.42)),
    linear-gradient(180deg, rgba(255, 203, 112, 0.10), rgba(7, 19, 18, 0.34)),
    url("assets/fishing/boats-sunset.webp") !important;
}
.contact-copy {
  background:
    linear-gradient(145deg, rgba(44, 33, 22, 0.91), rgba(30, 65, 55, 0.80)),
    radial-gradient(circle at 85% 12%, rgba(255, 202, 103, 0.14), transparent 34%) !important;
}

/* Keep the requested gallery behaviour: main gallery as mosaic, stay gallery as one large switchable image only. */
.photo-mosaic { display: grid !important; }
.stay-gallery__thumbs,
.stay-gallery__thumb,
.stay-gallery__thumb img { display: none !important; }
.stay-gallery__stage { margin-bottom: 0 !important; }
.stay-media.stay-gallery .stay-gallery__image {
  min-height: 520px;
  height: clamp(520px, 48vw, 680px);
}

@media (max-width: 920px) {
  .hero-content { padding-top: 132px !important; padding-bottom: 74px !important; }
  .hero-lead { width: auto; }
  .hero-facts { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .hero .eyebrow { padding: 5px 8px; }
  .hero-lead { padding: 11px 13px; }
  .hero-facts { grid-template-columns: 1fr; }
}

/* Final menu correction: restore the earlier grey-glass premium bar and make the logo larger inside a real circle. */
.site-header .nav-shell {
  min-height: 78px !important;
  padding: 10px 14px 10px 16px !important;
  background:
    linear-gradient(180deg, rgba(48, 52, 46, 0.88), rgba(28, 34, 32, 0.86)),
    radial-gradient(circle at 18% 0%, rgba(255, 246, 218, 0.10), transparent 36%),
    radial-gradient(circle at 84% 0%, rgba(231, 184, 84, 0.08), transparent 40%) !important;
  border: 1px solid rgba(255, 250, 240, 0.20) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(16px) saturate(1.06) !important;
}
.site-header .brand {
  gap: 15px !important;
  min-width: 325px !important;
}
.site-header .brand-mark {
  width: 68px !important;
  height: 68px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 250, 240, 0.12), rgba(255, 250, 240, 0.035) 68%),
    rgba(6, 18, 19, 0.34) !important;
  border: 1px solid rgba(255, 250, 240, 0.28) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 10px 26px rgba(0, 0, 0, 0.22) !important;
}
.site-header .brand-mark img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
}
.site-header .brand-wordmark strong {
  font-size: clamp(1.22rem, 1.42vw, 1.46rem) !important;
  letter-spacing: 0.032em !important;
  font-weight: 850 !important;
}
.site-header .brand-wordmark span {
  font-size: clamp(0.94rem, 1.02vw, 1.08rem) !important;
  letter-spacing: 0.045em !important;
  font-weight: 850 !important;
  color: #ffd66e !important;
}
.site-header .nav-links a {
  font-size: clamp(1.06rem, 1.04vw, 1.18rem) !important;
  font-weight: 820 !important;
}
.site-header .language-switch {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 250, 240, 0.20) !important;
}
.site-header .language-switch button {
  min-width: 48px !important;
  padding: 12px 14px !important;
}

@media (max-width: 920px) {
  .site-header .nav-shell { min-height: 72px !important; }
  .site-header .brand { min-width: 265px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 60px !important; height: 60px !important; }
  .site-header .brand-mark img { width: 53px !important; height: 53px !important; }
}
@media (max-width: 560px) {
  .site-header .nav-shell { min-height: 68px !important; padding: 8px 10px !important; }
  .site-header .brand { min-width: 0 !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; }
  .site-header .brand-mark img { width: 48px !important; height: 48px !important; }
}

/* FINAL RESTORE — old right-side hero/menu feeling, with current readable typography/features kept.
   Restore natural sunset emotion: no dark text capsules, no over-yellow filter, clean premium nav. */
.site-header {
  position: fixed !important;
  top: 16px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  padding: 0 18px !important;
  margin-top: 0 !important;
  pointer-events: none !important;
}
body.has-scrolled .site-header { top: 10px !important; }
.site-header .nav-shell {
  width: min(1160px, calc(100% - 36px)) !important;
  min-height: 74px !important;
  margin: 0 auto !important;
  padding: 8px 10px 8px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  color: #fffaf1 !important;
  background: rgba(7, 20, 18, 0.68) !important;
  border: 1px solid rgba(255, 250, 241, 0.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 44px rgba(7, 20, 18, 0.18) !important;
  backdrop-filter: blur(14px) saturate(1.06) !important;
}
body.has-scrolled .site-header .nav-shell { background: rgba(7,20,18,0.80) !important; }
.site-header .brand { gap: 13px !important; min-width: 310px !important; }
.site-header .brand-mark {
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: rgba(255, 250, 241, 0.10) !important;
  border: 1px solid rgba(239, 196, 117, 0.34) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.18) !important;
}
.site-header .brand-mark img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.site-header .brand-wordmark { gap: 3px !important; }
.site-header .brand-wordmark strong {
  font-family: var(--serif) !important;
  font-size: clamp(1.24rem, 1.32vw, 1.40rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.05 !important;
  color: #fffaf1 !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span {
  font-family: var(--sans) !important;
  font-size: clamp(0.88rem, .9vw, 0.98rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  color: rgba(239, 196, 117, 0.92) !important;
  white-space: nowrap !important;
}
.site-header .nav-links { gap: 8px !important; margin-left: auto !important; }
.site-header .nav-links a,
.site-header .language-switch button {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 11px 14px !important;
  border-radius: 6px !important;
  color: rgba(255,250,241,.88) !important;
  font-family: var(--sans) !important;
  font-size: clamp(1rem, 1vw, 1.1rem) !important;
  font-weight: 780 !important;
  text-shadow: none !important;
}
.site-header .nav-links a::after { display: none !important; }
.site-header .nav-links a:hover,
.site-header .language-switch button:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.10) !important;
}
.site-header .language-switch {
  display: flex !important;
  gap: 2px !important;
  padding: 3px !important;
  margin-left: 4px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,250,241,0.16) !important;
}
.site-header .language-switch button { min-width: 42px !important; background: transparent !important; border: 0 !important; }
.site-header .language-switch button.is-active {
  color: #071412 !important;
  background: #fffaf1 !important;
  box-shadow: none !important;
}
.hero {
  min-height: 82svh !important;
  margin-top: 0 !important;
  padding: 132px 20px 86px !important;
  display: flex !important;
  align-items: center !important;
  background: #071412 !important;
}
.hero-image {
  filter: saturate(1.04) contrast(1.02) brightness(1.06) !important;
  object-position: center center !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(7,20,18,0.68) 0%, rgba(7,20,18,0.42) 42%, rgba(7,20,18,0.08) 78%),
    linear-gradient(180deg, rgba(7,20,18,0.10) 0%, rgba(7,20,18,0.02) 38%, rgba(7,20,18,0.48) 100%) !important;
}
.hero::after { display: none !important; }
.hero-content {
  width: min(1160px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}
.hero .eyebrow {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,231,180,0.96) !important;
  font-size: clamp(1.02rem, 1.05vw, 1.18rem) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.36) !important;
}
.hero-title {
  width: fit-content !important;
  max-width: min(820px, 100%) !important;
  font-family: var(--serif) !important;
  font-size: clamp(5.8rem, 11.8vw, 11rem) !important;
  line-height: 0.76 !important;
  font-weight: 600 !important;
  letter-spacing: 0.055em !important;
  text-align: center !important;
  color: #fffaf1 !important;
  text-shadow: 0 5px 28px rgba(0,0,0,0.34) !important;
}
.hero-title span { display: block !important; }
.hero-title span + span { margin-top: -0.03em !important; }
.hero-lead {
  display: block !important;
  width: auto !important;
  max-width: 760px !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: rgba(255,250,241,0.98) !important;
  font-family: var(--sans) !important;
  font-size: clamp(1.24rem, 1.35vw, 1.42rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-shadow: 0 2px 13px rgba(0,0,0,0.52) !important;
}
.hero-actions { margin-top: 28px !important; margin-bottom: 0 !important; }
.hero-facts {
  width: min(880px, 100%) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 34px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(255,250,241,0.20) !important;
  list-style: none !important;
}
.hero-facts li {
  padding: 0 18px !important;
  margin: 0 !important;
  color: rgba(255,250,241,0.94) !important;
  border-right: 1px solid rgba(255,250,241,0.20) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  font-size: clamp(1.04rem, 1.08vw, 1.18rem) !important;
  font-weight: 780 !important;
  line-height: 1.35 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.40) !important;
}
.hero-facts li:first-child { padding-left: 0 !important; }
.hero-facts li:last-child { padding-right: 0 !important; border-right: 0 !important; }
.quick-strip {
  width: min(1160px, calc(100% - 40px)) !important;
  margin: -42px auto 0 !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  overflow: hidden !important;
  background: rgba(255,250,241,0.96) !important;
  border: 1px solid rgba(24,35,31,0.10) !important;
  border-radius: 8px !important;
  box-shadow: 0 26px 70px rgba(7,20,18,0.14) !important;
}
.quick-strip a {
  min-height: 96px !important;
  display: grid !important;
  align-content: center !important;
  gap: 6px !important;
  padding: 18px 22px !important;
  border-right: 1px solid rgba(24,35,31,0.10) !important;
}
.quick-strip a:last-child { border-right: 0 !important; }
.quick-strip span {
  color: #176f78 !important;
  font-size: clamp(0.92rem, .95vw, 1rem) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.quick-strip strong {
  font-family: var(--serif) !important;
  font-size: clamp(1.32rem, 1.45vw, 1.52rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #18231f !important;
}
.button { border-radius: 6px !important; min-height: 56px !important; padding: 14px 24px !important; }
.button-primary {
  color: #071412 !important;
  background: linear-gradient(180deg, #f2cc80 0%, #c89545 100%) !important;
  box-shadow: 0 16px 34px rgba(200,149,69,0.26) !important;
}
.button-ghost {
  color: #fffaf1 !important;
  border-color: rgba(255,250,241,0.28) !important;
  background: rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(10px) !important;
}
@media (max-width: 920px) {
  .site-header { top: 10px !important; padding: 0 14px !important; }
  .site-header .nav-shell { min-height: 72px !important; }
  .site-header .brand { min-width: 240px !important; }
  .hero { min-height: 720px !important; padding: 122px 18px 74px !important; }
  .hero-title { font-size: clamp(4.5rem, 16vw, 7rem) !important; }
  .quick-strip { grid-template-columns: repeat(2, 1fr) !important; width: calc(100% - 28px) !important; }
}
@media (max-width: 620px) {
  .site-header .brand-mark { width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .site-header .brand-wordmark strong { font-size: 1rem !important; }
  .site-header .brand-wordmark span { font-size: .76rem !important; }
  .hero { min-height: 680px !important; padding-top: 120px !important; }
  .hero-title { font-size: clamp(3.5rem, 18vw, 5.4rem) !important; }
  .hero-lead { font-size: 1.12rem !important; }
  .hero-facts { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; border-top: 0 !important; }
  .hero-facts li { border: 1px solid rgba(255,250,241,.18) !important; border-radius: 10px !important; padding: 10px 12px !important; background: rgba(0,0,0,.10) !important; }
  .quick-strip { grid-template-columns: 1fr !important; }
}


/* FINAL 2026-06-10 — readable fonts + shorter premium rhythm.
   Important: do not make key text small. Shorter page comes from spacing and height cleanup, not tiny type. */
html { scroll-padding-top: 112px; }
body { font-size: 18px !important; line-height: 1.54 !important; }

/* Lock readable desktop typography */
.site-header .brand-wordmark strong { font-size: clamp(1.22rem, 1.38vw, 1.46rem) !important; line-height: 1.02 !important; }
.site-header .brand-wordmark span { font-size: clamp(0.96rem, 1vw, 1.08rem) !important; line-height: 1.05 !important; }
.site-header .nav-links a { font-size: clamp(1.08rem, 1.05vw, 1.18rem) !important; line-height: 1.1 !important; }
.hero .eyebrow, .section-label, .service-kicker, .package-eyebrow { font-size: clamp(1rem, 1vw, 1.1rem) !important; line-height: 1.2 !important; }
.hero-lead { font-size: clamp(1.22rem, 1.35vw, 1.42rem) !important; line-height: 1.42 !important; font-weight: 780 !important; }
.hero-facts li { font-size: clamp(1.08rem, 1.08vw, 1.18rem) !important; line-height: 1.2 !important; font-weight: 820 !important; }
.button { font-size: 1.08rem !important; }
.quick-strip span { font-size: clamp(1rem, 1vw, 1.08rem) !important; }
.quick-strip strong { font-size: clamp(1.12rem, 1.15vw, 1.26rem) !important; }
.intro-copy p, .sea-copy p:not(.section-label), .stay-content p:not(.section-label), .package-card p:not(.package-eyebrow), .contact-copy p:not(.section-label), .inquiry-form input, .inquiry-form select, .inquiry-form textarea { font-size: clamp(1.08rem, 1.05vw, 1.18rem) !important; }
.proof-strip span, .service-card p:not(.service-kicker), .detail-grid span, .contact-proof span, .photo-tile figcaption { font-size: clamp(1.02rem, 1vw, 1.1rem) !important; }

/* Make the page shorter by tightening spacing, not shrinking fonts */
.section { padding: clamp(46px, 4.6vw, 76px) 0 !important; }
.intro-section { padding: clamp(42px, 4.4vw, 70px) 0 !important; }
.services-section { padding-top: clamp(50px, 4.4vw, 72px) !important; padding-bottom: clamp(48px, 4.4vw, 72px) !important; }
.sea-feature, .stay-feature, .packages-section, .gallery-section { padding-top: clamp(50px, 4.8vw, 78px) !important; padding-bottom: clamp(50px, 4.8vw, 78px) !important; }
.contact-section { padding-top: clamp(60px, 5vw, 86px) !important; padding-bottom: clamp(60px, 5vw, 86px) !important; }
.section-heading { margin-bottom: 24px !important; }
.section-heading p:not(.section-label) { margin-top: 10px !important; }

/* Compact but still premium blocks */
.quick-strip { margin-top: -34px !important; }
.quick-strip a { padding: 18px 24px !important; }
.intro-grid { padding: 22px !important; }
.intro-grid .section-heading { padding: 24px !important; }
.intro-copy { padding: 26px !important; }
.proof-strip { padding: 0 22px 22px !important; gap: 18px !important; }
.proof-strip article { min-height: 132px !important; padding: 22px !important; }

.service-grid { gap: 20px !important; }
.service-card { min-height: 390px !important; }
.service-body { padding: 22px !important; }
.service-card h3 { font-size: clamp(2rem, 2.05vw, 2.55rem) !important; }

.sea-layout, .stay-layout { gap: 32px !important; }
.stay-media.stay-gallery .stay-gallery__image { min-height: 450px !important; height: clamp(450px, 42vw, 560px) !important; }
.booking-rating { margin: 18px 0 !important; }
.detail-grid { margin: 18px 0 !important; }

.package-grid { gap: 18px !important; }
.package-card { padding: 24px !important; }
.package-card h3 { font-size: clamp(1.9rem, 2.1vw, 2.55rem) !important; }
.package-card ul { margin: 14px 0 18px !important; }

.photo-mosaic { gap: 16px !important; }
.photo-tile { min-height: 220px !important; }
.photo-tile-large { min-height: 430px !important; }

.contact-grid { gap: 24px !important; }
.contact-copy, .inquiry-form { padding: 28px !important; }
.contact-copy h2 { font-size: clamp(2.65rem, 3.8vw, 4.2rem) !important; }
.contact-proof { margin: 18px 0 !important; }
.inquiry-form textarea { min-height: 116px !important; }

.site-footer { padding: 26px 0 30px !important; }

@media (max-width: 920px) {
  body { font-size: 18px !important; }
  .site-header .brand-wordmark strong { font-size: 1.12rem !important; }
  .site-header .brand-wordmark span { font-size: .92rem !important; }
  .hero-lead { font-size: 1.16rem !important; }
  .hero-facts li, .quick-strip strong { font-size: 1.08rem !important; }
  .service-card { min-height: 370px !important; }
  .stay-media.stay-gallery .stay-gallery__image { min-height: 360px !important; height: 64vw !important; }
}
@media (max-width: 560px) {
  body { font-size: 17px !important; }
  .site-header .brand-wordmark strong { font-size: 1.02rem !important; }
  .site-header .brand-wordmark span { font-size: .84rem !important; }
  .hero-title { font-size: clamp(3.65rem, 17vw, 5.45rem) !important; }
  .hero-lead { font-size: 1.12rem !important; }
  .quick-strip a { padding: 16px 18px !important; }
  .section { padding: 42px 0 !important; }
}

/* FINAL FIX — Koha tunne cleaner, shorter and premium without shrinking readable text */
.intro-section {
  padding: clamp(34px, 3.8vw, 58px) 0 clamp(40px, 4.2vw, 64px) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(230,184,74,0.16), transparent 34%),
    linear-gradient(180deg, #fffaf0 0%, #f6eedf 100%) !important;
}
.intro-section .section-inner {
  width: min(1120px, calc(100% - 56px)) !important;
}
.intro-grid {
  display: grid !important;
  grid-template-columns: 0.92fr 1.08fr !important;
  align-items: stretch !important;
  gap: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.intro-grid::before { display: none !important; }
.intro-grid .section-heading {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 210px !important;
  margin: 0 !important;
  padding: 30px 34px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 76% 24%, rgba(231,185,88,0.22), transparent 36%),
    linear-gradient(145deg, rgba(8,27,25,0.96), rgba(24,65,56,0.90)) !important;
  border: 1px solid rgba(255,250,241,0.22) !important;
  box-shadow: 0 22px 50px rgba(12,30,28,0.20) !important;
}
.intro-grid .section-heading h2 {
  max-width: 13.4ch !important;
  font-size: clamp(2.75rem, 3.45vw, 3.7rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  color: #fffaf0 !important;
  text-shadow: 0 10px 28px rgba(0,0,0,0.30) !important;
}
.intro-grid .section-label {
  margin-bottom: 12px !important;
  color: #f1c96e !important;
  font-weight: 900 !important;
}
.intro-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 210px !important;
  padding: 32px 38px !important;
  border-radius: 22px !important;
  background: rgba(255,252,246,0.92) !important;
  border: 1px solid rgba(33,48,43,0.10) !important;
  box-shadow: 0 18px 42px rgba(18,40,36,0.10), inset 0 1px 0 rgba(255,255,255,0.82) !important;
}
.intro-copy p {
  max-width: 52ch !important;
  font-size: clamp(1.12rem, 1.1vw, 1.24rem) !important;
  line-height: 1.5 !important;
  font-weight: 660 !important;
  color: #24322f !important;
}
.intro-copy p + p { margin-top: 14px !important; }
.proof-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin-top: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.proof-strip article {
  min-height: 124px !important;
  padding: 22px 24px !important;
  border-radius: 18px !important;
  background: rgba(255,252,246,0.94) !important;
  border: 1px solid rgba(33,48,43,0.10) !important;
  box-shadow: 0 14px 32px rgba(18,40,36,0.08) !important;
}
.proof-strip article:nth-child(2) {
  background: linear-gradient(145deg, rgba(19,64,55,0.94), rgba(9,31,29,0.94)) !important;
  border-color: rgba(255,250,241,0.16) !important;
  box-shadow: 0 18px 42px rgba(9,31,29,0.18) !important;
}
.proof-strip strong {
  margin-bottom: 8px !important;
  font-size: clamp(1.28rem, 1.32vw, 1.48rem) !important;
  line-height: 1.14 !important;
  font-weight: 650 !important;
}
.proof-strip span {
  font-size: clamp(1.03rem, 1vw, 1.12rem) !important;
  line-height: 1.38 !important;
  font-weight: 620 !important;
}
.services-section {
  padding-top: clamp(44px, 4vw, 64px) !important;
}
@media (max-width: 920px) {
  .intro-grid, .proof-strip { grid-template-columns: 1fr !important; }
  .intro-grid .section-heading, .intro-copy { min-height: auto !important; }
  .intro-grid .section-heading h2 { max-width: 16ch !important; font-size: clamp(2.45rem, 8vw, 3.35rem) !important; }
}


/* QUICK STRIP FINAL TYPOGRAPHY FIX — labels support, values read first. */
.quick-strip {
  width: min(1120px, calc(100% - 56px)) !important;
  margin-top: -30px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border-radius: 0 0 2px 2px !important;
}
.quick-strip a {
  min-height: 86px !important;
  padding: 18px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 5px !important;
}
.quick-strip span {
  font-family: var(--sans) !important;
  font-size: clamp(0.95rem, 0.88vw, 1.04rem) !important;
  line-height: 1.14 !important;
  letter-spacing: 0.065em !important;
  font-weight: 850 !important;
  color: #315f58 !important;
  margin: 0 !important;
}
.quick-strip strong {
  font-family: var(--sans) !important;
  font-size: clamp(1.16rem, 1.12vw, 1.32rem) !important;
  line-height: 1.16 !important;
  letter-spacing: 0.005em !important;
  font-weight: 760 !important;
  color: #152622 !important;
  margin: 0 !important;
}
@media (max-width: 920px) {
  .quick-strip {
    width: calc(100% - 28px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: -22px !important;
  }
  .quick-strip a { min-height: 78px !important; padding: 16px 18px !important; }
  .quick-strip span { font-size: 0.95rem !important; }
  .quick-strip strong { font-size: 1.16rem !important; }
}
@media (max-width: 560px) {
  .quick-strip { grid-template-columns: 1fr !important; }
  .quick-strip a { min-height: 74px !important; padding: 15px 18px !important; }
}


/* FINAL SIMPLIFICATION: Koha tunne removed. Keep page shorter, premium and readable. */
.quick-strip + .services-section {
  padding-top: clamp(46px, 4.8vw, 78px) !important;
}
.services-section {
  margin-top: 0 !important;
}
.services-section .section-heading {
  margin-bottom: clamp(28px, 3.5vw, 44px) !important;
}
.services-section .section-heading h2 {
  font-size: clamp(2.65rem, 4.3vw, 4.65rem) !important;
  line-height: .98 !important;
}
.services-section .section-heading p:not(.section-label) {
  font-size: clamp(1.12rem, 1.08vw, 1.24rem) !important;
  font-weight: 620 !important;
}
@media (max-width: 760px) {
  .quick-strip + .services-section { padding-top: 38px !important; }
  .services-section .section-heading h2 { font-size: clamp(2.25rem, 10vw, 3.2rem) !important; }
}

/* FINAL COMPACT PASS — Gallery and Contact shorter without shrinking readable fonts */
.gallery-section {
  padding-top: clamp(34px, 3.4vw, 56px) !important;
  padding-bottom: clamp(38px, 3.8vw, 60px) !important;
}
.gallery-section .section-heading {
  margin-bottom: clamp(18px, 2.2vw, 30px) !important;
}
.gallery-section .section-heading h2 {
  line-height: 1.02 !important;
}
.photo-mosaic {
  gap: clamp(12px, 1.3vw, 16px) !important;
}
.photo-tile {
  min-height: clamp(205px, 17vw, 240px) !important;
  border-radius: 22px !important;
}
.photo-tile-large {
  min-height: clamp(420px, 34vw, 480px) !important;
}
.photo-tile figcaption {
  font-size: clamp(1.03rem, 1vw, 1.12rem) !important;
  padding: 9px 13px !important;
}

.contact-section {
  padding-top: clamp(52px, 4.5vw, 74px) !important;
  padding-bottom: clamp(50px, 4.3vw, 72px) !important;
}
.contact-section::after {
  inset: 12px !important;
  border-radius: 30px !important;
}
.contact-grid {
  gap: clamp(18px, 2vw, 24px) !important;
  align-items: center !important;
}
.contact-copy,
.inquiry-form {
  padding: clamp(22px, 2.1vw, 28px) !important;
  border-radius: 26px !important;
}
.contact-copy h2 {
  font-size: clamp(2.45rem, 3.5vw, 3.9rem) !important;
  line-height: .98 !important;
}
.contact-copy p:not(.section-label) {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}
.contact-proof {
  margin: 16px 0 !important;
  gap: 10px !important;
}
.contact-proof div {
  padding: 10px 12px !important;
}
.contact-actions {
  gap: 10px !important;
}
.form-intro {
  margin-bottom: 16px !important;
}
.form-row {
  gap: 12px !important;
}
.inquiry-form label {
  margin-bottom: 11px !important;
}
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  min-height: 50px !important;
  padding: 12px 14px !important;
}
.inquiry-form textarea {
  min-height: 110px !important;
}

@media (max-width: 760px) {
  .gallery-section,
  .contact-section {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }
  .photo-tile,
  .photo-tile-large {
    min-height: 300px !important;
  }
  .contact-copy,
  .inquiry-form {
    padding: 22px !important;
  }
}

/* Contact: one coherent final panel that follows the light, green and gold site language. */
.contact-section {
  padding: clamp(48px, 5vw, 72px) 0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(230, 184, 74, 0.14), transparent 34%),
    linear-gradient(180deg, #f7efdf 0%, #eee3ce 100%) !important;
}
.contact-section::after {
  display: none !important;
}
.contact-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: 22px !important;
  border: 1px solid rgba(24, 46, 40, 0.13) !important;
  border-radius: 32px !important;
  background: rgba(255, 252, 246, 0.82) !important;
  box-shadow: 0 24px 58px rgba(42, 42, 32, 0.12) !important;
}
.contact-copy,
.inquiry-form {
  height: 100% !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}
.contact-copy {
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(25px, 2.6vw, 34px) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(230, 184, 74, 0.16), transparent 30%),
    linear-gradient(145deg, #102c26, #1d5145) !important;
  border: 1px solid rgba(255, 250, 240, 0.13) !important;
}
.contact-copy h2 {
  max-width: 11ch !important;
  font-size: clamp(2.55rem, 3.5vw, 3.9rem) !important;
  line-height: .98 !important;
}
.contact-copy > p:not(.section-label) {
  max-width: 40ch !important;
}
.contact-proof {
  gap: 8px !important;
  margin: 16px 0 18px !important;
}
.contact-proof div {
  padding: 10px 12px !important;
  border-radius: 14px !important;
}
.contact-proof strong {
  font-size: 1rem !important;
}
.contact-proof span {
  margin-top: 2px !important;
  font-size: .94rem !important;
}
.contact-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin-top: auto !important;
}
.contact-actions .button {
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 14px !important;
  justify-content: center !important;
  text-align: center !important;
}
.contact-actions .button:first-child {
    grid-column: auto !important;
}
.contact-proof strong {
    color: #efc765 !important;
}
.inquiry-form {
  padding: clamp(25px, 2.6vw, 34px) !important;
  background: #fffcf6 !important;
  border: 1px solid rgba(24, 46, 40, 0.11) !important;
}
.form-intro {
  margin-bottom: 17px !important;
  padding-bottom: 15px !important;
  border-bottom: 1px solid rgba(24, 46, 40, 0.10) !important;
}
.form-intro h3 {
  font-family: var(--serif) !important;
  font-size: clamp(1.7rem, 2vw, 2.15rem) !important;
  line-height: 1.08 !important;
}
.inquiry-form label {
  margin-bottom: 10px !important;
}
.inquiry-form label span {
  margin-bottom: 6px !important;
}
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  min-height: 48px !important;
  padding: 11px 13px !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.inquiry-form textarea {
  min-height: 94px !important;
}
.button-submit {
  min-height: 50px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #102c26, #1f584a) !important;
  color: #fffaf0 !important;
}

@media (max-width: 860px) {
  .contact-grid {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }
  .contact-copy h2 {
    max-width: 14ch !important;
  }
}

@media (max-width: 560px) {
  .contact-section {
    padding: 38px 0 !important;
  }
  .contact-grid {
    width: calc(100% - 24px) !important;
    padding: 9px !important;
    border-radius: 24px !important;
  }
  .contact-copy,
  .inquiry-form {
    padding: 21px !important;
    border-radius: 19px !important;
  }
  .contact-actions,
  .form-row {
    grid-template-columns: 1fr !important;
  }
  .contact-actions .button:first-child {
    grid-column: 1 !important;
  }
}


/* FINAL FIX: Ööbimine + Kontakt taustapilt ilma punaka/kollaka toonita
   Kasutab õhtuste tuledega majapilti otse, ilma värvifiltri ja ilma sooja tint-overlay'ta. */
.stay-feature,
.contact-section {
  background-color: #0b1715 !important;
  background-image: url("assets/oobimine/stay-04.webp") !important;
  background-size: cover !important;
  background-position: center 58% !important;
  background-repeat: no-repeat !important;
}

.stay-feature::before,
.contact-section::before {
  content: none !important;
  display: none !important;
}

/* Õrn raam võib jääda, aga mitte tooniv filter üle pildi. */
.contact-section::after {
  border-color: rgba(255, 250, 240, 0.20) !important;
  background: transparent !important;
}

/* Ööbimise tekst/pildigalerii seisavad pildi peal puhtalt eraldi, mitte kogu tausta toonides. */
.stay-layout {
  position: relative !important;
  z-index: 1 !important;
}

.stay-content {
  padding: clamp(24px, 2.5vw, 34px) !important;
  border-radius: 28px !important;
  background: rgba(8, 22, 20, 0.82) !important;
  border: 1px solid rgba(255, 250, 240, 0.16) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.30) !important;
  backdrop-filter: blur(8px) !important;
}

.stay-content h2,
.stay-content p:not(.section-label),
.stay-content .section-label {
  color: #fffaf0 !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.35) !important;
}

.detail-grid span,
.booking-rating {
  background: rgba(255, 250, 240, 0.10) !important;
  border-color: rgba(255, 250, 240, 0.16) !important;
}

/* Kontakt: puhas õhtutuledega pilt taustaks, vorm ja CTA eraldavad info loetavalt. */
.contact-grid {
  position: relative !important;
  z-index: 1 !important;
}

.contact-copy {
  background: rgba(8, 22, 20, 0.86) !important;
  border: 1px solid rgba(255, 250, 240, 0.18) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.32) !important;
  backdrop-filter: blur(8px) !important;
}

.inquiry-form {
  background: rgba(255, 252, 246, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.26) !important;
}

@media (max-width: 760px) {
  .stay-feature,
  .contact-section {
    background-position: center center !important;
  }
  .stay-content {
    padding: 22px !important;
  }
}

/* FINAL REQUEST: header brand balance + Ööbimine background = katusealune terrass.
   Hoia tekstid loetavad; ära tee fonti väiksemaks. */
.site-header .brand-mark {
  width: 62px !important;
  height: 62px !important;
  flex: 0 0 62px !important;
  border-radius: 50% !important;
  background: rgba(255, 250, 240, 0.07) !important;
  border: 1px solid rgba(255, 250, 240, 0.22) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 10px 26px rgba(0,0,0,.22) !important;
}
.site-header .brand-mark img {
  width: 56px !important;
  height: 56px !important;
}
.site-header .brand-wordmark strong {
  font-family: var(--sans) !important;
  font-size: clamp(1.28rem, 1.45vw, 1.52rem) !important;
  line-height: 1.02 !important;
  font-weight: 850 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
}
.site-header .brand-wordmark span {
  font-family: var(--sans) !important;
  font-size: clamp(0.98rem, 1.02vw, 1.10rem) !important;
  line-height: 1.08 !important;
  font-weight: 820 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  color: #f5cf68 !important;
}

/* Ööbimise taust: katusealune terrass, ilma punaka/kollaka toonita. */
.stay-feature {
  background-color: #111b18 !important;
  background-image: url("assets/oobimine/stay-05.webp") !important;
  background-size: cover !important;
  background-position: center 52% !important;
  background-repeat: no-repeat !important;
}
.stay-feature::before {
  content: none !important;
  display: none !important;
}
@media (max-width: 760px) {
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 49px !important; height: 49px !important; }
  .site-header .brand-wordmark strong { font-size: 1.08rem !important; }
  .site-header .brand-wordmark span { font-size: .86rem !important; }
  .stay-feature { background-position: center center !important; }
}


/* FINAL FIX — ÖÖBIMINE: rahulik premium, mitte kirju taustapildi ja kaartide segu.
   Taustapilti ei kasutata enam kogu sektsiooni all; pilt elab ainult suures galeriis.
   Fondid jäävad suured ja loetavad. */
.stay-feature {
  color: #14241f !important;
  background-color: #f7f0e4 !important;
  background-image:
    radial-gradient(circle at 24% 0%, rgba(230,184,74,0.18), transparent 34%),
    linear-gradient(180deg, #fffaf0 0%, #f6eddd 52%, #fffaf0 100%) !important;
  background-size: auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  padding-top: clamp(58px, 5vw, 84px) !important;
  padding-bottom: clamp(58px, 5vw, 84px) !important;
}
.stay-feature::before,
.stay-feature::after {
  content: none !important;
  display: none !important;
}
.stay-layout {
  align-items: center !important;
  gap: clamp(30px, 3.6vw, 52px) !important;
}
.stay-media.stay-gallery {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: #fffaf0 !important;
  border: 1px solid rgba(24, 46, 40, 0.16) !important;
  box-shadow: 0 24px 58px rgba(22, 34, 30, 0.18) !important;
}
.stay-gallery__stage {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #10221e !important;
  box-shadow: none !important;
}
.stay-media.stay-gallery .stay-gallery__image {
  min-height: 420px !important;
  height: clamp(430px, 42vw, 560px) !important;
  filter: saturate(1.02) contrast(1.01) brightness(1.01) !important;
  object-position: center center !important;
}
.stay-gallery__stage::after {
  background: linear-gradient(180deg, rgba(3,12,11,0) 50%, rgba(3,12,11,.42) 100%) !important;
}
.stay-gallery__caption {
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  background: rgba(8, 22, 20, 0.68) !important;
  border-color: rgba(255, 250, 240, 0.18) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.18) !important;
}
.stay-content {
  padding: clamp(26px, 3vw, 38px) !important;
  border-radius: 30px !important;
  background: rgba(255, 252, 246, 0.96) !important;
  border: 1px solid rgba(24, 46, 40, 0.14) !important;
  box-shadow: 0 22px 52px rgba(22, 34, 30, 0.12) !important;
  color: #14241f !important;
  backdrop-filter: none !important;
}
.stay-content .section-label {
  color: #9a6b22 !important;
  text-shadow: none !important;
}
.stay-content h2 {
  color: #14241f !important;
  text-shadow: none !important;
}
.stay-content p:not(.section-label) {
  color: #263b35 !important;
  text-shadow: none !important;
  font-weight: 650 !important;
}
.booking-rating {
  background: #fff6e5 !important;
  border: 1px solid rgba(154, 107, 34, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7) !important;
}
.booking-rating__body span,
.booking-rating__body small {
  color: #43544d !important;
}
.booking-rating__body strong,
.booking-rating__link {
  color: #162a25 !important;
}
.detail-grid span {
  background: #f4ecdd !important;
  border: 1px solid rgba(24, 46, 40, 0.12) !important;
  color: #18302a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.stay-content .button-dark {
  background: linear-gradient(135deg, #102822, #214b41) !important;
  color: #fffaf0 !important;
  border-color: rgba(16, 40, 34, 0.92) !important;
}
@media (max-width: 860px) {
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 360px !important;
    height: 66vw !important;
  }
}

/* FINAL: Kontakt taust rahulikuks — pilt eemaldatud.
   Kontakt peab olema premium CTA, mitte kirju taustapildi peal. */
.contact-section {
  background-color: #f6f0e4 !important;
  background-image:
    radial-gradient(circle at 18% 18%, rgba(232, 196, 116, 0.16), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(20, 72, 61, 0.10), transparent 30%),
    linear-gradient(180deg, #fbf6ea 0%, #efe4cf 100%) !important;
  color: var(--ink) !important;
  isolation: isolate !important;
}

.contact-section::before {
  content: none !important;
  display: none !important;
}

.contact-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 18px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(39, 58, 49, 0.10) !important;
  background: transparent !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.contact-copy {
  background:
    radial-gradient(circle at 88% 18%, rgba(230, 184, 74, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(7, 23, 20, 0.96), rgba(18, 67, 56, 0.90)) !important;
  border: 1px solid rgba(255, 250, 240, 0.16) !important;
  box-shadow: 0 28px 70px rgba(18, 43, 36, 0.22) !important;
}

.inquiry-form {
  background: rgba(255, 252, 246, 0.98) !important;
  border: 1px solid rgba(37, 59, 51, 0.12) !important;
  box-shadow: 0 26px 60px rgba(42, 42, 32, 0.16) !important;
}

.contact-copy .section-label,
.contact-copy h2,
.contact-copy p:not(.section-label),
.contact-proof span {
  color: #fffaf0 !important;
}

.contact-proof div {
  background: rgba(255, 250, 240, 0.08) !important;
  border-color: rgba(255, 250, 240, 0.13) !important;
}

@media (max-width: 760px) {
  .contact-section::after {
    inset: 10px !important;
    border-radius: 24px !important;
  }
}

/* FINAL CLARIFICATION: Kontaktis oli mõeldud alumist pildi/tausta-kihti, mitte fondi ega vormi. Hoia ala puhas, ilma segava pildita. */
.contact-section,
.site-footer {
  background-image:
    radial-gradient(circle at 18% 18%, rgba(232, 196, 116, 0.12), transparent 34%),
    linear-gradient(180deg, #fbf6ea 0%, #efe7d6 100%) !important;
  background-color: #f6f0e4 !important;
}
.contact-section::before,
.site-footer::before,
.site-footer::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
.contact-section::after {
  background-image: none !important;
}
.footer-panel {
  background: rgba(255, 252, 246, 0.74) !important;
  border: 1px solid rgba(37, 59, 51, 0.10) !important;
  box-shadow: 0 16px 38px rgba(42, 42, 32, 0.08) !important;
}


/* FINAL HEADER BRAND LOCK: subtitle removed, logo/wordmark proud and premium. */
.site-header .brand {
  min-width: clamp(340px, 31vw, 470px) !important;
  gap: 15px !important;
  align-items: center !important;
}
.site-header .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 42% 28%, rgba(255, 250, 240, 0.12), transparent 45%),
    rgba(9, 22, 21, 0.58) !important;
  border: 1px solid rgba(255, 250, 240, 0.24) !important;
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255,255,255,0.16) !important;
}
.site-header .brand-mark img {
  width: 65px !important;
  height: 65px !important;
  object-fit: contain !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
}
.site-header .brand-wordmark strong {
  font-family: var(--display) !important;
  font-size: clamp(1.58rem, 1.95vw, 2.08rem) !important;
  line-height: 0.98 !important;
  font-weight: 800 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.42) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: none !important;
}
.site-header .nav-shell {
  min-height: 86px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 300px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .site-header .brand-mark img { width: 58px !important; height: 58px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.34rem, 2.2vw, 1.68rem) !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
  .site-header .brand-mark img { width: 52px !important; height: 52px !important; }
  .site-header .brand-wordmark strong { font-size: 1.18rem !important; letter-spacing: 0.025em !important; }
  .site-header .nav-shell { min-height: 74px !important; }
}

/* FINAL HEADER WORDMARK 10/10: tested calmer serif/sans directions; chosen = strong readable premium wordmark with green glass plate. */
.site-header .brand {
  min-width: clamp(360px, 33vw, 500px) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 0 !important;
}
.site-header .brand-mark {
  width: 74px !important;
  height: 74px !important;
  flex: 0 0 74px !important;
  background:
    radial-gradient(circle at 38% 28%, rgba(255,250,240,0.18), rgba(255,250,240,0.04) 42%, transparent 62%),
    linear-gradient(145deg, rgba(10,42,36,0.80), rgba(5,20,18,0.74)) !important;
  border: 1px solid rgba(255,250,240,0.30) !important;
  box-shadow:
    0 18px 44px rgba(4, 14, 13, 0.30),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
}
.site-header .brand-mark img {
  width: 66px !important;
  height: 66px !important;
}
.site-header .brand-wordmark {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  padding: 12px 22px 11px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(246,207,98,0.13), transparent 40%),
    linear-gradient(145deg, rgba(8, 37, 33, 0.78), rgba(16, 62, 54, 0.62)) !important;
  border: 1px solid rgba(255,250,240,0.20) !important;
  box-shadow:
    0 18px 48px rgba(4,18,16,0.22),
    inset 0 1px 0 rgba(255,255,255,0.13) !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
}
.site-header .brand-wordmark::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(246,207,98,0.95), rgba(230,184,74,0.35));
  opacity: 0.92;
}
.site-header .brand-wordmark strong {
  font-family: "Georgia", "Times New Roman", serif !important;
  font-size: clamp(1.44rem, 1.62vw, 1.82rem) !important;
  line-height: 0.98 !important;
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.46) !important;
  white-space: nowrap !important;
  transform: translateY(-1px);
}
.site-header .nav-shell {
  min-height: 86px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 315px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .site-header .brand-mark img { width: 58px !important; height: 58px !important; }
  .site-header .brand-wordmark { min-height: 52px !important; padding: 10px 18px 10px 20px !important; border-radius: 18px !important; }
  .site-header .brand-wordmark::before { left: 10px; top: 11px; bottom: 11px; }
  .site-header .brand-wordmark strong { font-size: clamp(1.20rem, 2.1vw, 1.48rem) !important; letter-spacing: 0.045em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 49px !important; height: 49px !important; }
  .site-header .brand-wordmark { min-height: 46px !important; padding: 9px 14px 8px 17px !important; border-radius: 16px !important; }
  .site-header .brand-wordmark::before { left: 8px; top: 10px; bottom: 10px; width: 2px; }
  .site-header .brand-wordmark strong { font-size: clamp(1.00rem, 4.2vw, 1.18rem) !important; letter-spacing: 0.035em !important; }
  .site-header .nav-shell { min-height: 70px !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark { padding-right: 12px !important; }
  .site-header .brand-wordmark strong { font-size: 0.98rem !important; letter-spacing: 0.028em !important; }
}


/* FINAL FOOTER BAR — small, clean and premium. Keep it as a quiet ending, not a new section. */
.site-footer {
  padding: 12px 0 14px !important;
  background:
    linear-gradient(180deg, rgba(7,21,19,0.98), rgba(6,17,15,1)) !important;
  color: #fffaf0 !important;
}
.footer-panel {
  width: min(1120px, calc(100% - 48px)) !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 10px 16px !important;
  border-radius: 16px !important;
  background: rgba(255,250,240,0.045) !important;
  border: 1px solid rgba(255,250,240,0.09) !important;
  box-shadow: none !important;
}
.footer-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.footer-brand img {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 999px !important;
  opacity: .96 !important;
}
.footer-brand strong {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: 0.98rem !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
}
.footer-brand p {
  margin: 2px 0 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.15 !important;
  font-weight: 650 !important;
  color: rgba(255,250,240,0.68) !important;
}
.footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  color: rgba(255,250,240,0.62) !important;
}
.footer-bottom a {
  color: rgba(255,250,240,0.76) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(230,184,74,0.35) !important;
}
.footer-bottom a:hover,
.footer-bottom a:focus-visible {
  color: #f2c96a !important;
  border-bottom-color: rgba(242,201,106,0.82) !important;
}
@media (max-width: 760px) {
  .site-footer { padding: 10px 0 12px !important; }
  .footer-panel {
    width: calc(100% - 28px) !important;
    align-items: flex-start !important;
    padding: 12px 14px !important;
    gap: 10px !important;
  }
  .footer-brand img { width: 32px !important; height: 32px !important; flex-basis: 32px !important; }
  .footer-brand strong { font-size: 0.94rem !important; }
  .footer-brand p, .footer-bottom { font-size: 0.90rem !important; }
  .footer-bottom { justify-content: flex-start !important; gap: 8px !important; }
}


/* FINAL HEADER WORDMARK REQUEST — Playfair Display next to logo, no green box.
   Keep the wordmark proud, readable and premium, but remove the plate/background. */
.site-header .brand {
  min-width: clamp(300px, 28vw, 430px) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 0 !important;
}
.site-header .brand-wordmark {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.76rem, 2.05vw, 2.24rem) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  text-transform: none !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.52), 0 1px 0 rgba(255,255,255,0.08) !important;
  white-space: nowrap !important;
  transform: none !important;
}
.site-header .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}
.site-header .brand-mark img {
  width: 65px !important;
  height: 65px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 270px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .site-header .brand-mark img { width: 58px !important; height: 58px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.38rem, 2.5vw, 1.74rem) !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 49px !important; height: 49px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.18rem, 5.0vw, 1.42rem) !important; letter-spacing: 0.01em !important; }
  .site-header .nav-shell { min-height: 70px !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: clamp(1.04rem, 4.6vw, 1.24rem) !important; }
}

/* FINAL FIX: rohekas premium-kast ainult "Merel" tekstiploki taha.
   Headeri logo kõrval olev Hidden Hiiumaa jääb puhas Playfair wordmark, ilma kastita. */
.site-header .brand-wordmark,
.site-header .brand-wordmark strong {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.sea-feature {
  background:
    radial-gradient(circle at 24% 8%, rgba(230, 184, 74, 0.12), transparent 34%),
    linear-gradient(180deg, #fffaf0 0%, #f4ead8 100%) !important;
}

.sea-layout {
  align-items: center !important;
  gap: clamp(32px, 4vw, 56px) !important;
}

.sea-copy {
  position: relative !important;
  padding: clamp(30px, 3.4vw, 46px) !important;
  border-radius: 32px !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(232, 194, 103, 0.16), transparent 32%),
    linear-gradient(145deg, rgba(7, 25, 22, 0.96), rgba(22, 76, 64, 0.88)) !important;
  border: 1px solid rgba(255, 250, 240, 0.16) !important;
  box-shadow: 0 26px 68px rgba(12, 35, 31, 0.22) !important;
  color: #fffaf0 !important;
  overflow: hidden !important;
}

.sea-copy::after {
  content: "" !important;
  position: absolute !important;
  inset: 14px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 250, 240, 0.08) !important;
  pointer-events: none !important;
}

.sea-copy .section-label {
  color: #f1c86a !important;
  text-shadow: none !important;
}

.sea-copy h2 {
  color: #fffaf0 !important;
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.28) !important;
}

.sea-copy p:not(.section-label) {
  color: rgba(255, 250, 240, 0.90) !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}

.sea-points {
  gap: 12px !important;
  margin-top: 20px !important;
}

.sea-points span {
  background: rgba(255, 250, 240, 0.10) !important;
  border: 1px solid rgba(255, 250, 240, 0.16) !important;
  color: #fff6dd !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

@media (max-width: 860px) {
  .sea-copy {
    padding: 26px !important;
    border-radius: 26px !important;
  }
  .sea-copy::after {
    inset: 10px !important;
    border-radius: 20px !important;
  }
}

/* FINAL CORRECTION: Merel pildigalerii parandatud ILMA rohelist tekstikasti kõrgemaks venitamata.
   Reegel: .sea-copy jääb sisu järgi loomulikku kõrgusesse; ainult parempoolsed pildid on cropi/vahedega korrastatud. */
.sea-feature .sea-layout {
  align-items: center !important;
  grid-template-columns: .85fr 1.15fr !important;
  gap: clamp(30px, 3.5vw, 44px) !important;
}
.sea-feature .sea-copy {
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}
.sea-feature .sea-images {
  align-self: center !important;
  display: grid !important;
  grid-template-columns: 1.1fr .8fr !important;
  grid-auto-rows: clamp(154px, 12.2vw, 176px) !important;
  gap: 14px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.sea-feature .sea-photo {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}
.sea-feature .sea-photo-main {
  grid-row: span 2 !important;
}
.sea-feature .sea-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.sea-feature .sea-photo-main img { object-position: 50% 50% !important; }
.sea-feature .sea-photo:nth-child(2) img { object-position: 50% 46% !important; }
.sea-feature .sea-photo:nth-child(3) img { object-position: 50% 54% !important; }
@media (max-width: 860px) {
  .sea-feature .sea-layout { grid-template-columns: 1fr !important; }
  .sea-feature .sea-images {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 14px !important;
  }
  .sea-feature .sea-photo,
  .sea-feature .sea-photo-main {
    grid-row: auto !important;
    min-height: 240px !important;
  }
}



/* FINAL HEADER BRAND: logo kõrval kahe reaga tekst, logo suhtes keskel. No green box. */
.site-header .brand {
  min-width: clamp(355px, 31vw, 470px) !important;
  gap: 14px !important;
  align-items: center !important;
}
.site-header .brand-wordmark {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 64px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(1.52rem, 1.72vw, 1.92rem) !important;
  line-height: 1.02 !important;
  font-weight: 750 !important;
  letter-spacing: 0.018em !important;
  text-transform: none !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.50) !important;
  white-space: nowrap !important;
  transform: none !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
  line-height: 1.06 !important;
  font-weight: 780 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
  color: rgba(246,207,98,0.96) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.42) !important;
  white-space: nowrap !important;
}
.site-header .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}
.site-header .brand-mark img {
  width: 64px !important;
  height: 64px !important;
}
.site-header .nav-shell {
  min-height: 86px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 315px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .site-header .brand-mark img { width: 57px !important; height: 57px !important; }
  .site-header .brand-wordmark { min-height: 58px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.30rem, 2vw, 1.58rem) !important; }
  .site-header .brand-wordmark span { font-size: clamp(0.90rem, 1.3vw, 1.00rem) !important; letter-spacing: 0.045em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 56px !important; height: 56px !important; flex-basis: 56px !important; }
  .site-header .brand-mark img { width: 50px !important; height: 50px !important; }
  .site-header .brand-wordmark { min-height: 52px !important; gap: 2px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.10rem, 4.3vw, 1.28rem) !important; letter-spacing: 0.012em !important; }
  .site-header .brand-wordmark span { font-size: clamp(0.78rem, 3.1vw, 0.90rem) !important; letter-spacing: 0.025em !important; }
  .site-header .nav-shell { min-height: 74px !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 1.08rem !important; }
  .site-header .brand-wordmark span { font-size: 0.76rem !important; }
}

/* FINAL HEADER BRAND 1:1 LOCK — logo kõrval olev tekst kasutab sama puhast premium värvi- ja fondiloogikat.
   Hidden Hiiumaa = Playfair Display / warm white. Subtitle = readable sans / same gold used in Merel label.
   No green box, no capsule, no tiny text. */
.site-header .brand {
  min-width: clamp(390px, 33vw, 500px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 0 !important;
}
.site-header .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 18px !important;
}
.site-header .brand-mark img {
  width: 64px !important;
  height: 64px !important;
}
.site-header .brand-wordmark {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 72px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  display: block !important;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.70rem, 1.95vw, 2.12rem) !important;
  line-height: 0.98 !important;
  font-weight: 700 !important;
  letter-spacing: 0.012em !important;
  text-transform: none !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.50) !important;
  white-space: nowrap !important;
  transform: none !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: clamp(1.02rem, 1.08vw, 1.14rem) !important;
  line-height: 1.08 !important;
  font-weight: 760 !important;
  letter-spacing: 0.052em !important;
  text-transform: none !important;
  color: #f1c86a !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.40) !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 330px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .site-header .brand-mark img { width: 57px !important; height: 57px !important; }
  .site-header .brand-wordmark { min-height: 64px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.40rem, 2.25vw, 1.72rem) !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.98rem, 1.55vw, 1.08rem) !important; letter-spacing: 0.045em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
  .site-header .brand-mark img { width: 52px !important; height: 52px !important; }
  .site-header .brand-wordmark { min-height: 58px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.22rem, 5.0vw, 1.46rem) !important; letter-spacing: 0.010em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.92rem, 3.35vw, 1.00rem) !important; letter-spacing: 0.030em !important; }
  .site-header .nav-shell { min-height: 76px !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 1.18rem !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.90rem !important; letter-spacing: 0.018em !important; }
}


/* FINAL HEADER BRAND REQUEST — restore earlier uppercase wordmark, no Playfair, narrow service line. */
.site-header .brand {
  min-width: clamp(390px, 33vw, 500px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}
.site-header .brand-wordmark {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 3px !important;
  min-height: 70px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: clamp(1.46rem, 1.78vw, 1.86rem) !important;
  line-height: 0.98 !important;
  font-weight: 900 !important;
  letter-spacing: 0.038em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.50) !important;
  white-space: nowrap !important;
  transform: none !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: clamp(0.82rem, 0.82vw, 0.94rem) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  color: #f6cf62 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.42) !important;
  white-space: nowrap !important;
}
.site-header .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}
.site-header .brand-mark img {
  width: 64px !important;
  height: 64px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 330px !important; gap: 12px !important; }
  .site-header .brand-wordmark { min-height: 64px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.30rem, 2vw, 1.56rem) !important; letter-spacing: 0.034em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.76rem, 1.15vw, 0.86rem) !important; letter-spacing: 0.060em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
  .site-header .brand-mark img { width: 52px !important; height: 52px !important; }
  .site-header .brand-wordmark { min-height: 58px !important; gap: 2px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.10rem, 4.7vw, 1.34rem) !important; letter-spacing: 0.030em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.68rem, 2.75vw, 0.80rem) !important; letter-spacing: 0.045em !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 1.08rem !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.68rem !important; letter-spacing: 0.035em !important; }
}


/* FINAL HEADER BRAND — match approved old logo/wordmark exactly: serif uppercase title, white narrow subtitle, no green plate. */
.site-header .brand {
  min-width: clamp(330px, 31vw, 455px) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 0 !important;
}
.site-header .brand-mark {
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(7, 18, 18, 0.54) !important;
  border: 1px solid rgba(255, 250, 240, 0.26) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,0.24),
    inset 0 1px 0 rgba(255,255,255,0.16) !important;
}
.site-header .brand-mark img {
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 2px !important;
  min-height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  font-family: var(--display) !important;
  font-size: clamp(1.46rem, 1.72vw, 1.82rem) !important;
  line-height: 0.96 !important;
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 15px rgba(0,0,0,0.52) !important;
  white-space: nowrap !important;
  transform: none !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: clamp(0.94rem, 0.96vw, 1.04rem) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.48) !important;
  white-space: nowrap !important;
}
.site-header .nav-shell {
  min-height: 78px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 290px !important; gap: 10px !important; }
  .site-header .brand-mark { width: 60px !important; height: 60px !important; flex-basis: 60px !important; }
  .site-header .brand-mark img { width: 54px !important; height: 54px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.18rem, 2.1vw, 1.42rem) !important; letter-spacing: 0.048em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.80rem, 1.25vw, 0.92rem) !important; letter-spacing: 0.045em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 48px !important; height: 48px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.02rem, 4vw, 1.16rem) !important; letter-spacing: 0.038em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.68rem, 2.6vw, 0.78rem) !important; letter-spacing: 0.035em !important; }
  .site-header .nav-shell { min-height: 68px !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 0.98rem !important; letter-spacing: 0.03em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.64rem !important; letter-spacing: 0.025em !important; }
}


/* FINAL HEADER BRAND FIX — clean 10/10 wordmark: big brand, narrower calm subtitle centered underneath. */
.site-header .brand {
  min-width: clamp(340px, 33vw, 500px) !important;
  gap: 13px !important;
  align-items: center !important;
}
.site-header .brand-mark {
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  border-radius: 999px !important;
}
.site-header .brand-mark img {
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 62px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  display: block !important;
  font-family: var(--display) !important;
  font-size: clamp(1.66rem, 1.95vw, 2.08rem) !important;
  line-height: 0.92 !important;
  font-weight: 720 !important;
  letter-spacing: 0.060em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.54) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  width: max-content !important;
  max-width: 86% !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-family: var(--sans) !important;
  font-size: clamp(0.76rem, 0.78vw, 0.88rem) !important;
  line-height: 1.08 !important;
  font-weight: 640 !important;
  letter-spacing: 0.085em !important;
  text-transform: none !important;
  color: rgba(255,250,240,0.72) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.42) !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 300px !important; gap: 11px !important; }
  .site-header .brand-mark { width: 60px !important; height: 60px !important; flex-basis: 60px !important; }
  .site-header .brand-mark img { width: 54px !important; height: 54px !important; }
  .site-header .brand-wordmark { min-height: 56px !important; gap: 4px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.28rem, 2.2vw, 1.56rem) !important; letter-spacing: 0.050em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.70rem, 1.15vw, 0.80rem) !important; letter-spacing: 0.060em !important; max-width: 88% !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 48px !important; height: 48px !important; }
  .site-header .brand-wordmark { min-height: 52px !important; gap: 3px !important; align-items: flex-start !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.06rem, 4.4vw, 1.20rem) !important; letter-spacing: 0.040em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { margin: 0 !important; max-width: none !important; font-size: clamp(0.64rem, 2.55vw, 0.72rem) !important; letter-spacing: 0.035em !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 0.98rem !important; letter-spacing: 0.030em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.60rem !important; letter-spacing: 0.020em !important; }
}

/* FINAL HEADER BRAND REQUEST — clean 2-line brand, no box.
   Top line is the brand. Subtitle is centered underneath and visually shorter. */
.site-header .brand {
  min-width: clamp(330px, 30vw, 455px) !important;
  gap: 14px !important;
  align-items: center !important;
}
.site-header .brand-mark {
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 42% 28%, rgba(255,250,240,0.14), rgba(255,250,240,0.04) 44%, transparent 64%),
    rgba(9, 22, 21, 0.56) !important;
  border: 1px solid rgba(255,250,240,0.25) !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.14) !important;
}
.site-header .brand-mark img {
  width: 61px !important;
  height: 61px !important;
  object-fit: contain !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  display: none !important;
  content: none !important;
}
.site-header .brand-wordmark strong {
  font-family: var(--display) !important;
  font-size: clamp(1.50rem, 1.72vw, 1.92rem) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 2px 13px rgba(0,0,0,0.46) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  font-family: var(--sans) !important;
  font-size: clamp(0.80rem, 0.78vw, 0.94rem) !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
  color: rgba(255,250,240,0.72) !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.38) !important;
  transform: scaleX(0.86) !important;
  transform-origin: center center !important;
}
.site-header .nav-shell {
  min-height: 82px !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 295px !important; gap: 12px !important; }
  .site-header .brand-mark { width: 60px !important; height: 60px !important; flex-basis: 60px !important; }
  .site-header .brand-mark img { width: 54px !important; height: 54px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.20rem, 2.15vw, 1.42rem) !important; letter-spacing: 0.04em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.72rem, 1.25vw, 0.82rem) !important; transform: scaleX(0.84) !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 10px !important; }
  .site-header .brand-mark { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
  .site-header .brand-mark img { width: 49px !important; height: 49px !important; }
  .site-header .brand-wordmark { gap: 4px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.02rem, 4.1vw, 1.18rem) !important; letter-spacing: 0.032em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: clamp(0.62rem, 2.75vw, 0.72rem) !important; letter-spacing: 0.025em !important; transform: scaleX(0.82) !important; }
  .site-header .nav-shell { min-height: 70px !important; }
}


/* FINAL SINGLE CHANGE — header brand lowercase as requested. */
.site-header .brand-wordmark strong {
  text-transform: none !important;
  letter-spacing: 0.012em !important;
  font-family: var(--display) !important;
  font-weight: 700 !important;
}
@media (max-width: 760px) {
  .site-header .brand-wordmark strong {
    text-transform: none !important;
    letter-spacing: 0.006em !important;
  }
}


/* FINAL HEADER BRAND STEP — one thing at a time.
   Brand name in lower-case lettering; subtitle uppercase, smaller, centered under it. */
.site-header .brand {
  min-width: clamp(330px, 30vw, 460px) !important;
  gap: 14px !important;
  align-items: center !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
  text-align: center !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.62rem, 1.95vw, 2.05rem) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: 0.018em !important;
  text-transform: none !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 16px rgba(0,0,0,0.52) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: block !important;
  width: max-content !important;
  max-width: 92% !important;
  margin: 0 auto !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(0.82rem, 0.78vw, 0.94rem) !important;
  line-height: 1.05 !important;
  font-weight: 750 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  color: rgba(255,250,240,0.78) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.50) !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 300px !important; gap: 12px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.36rem, 2.3vw, 1.62rem) !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.78rem !important; letter-spacing: 0.055em !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.08rem, 4.3vw, 1.28rem) !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.68rem !important; letter-spacing: 0.04em !important; }
}

/* FINAL SINGLE CHANGE — make header subtitle font visibly narrower, keeping size/readability. */
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  font-family: "Arial Narrow", "Inter", "Segoe UI Condensed", "Segoe UI", Arial, sans-serif !important;
  font-stretch: condensed !important;
  font-size: clamp(0.82rem, 0.78vw, 0.94rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0.052em !important;
  transform: scaleX(0.82) !important;
  transform-origin: center center !important;
  color: rgba(255,250,240,0.78) !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] {
    font-size: 0.78rem !important;
    letter-spacing: 0.045em !important;
    transform: scaleX(0.80) !important;
  }
}
@media (max-width: 760px) {
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] {
    font-size: 0.68rem !important;
    letter-spacing: 0.035em !important;
    transform: scaleX(0.80) !important;
  }
}


/* FINAL HEADER BRAND — requested exact text: Hidden-Hiiumaa.
   One clean two-line logo lock: larger title-case brand, narrower centered subtitle underneath. */
.site-header .brand {
  min-width: clamp(350px, 31vw, 480px) !important;
  gap: 14px !important;
  align-items: center !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 58px !important;
  text-align: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  display: block !important;
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.78rem, 2.08vw, 2.20rem) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: 0.012em !important;
  text-transform: none !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 16px rgba(0,0,0,0.52) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-family: "Arial Narrow", "Inter", "Segoe UI Condensed", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(0.80rem, 0.76vw, 0.92rem) !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
  letter-spacing: 0.052em !important;
  text-transform: uppercase !important;
  color: rgba(255,250,240,0.78) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.48) !important;
  white-space: nowrap !important;
  transform: scaleX(0.78) !important;
  transform-origin: center center !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 312px !important; gap: 12px !important; }
  .site-header .brand-wordmark { min-height: 54px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.42rem, 2.45vw, 1.70rem) !important; letter-spacing: 0.010em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.76rem !important; letter-spacing: 0.044em !important; transform: scaleX(0.76) !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-wordmark { min-height: 50px !important; gap: 3px !important; align-items: center !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.16rem, 4.8vw, 1.36rem) !important; letter-spacing: 0.006em !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.66rem !important; letter-spacing: 0.028em !important; transform: scaleX(0.74) !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 1.06rem !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.60rem !important; letter-spacing: 0.018em !important; transform: scaleX(0.72) !important; }
}


/* FINAL HEADER BRAND FIX — brand text must work as a logo mark.
   Requested: "hidden hiiumaa" without hyphen; subtitle order: MAJUTUS KALASTUS PAADIREISID.
   Header only. */
.site-header .brand {
  min-width: clamp(350px, 31vw, 470px) !important;
  gap: 14px !important;
  align-items: center !important;
}
.site-header .brand-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: center !important;
}
.site-header .brand-wordmark::before,
.site-header .brand-wordmark::after {
  content: none !important;
  display: none !important;
}
.site-header .brand-wordmark strong {
  display: block !important;
  font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.86rem, 2.14vw, 2.26rem) !important;
  line-height: 0.92 !important;
  font-weight: 700 !important;
  letter-spacing: 0.004em !important;
  text-transform: lowercase !important;
  color: #fffaf0 !important;
  text-shadow: 0 3px 16px rgba(0,0,0,0.50) !important;
  white-space: nowrap !important;
}
.site-header .brand-wordmark span,
.site-header [data-i18n="brand.subtitle"] {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto !important;
  font-family: "Arial Narrow", "Inter", "Segoe UI Condensed", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(0.78rem, 0.75vw, 0.90rem) !important;
  line-height: 1.05 !important;
  font-weight: 560 !important;
  letter-spacing: 0.050em !important;
  text-transform: uppercase !important;
  color: rgba(255,250,240,0.76) !important;
  text-shadow: 0 2px 9px rgba(0,0,0,0.46) !important;
  white-space: nowrap !important;
  transform: scaleX(0.76) !important;
  transform-origin: center center !important;
}
@media (max-width: 1050px) {
  .site-header .brand { min-width: 306px !important; gap: 12px !important; }
  .site-header .brand-wordmark { min-height: 54px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.46rem, 2.55vw, 1.72rem) !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.74rem !important; letter-spacing: 0.040em !important; transform: scaleX(0.72) !important; }
}
@media (max-width: 760px) {
  .site-header .brand { min-width: 0 !important; gap: 9px !important; }
  .site-header .brand-wordmark { min-height: 50px !important; gap: 3px !important; }
  .site-header .brand-wordmark strong { font-size: clamp(1.18rem, 4.8vw, 1.38rem) !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.64rem !important; letter-spacing: 0.020em !important; transform: scaleX(0.68) !important; }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong { font-size: 1.08rem !important; }
  .site-header .brand-wordmark span,
  .site-header [data-i18n="brand.subtitle"] { font-size: 0.58rem !important; letter-spacing: 0.012em !important; transform: scaleX(0.64) !important; }
}

/* Header identity: clear uppercase brand and a readable primary menu. */
.site-header .brand-wordmark strong {
  font-family: "Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.58rem, 1.82vw, 2rem) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #fffdf7 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5) !important;
}
.site-header .nav-links a {
  font-family: "Arial Narrow", "Roboto Condensed", "Segoe UI", Arial, sans-serif !important;
  font-stretch: condensed !important;
  font-weight: 500 !important;
  letter-spacing: 0.045em !important;
  text-transform: lowercase !important;
  color: #fffdf7 !important;
}
@media (max-width: 1050px) {
  .site-header .brand-wordmark strong {
    font-size: clamp(1.28rem, 2.15vw, 1.55rem) !important;
    letter-spacing: 0.055em !important;
  }
}
@media (max-width: 760px) {
  .site-header .brand-wordmark strong {
    font-size: clamp(1.02rem, 4vw, 1.2rem) !important;
    letter-spacing: 0.04em !important;
  }
}
@media (max-width: 430px) {
  .site-header .brand-wordmark strong {
    font-size: 0.96rem !important;
    letter-spacing: 0.03em !important;
  }
}

/* Hero message: concise two-line promise instead of an oversized brand repeat. */
.hero-title {
  width: auto !important;
  max-width: 920px !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(3.7rem, 6.3vw, 6.5rem) !important;
  line-height: 0.9 !important;
  font-weight: 600 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  text-align: left !important;
}
.hero-title span + span {
  margin-top: 0.08em !important;
}
.hero-lead {
  margin-top: 24px !important;
  font-size: clamp(1.3rem, 1.55vw, 1.65rem) !important;
  font-weight: 760 !important;
}
@media (max-width: 760px) {
  .hero-title {
    font-size: clamp(3rem, 12.5vw, 4.8rem) !important;
    line-height: 0.92 !important;
  }
  .hero-lead {
    font-size: 1.18rem !important;
  }
}

/* Header brand: one centered, lighter wordmark beside the logo. */
.site-header .brand {
  min-width: clamp(335px, 29vw, 440px) !important;
}
.site-header .brand-wordmark {
  flex: 1 1 auto !important;
  min-height: 68px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  text-align: center !important;
}
.site-header .brand-wordmark strong {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.7rem, 1.95vw, 2.08rem) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.105em !important;
  text-transform: uppercase !important;
}
@media (max-width: 1050px) {
  .site-header .brand {
    min-width: 295px !important;
  }
  .site-header .brand-wordmark {
    min-height: 60px !important;
  }
  .site-header .brand-wordmark strong {
    font-size: clamp(1.32rem, 2.2vw, 1.58rem) !important;
    letter-spacing: 0.085em !important;
  }
}
@media (max-width: 760px) {
  .site-header .brand {
    min-width: 0 !important;
  }
  .site-header .brand-wordmark {
    min-height: 54px !important;
    padding-right: 0 !important;
  }
  .site-header .brand-wordmark strong {
    font-size: clamp(1.04rem, 4.1vw, 1.2rem) !important;
    letter-spacing: 0.065em !important;
  }
}

/* Polished navigation bar: balanced brand, menu and language controls. */
.site-header .nav-shell {
  width: min(1120px, calc(100% - 32px)) !important;
  min-height: 76px !important;
  padding: 7px 8px !important;
  border: 1px solid rgba(255, 245, 221, 0.2) !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(29, 37, 32, 0.91), rgba(16, 27, 24, 0.9)),
    radial-gradient(circle at 15% 0%, rgba(225, 185, 106, 0.1), transparent 42%) !important;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.09) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}
.site-header .brand {
  min-width: 365px !important;
  gap: 14px !important;
}
.site-header .brand-mark {
  width: 60px !important;
  height: 60px !important;
  flex-basis: 60px !important;
  border-color: rgba(239, 199, 124, 0.38) !important;
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.22) !important;
}
.site-header .brand-mark img {
  width: 54px !important;
  height: 54px !important;
}
.site-header .brand-wordmark {
  min-height: 60px !important;
}
.site-header .brand-wordmark strong {
  font-size: clamp(1.62rem, 1.75vw, 1.88rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
}
.site-header .nav-links {
  gap: 3px !important;
  margin-left: auto !important;
}
.site-header .nav-links > a {
  min-height: 42px !important;
  padding: 11px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  font-family: "Arial Narrow", "Roboto Condensed", "Segoe UI", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.045em !important;
  color: rgba(255, 253, 247, 0.88) !important;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease !important;
}
.site-header .nav-links > a:hover,
.site-header .nav-links > a:focus-visible {
  color: #fffdf7 !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border-color: rgba(255, 245, 221, 0.11) !important;
}
.site-header .language-switch {
  min-height: 42px !important;
  margin-left: 7px !important;
  padding: 3px !important;
  gap: 2px !important;
  border-color: rgba(255, 245, 221, 0.16) !important;
  border-radius: 10px !important;
  background: rgba(0, 0, 0, 0.12) !important;
}
.site-header .language-switch button {
  min-width: 39px !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
  font-size: 0.82rem !important;
  font-weight: 650 !important;
}
.site-header .language-switch button.is-active {
  color: #18302a !important;
  background: #f6eddd !important;
}
@media (max-width: 1050px) {
  .site-header .nav-shell {
    width: calc(100% - 20px) !important;
  }
  .site-header .brand {
    min-width: 285px !important;
  }
  .site-header .nav-links > a {
    padding-inline: 10px !important;
    font-size: 0.92rem !important;
  }
  .site-header .language-switch {
    margin-left: 3px !important;
  }
}
@media (max-width: 860px) {
  .site-header .nav-shell {
    min-height: 68px !important;
    padding: 6px 8px !important;
    border-radius: 13px !important;
  }
  .site-header .brand {
    min-width: 0 !important;
  }
  .site-header .nav-links {
    gap: 4px !important;
    padding: 10px !important;
    border-radius: 13px !important;
    background: rgba(13, 25, 22, 0.98) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28) !important;
  }
  .site-header .nav-links > a {
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 13px 14px !important;
  }
  .site-header .language-switch {
    width: 100% !important;
    margin: 4px 0 0 !important;
  }
}

/* Accommodation choices: make the two rooms and their comfort level unmistakable. */
.room-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.room-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 17px;
  border: 1px solid rgba(24, 46, 40, 0.13);
  border-radius: 17px;
  background: #f6efe2;
}
.room-option--full {
  background: linear-gradient(145deg, #edf2e9, #f8f2e7);
}
.room-option > span {
  color: #8b641f;
  font-family: var(--sans);
  font-size: 0.78rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.room-option h3 {
  margin: 7px 0 6px;
  color: #14241f;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 1.5vw, 1.65rem);
  line-height: 1;
  font-weight: 650;
}
.stay-content .room-option p:not(.section-label) {
  margin: 0 0 14px;
  color: #40514b !important;
  font-size: 0.94rem !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
}
.stay-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
  padding: 14px 17px;
  border: 1px solid rgba(154, 107, 34, 0.22);
  border-radius: 16px;
  background: linear-gradient(135deg, #173d35, #24584d);
  color: #fffaf0;
}
.stay-price span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-family: var(--sans);
  font-size: 0.94rem;
  font-weight: 750;
  letter-spacing: 0.025em;
}
.stay-price span b {
  font-weight: 800;
}
.stay-price span small {
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.77rem;
  font-weight: 600;
}
.stay-price strong {
  flex: 0 0 auto;
  color: #ffd66e;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 1.6vw, 1.7rem);
  line-height: 1;
}
.stay-content > .button-dark {
  width: 100%;
  justify-content: center;
}
@media (min-width: 861px) {
  .stay-layout {
    align-items: start !important;
  }
  .stay-media.stay-gallery {
    position: relative !important;
    top: auto !important;
  }
}
@media (max-width: 560px) {
  .room-options {
    grid-template-columns: 1fr;
  }
  .stay-price {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
}

/* Accommodation flow: gallery first, then the room and booking details. */
.stay-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
.stay-media.stay-gallery {
      width: min(100%, 660px) !important;
      margin-inline: auto !important;
      position: relative !important;
      top: auto !important;
  }
.stay-media.stay-gallery .stay-gallery__image {
    width: 100% !important;
    min-height: 330px !important;
    height: clamp(330px, 31vw, 410px) !important;
}
.stay-gallery__thumbs {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 82, 70, 0.52) rgba(24, 46, 40, 0.08);
  background: #f8f2e7;
  border-top: 1px solid rgba(24, 46, 40, 0.12);
}
.stay-gallery__thumb {
  display: block !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 48px !important;
  padding: 2px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 11px !important;
  background: rgba(24, 46, 40, 0.08) !important;
  opacity: 0.72 !important;
  cursor: pointer !important;
}
.stay-gallery__thumb:hover,
.stay-gallery__thumb:focus-visible {
  opacity: 1 !important;
  border-color: rgba(31, 82, 70, 0.45) !important;
  transform: translateY(-1px) !important;
}
.stay-gallery__thumb.is-active {
  opacity: 1 !important;
  border-color: #b6842f !important;
  box-shadow: 0 4px 12px rgba(24, 46, 40, 0.18) !important;
}
.stay-media.stay-gallery .stay-gallery__thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 7px !important;
  object-fit: cover !important;
}
.stay-content {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
  column-gap: 18px !important;
  row-gap: 15px !important;
}
.stay-content > .section-label,
.stay-content > h2,
.stay-content > p,
.stay-content > .room-options,
.stay-content > .button-dark {
  grid-column: 1 / -1 !important;
}
.stay-content > h2 {
  max-width: 860px !important;
}
.stay-content > p:not(.section-label) {
  max-width: 900px !important;
  margin: 0 0 2px !important;
}
.room-options {
  margin: 4px 0 0 !important;
}
.stay-price {
  grid-column: 1 !important;
  min-height: 100% !important;
  margin: 0 !important;
}
.booking-rating {
  grid-column: 2 !important;
  min-height: 100% !important;
  margin: 0 !important;
}
.stay-mini-facts {
  grid-column: 1 / -1 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.stay-mini-facts li {
  flex: 1 1 180px;
  padding: 10px 12px;
  border: 1px solid rgba(24, 46, 40, 0.12);
  border-radius: 999px;
  background: #f4ecdd;
  color: #263b35;
  font-family: var(--sans);
  font-size: 0.88rem;
  line-height: 1.25;
  font-weight: 720;
  text-align: center;
}
@media (max-width: 760px) {
  .stay-media.stay-gallery {
      width: 100% !important;
      margin-inline: auto !important;
  }
  .stay-media.stay-gallery .stay-gallery__image {
      min-height: 280px !important;
      height: 58vw !important;
  }
  .stay-content {
    grid-template-columns: 1fr !important;
  }
  .stay-gallery__thumb {
    flex-basis: 64px !important;
    width: 64px !important;
    height: 44px !important;
  }
  .stay-price,
  .booking-rating {
    grid-column: 1 !important;
  }
  .stay-mini-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .stay-mini-facts li {
    border-radius: 14px;
    text-align: left;
  }
}

/* Final responsive polish: compact brand, gallery and inquiry flow. */
@media (max-width: 760px) {
  .site-header .nav-shell {
    overflow: hidden !important;
  }
  .site-header .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 46px) !important;
    gap: 10px !important;
  }
  .site-header .brand-mark {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
  }
  .site-header .brand-initials {
    font-size: 1.14rem !important;
    letter-spacing: 0.08em !important;
  }
  .site-header .brand-wordmark {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 52px !important;
  }
  .site-header .brand-wordmark strong {
    font-size: clamp(0.96rem, 4.5vw, 1.14rem) !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
  }
  .site-header .nav-toggle {
    flex: 0 0 38px !important;
  }
  .stay-feature {
    overflow-x: clip !important;
  }
  .stay-gallery__thumbs {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .photo-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .photo-tile,
  .photo-tile-large {
    min-height: 172px !important;
    border-radius: 16px !important;
  }
  .photo-tile-large {
    grid-column: 1 / -1 !important;
    min-height: 265px !important;
  }
  .photo-tile figcaption {
    left: 9px !important;
    right: 9px !important;
    bottom: 9px !important;
    width: fit-content !important;
    max-width: calc(100% - 18px) !important;
    padding: 7px 9px !important;
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
  }
  .form-row.form-row-compact {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
    gap: 9px !important;
  }
  .form-row.form-row-compact input {
    padding-inline: 11px !important;
  }
}

@media (max-width: 360px) {
  .site-header .brand-mark {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
  }
  .site-header .brand-wordmark strong {
    font-size: 0.88rem !important;
    letter-spacing: 0.045em !important;
  }
  .form-row.form-row-compact {
    grid-template-columns: 1fr !important;
  }
}

/* Final visual balance: lighter header, compact HH mark and shorter accommodation layout. */
.site-header .nav-shell {
  background:
    linear-gradient(180deg, rgba(43, 52, 47, 0.93), rgba(29, 41, 37, 0.92)),
    radial-gradient(circle at 15% 0%, rgba(225, 185, 106, 0.11), transparent 42%) !important;
}
body.has-scrolled .site-header .nav-shell {
  background:
    linear-gradient(180deg, rgba(40, 50, 45, 0.95), rgba(26, 38, 34, 0.94)),
    radial-gradient(circle at 15% 0%, rgba(225, 185, 106, 0.1), transparent 42%) !important;
}
.site-header .brand-mark {
  border: 1.5px solid rgba(255, 255, 255, 0.92) !important;
  background: rgba(255, 255, 255, 0.025) !important;
}
.site-header .brand-initials {
  color: #efc765 !important;
  letter-spacing: 0.015em !important;
  transform: translateX(0.01em) !important;
}

@media (min-width: 861px) {
  .stay-layout {
    grid-template-columns: minmax(400px, 0.88fr) minmax(0, 1.12fr) !important;
    gap: clamp(28px, 3.2vw, 46px) !important;
  }
  .stay-media.stay-gallery {
    width: min(100%, 560px) !important;
    margin-inline: 0 !important;
  }
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 300px !important;
    height: clamp(300px, 27vw, 360px) !important;
  }
  .stay-content {
    align-content: start !important;
  }
}

@media (max-width: 860px) {
  .stay-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .stay-media.stay-gallery {
    width: min(100%, 500px) !important;
    margin-inline: auto !important;
  }
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
  .stay-gallery__caption {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    min-height: 50px !important;
    padding: 11px 15px !important;
  }
  .stay-gallery__thumbs {
    display: none !important;
  }
}

/* Phone photos: keep sunset warmth without the strongest red/orange cast. */
@media (max-width: 560px) {
  .service-card img[src$="boats-sunset.webp"],
  .photo-tile img[src$="boats-sunset.webp"] {
    filter: saturate(0.84) contrast(1.01) brightness(1.02) !important;
  }

  .stay-media.stay-gallery .stay-gallery__image[src$="hot-tub-deck.webp"] {
    filter: saturate(0.88) contrast(1.01) brightness(1.02) !important;
  }
}

/* Accommodation final: one clear premium offer instead of a long information list. */
.stay-feature {
  position: relative !important;
  overflow: hidden !important;
  padding-block: clamp(58px, 6vw, 92px) !important;
  background:
    radial-gradient(circle at 10% 6%, rgba(228, 187, 103, 0.20), transparent 30%),
    radial-gradient(circle at 92% 86%, rgba(34, 84, 72, 0.09), transparent 32%),
    linear-gradient(180deg, #fffaf1 0%, #f1e7d7 100%) !important;
}
.stay-feature::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  width: 420px !important;
  height: 420px !important;
  right: -250px !important;
  top: -210px !important;
  border: 1px solid rgba(31, 73, 63, 0.10) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
.stay-layout {
  position: relative !important;
  z-index: 1 !important;
  grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr) !important;
  gap: clamp(26px, 3.4vw, 52px) !important;
  align-items: stretch !important;
}
.stay-media.stay-gallery {
  width: 100% !important;
  max-width: 590px !important;
  margin: 0 !important;
  align-self: stretch !important;
  padding: 0 !important;
  border: 1px solid rgba(24, 46, 40, 0.16) !important;
  border-radius: 30px !important;
  background: #10221e !important;
  box-shadow: 0 28px 70px rgba(19, 38, 32, 0.20) !important;
}
.stay-gallery__stage {
  height: 100% !important;
  min-height: 100% !important;
  border-radius: 30px !important;
}
.stay-media.stay-gallery .stay-gallery__image {
  width: 100% !important;
  min-height: 500px !important;
  height: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
}
.stay-gallery__caption {
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  min-height: 58px !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  background: rgba(7, 25, 21, 0.78) !important;
  border-color: rgba(255, 250, 240, 0.20) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,0.18) !important;
}
.stay-content {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: clamp(25px, 2.6vw, 36px) !important;
  border: 1px solid rgba(24, 46, 40, 0.13) !important;
  border-radius: 30px !important;
  background: rgba(255, 253, 248, 0.97) !important;
  color: #14241f !important;
  box-shadow: 0 24px 64px rgba(29, 45, 39, 0.13) !important;
}
.stay-intro {
  padding-bottom: 2px;
}
.stay-content .stay-intro .section-label {
  margin: 0 0 9px !important;
  color: #9a6b22 !important;
  text-shadow: none !important;
}
.stay-content .stay-intro h2 {
  max-width: 760px !important;
  margin: 0 !important;
  color: #12251f !important;
  font-family: var(--display) !important;
  font-size: clamp(2.55rem, 3.6vw, 4rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.025em !important;
  text-shadow: none !important;
}
.stay-content .stay-intro > p:not(.section-label) {
  max-width: 760px !important;
  margin: 14px 0 0 !important;
  color: #43534d !important;
  font-size: clamp(1rem, 1.05vw, 1.12rem) !important;
  line-height: 1.5 !important;
  font-weight: 620 !important;
  text-shadow: none !important;
}
.stay-content .room-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
}
.stay-content .room-option {
  min-height: 230px !important;
  padding: 19px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(24, 55, 47, 0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.70) !important;
}
.stay-content .room-option--full {
  background: linear-gradient(145deg, #e9f0e9, #f8f1e5) !important;
}
.stay-content .room-option--simple {
  background: linear-gradient(145deg, #f8f0e1, #f2e5d1) !important;
}
.room-option__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.room-option__top > span {
  color: #8a641f !important;
  font-family: var(--sans) !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}
.room-option__top > b {
  color: rgba(20, 48, 40, 0.22);
  font-family: var(--display);
  font-size: 1.55rem;
  line-height: 0.85;
  font-weight: 700;
}
.stay-content .room-option h3 {
  margin: 10px 0 7px !important;
  color: #142a24 !important;
  font-size: clamp(1.55rem, 1.7vw, 1.9rem) !important;
  line-height: 1 !important;
}
.stay-content .room-option p:not(.section-label) {
  margin: 0 0 13px !important;
  color: #4a5b54 !important;
  font-size: 0.93rem !important;
  line-height: 1.38 !important;
  font-weight: 600 !important;
}
.room-option__features {
  display: grid;
  gap: 7px;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}
.room-option__features li {
  position: relative;
  padding-left: 17px;
  color: #263d36;
  font-family: var(--sans);
  font-size: 0.84rem;
  line-height: 1.3;
  font-weight: 720;
}
.room-option__features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b6842f;
  box-shadow: 0 0 0 3px rgba(182, 132, 47, 0.12);
}
.stay-offer {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 12px;
}
.stay-content .stay-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 144px !important;
  margin: 0 !important;
  padding: 19px !important;
  border: 1px solid rgba(16, 49, 41, 0.28) !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(239, 199, 101, 0.15), transparent 42%),
    linear-gradient(145deg, #102d26, #1e5145) !important;
  box-shadow: 0 16px 34px rgba(16, 45, 38, 0.16) !important;
}
.stay-price span {
  gap: 4px !important;
}
.stay-price span b {
  color: #fffaf0 !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
}
.stay-price span small {
  color: rgba(255, 250, 240, 0.68) !important;
  font-size: 0.76rem !important;
}
.stay-content .stay-price strong {
  color: #f3cb68 !important;
  font-family: var(--display) !important;
  font-size: clamp(2rem, 2.4vw, 2.65rem) !important;
  line-height: 0.95 !important;
}
.stay-content .booking-rating {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 144px !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid rgba(154, 107, 34, 0.18) !important;
  border-radius: 19px !important;
  background: linear-gradient(145deg, #fff8ea, #f7ead3) !important;
}
.booking-rating__score {
  width: 64px !important;
  height: 64px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #e5b84a, #f2d27a) !important;
  color: #193229 !important;
  box-shadow: 0 10px 24px rgba(154, 107, 34, 0.16) !important;
}
.booking-rating__body {
  min-width: 0;
}
.booking-rating__body span {
  color: #7e632d !important;
  font-size: 0.76rem !important;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.booking-rating__body strong {
  color: #172d27 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}
.booking-rating__body small {
  color: #56655f !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
}
.booking-rating__link {
  grid-column: 2 !important;
  justify-self: start;
  color: #183d33 !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.stay-content .stay-mini-facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.stay-content .stay-mini-facts li {
  position: relative;
  min-width: 0;
  padding: 11px 12px 11px 34px !important;
  border: 1px solid rgba(24, 46, 40, 0.11) !important;
  border-radius: 13px !important;
  background: #f6efe3 !important;
  color: #294038 !important;
  font-size: 0.84rem !important;
  line-height: 1.25 !important;
  font-weight: 740 !important;
  text-align: left !important;
}
.stay-content .stay-mini-facts li::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 9px;
  height: 9px;
  border: 2px solid #2d6657;
  border-radius: 50%;
  transform: translateY(-50%);
}
.stay-cta {
  display: grid;
  gap: 7px;
}
.stay-cta .button {
  width: 100% !important;
  min-height: 56px !important;
  justify-content: center !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #d9aa3d, #efcd70) !important;
  border-color: rgba(156, 111, 27, 0.35) !important;
  color: #142b24 !important;
  box-shadow: 0 15px 30px rgba(157, 111, 27, 0.18) !important;
}
.stay-cta small {
  color: #6a756f;
  font-family: var(--sans);
  font-size: 0.75rem;
  line-height: 1.3;
  font-weight: 650;
  text-align: center;
}

@media (max-width: 1060px) and (min-width: 861px) {
  .stay-layout {
    grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.18fr) !important;
  }
  .stay-content .room-options,
  .stay-offer {
    grid-template-columns: 1fr !important;
  }
  .stay-content .room-option {
    min-height: 0 !important;
  }
}

@media (max-width: 860px) {
  .stay-feature {
    padding-block: 48px !important;
  }
  .stay-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .stay-media.stay-gallery {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    margin-inline: auto !important;
  }
  .stay-gallery__stage {
    min-height: 0 !important;
  }
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
  .stay-content {
    max-width: 620px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 620px) {
  .stay-content {
    gap: 13px !important;
    padding: 21px !important;
    border-radius: 24px !important;
  }
  .stay-content .stay-intro h2 {
    font-size: clamp(2.15rem, 9.6vw, 2.85rem) !important;
    line-height: 0.98 !important;
  }
  .stay-content .room-options,
  .stay-offer {
    grid-template-columns: 1fr !important;
  }
  .stay-content .room-option {
    min-height: 0 !important;
    padding: 17px !important;
  }
  .stay-content .stay-price,
  .stay-content .booking-rating {
    min-height: 132px !important;
  }
  .stay-content .stay-mini-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .stay-content .stay-mini-facts li {
    padding: 10px 9px 10px 29px !important;
    font-size: 0.78rem !important;
  }
  .stay-content .stay-mini-facts li::before {
    left: 10px;
  }
  .stay-cta .button {
    min-height: 54px !important;
    padding-inline: 14px !important;
    font-size: 0.96rem !important;
  }
}

/* Header identity: use the supplied complete Hidden Hiiumaa logo. */
.site-header .brand {
  min-width: 355px !important;
  gap: 0 !important;
  padding: 0 10px 0 6px !important;
}
.site-header .brand-logo {
  display: block;
  width: min(330px, 100%);
  height: auto;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 1050px) {
  .site-header .brand {
    min-width: 285px !important;
  }
  .site-header .brand-logo {
    width: min(276px, 100%);
  }
}

@media (max-width: 860px) {
  .site-header .brand {
    min-width: 0 !important;
    padding-left: 4px !important;
  }
  .site-header .brand-logo {
    width: min(248px, 100%);
    max-height: 48px;
  }
}

@media (max-width: 430px) {
  .site-header .brand-logo {
    width: min(220px, 100%);
    max-height: 42px;
  }
}

@media (max-width: 360px) {
  .site-header .brand-logo {
    width: min(198px, 100%);
  }
}

/* Final premium navigation pass for the gold Hidden Hiiumaa logo. */
.site-header .nav-shell {
  min-height: 84px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255, 211, 116, 0.34) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 206, 94, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(29, 43, 37, 0.96), rgba(11, 25, 21, 0.94)) !important;
  box-shadow:
    0 22px 54px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 248, 226, 0.14),
    inset 0 -1px 0 rgba(255, 211, 116, 0.10) !important;
}

body.has-scrolled .site-header .nav-shell {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 206, 94, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(24, 37, 32, 0.97), rgba(8, 21, 18, 0.96)) !important;
}

.site-header .brand {
  min-width: 380px !important;
  padding: 0 12px 0 8px !important;
}

.site-header .brand-logo {
  width: min(350px, 100%) !important;
  max-height: 64px !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.18));
}

.site-header .nav-links > a {
  color: rgba(255, 250, 240, 0.90) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.075em !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24) !important;
}

.site-header .nav-links > a:hover,
.site-header .nav-links > a:focus-visible {
  color: #fffaf0 !important;
  background: rgba(255, 211, 116, 0.10) !important;
  border-color: rgba(255, 211, 116, 0.22) !important;
}

.site-header .language-switch {
  border-color: rgba(255, 211, 116, 0.22) !important;
  background: rgba(0, 0, 0, 0.16) !important;
}

.site-header .language-switch button.is-active {
  color: #10241f !important;
  background: linear-gradient(180deg, #fff6dc, #e5bd63) !important;
}

@media (max-width: 1050px) {
  .site-header .brand {
    min-width: 315px !important;
  }
  .site-header .brand-logo {
    width: min(306px, 100%) !important;
  }
}

@media (max-width: 860px) {
  .site-header .nav-shell {
    min-height: 74px !important;
    padding: 7px 8px !important;
    border-radius: 15px !important;
  }
  .site-header .brand {
    max-width: calc(100% - 46px) !important;
    padding-left: 5px !important;
  }
  .site-header .brand-logo {
    width: min(265px, 100%) !important;
    max-height: 50px !important;
  }
}

@media (max-width: 430px) {
  .site-header .brand-logo {
    width: min(242px, 100%) !important;
  }
}

@media (max-width: 360px) {
  .site-header .brand-logo {
    width: min(218px, 100%) !important;
  }
}

/* Final header color blend: warmer glass, softer gold, same logo presence. */
.site-header .nav-shell {
  border-color: rgba(242, 204, 126, 0.24) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(236, 183, 95, 0.11), transparent 36%),
    radial-gradient(circle at 82% 12%, rgba(255, 246, 218, 0.055), transparent 31%),
    linear-gradient(180deg, rgba(47, 44, 34, 0.82), rgba(17, 31, 28, 0.76)) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 248, 226, 0.18),
    inset 0 -1px 0 rgba(242, 204, 126, 0.075) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
}

body.has-scrolled .site-header .nav-shell {
  border-color: rgba(242, 204, 126, 0.22) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(236, 183, 95, 0.09), transparent 36%),
    linear-gradient(180deg, rgba(34, 39, 32, 0.90), rgba(10, 24, 21, 0.86)) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 248, 226, 0.14),
    inset 0 -1px 0 rgba(242, 204, 126, 0.065) !important;
}

.site-header .nav-links > a:hover,
.site-header .nav-links > a:focus-visible {
  background: rgba(242, 204, 126, 0.075) !important;
  border-color: rgba(242, 204, 126, 0.18) !important;
}

.site-header .language-switch {
  border-color: rgba(242, 204, 126, 0.18) !important;
  background: rgba(6, 16, 14, 0.18) !important;
}

.site-header .language-switch button.is-active {
  color: #14231f !important;
  background: linear-gradient(180deg, #fffaf0, #edd08a) !important;
}

/* Final stay section simplification: calmer gallery, less text, more premium air. */
.stay-feature {
  padding-block: clamp(62px, 6.2vw, 100px) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(233, 190, 101, 0.16), transparent 31%),
    radial-gradient(circle at 90% 88%, rgba(29, 78, 67, 0.08), transparent 34%),
    linear-gradient(180deg, #fffaf1 0%, #f3eadb 100%) !important;
}

.stay-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.82fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
  align-items: center !important;
}

.stay-media.stay-gallery {
  max-width: none !important;
  border-radius: 34px !important;
  background: #10231e !important;
  border: 1px solid rgba(24, 46, 40, 0.16) !important;
  box-shadow: 0 30px 76px rgba(18, 38, 32, 0.22) !important;
}

.stay-gallery__stage {
  border-radius: 34px !important;
  background: #10231e !important;
}

.stay-media.stay-gallery .stay-gallery__image {
  min-height: 520px !important;
  height: clamp(520px, 43vw, 660px) !important;
  aspect-ratio: 16 / 11 !important;
  object-fit: cover !important;
  filter: saturate(1.02) contrast(1.01) brightness(1.01) !important;
}

.stay-gallery__stage::after {
  background: linear-gradient(180deg, rgba(6, 18, 16, 0.00) 55%, rgba(6, 18, 16, 0.46) 100%) !important;
}

.stay-gallery__caption {
  left: 18px !important;
  right: auto !important;
  bottom: 18px !important;
  min-height: 0 !important;
  max-width: calc(100% - 36px) !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(8, 24, 21, 0.70) !important;
  border: 1px solid rgba(255, 250, 240, 0.18) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16) !important;
}

.stay-gallery__caption span {
  display: none !important;
}

.stay-gallery__caption strong {
  color: rgba(255, 250, 240, 0.94) !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
  font-weight: 760 !important;
  letter-spacing: 0.02em !important;
}

.stay-gallery__arrow {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  color: #fffaf0 !important;
  background: rgba(9, 25, 22, 0.64) !important;
  border-color: rgba(255, 250, 240, 0.18) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18) !important;
}

.stay-content {
  max-width: 540px !important;
  gap: 18px !important;
  padding: clamp(28px, 3vw, 42px) !important;
  border-radius: 32px !important;
  background: rgba(255, 253, 248, 0.98) !important;
  border: 1px solid rgba(24, 46, 40, 0.13) !important;
  box-shadow: 0 24px 64px rgba(29, 45, 39, 0.13) !important;
}

.stay-content .stay-intro h2 {
  max-width: 480px !important;
  color: #12251f !important;
  font-size: clamp(2.65rem, 3.8vw, 4.35rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.026em !important;
}

.stay-content .stay-intro > p:not(.section-label) {
  max-width: 470px !important;
  color: #46584f !important;
  font-size: clamp(1.02rem, 1.05vw, 1.13rem) !important;
  line-height: 1.52 !important;
}

.stay-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.stay-summary span {
  padding: 10px 12px !important;
  border-radius: 999px !important;
  background: #f2eadb !important;
  border: 1px solid rgba(24, 46, 40, 0.10) !important;
  color: #263d36 !important;
  font-family: var(--sans) !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  font-weight: 780 !important;
}

.stay-content .room-options {
  display: none !important;
}

.stay-offer {
  grid-template-columns: 1fr 0.88fr !important;
  gap: 10px !important;
}

.stay-content .stay-price,
.stay-content .booking-rating {
  min-height: 132px !important;
  border-radius: 20px !important;
}

.stay-content .booking-rating {
  grid-template-columns: 58px minmax(0, 1fr) !important;
  padding: 14px !important;
}

.booking-rating__score {
  width: 58px !important;
  height: 58px !important;
}

.booking-rating__link {
  display: none !important;
}

.stay-content .stay-mini-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.stay-content .stay-mini-facts li {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
}

.stay-cta {
  margin-top: 2px !important;
}

.stay-cta small {
  display: none !important;
}

@media (max-width: 980px) {
  .stay-layout {
    grid-template-columns: 1fr !important;
  }
  .stay-content {
    max-width: 700px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 620px) {
  .stay-media.stay-gallery .stay-gallery__image {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  .stay-offer {
    grid-template-columns: 1fr !important;
  }
  .stay-content .stay-mini-facts {
    grid-template-columns: 1fr !important;
  }
}

/* Stay premium trial: less brochure, more private hideaway. */
.stay-feature {
  padding-block: clamp(72px, 7vw, 116px) !important;
  background:
    radial-gradient(circle at 10% 4%, rgba(239, 197, 117, 0.11), transparent 30%),
    radial-gradient(circle at 92% 88%, rgba(18, 52, 43, 0.10), transparent 34%),
    linear-gradient(180deg, #fffaf2 0%, #f2eadc 100%) !important;
}

.stay-layout {
  grid-template-columns: minmax(0, 1.14fr) minmax(350px, 0.76fr) !important;
  gap: clamp(34px, 4.8vw, 72px) !important;
}

.stay-media.stay-gallery {
  padding: 8px !important;
  border-radius: 38px !important;
  background:
    linear-gradient(145deg, rgba(255, 248, 226, 0.28), rgba(15, 42, 35, 0.90)) !important;
  border-color: rgba(223, 183, 100, 0.22) !important;
  box-shadow:
    0 34px 86px rgba(19, 42, 35, 0.24),
    inset 0 1px 0 rgba(255, 250, 240, 0.22) !important;
}

.stay-gallery__stage {
  overflow: hidden !important;
  border-radius: 31px !important;
}

.stay-media.stay-gallery .stay-gallery__image {
  min-height: 560px !important;
  height: clamp(560px, 46vw, 700px) !important;
  object-position: center center !important;
}

.stay-content {
  position: relative !important;
  overflow: hidden !important;
  max-width: 510px !important;
  gap: 16px !important;
  padding: clamp(30px, 3vw, 44px) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(236, 195, 117, 0.24), transparent 35%),
    linear-gradient(180deg, rgba(255, 253, 247, 0.99), rgba(248, 240, 226, 0.98)) !important;
  border-color: rgba(222, 182, 99, 0.30) !important;
  box-shadow:
    0 28px 76px rgba(27, 43, 38, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.stay-content::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(230, 186, 94, 0.38), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 24%) !important;
  opacity: 0.72 !important;
}

.stay-content > * {
  position: relative !important;
  z-index: 1 !important;
}

.stay-content .section-label {
  width: max-content !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(223, 183, 100, 0.18) !important;
  color: #85612a !important;
  border: 1px solid rgba(223, 183, 100, 0.20) !important;
  letter-spacing: 0.12em !important;
}

.stay-content .stay-intro h2 {
  max-width: 430px !important;
  margin-top: 4px !important;
  font-size: clamp(2.7rem, 3.6vw, 4.15rem) !important;
  letter-spacing: -0.032em !important;
}

.stay-content .stay-intro > p:not(.section-label) {
  max-width: 430px !important;
  color: #40544c !important;
  font-size: clamp(1rem, 1vw, 1.1rem) !important;
}

.stay-summary {
  gap: 7px !important;
}

.stay-summary span {
  background: rgba(18, 48, 40, 0.07) !important;
  border-color: rgba(31, 68, 58, 0.11) !important;
  color: #18372f !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

.stay-offer {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.stay-content .stay-price {
  min-height: 116px !important;
  padding: 18px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 86% 0%, rgba(238, 198, 111, 0.22), transparent 38%),
    linear-gradient(180deg, #18382f, #0e251f) !important;
  border-color: rgba(238, 198, 111, 0.32) !important;
  box-shadow:
    0 18px 42px rgba(14, 37, 31, 0.18),
    inset 0 1px 0 rgba(255, 250, 240, 0.10) !important;
}

.stay-price span b {
  color: #fffaf0 !important;
  letter-spacing: 0.08em !important;
}

.stay-price span small {
  color: rgba(238, 198, 111, 0.86) !important;
}

.stay-content .stay-price strong {
  color: #f0c66f !important;
  font-size: clamp(2.35rem, 2.8vw, 3.05rem) !important;
  letter-spacing: -0.045em !important;
}

.stay-content .booking-rating {
  min-height: 86px !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  padding: 14px 16px !important;
  border-radius: 22px !important;
  background: rgba(255, 251, 243, 0.92) !important;
  border-color: rgba(31, 68, 58, 0.12) !important;
  box-shadow: none !important;
}

.booking-rating__score {
  width: 54px !important;
  height: 54px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #f1cf83, #d8a84e) !important;
  color: #142c26 !important;
}

.booking-rating__body span {
  color: #85612a !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

.booking-rating__body strong {
  color: #18372f !important;
  font-size: 1rem !important;
}

.booking-rating__body small {
  display: none !important;
}

.stay-content .stay-mini-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

.stay-content .stay-mini-facts li {
  min-height: 50px !important;
  padding: 12px 13px !important;
  border-radius: 17px !important;
  background: rgba(255, 253, 248, 0.78) !important;
  border: 1px solid rgba(31, 68, 58, 0.11) !important;
  color: #213d36 !important;
  font-size: 0.9rem !important;
  font-weight: 780 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66) !important;
}

.stay-content .stay-mini-facts li::before {
  display: none !important;
}

.stay-cta {
  margin-top: 4px !important;
}

.stay-cta .button {
  width: 100% !important;
  justify-content: center !important;
  color: #fffaf0 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(238, 198, 111, 0.20), transparent 38%),
    linear-gradient(180deg, #193b33, #0d241f) !important;
  border: 1px solid rgba(238, 198, 111, 0.28) !important;
  box-shadow: 0 18px 38px rgba(14, 37, 31, 0.18) !important;
}

.stay-cta .button:hover,
.stay-cta .button:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 22px 46px rgba(14, 37, 31, 0.22) !important;
}

@media (max-width: 980px) {
  .stay-layout {
    grid-template-columns: 1fr !important;
  }

  .stay-content {
    max-width: 720px !important;
  }
}

@media (max-width: 620px) {
  .stay-media.stay-gallery {
    padding: 5px !important;
    border-radius: 28px !important;
  }

  .stay-gallery__stage {
    border-radius: 23px !important;
  }

  .stay-content {
    padding: 24px !important;
    border-radius: 28px !important;
  }

  .stay-content .stay-mini-facts {
    grid-template-columns: 1fr !important;
  }
}

/* Stay repair after trial: remove green gallery pad, keep it clean and calm. */
.stay-feature {
  padding-block: clamp(66px, 6.2vw, 104px) !important;
  color: #102421 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(234, 197, 128, 0.06), transparent 30%),
    linear-gradient(180deg, #fffaf0 0%, #f3ebdf 100%) !important;
}

.stay-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.88fr) !important;
  gap: clamp(30px, 4.2vw, 60px) !important;
  align-items: center !important;
}

.stay-media.stay-gallery {
  display: block !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: transparent !important;
  border: 1px solid rgba(28, 58, 49, 0.12) !important;
  box-shadow: 0 26px 66px rgba(27, 45, 39, 0.18) !important;
}

.stay-gallery__stage {
  display: block !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: transparent !important;
  line-height: 0 !important;
}

.stay-media.stay-gallery .stay-gallery__image {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: clamp(470px, 38vw, 600px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(1.01) contrast(1.01) brightness(1.01) !important;
}

.stay-gallery__thumbs {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stay-gallery__stage::after {
  background: linear-gradient(180deg, rgba(5, 16, 14, 0) 62%, rgba(5, 16, 14, 0.34) 100%) !important;
}

.stay-gallery__caption {
  left: 18px !important;
  bottom: 18px !important;
  right: auto !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  background: rgba(9, 25, 22, 0.62) !important;
  border: 1px solid rgba(255, 250, 240, 0.18) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14) !important;
}

.stay-gallery__caption span {
  display: none !important;
}

.stay-gallery__caption strong {
  color: rgba(255, 250, 240, 0.95) !important;
  font-size: 0.88rem !important;
  line-height: 1 !important;
}

.stay-content {
  position: relative !important;
  max-width: 545px !important;
  overflow: hidden !important;
  padding: clamp(28px, 3vw, 40px) !important;
  gap: 17px !important;
  border-radius: 30px !important;
  background: rgba(255, 253, 248, 0.96) !important;
  border: 1px solid rgba(28, 58, 49, 0.12) !important;
  box-shadow: 0 22px 58px rgba(27, 45, 39, 0.12) !important;
}

.stay-content::before {
  content: none !important;
}

.stay-content > * {
  position: relative !important;
  z-index: 1 !important;
}

.stay-content .section-label {
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #9a6434 !important;
  letter-spacing: 0.095em !important;
}

.stay-content .stay-intro h2 {
  max-width: 480px !important;
  margin-top: 0 !important;
  color: #102421 !important;
  font-size: clamp(2.5rem, 3.45vw, 4rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.028em !important;
}

.stay-content .stay-intro > p:not(.section-label) {
  max-width: 480px !important;
  color: #455850 !important;
  font-size: clamp(1rem, 1.02vw, 1.1rem) !important;
  line-height: 1.52 !important;
}

.stay-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.stay-summary span {
  padding: 9px 11px !important;
  border-radius: 999px !important;
  background: #f4ecdf !important;
  border: 1px solid rgba(28, 58, 49, 0.09) !important;
  color: #263d36 !important;
  box-shadow: none !important;
}

.stay-content .room-options {
  display: none !important;
}

.stay-offer {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.stay-content .stay-price,
.stay-content .booking-rating {
  min-height: 112px !important;
  border-radius: 20px !important;
  background: #fffaf0 !important;
  border: 1px solid rgba(28, 58, 49, 0.10) !important;
  box-shadow: none !important;
}

.stay-content .stay-price {
  padding: 16px !important;
}

.stay-price span b {
  color: #173b33 !important;
  letter-spacing: 0.07em !important;
}

.stay-price span small {
  color: #6b776f !important;
}

.stay-content .stay-price strong {
  color: #b9852e !important;
  font-size: clamp(2rem, 2.35vw, 2.65rem) !important;
  letter-spacing: -0.04em !important;
}

.stay-content .booking-rating {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 14px !important;
}

.booking-rating__score {
  width: 52px !important;
  height: 52px !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, #edd08a, #d5a447) !important;
  color: #142c26 !important;
  font-size: 1.25rem !important;
}

.booking-rating__body span {
  color: #8c672d !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

.booking-rating__body strong {
  color: #173b33 !important;
  font-size: 0.96rem !important;
  line-height: 1.18 !important;
}

.booking-rating__body small,
.booking-rating__link {
  display: none !important;
}

.stay-content .stay-mini-facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.stay-content .stay-mini-facts li {
  min-height: 44px !important;
  padding: 11px 12px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 15px !important;
  background: rgba(244, 236, 223, 0.76) !important;
  border: 1px solid rgba(28, 58, 49, 0.09) !important;
  color: #253d36 !important;
  font-size: 0.86rem !important;
  font-weight: 760 !important;
  box-shadow: none !important;
}

.stay-content .stay-mini-facts li::before {
  display: none !important;
}

.stay-cta {
  margin-top: 2px !important;
}

.stay-cta .button {
  width: 100% !important;
  justify-content: center !important;
  color: #fffaf0 !important;
  background: linear-gradient(180deg, #173b33, #0d2722) !important;
  border: 1px solid rgba(23, 59, 51, 0.22) !important;
  box-shadow: 0 15px 32px rgba(13, 39, 34, 0.16) !important;
}

.stay-cta small {
  display: none !important;
}

@media (max-width: 980px) {
  .stay-layout {
    grid-template-columns: 1fr !important;
  }

  .stay-content {
    max-width: 720px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 620px) {
  .stay-feature {
    padding-block: 46px !important;
  }

  .stay-media.stay-gallery,
  .stay-gallery__stage {
    border-radius: 24px !important;
  }

  .stay-media.stay-gallery .stay-gallery__image {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }

  .stay-content {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .stay-offer,
  .stay-content .stay-mini-facts {
    grid-template-columns: 1fr !important;
  }
}

/* Stay hard cleanup: no yellow wash, no grey/green gallery residue. */
.stay-feature {
  position: relative !important;
  padding-block: clamp(64px, 6vw, 98px) !important;
  color: #102421 !important;
  background: #fffaf0 !important;
  background-image: none !important;
}

.stay-feature::before,
.stay-feature::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

.stay-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.88fr) !important;
  gap: clamp(30px, 4vw, 56px) !important;
  align-items: center !important;
}

.stay-media.stay-gallery {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.stay-gallery__stage {
  display: block !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

.stay-gallery__stage::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.stay-media.stay-gallery .stay-gallery__image {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: clamp(560px, 44vw, 720px) !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  filter: none !important;
}

.stay-gallery__caption {
  display: none !important;
}

.stay-gallery__thumbs,
.stay-gallery__thumb,
.stay-gallery__thumb img {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stay-gallery__arrow {
  background: rgba(9, 25, 22, 0.58) !important;
  border-color: rgba(255, 250, 240, 0.22) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14) !important;
}

.stay-content {
  max-width: 545px !important;
  overflow: visible !important;
  padding: clamp(28px, 3vw, 40px) !important;
  gap: 17px !important;
  border-radius: 28px !important;
  background: #fffdf8 !important;
  background-image: none !important;
  border: 1px solid rgba(28, 58, 49, 0.11) !important;
  box-shadow: 0 20px 52px rgba(21, 38, 33, 0.10) !important;
}

.stay-content::before,
.stay-content::after {
  content: none !important;
  display: none !important;
}

.stay-content .section-label {
  color: #3f665c !important;
  background: transparent !important;
  border: 0 !important;
}

.stay-content .stay-intro h2 {
  color: #102421 !important;
}

.stay-content .stay-intro > p:not(.section-label) {
  color: #455850 !important;
}

.stay-summary span,
.stay-content .stay-mini-facts li {
  background: #f5efe5 !important;
  border-color: rgba(28, 58, 49, 0.09) !important;
  color: #263d36 !important;
  box-shadow: none !important;
}

.stay-content .stay-price,
.stay-content .booking-rating {
  background: #fffaf0 !important;
  background-image: none !important;
  border-color: rgba(28, 58, 49, 0.10) !important;
  box-shadow: none !important;
}

.stay-price span b,
.booking-rating__body strong {
  color: #173b33 !important;
}

.stay-price span small,
.booking-rating__body span {
  color: #63746d !important;
}

.stay-content .stay-price strong {
  color: #173b33 !important;
}

.booking-rating__score {
  color: #fffaf0 !important;
  background: #173b33 !important;
  background-image: none !important;
}

.stay-cta .button {
  color: #fffaf0 !important;
  background: #173b33 !important;
  background-image: none !important;
  border-color: rgba(23, 59, 51, 0.22) !important;
  box-shadow: 0 14px 30px rgba(13, 39, 34, 0.14) !important;
}

@media (max-width: 980px) {
  .stay-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .stay-feature {
    padding-block: 44px !important;
  }

  .stay-media.stay-gallery,
  .stay-gallery__stage {
    border-radius: 22px !important;
  }

  .stay-media.stay-gallery .stay-gallery__image {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* Final footer: one quiet, thin closing line. */
.site-footer {
  position: relative !important;
  padding: 0 !important;
  color: rgba(255, 250, 240, 0.72) !important;
  background: #0c211c !important;
  background-image: none !important;
  border-top: 1px solid rgba(237, 208, 145, 0.14) !important;
}

.site-footer::before,
.site-footer::after {
  content: none !important;
  display: none !important;
}

.site-footer .footer-panel {
  min-height: 52px !important;
  padding-block: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-footer .footer-brand {
  display: none !important;
}

.site-footer .footer-bottom {
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 18px !important;
  color: rgba(255, 250, 240, 0.68) !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.015em !important;
}

.site-footer .footer-bottom > * + * {
  position: relative !important;
}

.site-footer .footer-bottom > * + *::before {
  content: "\00B7" !important;
  position: absolute !important;
  left: -11px !important;
  color: rgba(237, 208, 145, 0.42) !important;
}

.site-footer .footer-bottom a,
.site-footer .footer-privacy summary {
  color: rgba(255, 250, 240, 0.82) !important;
  font-weight: 650 !important;
}

.site-footer .footer-bottom a:hover,
.site-footer .footer-bottom a:focus-visible,
.site-footer .footer-privacy summary:hover,
.site-footer .footer-privacy summary:focus-visible {
  color: #efd08d !important;
}

.site-footer .footer-privacy__panel {
  bottom: calc(100% + 14px) !important;
}

@media (max-width: 620px) {
  .site-footer .footer-panel {
    min-height: 0 !important;
    padding-block: 12px !important;
  }

  .site-footer .footer-bottom {
    gap: 6px 14px !important;
    font-size: 0.76rem !important;
  }

  .site-footer .footer-bottom > * + *::before {
    left: -9px !important;
  }
}

/* Final contact proportions: keep the full inquiry flow without the stretched height. */
.contact-section {
  padding-block: clamp(42px, 4vw, 50px) !important;
}

.contact-grid {
  padding: 16px !important;
  gap: 16px !important;
}

.contact-copy,
.inquiry-form {
  height: auto !important;
  padding: clamp(22px, 2.2vw, 27px) !important;
}

.contact-copy h2 {
  max-width: 14ch !important;
  font-size: clamp(2.3rem, 3vw, 3.35rem) !important;
  line-height: 1 !important;
}

.contact-proof {
  margin: 13px 0 15px !important;
}

.contact-actions {
  margin-top: auto !important;
}

.form-intro {
  margin-bottom: 12px !important;
  padding-bottom: 11px !important;
}

.form-intro h3 {
  font-size: clamp(1.55rem, 1.8vw, 1.95rem) !important;
}

.inquiry-form label {
  margin-bottom: 7px !important;
}

.inquiry-form label span {
  margin-bottom: 4px !important;
}

.inquiry-form input,
.inquiry-form select {
  min-height: 44px !important;
  height: 44px !important;
  padding-block: 8px !important;
}

.inquiry-form textarea {
  min-height: 86px !important;
  height: 86px !important;
  padding-block: 9px !important;
}

.button-submit {
  min-height: 46px !important;
  height: 46px !important;
  padding-block: 11px !important;
}

.form-privacy {
  margin-top: 7px !important;
}

@media (max-width: 860px) {
  .contact-copy,
  .inquiry-form {
    padding: 22px !important;
  }
}

/* Final editorial pass: calmer surfaces, lighter typography and cleaner visual hierarchy. */
.services-section {
  background: #f7f2e8 !important;
  background-image: none !important;
}

.packages-section {
  background: #f2ede3 !important;
  background-image: none !important;
}

.gallery-section {
  background: #faf6ee !important;
  background-image: none !important;
}

.contact-section {
  background: #f3eee5 !important;
  background-image: none !important;
}

.quick-strip {
  width: min(1080px, calc(100% - 44px)) !important;
  min-height: 76px !important;
  margin: -30px auto 0 !important;
  position: relative !important;
  z-index: 7 !important;
  overflow: hidden !important;
  border: 1px solid rgba(232, 197, 118, 0.24) !important;
  border-radius: 18px !important;
  background: #102721 !important;
  background-image: none !important;
  box-shadow: 0 16px 34px rgba(7, 24, 20, 0.18) !important;
}

.quick-strip a {
  min-height: 76px !important;
  padding: 14px 22px !important;
  border-color: rgba(255, 250, 240, 0.10) !important;
  background: transparent !important;
  color: #fffaf0 !important;
}

.quick-strip a:hover,
.quick-strip a:focus-visible {
  background: rgba(255, 250, 240, 0.06) !important;
}

.quick-strip span {
  color: #dcb85f !important;
  font-weight: 650 !important;
}

.quick-strip strong {
  color: #fffaf0 !important;
  font-weight: 600 !important;
}

.section-heading > p:not(.section-label),
.service-body > p:not(.service-kicker),
.sea-copy > p:not(.section-label),
.stay-intro > p:not(.section-label),
.package-card > p:not(.package-eyebrow),
.package-card li,
.contact-copy > p:not(.section-label),
.contact-proof span,
.form-intro span,
.form-privacy {
  font-weight: 400 !important;
}

.hero-lead {
  font-weight: 540 !important;
}

.service-body > p:not(.service-kicker),
.package-card > p:not(.package-eyebrow),
.package-card li {
  line-height: 1.48 !important;
}

.button,
.package-link,
.contact-actions .button,
.button-submit {
  font-weight: 650 !important;
}

.inquiry-form label > span {
  font-weight: 600 !important;
}

.service-card,
.package-card,
.photo-tile,
.stay-content,
.stay-media.stay-gallery,
.contact-copy,
.inquiry-form {
  border-radius: 18px !important;
}

.service-card,
.package-card,
.photo-tile {
  box-shadow: 0 9px 24px rgba(29, 45, 38, 0.08) !important;
}

.package-card,
.inquiry-form {
  background: #fffdf8 !important;
  background-image: none !important;
}

.package-card.package-card-featured {
  background: #123c33 !important;
  background-image: none !important;
  color: #fffaf0 !important;
}

.contact-grid {
  border-radius: 24px !important;
  background: rgba(255, 253, 248, 0.58) !important;
  box-shadow: 0 16px 38px rgba(29, 45, 38, 0.09) !important;
}

.contact-copy {
  background: #123c33 !important;
  background-image: none !important;
  box-shadow: none !important;
}

.inquiry-form {
  box-shadow: none !important;
}

.contact-copy h2 {
  max-width: 15ch !important;
  font-size: clamp(2.15rem, 2.7vw, 3.05rem) !important;
}

.contact-proof div {
  border-radius: 11px !important;
  background: rgba(255, 250, 240, 0.065) !important;
}

.contact-actions .button {
  min-width: 0 !important;
  min-height: 48px !important;
  padding-inline: 10px !important;
  white-space: nowrap !important;
  font-size: 0.92rem !important;
  line-height: 1.1 !important;
}

.stay-layout {
  align-items: stretch !important;
}

.stay-media.stay-gallery {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
}

.stay-gallery__stage {
  height: 100% !important;
  min-height: 0 !important;
}

.stay-media.stay-gallery .stay-gallery__image {
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
}

.stay-content,
.stay-price,
.booking-rating,
.stay-summary span,
.stay-mini-facts li {
  box-shadow: none !important;
}

.photo-mosaic {
  grid-template-columns: 1.25fr 1fr 1fr !important;
  grid-template-rows: repeat(2, 298px) !important;
  gap: 14px !important;
  height: 610px !important;
  min-height: 0 !important;
}

.photo-mosaic .photo-tile,
.photo-mosaic .photo-tile-large {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.photo-mosaic .photo-tile-large {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

.photo-mosaic .photo-tile:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.photo-mosaic .photo-tile:nth-child(3) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.photo-mosaic .photo-tile:nth-child(4) {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
}

.photo-tile img,
.service-card img,
.sea-photo img {
  filter: saturate(0.92) contrast(1.03) !important;
}

.sea-feature .sea-images {
  grid-template-columns: 1.2fr 0.8fr !important;
  grid-template-rows: 410px !important;
  grid-auto-rows: 410px !important;
  align-self: stretch !important;
}

.sea-feature .sea-photo,
.sea-feature .sea-photo-main {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 410px !important;
  height: 410px !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 26px rgba(4, 17, 14, 0.16) !important;
}

@media (max-width: 860px) {
  .quick-strip {
    width: min(720px, calc(100% - 28px)) !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .quick-strip a {
    min-height: 66px !important;
  }

  .photo-mosaic {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: repeat(2, minmax(230px, 1fr)) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .photo-mosaic .photo-tile,
  .photo-mosaic .photo-tile-large,
  .photo-mosaic .photo-tile:nth-child(2),
  .photo-mosaic .photo-tile:nth-child(3),
  .photo-mosaic .photo-tile:nth-child(4) {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 230px !important;
  }

  .sea-feature .sea-images {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 320px !important;
    grid-auto-rows: 320px !important;
  }

  .sea-feature .sea-photo,
  .sea-feature .sea-photo-main {
    min-height: 320px !important;
    height: 320px !important;
  }
}

@media (max-width: 620px) {
  .quick-strip {
    margin-top: -20px !important;
    border-radius: 14px !important;
  }

  .quick-strip a {
    min-height: 62px !important;
    padding: 10px 13px !important;
  }

  .quick-strip span {
    font-size: 0.68rem !important;
  }

  .quick-strip strong {
    font-size: 0.88rem !important;
  }

  .photo-mosaic,
  .sea-feature .sea-images {
    grid-template-columns: 1fr !important;
  }

  .sea-feature .sea-images {
    grid-template-rows: repeat(2, 280px) !important;
    grid-auto-rows: 280px !important;
  }

  .sea-feature .sea-photo,
  .sea-feature .sea-photo-main {
    height: 280px !important;
    min-height: 280px !important;
  }

  .photo-mosaic .photo-tile,
  .photo-mosaic .photo-tile-large,
  .photo-mosaic .photo-tile:nth-child(2),
  .photo-mosaic .photo-tile:nth-child(3),
  .photo-mosaic .photo-tile:nth-child(4) {
    min-height: 280px !important;
  }

  .stay-media.stay-gallery .stay-gallery__image {
    height: auto !important;
    min-height: 0 !important;
  }

  .contact-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Final header logo and light quick links. */
.site-header .brand {
  min-width: 302px !important;
  max-width: 315px !important;
  height: 82px !important;
  padding-inline: 2px 8px !important;
  overflow: visible !important;
}

.site-header .brand-logo {
  width: 300px !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 2px 7px rgba(0, 0, 0, 0.18)) !important;
}

.quick-strip {
  background: #eef0e9 !important;
  background-image: none !important;
  border-color: rgba(23, 59, 51, 0.13) !important;
  box-shadow: 0 12px 28px rgba(24, 43, 36, 0.10) !important;
}

.quick-strip a {
  background: #eef0e9 !important;
  color: #173b33 !important;
  border-right-color: rgba(23, 59, 51, 0.10) !important;
}

.quick-strip a:hover,
.quick-strip a:focus-visible {
  background: #e4e9df !important;
}

.quick-strip span {
  color: #987126 !important;
}

.quick-strip strong {
  color: #173b33 !important;
}

@media (max-width: 860px) {
  .site-header .brand {
    min-width: 0 !important;
    max-width: 270px !important;
    height: 68px !important;
  }

  .site-header .brand-logo {
    width: 250px !important;
    max-height: none !important;
  }
}

@media (max-width: 430px) {
  .site-header .brand {
    max-width: calc(100% - 54px) !important;
  }

  .site-header .brand-logo {
    width: 215px !important;
    max-height: none !important;
  }
}

/* Larger logo in a slimmer navigation bar. */
.site-header .nav-shell {
  min-height: 72px !important;
  padding-block: 4px !important;
}

.site-header .brand {
  min-width: 342px !important;
  max-width: 352px !important;
  height: 72px !important;
}

.site-header .brand-logo {
  width: 340px !important;
}

@media (max-width: 860px) {
  .site-header .nav-shell {
    min-height: 64px !important;
    padding-block: 3px !important;
  }

  .site-header .brand {
    min-width: 0 !important;
    max-width: 280px !important;
    height: 64px !important;
  }

  .site-header .brand-logo {
    width: 270px !important;
  }
}

@media (max-width: 430px) {
  .site-header .brand {
    max-width: calc(100% - 54px) !important;
  }

  .site-header .brand-logo {
    width: 225px !important;
  }
}

/* Final supplied logo: transparent artwork with a larger, readable centre mark. */
.site-header .brand {
  min-width: 292px !important;
  max-width: 306px !important;
  height: 72px !important;
  padding-inline: 4px 10px !important;
  overflow: visible !important;
}

.site-header .brand-logo {
  width: auto !important;
  height: 92px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 2px 7px rgba(0, 0, 0, 0.2)) !important;
}

.footer-brand img {
  object-fit: contain !important;
}

@media (max-width: 860px) {
  .site-header .brand {
    min-width: 0 !important;
    max-width: 234px !important;
    height: 64px !important;
  }

  .site-header .brand-logo {
    height: 72px !important;
  }
}

@media (max-width: 430px) {
  .site-header .brand {
    max-width: calc(100% - 54px) !important;
  }

  .site-header .brand-logo {
    height: 64px !important;
  }
}

/* ===================================================================
   MOTION & POLISH PASS — gentle scroll reveals + warmer hover feel.
   Reveal styles only apply once JS adds .reveal (progressive
   enhancement: if JS fails, nothing is hidden). Honors reduced motion.
   =================================================================== */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1),
              transform .7s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Warmer hover on the experience, package and room cards */
.service-card,
.package-card,
.room-option {
  transition: transform .35s cubic-bezier(.22,.61,.36,1),
              box-shadow .35s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.service-card:hover,
.package-card:hover,
.room-option:hover {
  transform: translateY(-7px);
  box-shadow: 0 34px 80px rgba(8, 24, 22, 0.22);
}

/* Slow, premium zoom on the experience-card photos */
.service-card { overflow: hidden; }
.service-card img {
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.service-card:hover img { transform: scale(1.045); }

/* Quick-strip links get a soft lift too */
.quick-strip a {
  transition: transform .25s ease, color .25s ease;
}
.quick-strip a:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .service-card,
  .package-card,
  .room-option,
  .service-card img,
  .quick-strip a {
    transition: none !important;
  }
  .service-card:hover,
  .package-card:hover,
  .room-option:hover,
  .service-card:hover img,
  .quick-strip a:hover {
    transform: none !important;
  }
}

/* ===================================================================
   HOST SIGNATURE — a warm, compact line from Rudolf inside Contact.
   Avatar is a placeholder stick figure; swap the <svg> for an <img>
   when a real photo is available. Lives on the dark green column.
   =================================================================== */
.host-signature {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 250, 240, 0.16);
}
.host-signature__avatar {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  color: #f3e7cf;
  border: 1.5px dashed rgba(243, 231, 207, 0.5);
  border-radius: 50%;
  background: rgba(255, 250, 240, 0.05);
  overflow: hidden;
}
/* Once a real photo is dropped in, it fills the circle cleanly. */
.host-signature__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.host-signature__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.host-signature__line {
  font-family: var(--serif);
  font-size: 1.14rem;
  line-height: 1.4;
  color: #fdf6e9;
}
.host-signature__name {
  font-size: 0.8rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gold-2);
}
@media (max-width: 560px) {
  .host-signature__line { font-size: 1.06rem; }
}

/* ===================================================================
   COMBO BAND — replaces the repetitive "Plaanid" cards with one slim,
   inviting "sea trip + stay" band. Dark green, echoes the brand.
   =================================================================== */
.combo-band {
  padding: clamp(48px, 5.2vw, 78px) 0;
  background:
    radial-gradient(circle at 82% 0%, rgba(230, 184, 74, 0.14), transparent 46%),
    linear-gradient(150deg, #09231f 0%, #154a41 100%);
  color: #fffaf0;
}
.combo-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(26px, 4vw, 60px);
  flex-wrap: wrap;
}
.combo-band__text { max-width: 720px; }
.combo-band .section-label { color: var(--gold-2); }
.combo-band h2 {
  margin: 12px 0 14px;
  font-family: var(--serif);
  font-size: clamp(2.2rem, 3.4vw, 3.35rem);
  line-height: 1.0;
  font-weight: 650;
  color: #fffaf0;
}
.combo-band__text p:not(.section-label) {
  margin: 0;
  font-size: clamp(1.1rem, 1.15vw, 1.28rem);
  line-height: 1.5;
  font-weight: 600;
  color: rgba(255, 250, 240, 0.92);
}
.combo-band__cta { flex: 0 0 auto; }
@media (max-width: 760px) {
  .combo-band__inner { flex-direction: column; align-items: flex-start; }
}

/* ===================================================================
   CINEMATIC HERO — a slow, living Ken Burns drift so the sea breathes
   and the viewer wants to step into the picture. Disabled for users
   who ask for reduced motion.
   =================================================================== */
@keyframes heroKenBurns {
  from { transform: scale(1.06) translate3d(-1%, -0.6%, 0); }
  to   { transform: scale(1.13) translate3d(1.2%, 0.6%, 0); }
}
.hero-image {
  transform-origin: center;
  animation: heroKenBurns 32s ease-in-out infinite alternate;
}

/* ===================================================================
   FOCUS POLISH — a clearly visible, on-brand focus ring that works on
   both the light and the dark surfaces (light outline + dark halo).
   =================================================================== */
:is(a, button, input, select, textarea, summary, [tabindex], [role="button"]):focus-visible:focus-visible {
  outline: 2px solid #fff7e8 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(11, 39, 36, 0.55) !important;
}

@media (prefers-reduced-motion: reduce) {
  .hero-image { animation: none !important; transform: none !important; }
}

/* ===================================================================
   READABILITY PASS — bigger, comfortable minimum type. Nothing on the
   page should be hard to read. Headings are left alone so the layout
   doesn't shift; only body copy and the small print are lifted.
   =================================================================== */
body { font-size: 19px !important; }

/* Uppercase micro-labels were the smallest text — lift them clearly. */
.hero .eyebrow,
.section-label,
.service-kicker,
.package-eyebrow,
.combo-band .section-label {
  font-size: clamp(1.04rem, 1.05vw, 1.18rem) !important;
  letter-spacing: 0.05em !important;
}

/* Short fact / feature lists. */
.hero-facts li,
.sea-points span,
.stay-summary span,
.stay-mini-facts li,
.room-option__features li {
  font-size: clamp(1.08rem, 1.05vw, 1.2rem) !important;
  line-height: 1.4 !important;
}

/* Gallery captions. */
.photo-tile figcaption { font-size: 1.1rem !important; }

/* Small print everywhere: footer, form hints, ratings, notes, labels. */
.footer-bottom,
.footer-bottom span,
.footer-bottom a,
.footer-brand p,
.footer-privacy summary,
.footer-privacy__panel p,
.form-privacy,
.inquiry-form label span,
.stay-cta small,
.stay-price small,
.booking-rating__body span,
.booking-rating__body small,
.quick-strip a span,
.contact-proof span,
.host-signature__name {
  font-size: 1.02rem !important;
  line-height: 1.5 !important;
}

/* The form fields themselves, comfortably legible. */
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  font-size: 1.08rem !important;
}

/* Main body copy in cards and sections — lift to a comfortable ~18px+
   floor so descriptions (e.g. the service-card text) read easily.
   The :not(#_) raises specificity so this beats the older per-section
   rules without editing each of them. */
.service-card .service-body p:not(.service-kicker):not(#_),
.sea-copy p:not(.section-label):not(#_),
.stay-content p:not(.section-label):not(#_),
.contact-copy p:not(.section-label):not(#_),
.section-heading p:not(.section-label):not(#_),
.combo-band__text p:not(.section-label):not(#_),
.room-option p:not(#_) {
  font-size: clamp(1.15rem, 1.05vw, 1.26rem) !important;
  line-height: 1.55 !important;
}
.room-option__features li:not(#_) {
  font-size: 1.14rem !important;
}

/* ===================================================================
   STAY GALLERY STABILITY + SIZE FIX
   - Photos have different aspect ratios, so the stage used to resize per
     image and the prev/next arrows jumped → pin a fixed height so the
     box never changes between photos.
   - The stay photos are only ~1024px wide, so a full-width box (when the
     layout collapses to one column) blew them up huge and blurry → cap
     the gallery width and height so images are always scaled DOWN (crisp)
     and the box never gets oversized.
   :not(#_) raises specificity above the old per-image rules.
   =================================================================== */
.stay-media.stay-gallery:not(#_) {
  width: 100% !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.stay-media.stay-gallery .stay-gallery__stage:not(#_) {
  aspect-ratio: auto !important;
  height: clamp(420px, 56vw, 500px) !important;
  min-height: 0 !important;
  max-height: 500px !important;
}
.stay-media.stay-gallery .stay-gallery__image:not(#_) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
}

/* ===================================================================
   HEADER OVERLAP FIX — the logo renders ~402px wide, so between roughly
   860–1015px it collided with the inline menu ("HIIUMAA" over
   "TEENUSED"). Collapse to the menu button across 861–1080px too (below
   861 the existing mobile menu already handles it). The logo stays full
   size; the menu just tucks into the button until there's room again.
   =================================================================== */
@media (min-width: 861px) and (max-width: 1120px) {
  .site-header .nav-toggle {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }
  .site-header .nav-toggle span {
    width: 22px; height: 2px;
    background: #fffaf0;
    display: block; margin: 3px 0;
  }
  .site-header .nav-links {
    position: absolute !important;
    left: auto !important;
    right: 14px !important;
    top: calc(100% + 8px) !important;
    width: min(340px, calc(100vw - 28px)) !important;
    margin: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: rgba(7, 21, 19, 0.98) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
  }
  .site-header .nav-links.is-open { display: flex !important; }
  .site-header .language-switch { width: 100% !important; justify-content: space-between !important; }
  .site-header .language-switch button { flex: 1 !important; }
}

/* ===================================================================
   MOBILE HERO TINT — a subtle lighter film over the hero on phones
   Sits above the photo, below the text.
   =================================================================== */
@media (max-width: 560px) {
  .hero-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 250, 240, 0.10);
    pointer-events: none;
  }
}

/* ===================================================================
   HERO ENTRANCE + ELEGANCE — the text rises in gracefully on load
   (eyebrow → title → lead → buttons → facts), and the second title
   line is set in Cormorant italic for a touch of editorial elegance.
   Honors reduced motion.
   =================================================================== */
@keyframes heroRise {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: none; }
}
.hero .eyebrow,
.hero-title,
.hero-lead,
.hero-actions,
.hero-facts {
  animation: heroRise 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.hero .eyebrow   { animation-delay: 0.15s; }
.hero-title      { animation-delay: 0.30s; }
.hero-lead       { animation-delay: 0.55s; }
.hero-actions    { animation-delay: 0.72s; }
.hero-facts      { animation-delay: 0.85s; }

/* Editorial italic on the second title line ("Õhtu mere ääres."). */
.hero-title span + span {
  font-style: italic !important;
  letter-spacing: 0.02em !important;
}

@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow,
  .hero-title,
  .hero-lead,
  .hero-actions,
  .hero-facts {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Google Analytics consent banner — appears only after GA4 ID is added. */
.google-consent {
  position: fixed;
  left: clamp(14px, 3vw, 28px);
  right: clamp(14px, 3vw, 28px);
  bottom: clamp(14px, 3vw, 28px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px;
  background: rgba(8, 25, 22, 0.94);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.36);
  color: #fffaf0;
  backdrop-filter: blur(18px);
}
.google-consent__copy {
  display: grid;
  gap: 4px;
  font-size: 15px;
  line-height: 1.45;
}
.google-consent__copy strong {
  font-family: "Libre Baskerville", serif;
  font-size: 16px;
}
.google-consent__copy span {
  color: rgba(255, 250, 240, 0.78);
}
.google-consent__actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.google-consent__actions button {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #fffaf0;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.google-consent__actions [data-google-consent-accept] {
  border-color: rgba(225, 177, 94, 0.75);
  background: linear-gradient(135deg, #e1b15e, #b78335);
  color: #10201d;
  font-weight: 700;
}
@media (max-width: 700px) {
  .google-consent {
    align-items: stretch;
    flex-direction: column;
  }
  .google-consent__actions button {
    flex: 1;
  }
}

/* Parandus: jaluse privaatsuspaneel ei tohi kitsal ekraanil servast välja ulatuda */
@media (max-width: 620px) {
  .footer-privacy__panel {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    width: auto;
    max-height: 70vh;
    overflow: auto;
    z-index: 80;
  }
}

/* Majakaartide nupud: hüppa galeriis vastava maja pildile (data-stay-show) */
.room-option__link {
  margin-top: 14px;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 2px solid rgba(138, 100, 31, .38);
  background: none;
  font: inherit;
  font-size: 1rem;
  font-weight: 760;
  color: #6d5117;
  cursor: pointer;
  align-self: flex-start;
  transition: color .2s ease, border-color .2s ease;
}
.room-option__link:hover,
.room-option__link:focus-visible {
  color: #28564a;
  border-bottom-color: rgba(40, 86, 74, .6);
}

/* Majalingid kokkuvõtte-kiipide all */
.stay-house-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 12px; }

/* Autori-rida jaluses */
.site-credit { margin: 14px 0 0; text-align: center; font-family: var(--sans); font-size: 0.72rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; color: rgba(255, 250, 240, .42); }
