/* The House — navy hero, white and ivory body */
.page-house { --page-bg: var(--paper); --accent: var(--gold-deep); --dim: var(--ink-2); }

/* Hero: copy left, large framed photo right, exactly one screen --------- */
.house-hero {
  position: relative; background: var(--navy); color: #fff;
  min-height: calc(100svh - var(--header-h));
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.8fr); grid-template-rows: minmax(0, 1fr);
  align-items: center; gap: var(--s6) clamp(32px, 5vw, 64px);
  padding: calc(74px + clamp(16px, 2.5vw, 32px)) var(--sec-x) 76px;
}
.house-hero .kicker { color: var(--gold); margin-bottom: var(--s3); }
.house-hero__title { max-width: 18ch; }
.house-hero__lead { font-size: clamp(15px, 2.4vh, 17px); line-height: 1.65; color: rgba(255,255,255,.85); max-width: 48ch; margin-top: var(--s3); }
.house-hero__img {
  width: 100%; min-height: 300px;
  height: calc(100svh - var(--header-h) - 74px - clamp(16px, 2.5vw, 32px) - 76px);
  --frame-bg: rgba(255,255,255,.06); border: 1px solid rgba(201,162,75,.35);
}
.house-hero__img .parallax { inset: -12% 0 0 0; }
.house-hero .scroll-cue { --cue: #fff; }

@media (max-width: 760px) {
  .house-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; padding-top: 32px; padding-bottom: 76px; }
  .house-hero__img { height: auto; aspect-ratio: 4/3; }
}

/* Intro -------------------------------------------------------------------- */
.house-intro__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: var(--s6) clamp(32px, 5vw, 64px); align-items: center;
}
.house-intro__img { aspect-ratio: 4/3; }
.house-intro__p { line-height: 1.75; max-width: 48ch; margin-top: var(--s3); }

/* Gallery ------------------------------------------------------------------ */
.house-gallery { padding: 0 var(--sec-x) var(--sec-y); }
.house-gallery__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: var(--s3); }
.house-gallery__item { aspect-ratio: 1/1; }

/* Promise band ------------------------------------------------------------- */
.house-promise { background: var(--navy); color: #fff; }
.house-promise__quote { font-family: var(--serif); font-size: clamp(22px, 2.6vw, 32px); line-height: 1.35; max-width: 30ch; color: rgba(255,255,255,.9); }
.house-promise__words { color: var(--gold); margin-top: var(--s4); }

/* Find us ------------------------------------------------------------------ */
.house-visit { background: var(--paper-2); border-top: 1px solid var(--rule); }
.house-visit__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: var(--s6) clamp(32px, 5vw, 64px); align-items: start;
}
.house-visit__title { margin-bottom: var(--s3); }
.house-visit__hours { color: var(--ink-3); margin-top: var(--s3); }
.house-visit__btn { margin-top: var(--s5); min-height: 48px; padding: 0 26px; }
.house-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: var(--s4); }
.house-facts__num { font-family: var(--serif); font-size: clamp(22px, 2.6vw, 30px); color: var(--gold-deep); }
.house-facts__label { font-size: 13px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-top: var(--s1); }
