*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  html, body { overflow-x: hidden; max-width: 100vw; }
  body { font-family: 'Inter', sans-serif; background: #FAF8F5; color: #1A1A1A; line-height: 1.55; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; }
  .nav { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.92); backdrop-filter: blur(20px); border-bottom: 1px solid #ECE7E1; padding: 0 24px; height: 64px; display: flex; align-items: center; justify-content: space-between; }
  .nav__logo { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 18px; }
  .nav__cta { background: #7B2337; color: #fff; padding: 8px 18px; border-radius: 8px; font-weight: 600; font-size: 13px; }
  main { max-width: 1200px; margin: 0 auto; padding: 64px 24px 96px; }
  .hero__eyebrow { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: #8A5A22; font-weight: 700; margin-bottom: 14px; }
  .hero__title { font-family: 'Fraunces', Georgia, serif; font-size: clamp(32px, 5vw, 52px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.06; margin-bottom: 20px; max-width: 22ch; }
  .hero__lede { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.7; color: #4A4A4A; max-width: 60ch; margin-bottom: 48px; }
  .group { margin-bottom: 56px; }
  .group__title { font-family: 'Fraunces', Georgia, serif; font-size: clamp(22px, 3vw, 30px); font-weight: 700; margin-bottom: 24px; letter-spacing: -0.015em; color: #7B2337; }
  .grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
  @media (min-width: 720px) { .grid { grid-template-columns: 1fr 1fr; gap: 20px; } }
  @media (min-width: 1080px) { .grid { grid-template-columns: 1fr 1fr 1fr; } }
  .card { background: #fff; border: 1px solid #ECE7E1; border-radius: 14px; padding: 24px 26px; transition: transform 200ms ease, box-shadow 200ms ease; display: flex; flex-direction: column; gap: 6px; }
  .card:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(0,0,0,0.06); }
  .card__city { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #8A5A22; font-weight: 700; }
  .card__title { font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; }
  .card__range { font-size: 14px; color: #4A4A4A; margin-top: 4px; }
  .card__range::after { content: ' →'; color: #C4935A; }
