@layer components {
  .contact-hero {
    background: radial-gradient(circle at 10% 0, rgba(215, 185, 138, 0.18), transparent 55%), radial-gradient(circle at 80% 0, rgba(126, 30, 50, 0.3), transparent 60%), linear-gradient(135deg, #111216, #181a20 55%, #111216 100%);
  }
  .contact-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--space-10);
    align-items: center;
  }
  .contact-hero-copy {
    max-width: 640px;
  }
  .contact-hero-lead {
    font-size: var(--font-size-lg);
    color: var(--color-text-muted);
  }
  .contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-6);
    margin-bottom: var(--space-4);
  }
  .contact-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
  }
  .contact-hero-visual {
    position: relative;
  }
  .contact-hero-image {
    min-height: 320px;
    background: radial-gradient(circle at 20% 0, rgba(215, 185, 138, 0.22), transparent 55%), radial-gradient(circle at 80% 10%, rgba(126, 30, 50, 0.45), transparent 60%), linear-gradient(145deg, #14151b, #050608);
  }
  .contact-hero-image-layer {
    position: absolute;
    inset: 0;
    mix-blend-mode: soft-light;
    pointer-events: none;
  }
  .contact-hero-image-main {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.75)), radial-gradient(circle at 30% 20%, rgba(215, 185, 138, 0.3), transparent 55%);
  }
  .contact-hero-image-detail {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0.12) 1px, transparent 1px, transparent 10px);
    opacity: 0.14;
  }
  .contact-hero-overlay-card {
    position: absolute;
    right: 8%;
    bottom: 8%;
    max-width: 320px;
  }
  .contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: var(--space-10);
  }
  .contact-card-main {
    align-self: start;
  }
  .contact-card-side {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  .contact-form-grid {
    gap: var(--space-4);
  }
  .form-field {
    display: flex;
    flex-direction: column;
  }
  .form-consent-label {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
  }
  .form-consent-label input[type="checkbox"] {
    margin-top: 0.15rem;
    width: 1rem;
    height: 1rem;
  }
  .form-consent-label a {
    text-decoration: underline;
  }
  .contact-form-footer {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-4);
  }
  .contact-side-card h2 {
    font-size: var(--font-size-2xl);
  }
  .contact-address {
    font-family: var(--font-serif);
    line-height: var(--line-height-relaxed);
  }
  .contact-list {
    display: grid;
    gap: var(--space-4);
  }
  .contact-link {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .contact-hours {
    display: grid;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
  }
  .contact-hours dt {
    font-weight: 600;
  }
  .contact-hours dd {
    margin: 0;
    color: var(--color-text-muted);
  }
  .contact-map-section {
    background: radial-gradient(circle at 0 0, rgba(15, 107, 87, 0.22), transparent 55%), radial-gradient(circle at 100% 0, rgba(126, 30, 50, 0.22), transparent 55%), linear-gradient(135deg, #111216, #181a20);
  }
  .contact-map-grid {
    gap: var(--space-8);
    align-items: stretch;
  }
  .contact-map-copy ul {
    margin-bottom: var(--space-4);
    color: var(--color-text-muted);
  }
  .contact-map-embed {
    display: flex;
    align-items: stretch;
  }
  .contact-map-placeholder {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .contact-map-box {
    margin: var(--space-4) 0;
    border-radius: var(--radius-lg);
    min-height: 220px;
    background: radial-gradient(circle at 20% 0, rgba(215, 185, 138, 0.32), transparent 55%), linear-gradient(135deg, #0b1020, #060912);
    border: 1px solid rgba(215, 185, 138, 0.32);
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
  }
  .contact-map-box::before {
    content: "";
    position: absolute;
    inset: 16% 24%;
    border-radius: 999px;
    border: 1px dashed rgba(215, 185, 138, 0.6);
  }
  .contact-map-box::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 2px solid var(--color-accent-champagne);
    background: #111216;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 10px rgba(215, 185, 138, 0.22);
  }
  .contact-map-chip {
    position: absolute;
    bottom: var(--space-3);
    left: var(--space-4);
    padding: 0.35rem 0.9rem;
    border-radius: var(--radius-full);
    background-color: rgba(5, 6, 8, 0.85);
    border: 1px solid rgba(215, 185, 138, 0.5);
    font-size: var(--font-size-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .contact-team-header {
    display: flex;
    justify-content: space-between;
    gap: var(--space-6);
    align-items: flex-end;
    margin-bottom: var(--space-8);
  }
  .contact-team-cta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
  }
  .contact-team-grid {
    gap: var(--space-6);
  }
  .contact-team-card {
    height: 100%;
  }
  .contact-team-list {
    margin: 0;
    padding-left: 1.1rem;
  }
  .contact-consult-grid {
    gap: var(--space-8);
    align-items: stretch;
  }
  .contact-consult-list {
    margin-bottom: var(--space-4);
    color: var(--color-text-muted);
  }
  .contact-faq-card {
    display: flex;
    flex-direction: column;
  }
  .contact-faq-list {
    margin-top: var(--space-3);
    display: grid;
    gap: var(--space-4);
  }
  .contact-faq-item h3 {
    font-size: var(--font-size-lg);
    margin-top: 0;
    margin-bottom: var(--space-2);
  }
  .contact-social-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
    gap: var(--space-8);
    align-items: stretch;
  }
  .contact-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin: var(--space-4) 0 var(--space-3);
  }
  .contact-editorial-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
}
@layer utilities {
  @media (max-width: 1024px) {
    .contact-hero-layout {
      grid-template-columns: minmax(0, 1fr);
    }
    .contact-hero-visual {
      order: -1;
    }
    .contact-grid {
      grid-template-columns: minmax(0, 1fr);
    }
    .contact-card-side {
      flex-direction: row;
      flex-wrap: wrap;
    }
    .contact-card-side > * {
      flex: 1 1 260px;
    }
    .contact-team-header {
      flex-direction: column;
      align-items: flex-start;
    }
    .contact-social-grid {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  @media (max-width: 768px) {
    .contact-hero-actions {
      flex-direction: column;
      align-items: stretch;
    }
    .contact-hero-overlay-card {
      position: static;
      margin-top: var(--space-4);
    }
    .contact-map-grid,
    .contact-consult-grid {
      grid-template-columns: minmax(0, 1fr);
    }
    .contact-card-side {
      flex-direction: column;
    }
  }
}
