    .public-contact-page {
      padding-bottom: 44px;
    }

    .public-contact-page .contact-hero {
      position: relative;
      overflow: hidden;
      border-radius: 24px;
      border: 1px solid #c7d8ef;
      padding: 26px;
      background: #f5f9ff;
      box-shadow: 0 16px 32px rgba(27, 75, 131, 0.1);
    }

    .public-contact-page .hero-head {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 14px;
    }

    .public-contact-page .hero-icon {
      width: 58px;
      height: 58px;
      border-radius: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      color: #7d4208;
      background: #ffd08a;
      box-shadow: 0 12px 22px rgba(245, 166, 53, 0.28);
      flex-shrink: 0;
    }

    .public-contact-page .hero-eyebrow {
      margin: 0 0 4px;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.82rem;
      font-weight: 700;
      color: #2861b0;
    }

    .public-contact-page .hero-title {
      margin: 0;
      font-size: clamp(1.62rem, 2vw, 2.2rem);
      line-height: 1.2;
      font-weight: 800;
      color: #0f4f76;
    }

    .public-contact-page .hero-subtitle {
      margin: 0;
      color: #4f6881;
      font-size: 1.04rem;
      line-height: 1.85;
      max-width: 920px;
    }

    .public-contact-page .contact-grid {
      margin-top: 18px;
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 14px;
    }

    .public-contact-page .contact-card {
      border-radius: 20px;
      border: 1px solid #cadbf0;
      background: #ffffff;
      box-shadow: 0 12px 24px rgba(24, 71, 129, 0.08);
      padding: 20px;
    }

    .public-contact-page .contact-card.contact-info-card {
      background: #f7fbff;
    }

    .public-contact-page .contact-card.contact-hours-card {
      background: #fffaf2;
    }

    .public-contact-page .card-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }

    .public-contact-page .chip-icon {
      width: 36px;
      height: 36px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #bfd4ee;
      background: rgba(255, 255, 255, 0.86);
      color: #2b5f9c;
      font-size: 1.04rem;
      flex-shrink: 0;
    }

    .public-contact-page .card-title {
      margin: 0;
      color: #0f4e74;
      font-size: 1.36rem;
      font-weight: 800;
    }

    .public-contact-page .info-list {
      display: grid;
      gap: 12px;
      margin: 0;
    }

    .public-contact-page .info-item {
      border-radius: 14px;
      border: 1px solid #c9dcf2;
      background: rgba(255, 255, 255, 0.85);
      padding: 10px 12px;
    }

    .public-contact-page .info-label {
      margin: 0 0 4px;
      color: #5a7390;
      font-size: 0.9rem;
      font-weight: 600;
    }

    .public-contact-page .info-value {
      margin: 0;
      color: #1a4a7d;
      font-size: 1.12rem;
      font-weight: 700;
      line-height: 1.45;
      word-break: break-word;
    }

    .public-contact-page .hours-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .public-contact-page .hours-item {
      border-radius: 14px;
      border: 1px solid #d7dff0;
      background: rgba(255, 255, 255, 0.88);
      padding: 10px 12px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
    }

    .public-contact-page .hours-label {
      margin: 0;
      color: #284d76;
      font-weight: 700;
    }

    .public-contact-page .hours-value {
      margin: 0;
      color: #415d79;
      font-weight: 600;
    }

    .public-contact-page .hours-badge {
      padding: 4px 10px;
      border-radius: 999px;
      font-size: 0.82rem;
      font-weight: 700;
      border: 1px solid transparent;
    }

    .public-contact-page .hours-badge.open {
      background: #e5f7ee;
      color: #0f6f4e;
      border-color: #bde6d2;
    }

    .public-contact-page .hours-badge.close {
      background: #ffecec;
      color: #9a2d2d;
      border-color: #f1c6c6;
    }

    .public-contact-page .map-card {
      margin-top: 14px;
      border-radius: 20px;
      border: 1px solid #cadbf0;
      background: #ffffff;
      box-shadow: 0 12px 24px rgba(24, 71, 129, 0.08);
      padding: 20px;
    }

    .public-contact-page .map-description {
      margin: 0 0 12px;
      color: #4a637d;
      line-height: 1.8;
    }

    .public-contact-page .map-wrap {
      border: 1px solid #c8d9ee;
      border-radius: 16px;
      overflow: hidden;
      background: #eef5ff;
      min-height: 330px;
    }

    .public-contact-page .map-frame {
      width: 100%;
      min-height: 330px;
      border: 0;
      display: block;
    }

    .public-contact-page .map-empty {
      margin: 0;
      min-height: 330px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: #4e6986;
      padding: 16px;
    }

    @media (max-width: 991px) {
      .public-contact-page .contact-grid {
        grid-template-columns: 1fr;
      }

      .public-contact-page .contact-hero {
        padding: 20px;
      }

      .public-contact-page .hero-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        font-size: 1.35rem;
      }

      .public-contact-page .hero-head {
        margin-bottom: 12px;
      }

      .public-contact-page .contact-card,
      .public-contact-page .map-card {
        padding: 16px;
      }

    }
  
