/* Heritage: an Australian mid-century architectural editorial. Warm paper, eucalyptus green, restrained
   gold and fine dividing lines around large photographs. DM Serif Display for major headings only; DM Sans
   carries body copy and practical information. Square-ish corners, no diffuse shadows. The hero leaves the
   photograph to the house and sets the headline in a paper panel beneath it. */
.theme-heritage {
  --font-display: "DM Serif Display", Georgia, serif;
  --font-body: "DM Sans", system-ui, -apple-system, sans-serif;
  --font-ui: "DM Sans", system-ui, sans-serif;
  --color-bg: #f1ece2;            /* warm paper */
  --color-bg-alt: #e8e1d3;        /* deeper paper */
  --color-surface: #f8f5ee;
  --color-text: #1f2620;          /* green-black ink */
  --color-muted: #59605a;
  --color-rule: #d2c9b7;          /* fine rules */
  --color-accent: #3d5b49;        /* eucalyptus */
  --color-accent-hover: #2b4335;
  --color-accent-contrast: #f6f2ea;
  --color-gold: #a8894f;          /* restrained gold: hairlines and small marks only */
  --color-gold-text: #7e6430;
  --color-green: #2c4535;         /* deep eucalyptus headings */
  --color-green-light: #8ea292;   /* gum-leaf grey green */
  --color-green-contrast: #f6f2ea;
  --color-dark: #1b2a21;          /* deep forest */
  --color-dark-text: #ece6d8;
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;
  --radius-btn: 2px;
  --photo-radius: 0;
  --heading-weight: 400;
  --heading-tracking: -0.005em;
  --title-size: clamp(2rem, 1.45rem + 1.9vw, 3rem);
  --btn-pad: 0.9rem 1.6rem;
  --btn-weight: 600;
  --btn-tracking: 0.01em;
  --label-tracking: 0.04em;
  --nav-font-size: 0.86rem;
  --nav-tracking: 0.02em;
  --nav-case: none;
  --nav-height: 76px;
  --gallery-radius: 0;
  --gallery-gap: 10px;
  --footer-bg: #1b2a21;
  --footer-text: #e9e3d5;
  --footer-rule: rgba(233, 227, 213, 0.16);
  --mobile-cta-bg: #f1ece2;
  --mobile-cta-text: #1f2620;
  --back-to-top-bg: #2c4535;
  --back-to-top-color: #f6f2ea;
  --hero-scrim: rgba(12, 20, 15, 0.6);
}
.theme-heritage body { line-height: 1.65; }
.theme-heritage :is(h1, h2, h3) { color: var(--color-green); }
.theme-heritage .btn { font-size: 0.9rem; }
.theme-heritage .btn--outline { border-width: 1px; }
.theme-heritage .btn--outline:hover { background: var(--color-green); border-color: var(--color-green); color: var(--color-green-contrast); }
.theme-heritage .chip { border-radius: var(--radius-sm); }
.theme-heritage .chip.is-active, .theme-heritage .chip[aria-pressed="true"] { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-contrast); }
.theme-heritage .tabs__tab[aria-selected="true"] { border-bottom-color: var(--color-accent); }

/* section heads sit on a fine rule with a short gold index mark */
.theme-heritage .section-head { position: relative; padding-top: 1.1rem; border-top: 1px solid var(--color-rule); max-width: none; }
.theme-heritage .section-head::before { content: ""; position: absolute; top: -1px; left: 0; width: 2.75rem; height: 1px; background: var(--color-gold); }
.theme-heritage .section--alt { background: var(--color-bg); }
.theme-heritage .section--contact { background: var(--color-bg-alt); }
.theme-heritage .section--contact .section-head { border-top: 0; padding-top: 0; }
.theme-heritage .section--contact .section-head::before { display: none; }
.theme-heritage .section--resources { padding-top: var(--section-pad-compact); }

