*, *::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; }
  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: 1080px; margin: 0 auto; padding: 64px 24px 96px; }
  .eyebrow { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: #8A5A22; font-weight: 700; margin-bottom: 14px; }
  h1 { font-family: 'Fraunces', Georgia, serif; font-size: clamp(32px, 5vw, 48px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; margin-bottom: 20px; max-width: 22ch; }
  .lede { font-size: 16px; line-height: 1.7; color: #4A4A4A; max-width: 60ch; margin-bottom: 48px; }
  .grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
  @media (min-width: 720px) { .grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
  .card { display: block; background: #fff; padding: 28px 30px; border: 1px solid #ECE7E1; border-radius: 14px; transition: transform 200ms ease, box-shadow 200ms ease; }
  .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; margin-bottom: 6px; }
  .card__title { font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; margin-bottom: 10px; }
  .card__desc { font-size: 14px; line-height: 1.6; color: #4A4A4A; }
