.contact-page {
          padding-top: 40px;
          padding-bottom: 80px;
        }

        .contact-header-section {
          text-align: center;
          margin-bottom: 48px;
        }

        .contact-layout-grid {
          display: grid;
          grid-template-columns: 1fr 1.2fr;
          gap: 40px;
          align-items: flex-start;
          margin-bottom: 56px;
        }

        .contact-info-column {
          display: flex;
          flex-direction: column;
          gap: 24px;
        }

        .contact-cards-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 20px;
        }

        .contact-info-card {
          display: flex;
          gap: 16px;
          align-items: flex-start;
          text-align: left;
          padding: 24px;
        }

        .contact-info-card h4 {
          font-family: var(--font-headings);
          font-size: 0.85rem;
          color: var(--brand-gold);
          font-weight: 700;
          letter-spacing: 0.05em;
          margin-bottom: 6px;
        }

        .info-val {
          font-size: 0.95rem;
          font-weight: 600;
          color: var(--text-white);
          display: block;
        }

        .address-val {
          line-height: 1.4;
        }

        a.info-val:hover {
          color: var(--brand-gold);
          text-decoration: underline;
        }

        .info-desc {
          color: var(--text-gray);
          font-size: 0.75rem;
          margin-top: 4px;
          display: block;
        }

        /* Map Embed Placeholder */
        .map-embed-placeholder {
          background: linear-gradient(135deg, var(--brand-green-dark) 0%, #0d120f 100%);
          border: 1px solid var(--border-gold);
          height: 250px;
          position: relative;
          overflow: hidden;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        .map-logo-overlay {
          position: relative;
          z-index: 10;
          text-align: center;
          display: flex;
          flex-direction: column;
          align-items: center;
        }

        .map-logo-overlay h3 {
          font-size: 1.25rem;
          font-weight: 700;
          margin-top: 10px;
          margin-bottom: 4px;
          color: #ffffff !important;
        }

        .map-logo-overlay p {
          font-size: 0.8rem;
          color: #cbd5e1 !important;
          margin-bottom: 16px;
        }

        .map-directions-btn {
          width: fit-content;
        }

        .map-lines-graphic {
          position: absolute;
          width: 200%;
          height: 200%;
          border: 1px dashed rgba(196, 164, 108, 0.1);
          border-radius: 50%;
          z-index: 1;
          pointer-events: none;
          animation: spin 30s linear infinite;
        }

        @keyframes spin {
          from { transform: rotate(0deg); }
          to { transform: rotate(360deg); }
        }

        /* Form styling */
        .contact-form-box {
          padding: 40px;
          text-align: left;
        }

        .form-box-title {
          font-family: var(--font-headings);
          font-size: 1.3rem;
          font-weight: 700;
          letter-spacing: 0.05em;
          margin-bottom: 8px;
        }

        .form-box-desc {
          color: var(--text-gray);
          font-size: 0.85rem;
          margin-bottom: 28px;
          line-height: 1.5;
        }

        .form-grid-2 {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 20px;
        }

        .form-control.error {
          border-color: #ef4444;
        }

        .field-error {
          color: #ef4444;
          font-size: 0.75rem;
          margin-top: 4px;
          display: block;
        }

        .form-submit-btn {
          width: 100%;
          padding: 14px;
        }

        /* Success State */
        .form-success-state {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-align: center;
          padding: 20px 0;
        }

        .form-success-state h3 {
          font-size: 1.5rem;
          margin-top: 16px;
          margin-bottom: 8px;
        }

        .form-success-state p {
          color: var(--text-gray);
          font-size: 0.9rem;
          line-height: 1.6;
          margin-bottom: 28px;
          max-width: 480px;
        }


        /* Responsive styling */
        @media (max-width: 1024px) {
          .contact-layout-grid {
            grid-template-columns: 1fr;
          }
        }

        @media (max-width: 680px) {
          .contact-cards-grid {
            grid-template-columns: 1fr;
          }
          .form-grid-2 {
            grid-template-columns: 1fr;
            gap: 12px;
          }
          .contact-form-box {
            padding: 20px;
          }
        }