/* ═══ CONTACT GRID ═══ */
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      margin-top: 40px
    }

    .contact-cards {
      display: flex;
      flex-direction: column;
      gap: 16px
    }

    .contact-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 26px 24px;
      position: relative;
      overflow: hidden
    }

    .contact-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--blackberry), var(--tea))
    }

    .contact-card-icon {
      font-size: 20px;
      line-height: 1;
      color: var(--blackberry);
      opacity: .45;
      margin-bottom: 6px
    }

    .contact-card-label {
      font-size: 10px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--tea-text);
      margin-bottom: 8px;
      font-weight: 500
    }

    .contact-card h3 {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 6px;
      line-height: 1.3
    }

    .contact-card p {
      font-size: 14px;
      color: var(--body);
      line-height: 1.65;
      margin-bottom: 2px
    }

    .contact-card a {
      color: var(--blackberry);
      text-decoration: none;
      font-weight: 500;
      transition: opacity .18s
    }

    .contact-card a:hover {
      opacity: .7
    }

    /* Right column (map + hours) */
    .contact-right {
      display: flex;
      flex-direction: column;
      gap: 16px
    }

    /* Map embed */
    .map-frame {
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      flex: 1;
      min-height: 240px
    }

    .map-frame iframe {
      width: 100%;
      height: 100%;
      min-height: 240px;
      border: 0;
      display: block
    }

    .map-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
      justify-content: space-between;
      padding: 12px 16px;
      background: var(--surface);
      border-top: 1px solid var(--border)
    }

    .map-actions a {
      color: var(--blackberry);
      font-size: 13px;
      font-weight: 500;
      text-decoration: none
    }

    .map-actions a:hover {
      opacity: .72
    }

    /* ═══ HOURS ═══ */
    .hours-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 24px;
      position: relative;
      overflow: hidden
    }

    .hours-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--blackberry), var(--tea))
    }

    .hours-row {
      display: flex;
      justify-content: space-between;
      padding: 8px 0;
      border-bottom: 1px solid var(--border-lt)
    }

    .hours-row:last-of-type {
      border-bottom: none
    }

    .hours-day {
      font-size: 14px;
      color: var(--text);
      font-weight: 500
    }

    .hours-time {
      font-size: 14px;
      color: var(--body)
    }

    .hours-note {
      font-size: 12.5px;
      color: var(--caption);
      margin-top: 12px;
      line-height: 1.55
    }

    /* ═══ ALTERNATING SECTIONS ═══ */
    .section--alt {
      background: var(--surface);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding-top: 60px;
      padding-bottom: 60px;
      max-width: 100%;
      margin: 0
    }

    .section--alt .section-inner {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 var(--gutter)
    }

    /* ═══ DIRECTIONS ═══ */
    .directions-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px
    }

    .direction-card {
      background: var(--bg);
      border: 1px solid var(--border-lt);
      border-radius: 12px;
      padding: 24px 22px
    }

    .direction-from {
      font-family: var(--serif);
      font-size: 17px;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 8px
    }

    .direction-time {
      font-size: 12px;
      color: var(--tea-text);
      font-weight: 500;
      letter-spacing: 0.06em;
      margin-bottom: 10px
    }

    .direction-text {
      font-size: 13.5px;
      color: var(--body);
      line-height: 1.65
    }

    .directions-note {
      margin-top: 20px;
      color: var(--caption);
      font-size: 13px;
      line-height: 1.6
    }

    .directions-note strong {
      color: var(--text);
      font-weight: 500
    }

    .directions-note a {
      color: var(--blackberry);
      font-weight: 500;
      text-decoration: none
    }

    /* ═══ QUICK FACTS (AEO) ═══ */
    .facts-section {
      background: var(--surface);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 48px var(--gutter);
      margin-top: 20px
    }

    .facts-inner {
      max-width: var(--max);
      margin: 0 auto
    }

    .facts-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 20px 40px
    }

    .fact-item {
      font-size: 13.5px;
      line-height: 1.55
    }

    .fact-label {
      font-size: 10px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--faint);
      margin-bottom: 3px;
      font-weight: 500
    }

    .fact-value {
      color: var(--text);
      font-weight: 500
    }

    .fact-value a {
      color: var(--blackberry);
      text-decoration: none
    }

    /* ═══ RESPONSIVE ═══ */
    @media(max-width:1024px) {
      .directions-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    @media(max-width:768px) {
      .contact-grid {
        grid-template-columns: 1fr
      }

      .map-frame iframe {
        min-height: 260px
      }

      .section--alt {
        padding-top: 48px;
        padding-bottom: 48px
      }

      .directions-grid {
        grid-template-columns: 1fr
      }
    }

    @media(max-width:480px) {
      .facts-grid {
        grid-template-columns: 1fr 1fr
      }
    }
