/* Dedicated Contact page */
.plx-contact-page {
  position:relative;
  overflow:hidden;
  padding-block:50px clamp(64px,8vw,96px);
  background:
    radial-gradient(circle at 91% 8%, rgba(90,62,102,.10), transparent 28%),
    radial-gradient(circle at 8% 88%, rgba(199,182,216,.20), transparent 24%),
    var(--plx-bg);
}
.plx-contact-page::before {
  content:"";
  position:absolute;
  inset-inline-start:-12vw;
  inset-block-end:-24vw;
  inline-size:46vw;
  aspect-ratio:1;
  border:1px solid rgba(90,62,102,.08);
  border-radius:50%;
  pointer-events:none;
}
.plx-contact-layout {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-areas:"info map";
  grid-template-columns:minmax(380px,.82fr) minmax(0,1.08fr);
  gap:clamp(28px,5vw,76px);
  align-items:start;
  min-height:0;
}
.plx-contact-layout--info-only {
  grid-template-areas:"info";
  grid-template-columns:minmax(0,800px);
  justify-content:center;
  min-height:0;
}
.plx-contact-map {
  grid-area:map;
  position:relative;
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(90,62,102,.22);
  border-radius:42px 4px 42px 4px;
  background:#ece9e5;
  box-shadow:0 24px 70px rgba(31,41,55,.10);
}
.plx-contact-map iframe,
.plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty),
.plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty) img,
.plx-contact-map > img {
  display:block;
  inline-size:100%;
  block-size:100%;
  min-height:520px;
  border:0;
  object-fit:cover;
}
.plx-contact-map-empty {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:520px;
  padding:36px;
  color:var(--plx-brand);
  text-align:center;
  text-decoration:none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.8), rgba(245,241,247,.9)),
    repeating-linear-gradient(45deg, transparent 0 29px, rgba(90,62,102,.045) 30px 31px);
}
.plx-contact-map-empty > span {
  display:grid;
  place-items:center;
  inline-size:68px;
  block-size:68px;
  border:1px solid rgba(90,62,102,.22);
  border-radius:50%;
  color:var(--plx-accent);
  background:#fff;
}
.plx-contact-map-empty svg { inline-size:30px; block-size:30px; }
.plx-contact-map-empty strong { font-size:1rem; }
.plx-contact-map-empty small { max-width:300px; color:var(--plx-muted); font-size:.9rem; line-height:1.85; }
.plx-contact-map-link {
  position:absolute;
  inset-inline-start:18px;
  inset-block-end:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:calc(100% - 36px);
  padding:10px 13px;
  border:1px solid rgba(31,41,55,.14);
  border-radius:999px;
  color:var(--plx-brand);
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 20px rgba(31,41,55,.10);
  font-size:.84rem;
  font-weight:800;
  text-decoration:none;
  backdrop-filter:blur(10px);
}
.plx-contact-map-link svg { inline-size:16px; block-size:16px; }
.plx-contact-map-link:hover { color:var(--plx-accent); }
.plx-contact-info { grid-area:info; min-width:0; text-align:start; }
.plx-contact-info-layout {
  display:grid;
  grid-template-areas:"content social";
  grid-template-columns:minmax(0,1fr) 76px;
  gap:clamp(24px,3vw,42px);
  align-items:center;
}
.plx-contact-info-layout--no-social { grid-template-areas:"content"; grid-template-columns:minmax(0,1fr); }
.plx-contact-social { grid-area:social;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:12px;
  border:1px solid rgba(90,62,102,.20);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 36px rgba(31,41,55,.08);
}
.plx-contact-social a {
  display:grid;
  place-items:center;
  inline-size:50px;
  block-size:50px;
  border:1px solid rgba(90,62,102,.16);
  border-radius:50%;
  color:var(--plx-accent);
  background:#fff;
  transition:transform .2s ease, color .2s ease, border-color .2s ease;
}
.plx-contact-social a:hover {
  transform:translateY(-2px);
  border-color:var(--plx-accent);
  color:var(--plx-brand);
}
.plx-contact-social svg { inline-size:22px; block-size:22px; }
.plx-contact-info-content { grid-area:content; min-width:0; }
.plx-contact-title-wrap { display:block; }
.plx-contact-title-wrap h1 {
  margin:0;
  color:var(--plx-brand);
  font-size:50px;
  font-weight:600;
  letter-spacing:-.055em;
  line-height:1.18;
}
.plx-contact-description {
  max-width:550px;
  margin:20px 0 0;
  color:#52616f;
  font-size:1rem;
  line-height:2;
}
.plx-contact-description > p { margin:0; }
.plx-contact-list {
  display:grid;
  gap:20px;
  margin:clamp(30px,5vw,54px) 0 0;
  padding:0;
  list-style:none;
}
.plx-contact-list li {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:14px;
  color:var(--plx-brand);
  font-size:clamp(1rem,1.4vw,1.24rem);
  font-weight:500;
  text-align:right;
  line-height:1.75;
}
.plx-contact-item-icon {
  display:grid;
  place-items:center;
  inline-size:27px;
  block-size:27px;
  width:27px;
  margin-top:.19em;
  color:var(--plx-accent);
}
.plx-contact-item-icon svg { inline-size:24px; block-size:24px; }
.plx-contact-list a {
  color:inherit;
  text-decoration:none;
}
.plx-contact-list a:hover { color:var(--plx-accent); }
.plx-contact-phone-group { display:grid; gap:1px; }
.plx-contact-phone-group small {
  color:var(--plx-muted);
  font-size:.75rem;
  font-weight:700;
  line-height:1.45;
}
@media (min-width:1024px) {
  .plx-contact-layout {
    align-items:center;
  }

  .plx-contact-info,
  .plx-contact-social {
    align-self:center;
  }
}

@media (max-width:1023px) {
  .plx-contact-title-wrap h1 { font-size:42px; }
}

@media (max-width:1023px) {
  .plx-contact-layout {
    grid-template-areas:"info" "map";
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .plx-contact-map { min-height:430px; max-width:760px; inline-size:100%; }
  .plx-contact-map iframe,
  .plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty),
  .plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty) img,
  .plx-contact-map > img,
  .plx-contact-map-empty { min-height:430px; }
}
@media (max-width:720px) {
  .plx-contact-page { padding-block:34px 74px; }
  .plx-contact-info-layout { grid-template-areas:"content" "social"; grid-template-columns:minmax(0,1fr); gap:24px; }
  .plx-contact-social { flex-direction:row; inline-size:max-content; padding:9px; border-radius:999px; }
  .plx-contact-social a { inline-size:44px; block-size:44px; }
  .plx-contact-title-wrap h1 { font-size:clamp(2.25rem,11vw,3.5rem); }
  .plx-contact-list { gap:17px; margin-top:34px; }
  .plx-contact-list li { grid-template-columns:24px minmax(0,1fr); gap:11px; font-size:1rem; }
  .plx-contact-item-icon { inline-size:24px; block-size:24px; }
  .plx-contact-item-icon svg { inline-size:21px; block-size:21px; }
  .plx-contact-map { min-height:340px; border-radius:30px 3px 30px 3px; }
  .plx-contact-map iframe,
  .plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty),
  .plx-contact-map > a:not(.plx-contact-map-link):not(.plx-contact-map-empty) img,
  .plx-contact-map > img,
  .plx-contact-map-empty { min-height:340px; }
}
