/* Airdrie 449: deep plum, soft blush and warm ivory. Quiet and residential, like a printed brochure.
   Bodoni Moda (optical sizes, real weights) for headlines and the hero price; Albert Sans for reading,
   and Albert Sans Bold for every other figure so numbers stay crisp and line up in columns. */
:root{
  --bg:#FBF7F5;
  --surface:#FFFFFF;
  --surface-2:#F5EBE7;
  --ink:#2A1824;
  --muted:#67525F;
  --line:#ECDFDA;
  --line-strong:#D3C0BA;
  --brand:#3E1834;
  --on-brand:#FBF5F3;
  --on-brand-muted:#D9C4CF;
  --accent:#EAB9AE;
  --accent-ink:#2A1824;
  --accent-soft:#F8E8E3;
  --signal:#8E3557;
  --cta:#5B2049;
  --on-cta:#FFFFFF;
  --cta-hover:#46173A;
  --cta-shadow:rgba(91,32,73,.42);
  --cta-text:#5B2049;
  --bar:#E3D2CD;
  --tick-bg:#F4D9D2;
  --hot:rgba(234,185,174,.45);
  --ok-bg:#F6E8EE;
  --ok-ink:#5B2049;
  --focus:#8E3557;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:24px;
  --shadow-sm:0 1px 2px rgba(42,24,36,.05);
  --shadow-md:0 14px 34px -16px rgba(42,24,36,.24);
  --shadow-lg:0 30px 70px -28px rgba(42,24,36,.38);
  --font-display:'Bodoni Moda',Didot,'Bodoni 72',Georgia,serif;
  --font-body:'Albert Sans',system-ui,sans-serif;
  --display-weight:500;
  --display-tracking:-.012em;
}

/* ---------- Hero: the price card over the photo ---------- */
.hero-media{padding-bottom:20px}
@media (min-width:1041px){.hero-photo{aspect-ratio:4/4.6}}
.hero h1 em{font-style:italic;font-weight:500;color:var(--cta)}
.offer{position:absolute;left:-28px;bottom:-30px;width:min(300px,78%);padding:22px 22px 20px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);border-top:5px solid var(--accent)}
.offer-label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--signal)}
.offer-price{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.offer-price strong{font-family:var(--font-display);font-size:58px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--brand);font-variant-numeric:lining-nums}
.offer-price span{font-size:15px;font-weight:700;color:var(--muted)}
.offer p{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.offer-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;border-top:1.5px dashed var(--line-strong);font-size:14px;font-weight:600;color:var(--muted)}
.offer-row + .offer-row{margin-top:8px;padding-top:8px;border-top:0}
.offer-row b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}
.spots{margin-top:12px}
.spots-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.spots-dots i{height:8px;border-radius:3px;background:var(--brand)}
.spots-dots i.taken{background:var(--line)}
.spots p{margin-top:8px;font-size:13px;font-weight:700;color:var(--ink)}

/* ---------- Freehold card in the why section ---------- */
.offer-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.offer-points div{padding:14px;border-radius:14px;background:var(--surface-2)}
.offer-points strong{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em}
.offer-points span{display:block;font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.35}
.gap-callout strong{white-space:nowrap}

/* ---------- Signature: the aerial with the area ring ---------- */
.loc-map{border:1px solid var(--line)}
.loc-ring{border-color:var(--accent);background:radial-gradient(circle,rgba(234,185,174,.38),transparent 70%)}
.loc-ring span{background:var(--brand);color:var(--on-brand)}
.tiles{grid-template-columns:repeat(5,1fr)}
.loc-split{align-items:start}

/* ---------- Gallery: twelve photos in a calm rhythm ---------- */
.gallery a:nth-child(9),.gallery a:nth-child(11),.gallery a:nth-child(12){grid-column:span 2}

@media (max-width:1040px){
  .offer{left:16px;bottom:-26px}
  .tiles{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .offer{position:relative;left:auto;bottom:auto;width:auto;margin:-56px 14px 0}
  .hero-media{padding-bottom:0}
  .offer-points{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .tiles div:last-child{grid-column:1/-1}
  .gallery a:nth-child(9),.gallery a:nth-child(11){grid-column:span 1}
  .gallery a:nth-child(12){grid-column:span 2}
  .fp-tabs{flex-wrap:wrap;width:auto;border-radius:18px}
}

/* Figures and prices in Albert Sans Bold (the display face is kept for headlines and the hero price) */
.facts-row strong,.bar-label b,.gap-callout strong,.tiles strong,.prow b,.big,.line-item.total strong,.allin strong,.roi-tile strong,.result-main,.sp-home-name,.sp-price,.offer-points strong{font-family:var(--font-body);font-weight:700;letter-spacing:-.03em}
.brand{font-weight:600;font-size:21px;letter-spacing:-.01em}
.brand-mark{border-radius:8px}
h1 .mark{background:linear-gradient(transparent 64%,var(--accent-soft) 64%,var(--accent-soft) 94%,transparent 94%)}
.hero h1{font-size:clamp(42px,5.2vw,68px);line-height:1.02}
.section-head h2{font-size:clamp(32px,3.7vw,48px);line-height:1.06}
.final-card h2{font-size:clamp(34px,4.6vw,56px)}
.eyebrow{letter-spacing:.14em}
.chip.solid{background:var(--brand);border-color:var(--brand)}
.reserve-form .btn-primary,.showing .btn-primary,.final-card .btn-primary,.thanks-card .btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 14px 30px -14px rgba(234,185,174,.75)}
.reserve-form .btn-primary:hover,.showing .btn-primary:hover,.final-card .btn-primary:hover,.thanks-card .btn-primary:hover{background:#F1C9C0}
.ticks li::before{background-color:var(--tick-bg)}
/* WhatsApp button text: base green (#1FAF58) is too light for white text (2.9:1); a deeper green passes AA (5.0:1). */
.lead-media-copy strong{font-family:var(--font-body);font-weight:700;letter-spacing:-.03em}
