/* Saltwater House — hospitality. Reference pattern: White Desert (full-bleed photo, giant condensed place name, slow editorial pacing). */
:root {
  --bg: #f4ede3; --fg: #241a20; --muted: #6a5a5f; --surface: #ebe1d3; --card: #f9f4ec; --line: #d8c9b6;
  --accent: #241a20; --accent-fg: #f9f4ec; --coral: #9e3f1d;
  --font-head: "Cormorant Garamond", Georgia, serif; --font-body: "Inter", system-ui, sans-serif;
  --font-cond: "Oswald", "Arial Narrow", sans-serif;
  --h-weight: 500; --h-track: -0.01em; --radius: 2px;
}
.eyebrow { font-family: var(--font-cond); font-weight: 400; letter-spacing: .22em; color: var(--coral); }

/* Fixed vertical enquire tab */
.enquire-tab {
  position: fixed; right: 0; top: 50%; z-index: 30; transform: translateY(-50%);
  writing-mode: vertical-rl; padding: 1.4rem .75rem; background: var(--coral); color: #fff;
  font: 400 .875rem/1 var(--font-cond); letter-spacing: .2em; text-transform: uppercase; text-decoration: none;
}
.enquire-tab:hover { background: #7d3016; }

/* Hero */
.hero { position: relative; display: flex; flex-direction: column; min-height: calc(100svh - 2.5rem); color: #fff8ee; overflow: hidden; isolation: isolate; }
.hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 115%; object-fit: cover; transform: translateY(calc(var(--py, 0px) * -.35)); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(20 12 18 / .55), transparent 30%, transparent 55%, rgb(20 12 18 / .6)); }
.nav { justify-content: space-between; }
.nav__links--left { flex: 1; }
.nav__brand { margin-inline: 0; font-size: 1.75rem; font-weight: 500; }
.nav__brand i { font-style: italic; }
.nav__cta { flex: 1; max-width: max-content; margin-left: auto; color: #fff8ee; border-color: rgb(255 248 238 / .7); }
.hero__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; margin-top: 1rem; }
.hero__tag { max-width: 22rem; font: italic 500 1.25rem/1.35 var(--font-head); }
.hero__link { font: 400 .875rem/1 var(--font-cond); letter-spacing: .18em; text-transform: uppercase; text-decoration: none; padding-block: .4rem .3rem; border-bottom: 1px solid rgb(255 248 238 / .6); }
.hero__title {
  margin-top: auto; padding-inline: var(--gutter); text-align: center;
  /* Lower minimum so "Saltwater" still fits a 320px-wide phone */
  font: 400 clamp(3rem, .5rem + 17vw, 19rem)/.8 var(--font-cond); letter-spacing: .02em; text-transform: uppercase;
  transform: translateY(.08em);
}

/* Statement */
.statement { text-align: center; }
.statement__title { font: 400 .875rem/1 var(--font-cond); letter-spacing: .3em; text-transform: uppercase; color: var(--coral); margin-bottom: 1.5rem; }
.statement__text { max-width: 54rem; margin-inline: auto; font: 400 clamp(1.25rem, 1rem + 1.4vw, 2rem)/1.35 var(--font-cond); letter-spacing: .06em; text-transform: uppercase; }

/* Season */
.season__img { aspect-ratio: 3 / 2; }
.season__facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 2.5rem; margin-top: 2rem; }
.season__facts b { display: block; font: 400 2.5rem/1 var(--font-cond); }
.season__facts span { font-size: .875rem; color: var(--muted); }

/* Stays */
.stay { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding-block: clamp(2rem, 1rem + 3vw, 4rem); border-top: 1px solid var(--line); }
.stay--flip .stay__img { order: 2; }
.stay__img { aspect-ratio: 4 / 5; max-height: 640px; }
.stay__tag { font: 400 .75rem/1 var(--font-cond); letter-spacing: .22em; text-transform: uppercase; color: var(--coral); }
.stay__name { margin: .75rem 0 1rem; font: 400 clamp(2.5rem, 1.5rem + 4vw, 5rem)/.95 var(--font-cond); text-transform: uppercase; letter-spacing: .01em; }
.stay__body > p:not(.stay__tag) { color: var(--muted); max-width: 32rem; }
.stay__meta { display: flex; gap: 2.5rem; margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.stay__meta dt { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.stay__meta dd { margin: .2rem 0 0; font: italic 500 1.375rem/1.2 var(--font-head); }
.stays__note { margin-top: 1rem; font-size: .8125rem; }

/* Quote */
.quote { padding-block: clamp(4rem, 3rem + 5vw, 8rem); background: var(--fg); color: #f4ede3; text-align: center; }
.quote blockquote { margin: 0 auto; max-width: 50rem; }
.quote blockquote p { font: italic 400 clamp(1.75rem, 1.2rem + 2.2vw, 3rem)/1.2 var(--font-head); }
.quote footer { margin-top: 1.5rem; font: 400 .875rem/1 var(--font-cond); letter-spacing: .2em; text-transform: uppercase; }
.quote .muted { color: #c9b8bd; }

/* Dining */
.dining__img { aspect-ratio: 3 / 2; }
.experiences li { padding-block: 1.1rem; border-top: 1px solid var(--line); }
.experiences b { display: block; font: 500 1.5rem/1.2 var(--font-head); }
.experiences span { color: var(--muted); }

/* Plan */
.plan { background: var(--surface); }
.plan__title { font: 400 clamp(3rem, 2rem + 4vw, 6rem)/.9 var(--font-cond); text-transform: uppercase; margin-bottom: 1rem; }
.plan a { color: var(--coral); font-weight: 600; }

@media (max-width: 860px) {
  .nav__links--left { display: none; }
  .nav__brand { margin-right: auto; }
  .hero { min-height: calc(100svh - 6rem); }
  .hero__top { flex-direction: column; gap: 1rem; }
  .stay, .stay--flip { grid-template-columns: 1fr; }
  .stay--flip .stay__img { order: 0; }
  .enquire-tab { padding: 1rem .55rem; font-size: .75rem; }
}