/* nav: transparent over the photograph with a local scrim, solid paper once scrolled */
/* the blur lives on a pseudo-element: backdrop-filter on the bar itself would trap the fixed mobile menu */
.theme-heritage .site-nav { --nav-bg: rgba(241, 236, 226, 0.92); }
.theme-heritage .site-nav::before { content: ""; position: absolute; inset: 0; z-index: -1; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
html.theme-heritage:not(.is-scrolled):not(.menu-open) .site--homes-show .site-nav { --nav-bg: transparent; --nav-color: #ffffff; --nav-rule: transparent; }
html.theme-heritage:not(.is-scrolled):not(.menu-open) .site--homes-show .site-nav::before { backdrop-filter: none; -webkit-backdrop-filter: none; }
html.theme-heritage:not(.is-scrolled):not(.menu-open) .site--homes-show :is(.site-nav__brand, .site-nav__links > li > a, .site-nav__more-toggle) { text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45); }
.theme-heritage .site-nav__brand-street { color: inherit; }

/* hero: the house, uncovered; the headline in a paper panel beneath */
.hero--heritage { display: grid; background: var(--color-bg); color: var(--color-text); }
.hero--heritage .hero__media { position: relative; overflow: hidden; height: clamp(440px, calc(100svh - 17rem), 62vw); background: #33443a; }
.hero--heritage .hero__media :is(img, video, .hero__placeholder) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hero--heritage .hero__scrim { position: absolute; inset: 0 0 auto 0; height: calc(var(--nav-height) + 5rem); background: linear-gradient(to bottom, var(--hero-scrim), transparent); pointer-events: none; }
.hero--heritage .hero__panel {
  width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; display: grid; gap: 1.25rem clamp(2rem, 5vw, 4.5rem);
  padding: clamp(1.75rem, 3.5vw, 2.75rem) 0 clamp(2rem, 3.5vw, 3rem);
}
.hero--heritage .hero__status { margin: 0 0 0.7rem; font-family: var(--font-ui); font-size: 0.9rem; font-weight: 500; color: var(--color-gold-text); }
.hero--heritage .hero__title { margin: 0; max-width: 18ch; font-size: clamp(2.35rem, 1.3rem + 3.3vw, 4.3rem); line-height: 1.02; letter-spacing: -0.012em; color: var(--color-green); }
.hero--heritage .hero__address { display: flex; flex-direction: column; margin: 0; font-size: 1rem; line-height: 1.45; color: var(--color-muted); }
.hero--heritage .hero__address span:first-child { color: var(--color-text); font-weight: 500; }
.hero--heritage .hero__actions { margin-top: 1.25rem; }
@media (min-width: 900px) {
  .hero--heritage .hero__panel { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
  .hero--heritage .hero__meta { padding-bottom: 0.35rem; }
}
@media (max-width: 699px) {
  .hero--heritage .hero__media { height: auto; aspect-ratio: 4 / 5; max-height: 72svh; }
  .hero--heritage .hero__media :is(img, video, .hero__placeholder) { object-position: 50% 50%; }
  .hero--heritage .hero__actions .btn { flex: 1 1 auto; }
}

/* key facts strip: paper cells on hairlines, figures in green */
.theme-heritage .stat__value { color: var(--color-green); }
.theme-heritage .facts-strip { border-color: var(--color-rule); }
.theme-heritage .facts__price { color: var(--color-text); }

/* introduction and stories */
.theme-heritage .intro__title { color: var(--color-green); }
.theme-heritage .intro__title::after { content: ""; display: block; width: 2.75rem; height: 1px; margin-top: 1.4rem; background: var(--color-gold); }
.theme-heritage .story-block__label { color: var(--color-gold-text); }
.theme-heritage .pull-quote { border-left-color: var(--color-gold); color: var(--color-green); }

/* contact: deeper paper band, the form on a lighter sheet */
.theme-heritage .form-card { border-radius: var(--radius-sm); background: var(--color-surface); border-color: var(--color-rule); }
.theme-heritage .field__input { background: #fffdf8; border-color: #c9bfab; }
/* the date tile stays a solid eucalyptus block (brand themes recolour it through --color-green) */
.theme-heritage .inspection__date { background: var(--color-green); border-color: var(--color-green); color: var(--color-green-contrast); }
.theme-heritage :is(.inspection__day, .inspection__month) { color: color-mix(in srgb, var(--color-green-contrast) 80%, transparent); }
.theme-heritage .agent-card__initials { color: var(--color-green); border-color: var(--color-green-light); background: transparent; }

/* footer: deep forest */
.theme-heritage .site-footer__address { color: #f3eee3; }
.theme-heritage .site-footer__legal { border-top-color: var(--footer-rule); }
