/* Contact page. Shared banner, anchor navigation, footer, and base section layout live in common.css. */

.contact-page .inner-content {
  --contact-ink: #17212b;
  --contact-text: #263747;
  --contact-muted: #5e6a76;
  --contact-soft: #f2f9fd;
  --contact-panel: #ffffff;
  --contact-line: rgba(18, 48, 74, 0.1);
  --contact-line-strong: rgba(31, 112, 178, 0.18);
  --contact-primary: var(--color-primary);
  --contact-primary-dark: var(--color-primary-dark);
  --contact-accent: var(--color-accent);
  background: #ffffff;
}

.contact-page .inner-content .inner-section {
  min-height: auto;
  padding-top: clamp(62px, 7vw, 102px);
  padding-bottom: clamp(62px, 7vw, 102px);
  border-bottom: 1px solid rgba(10, 39, 64, 0.06);
}

.contact-page .inner-content .contact-ways {
  padding-top: clamp(46px, 4.4vw, 68px);
  padding-bottom: clamp(56px, 5.8vw, 84px);
  border-bottom: 0;
  background: #ffffff;
}

.contact-page .inner-content .contact-message {
  background:
    radial-gradient(circle at 12% 18%, rgba(83, 181, 233, 0.13), rgba(83, 181, 233, 0) 32%),
    radial-gradient(circle at 86% 10%, rgba(31, 112, 178, 0.1), rgba(31, 112, 178, 0) 30%),
    linear-gradient(180deg, #f8fcff 0%, #f4f9fd 48%, #eef6fb 100%);
}

.contact-section-head {
  max-width: 720px;
  margin: 0 0 clamp(26px, 3.4vw, 48px);
}

.contact-section-head--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.contact-section-head .inner-section__kicker {
  margin-bottom: 12px;
  color: var(--contact-primary);
  font-family: var(--font-number);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.contact-section-head h2 {
  margin: 0;
  color: var(--contact-ink);
  font-size: clamp(28px, 2.15vw, 38px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
}

.contact-section-head > p:not(.inner-section__kicker) {
  max-width: 640px;
  margin: 14px 0 0;
  color: var(--contact-muted);
  font-size: clamp(13px, 0.92vw, 15px);
  line-height: 1.72;
}

.contact-section-head--center > p:not(.inner-section__kicker) {
  margin-right: auto;
  margin-left: auto;
}

.contact-ways__layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(420px, 1.14fr);
  gap: clamp(34px, 4.6vw, 70px);
  align-items: start;
}

.contact-ways__info {
  display: block;
  padding: clamp(20px, 2.4vw, 36px) 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.contact-ways__company {
  margin: 0 0 clamp(24px, 3vw, 38px);
  color: #2f353b;
  font-size: clamp(20px, 1.55vw, 28px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: 0;
}

.contact-ways__plain-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.contact-ways__line {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: #3f454b;
  font-size: clamp(14px, 0.9vw, 16px);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.contact-ways__plain-list .contact-ways__line:last-child {
  margin: 0;
  color: #3f454b;
  font-size: clamp(14px, 0.9vw, 16px);
  line-height: 1.6;
}

.contact-ways__line-icon {
  width: 18px;
  height: 18px;
  margin-top: 4px;
  color: var(--contact-primary-dark);
}

.contact-ways__line-text {
  min-width: 0;
}

.contact-ways__line-label {
  color: inherit;
  font-weight: 400;
}

.contact-ways__follow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: clamp(28px, 3vw, 42px);
  padding-top: clamp(18px, 1.8vw, 26px);
  color: #3f454b;
  font-size: clamp(13px, 0.9vw, 15px);
  line-height: 1;
  border-top: 1px solid rgba(10, 39, 64, 0.1);
}

.contact-ways__follow a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  color: #ffffff;
  text-decoration: none;
  border-radius: 50%;
  background: var(--contact-primary-dark);
  transition:
    background var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.contact-ways__follow a:hover,
.contact-ways__follow a:focus-visible {
  background: var(--contact-primary);
  transform: translateY(-2px);
}

.contact-ways__follow .iconify {
  width: 19px;
  height: 19px;
}

.contact-ways__qr-pop {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  display: block;
  z-index: 3;
  width: 120px;
  height: 120px;
  padding: 5px;
  pointer-events: none;
  border: 1px solid rgba(31, 112, 178, 0.12);
  border-radius: 6px;
  /* background:
    linear-gradient(90deg, #111 1px, transparent 1px) 0 0 / 8px 8px,
    linear-gradient(#111 1px, transparent 1px) 0 0 / 8px 8px,
    conic-gradient(from 90deg, #111 0 25%, transparent 0 50%, #111 0 75%, transparent 0) 0 0 / 16px 16px,
    #ffffff; */
  box-shadow: 0 18px 38px rgba(18, 48, 74, 0.16);
  opacity: 0;
  transform: translate(-50%, 8px) scale(0.94);
  transition:
    opacity var(--duration-normal) var(--ease-standard),
    transform var(--duration-normal) var(--ease-standard);
    background-color: #fff;
    border-radius: 6px;
    overflow: hidden;
}
.contact-ways__qr-pop img{
  width: 100%;
}
.contact-ways__follow a:hover .contact-ways__qr-pop,
.contact-ways__follow a:focus-visible .contact-ways__qr-pop {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.contact-ways__qr-pop::before {
  display: none;
  content: "";
  position: absolute;
  inset: 35px;
  border-radius: 50%;
  background: var(--contact-primary);
  box-shadow:
    -26px -26px 0 9px #ffffff,
    26px -26px 0 9px #ffffff,
    -26px 26px 0 9px #ffffff;
}

.contact-ways__qr-pop--video::before {
  background: var(--contact-accent);
}

.contact-ways__qr-pop--douyin::before {
  background: #121a24;
}

.contact-ways__plain-list a,
.contact-branch-card a {
  color: inherit;
  text-decoration: none;
}

.contact-ways__plain-list a:hover,
.contact-ways__plain-list a:focus-visible,
.contact-branch-card a:hover,
.contact-branch-card a:focus-visible {
  color: var(--contact-primary);
}

.contact-ways__actions,
.contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 22px;
  color: var(--contact-primary);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid rgba(31, 112, 178, 0.24);
  border-radius: 6px;
  background: #ffffff;
  cursor: pointer;
  transition:
    color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.contact-button:hover,
.contact-button:focus-visible {
  color: var(--contact-primary-dark);
  border-color: rgba(31, 112, 178, 0.42);
  background: #f2f9fd;
  transform: translateY(-1px);
}

.contact-button--primary {
  color: #ffffff;
  border-color: var(--contact-primary);
  background: var(--contact-primary);
}

.contact-button--primary:hover,
.contact-button--primary:focus-visible {
  color: #ffffff;
  border-color: var(--contact-primary-dark);
  background: var(--contact-primary-dark);
}

.contact-button .iconify {
  width: 17px;
  height: 17px;
}

.contact-global-panel {
  position: relative;
  display: grid;
  gap: clamp(24px, 3vw, 38px);
  min-width: 0;
  padding: clamp(20px, 2.4vw, 36px) clamp(18px, 2vw, 28px) clamp(22px, 2.6vw, 32px);
  overflow: hidden;
  border-radius: 8px;
  isolation: isolate;
}

.contact-global-panel::before {
  content: "";
  position: absolute;
  right: clamp(10px, 2.2vw, 30px);
  top: clamp(-22px, -2vw, -8px);
  z-index: -1;
  width: min(118%, 760px);
  aspect-ratio: 1091 / 506;
  background: url("../images/contact-global-bg.jpg") center top / contain no-repeat;
  opacity: 0.64;
  pointer-events: none;
}

.contact-global-panel__head {
  margin: 0;
}

.contact-page .contact-global-panel__head p {
  margin: 0;
  color: #2f353b;
  font-size: clamp(20px, 1.55vw, 28px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: 0;
}

.contact-branch-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-height: calc((118px * 3) + (14px * 2) + 4px);
  overflow-y: scroll;
  padding: 2px 12px 2px 2px;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 112, 178, 0.28) rgba(31, 112, 178, 0.08);
  -webkit-overflow-scrolling: touch;
}

.contact-branch-cards::-webkit-scrollbar {
  width: 6px;
}

.contact-branch-cards::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(31, 112, 178, 0.08);
}

.contact-branch-cards::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(31, 112, 178, 0.28);
}

.contact-branch-cards:focus-visible {
  outline: 2px solid rgba(31, 112, 178, 0.28);
  outline-offset: 4px;
}

.contact-branch-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  min-height: 118px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  transition:
    transform var(--duration-fast) var(--ease-standard);
}

.contact-branch-card:hover {
  transform: translateY(-2px);
}

.contact-branch-card__media {
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  border-radius: 6px;
  background: #eef3f7;
  overflow: hidden;
}

.contact-branch-card__media picture,
.contact-branch-card__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.contact-branch-card__media img {
  object-fit: cover;
}

.contact-branch-card__body {
  display: grid;
  align-content: center;
  min-width: 0;
}

.contact-branch-card__area {
  display: block;
  margin-bottom: 5px;
  color: var(--contact-primary);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.contact-branch-card h3 {
  margin: 0 0 7px;
  color: var(--contact-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.contact-branch-card p {
  margin: 0;
  color: var(--contact-muted);
  font-size: 12.5px;
  line-height: 1.62;
  overflow-wrap: anywhere;
}

.contact-branch-card p:last-child {
  margin: 0;
  color: var(--contact-muted);
  font-size: 12.5px;
  line-height: 1.62;
}

.contact-message__layout {
  display: grid;
  gap: clamp(34px, 4vw, 54px);
}

.contact-message__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.34fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: end;
}

.contact-message .contact-section-head {
  max-width: 720px;
  margin: 0;
}

.contact-message .contact-section-head h2 {
  padding-bottom: 0;
}

.contact-message .contact-section-head > p:not(.inner-section__kicker) {
  max-width: 760px;
  margin-top: 20px;
  color: rgba(31, 41, 51, 0.62);
  font-size: clamp(14px, 0.9vw, 16px);
  line-height: 1.56;
}

.contact-message .contact-section-head > p + p {
  margin-top: 5px;
}

.contact-message .contact-section-head > p:not(.inner-section__kicker) + p:not(.inner-section__kicker) {
  margin-top: 5px;
}

.contact-message__quick-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-message__quick-actions a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 56px;
  padding: 0 18px;
  color: #3f454b;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid rgba(18, 48, 74, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.62);
  transition:
    color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard);
}

.contact-message__quick-actions a:hover,
.contact-message__quick-actions a:focus-visible {
  color: var(--contact-primary-dark);
  border-color: rgba(31, 112, 178, 0.3);
  background: #ffffff;
}

.contact-message__quick-actions .iconify {
  width: 22px;
  height: 22px;
}

.contact-message__qr-pop {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  z-index: 3;
  width: 120px;
  height: 120px;
  padding: 5px;
  pointer-events: none;
  border: 1px solid rgba(31, 112, 178, 0.12);
  border-radius: 6px;
  /* background:
    linear-gradient(90deg, #111 1px, transparent 1px) 0 0 / 8px 8px,
    linear-gradient(#111 1px, transparent 1px) 0 0 / 8px 8px,
    conic-gradient(from 90deg, #111 0 25%, transparent 0 50%, #111 0 75%, transparent 0) 0 0 / 16px 16px,
    #ffffff; */
    background-color: #fff;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
  opacity: 0;
  transform: translate(-50%, 8px) scale(0.94);
  transition:
    opacity var(--duration-normal) var(--ease-standard),
    transform var(--duration-normal) var(--ease-standard);
    overflow: hidden;
}

.contact-message__qr-pop::before {
  display: none;
  content: "";
  position: absolute;
  inset: 39px;
  border-radius: 50%;
  background: var(--contact-primary);
  box-shadow:
    -29px -29px 0 10px #ffffff,
    29px -29px 0 10px #ffffff,
    -29px 29px 0 10px #ffffff;
}

.contact-message__quick-wechat:hover .contact-message__qr-pop,
.contact-message__quick-wechat:focus-visible .contact-message__qr-pop {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.contact-form {
  display: grid;
  gap: clamp(18px, 2vw, 24px);
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.contact-form__types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  border: 0;
}

.contact-form__types legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-form__types label {
  position: relative;
  cursor: pointer;
}

.contact-form__types input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contact-form__types label > span {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 16px 18px;
  color: var(--contact-muted);
  border: 1px solid rgba(31, 112, 178, 0.18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(31, 112, 178, 0.08) 0%, rgba(31, 112, 178, 0.03) 100%);
  box-shadow: 0 10px 24px rgba(31, 112, 178, 0.06);
  opacity: 0.88;
  transition:
    color var(--duration-fast) var(--ease-standard),
    opacity var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard);
}

.contact-form__type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  color: var(--contact-primary);
  font-size: 22px;
  border-radius: 0;
  background: transparent;
  transition:
    color var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.contact-form__type-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.contact-form__types strong {
  display: block;
  color: #2f353b;
  font-size: 15px;
  line-height: 1.28;
  white-space: nowrap;
}

.contact-form__types em {
  color: #5f6973;
  font-size: 12.5px;
  font-style: normal;
  line-height: 1.5;
}

.contact-form__types input:checked + span {
  color: #ffffff;
  border-color: var(--contact-primary);
  background: linear-gradient(135deg, var(--contact-primary) 0%, var(--contact-primary-dark) 100%);
  box-shadow: 0 14px 30px rgba(31, 112, 178, 0.18);
  opacity: 1;
  transform: translateY(-1px);
}

.contact-form__types input:checked + span strong {
  color: #ffffff;
}

.contact-form__types input:checked + span em {
  color: rgba(255, 255, 255, 0.82);
}

.contact-form__types input:checked + span .contact-form__type-icon {
  color: #ffffff;
  transform: scale(1.06);
}

.contact-form__types input:not(:checked) + span:hover {
  opacity: 1;
  border-color: rgba(31, 112, 178, 0.28);
  background: linear-gradient(180deg, rgba(31, 112, 178, 0.12) 0%, rgba(31, 112, 178, 0.05) 100%);
  box-shadow: 0 12px 26px rgba(31, 112, 178, 0.08);
}

.contact-form__types input:focus-visible + span {
  outline: 2px solid rgba(31, 112, 178, 0.28);
  outline-offset: 3px;
}

.contact-form__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.contact-field {
  position: relative;
  display: grid;
  min-width: 0;
}

.contact-field--required::before {
  content: "*";
  position: absolute;
  left: 18px;
  top: 50%;
  z-index: 2;
  color: #e25555;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.contact-field--required input,
.contact-field--required textarea {
  padding-left: 38px;
}

.contact-message .contact-field span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-field span {
  color: var(--contact-text);
  font-size: 14px;
  font-weight: 700;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  color: var(--contact-text);
  font: inherit;
  font-size: 15px;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.86);
  outline: none;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard);

}

