/*
 * Harcourts: brand theme on the editorial layout (photo-collage hero, left-aligned headline, alternating dark
 * bands). Harcourts listings open on a main-photo-plus-thumbnails grid, and harcourts.net uses full-width navy
 * bands under a left-aligned, bold uppercase hero.
 *
 * Evidence (harcourts.com.au redirects to harcourts.net/au, checked 2026-10-03):
 *  - https://resources.cloudhi.io/int/css/styles.min.css?build=1928 — the two dominant colours are #001F49 navy
 *    (440 uses, also --bs-body-color) and #00ADEF cyan (439 uses, --bs-cyan, .btn-cyan / .btn-primary background), plus
 *    --color-gray:#EBEBED, --color-navy-50:#f4f8fd and .btn-navy {background:#001f49;color:#fff}. Buttons have a small
 *    0.35rem radius.
 *  - Fonts: @font-face 'Source Sans Pro' from resources.cloudhi.io/fonts/sourcesans3v18.woff2 (Source Sans 3, free on
 *    Google Fonts, used as-is) and HarcourtsScript (a proprietary script used for accents; deliberately left out).
 *  - https://assets.cloudhi.io/assets/page-css/11b2fa4b-…css (the AU homepage): hero h1 at font-weight:900, uppercase,
 *    letter-spacing:-0.06em, with a light 300 sub-headline. Section headings carry a cyan bar on the left; the footer
 *    is navy.
 *
 * Contrast: Harcourts sets white on cyan, which is only 2.55:1, so cyan buttons use navy text (#001F49 on #00ADEF is
 * 6.4:1). Cyan text on white fails too, so eyebrows, links and focus rings use #0077A6 (5.0:1). On navy bands cyan is
 * fine (6.4:1) and body text is white (16.3:1).
 */
.brand-harcourts {
  --font-display: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, sans-serif;
  --font-body: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, sans-serif;
  --font-ui: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;

  --color-bg: #ffffff;
  --color-bg-alt: #f4f8fd;
  --color-surface: #ffffff;
  --color-text: #001f49;
  --color-muted: #4d5b73;
  --color-rule: rgba(0, 31, 73, 0.13);
  --color-accent: #00adef;
  --color-accent-hover: #001f49;
  --color-accent-contrast: #001f49;
  --color-accent-text: #0077a6;
  --color-dark: #001f49;
  --color-dark-text: #ffffff;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-btn: 6px;
  --heading-weight: 400;
  --heading-tracking: -0.015em;
  --title-size: clamp(2.1rem, 1.5rem + 2.2vw, 3.2rem);
  --label-size: 0.78rem;
  --label-tracking: 0.16em;
  --btn-case: none;
  --btn-tracking: 0;
  --btn-weight: 600;
  --btn-pad: 0.9rem 1.6rem;
  --nav-font-size: 0.98rem;
  --nav-tracking: 0;
  --nav-case: none;
  --gallery-radius: 4px;
  --footer-bg: #001f49;
  --footer-text: #ffffff;
  --footer-rule: rgba(255, 255, 255, 0.16);
  --back-to-top-bg: #00adef;
  --back-to-top-color: #001f49;
}
.brand-harcourts .btn { font-size: 0.98rem; }
.brand-harcourts .btn--outline { border-color: currentColor; }
.brand-harcourts .btn--primary:hover { color: #ffffff; }

/* cyan as text only where it passes: deeper cyan on white, brand cyan on navy */
.brand-harcourts main a:where(:hover), .brand-harcourts .prose a, .brand-harcourts .btn--ghost:hover { color: var(--color-accent-text); }
.brand-harcourts :is(.section-head__eyebrow, .story-block__label) { color: var(--color-accent-text); font-weight: 600; }
.brand-harcourts :focus-visible { outline-color: var(--color-accent-text); }
.brand-harcourts .field__input:focus { border-bottom-color: var(--color-accent-text); }

/* section titles carry the Harcourts cyan bar */
.brand-harcourts .section-head__title { border-left: 4px solid var(--color-accent); padding-left: 0.55em; margin-left: -0.05em; }
.brand-harcourts :is(.story-block__title, .room-card__title, .feature-group__title) { font-weight: 600; letter-spacing: -0.01em; }
.brand-harcourts :is(.stat__value, .facts__price, .highlight__value) { font-weight: 300; }

/* navy bands (Harcourts' feature panels): tokens flip so cards, buttons and text follow */
.brand-harcourts .section--alt {
  --color-bg: #001f49;
  --color-surface: #0a2a57;
  --color-text: #ffffff;
  --color-muted: rgba(255, 255, 255, 0.74);
  --color-rule: rgba(255, 255, 255, 0.16);
  --color-bg-alt: #0d2f60;
  --color-accent: #00adef;
  --color-accent-text: #00adef;
  background: #001f49;
  color: #ffffff;
}
.brand-harcourts .section--alt .btn--outline:hover { background: #ffffff; color: #001f49; border-color: #ffffff; }
.brand-harcourts .section--alt .btn--primary:hover { background: #ffffff; border-color: #ffffff; color: #001f49; }
.brand-harcourts .chip.is-active, .brand-harcourts .chip[aria-pressed="true"] { color: #001f49; }

/* nav: white text over the hero, white bar with navy text once scrolled */
.brand-harcourts .site-nav__brand-street { font-weight: 700; font-size: 1.3rem; letter-spacing: -0.01em; }
.brand-harcourts .site-nav__brand-suburb { letter-spacing: 0.14em; }
html.brand-harcourts:not(.is-scrolled):not(.menu-open) .site--homes-show .site-nav .btn--primary { background: #00adef; border-color: #00adef; color: #001f49; }

/* hero: navy-tinted shade, 900-weight uppercase headline, cyan status */
.brand-harcourts .hero--editorial .hero__shade { background: linear-gradient(to bottom, rgba(0, 18, 44, 0.6), rgba(0, 18, 44, 0.15) 42%, rgba(0, 18, 44, 0.78)); }
.brand-harcourts .hero--editorial .hero__eyebrow { letter-spacing: 0.2em; font-weight: 600; }
.brand-harcourts .hero--editorial .hero__title { font-weight: 900; text-transform: uppercase; letter-spacing: -0.035em; line-height: 0.95; max-width: 18ch; font-size: clamp(2.5rem, 5.4vw, 4.6rem); }
.brand-harcourts .hero--editorial .hero__tagline { font-weight: 400; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem); }
@media (min-width: 900px) { .brand-harcourts .hero--editorial .hero__tagline { font-weight: 300; } }
.brand-harcourts .hero--editorial .hero__panel { border-radius: 6px; background: rgba(0, 31, 73, 0.62); border-left: 4px solid #00adef; }
.brand-harcourts .hero--editorial .hero__stats dd { font-weight: 300; }
.brand-harcourts .hero--editorial .hero__status { color: #00adef; font-weight: 600; }
.brand-harcourts .hero--editorial .hero__price { font-weight: 600; }
.brand-harcourts .hero__tour-pill { border-radius: 6px; color: #001f49; }
.brand-harcourts .hero__tour-pill:hover { color: #0077a6; }

.brand-harcourts .page-header { background: #f4f8fd; }
.brand-harcourts .pull-quote { font-style: normal; font-weight: 300; }

/* navy footer under a cyan rule */
.brand-harcourts .site-footer { border-top: 4px solid #00adef; }
.brand-harcourts .site-footer__address { font-weight: 600; }