.contact-message .contact-field--required input {
  padding-left: 38px;
}

.contact-field textarea {
  min-height: clamp(220px, 16vw, 280px);
  padding-top: 22px;
  padding-bottom: 22px;
  overflow-y: auto;
  overscroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  resize: vertical;
    resize:none;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
  color: rgba(111, 126, 140, 0.68);
}

.contact-field input:focus,
.contact-field textarea:focus {
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(31, 112, 178, 0.08);
}

.contact-field--textarea {
  grid-column: 1 / -1;
}

.contact-form__note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 4px 0 0;
  color: var(--contact-muted);
  font-size: 13px;
  line-height: 1.62;
}

.contact-form__note:last-child {
  margin: 6px 0 0;
  color: var(--contact-muted);
  font-size: 14px;
}

.contact-form__note .iconify {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  color: var(--contact-primary);
}

.contact-message .contact-form__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
  margin-top: clamp(8px, 1vw, 14px);
}

.contact-message .contact-button {
  width: 100%;
  min-height: 56px;
  font-size: 16px;
  border-radius: 8px;
}

.contact-captcha input {
  padding-right: 132px;
}

.contact-captcha__image {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 46px;
  color: #1e5e96;
  font-family: var(--font-number);
  font-size: 21px;
  font-style: normal;
  font-weight: 700;
  border-left: 0;
  border-radius: 4px;
  background:
    repeating-linear-gradient(-18deg, rgba(31, 112, 178, 0.14) 0 2px, transparent 2px 7px),
    linear-gradient(135deg, #eef8ff, #ffffff 48%, #e8f5fd);
  transform: translateY(-50%);
  user-select: none;
}

@media (max-width: 1180px) {
  .contact-page .inner-content .inner-section {
    padding-top: 58px;
    padding-bottom: 72px;
  }

  .contact-ways__layout,
  .contact-message__top {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .contact-message__quick-actions {
    max-width: 620px;
  }
}

@media (max-width: 760px) {
  .contact-page .floating-service {
    display: none;
  }

  .contact-page .inner-content .inner-section {
    padding: 55px 18px;
  }

  .contact-page .inner-content .contact-ways {
    padding-top: 55px;
    padding-bottom: 55px;
  }

  .contact-section-head h2 {
    font-size: 22px;
    line-height: 1.24;
  }

  .contact-section-head > p:not(.inner-section__kicker),
  .contact-message .contact-section-head > p:not(.inner-section__kicker) {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.58;
  }

  .contact-section-head,
  .contact-section-head--center {
    text-align: left;
  }

  .contact-ways__layout {
    gap: 32px;
  }

  .contact-ways__info {
    padding-top: 0;
  }

  .contact-ways__company {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.32;
  }

  .contact-ways__plain-list {
    gap: 10px;
  }

  .contact-ways__line,
  .contact-ways__plain-list .contact-ways__line:last-child {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 8px;
    font-size: 12px;
    line-height: 1.55;
  }

  .contact-ways__line-icon {
    width: 16px;
    height: 16px;
    margin-top: 2px;
  }

  .contact-ways__follow {
    gap: 10px;
    margin-top: 24px;
    padding-top: 18px;
    font-size: 12px;
  }

  .contact-ways__follow a {
    width: 38px;
    height: 38px;
  }

  .contact-ways__follow .iconify {
    width: 17px;
    height: 17px;
  }

  .contact-global-panel {
    gap: 20px;
    padding: 8px 0 0;
  }

  .contact-global-panel::before {
    right: -16px;
    top: -18px;
    width: 460px;
    max-width: none;
    opacity: 0.62;
  }

  .contact-page .contact-global-panel__head p {
    font-size: 20px;
  }

  .contact-branch-cards {
    grid-template-columns: 1fr;
    gap: 14px;
    max-height: none;
    overflow: visible;
    padding: 0;
    scrollbar-gutter: auto;
  }

  .contact-branch-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
    padding: 0;
  }

  .contact-branch-card__body {
    align-content: start;
    padding: 2px 0;
  }

  .contact-branch-card__area {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .contact-branch-card h3 {
    margin-bottom: 5px;
    font-size: 13px;
  }

  .contact-branch-card p {
    font-size: 12px;
  }

  .contact-branch-card p:last-child {
    font-size: 12px;
  }

  .contact-ways__actions,
  .contact-form__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .contact-button {
    width: 100%;
    min-height: 42px;
    font-size: 12px;
  }

  .contact-form__types,
  .contact-form__grid {
    grid-template-columns: 1fr;
  }

  .contact-message__top {
    gap: 22px;
  }

  .contact-message__quick-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .contact-message__quick-actions a {
    min-height: 46px;
    font-size: 12px;
  }

  .contact-message__quick-actions .iconify {
    width: 18px;
    height: 18px;
  }

  .contact-form {
    gap: 16px;
  }

  .contact-form__types {
    gap: 12px;
  }

  .contact-form__types label > span {
    gap: 9px;
    padding: 16px 14px;
  }

  .contact-form__type-icon {
    width: 22px;
    height: 22px;
    font-size: 20px;
  }

  .contact-form__type-copy {
    gap: 2px;
  }

  .contact-form__types strong {
    font-size: 13px;
  }

  .contact-form__types em {
    font-size: 12px;
    line-height: 1.45;
  }

  .contact-message .contact-form__actions {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .contact-field input,
  .contact-field textarea {
    min-height: 48px;
    padding-right: 14px;
    padding-left: 14px;
    font-size: 12px;
  }

  .contact-field--required input,
  .contact-field--required textarea,
  .contact-message .contact-field--required input {
    padding-left: 30px;
  }

  .contact-field--required::before {
    left: 13px;
    font-size: 14px;
  }

  .contact-field textarea {
    min-height: 160px;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .contact-form__note,
  .contact-form__note:last-child {
    gap: 7px;
    font-size: 12px;
    line-height: 1.55;
  }

  .contact-form__note .iconify {
    width: 16px;
    height: 16px;
    margin-top: 2px;
  }

  .contact-message .contact-button {
    min-height: 48px;
    font-size: 13px;
  }

  .contact-captcha input {
    padding-right: 112px;
  }

  .contact-captcha__image {
    right: 6px;
    width: 92px;
    height: 36px;
    font-size: 16px;
  }

  .contact-field--textarea {
    grid-column: auto;
  }
}

@media (max-width: 480px) {
  .contact-page .inner-content .inner-section,
  .contact-page .inner-content .contact-ways {
    padding-right: 16px;
    padding-left: 16px;
  }

  .contact-ways__layout {
    gap: 28px;
  }

  .contact-branch-cards {
    gap: 12px;
    padding: 0;
  }

  .contact-branch-card {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px;
    min-height: auto;
  }

  .contact-message__layout {
    gap: 28px;
  }

  .contact-form__types label > span {
    padding: 14px 12px;
  }

  .contact-field textarea {
    min-height: 150px;
  }
}
