.page-contact {
  --contact-line: var(--line);
  --contact-tint: rgba(34, 230, 255, 0.1);
  position: relative;
  padding: clamp(18px, 3vw, 32px) 0 clamp(56px, 9vw, 104px);
  color: var(--paper);
  font-family: var(--font-body);
  background:
    radial-gradient(110% 55% at 88% 0%, rgba(34, 230, 255, 0.1), transparent 58%),
    linear-gradient(180deg, var(--ink-900), var(--ink-850) 42%, var(--ink-900));
}

.page-contact .breadcrumb {
  margin-bottom: clamp(18px, 3vw, 30px);
  font-size: 13px;
}

.page-contact .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--mute);
}

.page-contact .breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-contact .breadcrumb__item + .breadcrumb__item::before {
  content: "/";
  color: var(--line);
}

.page-contact .breadcrumb__link {
  color: var(--mute);
  text-decoration: none;
}

.page-contact .breadcrumb__link:hover,
.page-contact .breadcrumb__link:focus-visible {
  color: var(--cyan);
}

.page-contact .breadcrumb__current {
  color: var(--paper);
}

.page-contact .eyebrow {
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cyan);
}

.page-contact .heading-2 {
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-size: clamp(23px, 4vw, 33px);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--paper);
}

.page-contact .num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.page-contact .lead {
  margin: 0;
  max-width: 46ch;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(244, 248, 255, 0.82);
}

/* 首屏 */
.page-contact .contact-hero {
  display: grid;
  gap: clamp(28px, 5vw, 56px);
  padding-bottom: clamp(34px, 6vw, 68px);
}

.page-contact .contact-hero h1 {
  margin: 0 0 16px;
  font-family: var(--font-display);
  font-size: clamp(30px, 7vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--paper);
}

.page-contact .channel-list {
  margin: clamp(22px, 4vw, 34px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--contact-line);
}

.page-contact .channel {
  padding: 16px 0 18px;
  border-bottom: 1px solid var(--contact-line);
}

.page-contact .channel__label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--mute);
}

.page-contact .channel__value {
  display: block;
  font-family: var(--font-mono);
  font-size: clamp(16px, 3.4vw, 27px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--paper);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 200ms var(--ease);
}

.page-contact .channel__value:hover,
.page-contact .channel__value:focus-visible {
  color: var(--orange);
}

.page-contact .channel__hint {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--mute);
}

.page-contact .contact-hero__visual {
  position: relative;
}

.page-contact .media-frame {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--contact-line);
  border-radius: var(--radius-card);
  background: var(--ink-800);
}

.page-contact .media-frame__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.page-contact .media-frame__caption {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--mute);
}

.page-contact .hours-chip {
  position: absolute;
  left: clamp(12px, 3vw, 22px);
  bottom: clamp(12px, 3vw, 20px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 9px 16px;
  border: 1px solid rgba(34, 230, 255, 0.3);
  border-radius: var(--radius-pill);
  background: var(--glass-strong);
  backdrop-filter: blur(10px);
  font-size: 13px;
  color: var(--paper);
}

.page-contact .hours-chip__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 4px rgba(34, 230, 255, 0.18);
}

/* 章节骨架 */
.page-contact .block {
  padding-block: clamp(36px, 6vw, 70px);
  border-top: 1px solid var(--contact-line);
}

.page-contact .block__head {
  max-width: 64ch;
  margin-bottom: clamp(20px, 4vw, 32px);
}

.page-contact .block__lead {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.78;
  color: var(--mute);
}

/* 服务时段 */
.page-contact .hours-grid {
  display: grid;
  gap: 14px;
}

.page-contact .hours-card {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--contact-line);
  border-radius: var(--radius-card);
  background: var(--ink-800);
}

.page-contact .hours-card--live {
  border-color: rgba(34, 230, 255, 0.34);
  background: linear-gradient(158deg, var(--contact-tint), var(--ink-800) 62%);
}

.page-contact .hours-card__num {
  margin: 12px 0 10px;
  font-size: clamp(26px, 5vw, 40px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--paper);
}

.page-contact .hours-card__title {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--paper);
}

.page-contact .hours-card__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--mute);
}

.page-contact .hours-more {
  margin-top: 16px;
  padding: 2px clamp(16px, 3vw, 24px);
  border: 1px solid var(--contact-line);
  border-radius: var(--radius-card);
  background: rgba(20, 34, 53, 0.55);
}

.page-contact .hours-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--paper);
  cursor: pointer;
  list-style: none;
}

.page-contact .hours-more summary::-webkit-details-marker {
  display: none;
}

.page-contact .hours-more summary::after {
  content: "+";
  font-family: var(--font-mono);
  font-size: 20px;
  color: var(--cyan);
}

.page-contact .hours-more[open] summary::after {
  content: "−";
}

.page-contact .hours-more ul {
  margin: 0 0 16px;
  padding-left: 18px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--mute);
}

.page-contact .inline-link {
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid rgba(34, 230, 255, 0.42);
}

.page-contact .inline-link:hover,
.page-contact .inline-link:focus-visible {
  color: var(--paper);
  border-bottom-color: var(--paper);
}

.page-contact .hours-more .inline-link {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 14px;
}

/* 咨询前准备 */
.page-contact .block--prep {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
}

.page-contact .prep-card {
  margin-top: clamp(18px, 3vw, 26px);
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid rgba(184, 199, 217, 0.2);
  border-radius: var(--radius-card);
  background: var(--glass);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow-island);
}

.page-contact .prep-card .card__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--paper);
}

.page-contact .prep-card .card__meta {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.65;
  color: var(--mute);
}

.page-contact .checklist {
  display: grid;
  gap: 12px;
  margin: 14px 0 16px;
  padding: 0;
  list-style: none;
}

.page-contact .checklist__item {
  position: relative;
  padding-left: 30px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--paper);
}

.page-contact .checklist__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(34, 230, 255, 0.5);
  border-radius: 6px;
  background: rgba(34, 230, 255, 0.12);
}

.page-contact .checklist__item::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 7px;
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--cyan);
  border-bottom: 2px solid var(--cyan);
  transform: rotate(-45deg);
}

.page-contact .cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-contact .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 200ms var(--ease), background-color 200ms var(--ease),
    border-color 200ms var(--ease);
}

.page-contact .btn--primary {
  background: var(--orange);
  color: var(--ink-900);
}

.page-contact .btn--primary:hover,
.page-contact .btn--primary:focus-visible {
  transform: translateY(-2px);
  background: #ff8f3d;
}

.page-contact .btn--ghost {
  border-color: var(--contact-line);
  color: var(--paper);
  background: transparent;
}

.page-contact .btn--ghost:hover,
.page-contact .btn--ghost:focus-visible {
  border-color: var(--cyan);
  color: var(--cyan);
}

/* 地址与备案 */
.page-contact .block--geo {
  display: grid;
  gap: clamp(16px, 3vw, 26px);
}

.page-contact .geo__panel {
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid var(--contact-line);
  border-radius: var(--radius-card);
  background:
    linear-gradient(152deg, rgba(255, 122, 26, 0.11), transparent 56%),
    var(--ink-800);
}

.page-contact .geo__address {
  margin: 6px 0 14px;
  font-family: var(--font-display);
  font-size: clamp(21px, 3.6vw, 31px);
  font-weight: 800;
  line-height: 1.38;
  letter-spacing: -0.01em;
  color: var(--paper);
}

.page-contact .geo__hint {
  margin: 0 0 20px;
  max-width: 44ch;
  font-size: 14.5px;
  line-height: 1.78;
  color: var(--mute);
}

.page-contact .geo__tag {
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
}

.page-contact .geo__grid {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  border: 1px solid var(--contact-line);
  border-radius: var(--radius-card);
  background-color: var(--ink-850);
  background-image:
    linear-gradient(to right, rgba(36, 54, 77, 0.9) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(36, 54, 77, 0.9) 1px, transparent 1px);
  background-size: 28px 28px;
}

.page-contact .geo__grid::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 62% 46%, rgba(34, 230, 255, 0.18), transparent 56%);
}

.page-contact .geo__grid::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 46%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 122, 26, 0.55), transparent);
}

.page-contact .geo__pin {
  position: absolute;
  left: 62%;
  top: 46%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--orange);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 6px rgba(255, 122, 26, 0.18), 0 0 0 14px rgba(255, 122, 26, 0.08);
}

/* 合作与反馈 */
.page-contact .feedback-grid {
  display: grid;
  gap: 14px;
}

.page-contact .feedback {
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--contact-line);
  border-top-width: 2px;
  border-radius: var(--radius-card);
  background: var(--ink-800);
}

.page-contact .feedback:nth-child(1) {
  border-top-color: var(--cyan);
}

.page-contact .feedback:nth-child(2) {
  border-top-color: var(--gold);
}

.page-contact .feedback:nth-child(3) {
  border-top-color: var(--orange);
}

.page-contact .feedback .card__title {
  margin: 12px 0 10px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.42;
  color: var(--paper);
}

.page-contact .feedback .card__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.78;
  color: var(--mute);
}

.page-contact .feedback .card__meta {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--mute);
}

.page-contact .feedback__tail {
  margin: clamp(18px, 3vw, 26px) 0 0;
  padding-top: 16px;
  border-top: 1px dashed var(--contact-line);
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--paper);
}

@media (min-width: 760px) {
  .page-contact .hours-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .page-contact .feedback-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .page-contact .contact-hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: start;
  }

  .page-contact .contact-hero__visual {
    margin-top: 8px;
  }

  .page-contact .block--prep {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
    align-items: start;
  }

  .page-contact .prep__visual {
    order: -1;
    position: sticky;
    top: 96px;
  }

  .page-contact .block--geo {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: stretch;
  }

  .page-contact .feedback-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (min-width: 1200px) {
  .page-contact .lead {
    font-size: 17px;
  }

  .page-contact .geo__grid {
    min-height: 260px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact .btn,
  .page-contact .channel__value {
    transition: none;
  }

  .page-contact .btn--primary:hover,
  .page-contact .btn--primary:focus-visible {
    transform: none;
  }
}

.page-contact{--contact-line:var(--line);--contact-tint:rgba(34,230,255,0.1);position:relative;padding:clamp(18px,3vw,32px) 0 clamp(56px,9vw,104px);color:var(--paper);font-family:var(--font-body);background:radial-gradient(110% 55% at 88% 0%,rgba(34,230,255,0.1),transparent 58%),linear-gradient(180deg,var(--ink-900),var(--ink-850) 42%,var(--ink-900))}
.page-contact .breadcrumb{margin-bottom:clamp(18px,3vw,30px);font-size:13px}
.page-contact .breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;color:var(--mute)}
.page-contact .breadcrumb__item{display:flex;align-items:center;gap:8px}
.page-contact .breadcrumb__item+.breadcrumb__item::before{content:"/";color:var(--line)}
.page-contact .breadcrumb__link{color:var(--mute);text-decoration:none}
.page-contact .breadcrumb__link:hover,.page-contact .breadcrumb__link:focus-visible{color:var(--cyan)}
.page-contact .breadcrumb__current{color:var(--paper)}
.page-contact .eyebrow{margin:0 0 12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.page-contact .heading-2{margin:0 0 14px;font-family:var(--font-display);font-size:clamp(23px,4vw,33px);font-weight:800;line-height:1.22;letter-spacing:-.01em;color:var(--paper)}
.page-contact .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.page-contact .lead{margin:0;max-width:46ch;font-size:16px;line-height:1.78;color:rgba(244,248,255,.82)}
.page-contact .contact-hero{display:grid;gap:clamp(28px,5vw,56px);padding-bottom:clamp(34px,6vw,68px)}
.page-contact .contact-hero h1{margin:0 0 16px;font-family:var(--font-display);font-size:clamp(30px,7vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--paper)}
.page-contact .channel-list{margin:clamp(22px,4vw,34px) 0 0;padding:0;list-style:none;border-top:1px solid var(--contact-line)}
.page-contact .channel{padding:16px 0 18px;border-bottom:1px solid var(--contact-line)}
.page-contact .channel__label{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.16em;color:var(--mute)}
.page-contact .channel__value{display:block;font-family:var(--font-mono);font-size:clamp(16px,3.4vw,27px);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--paper);text-decoration:none;overflow-wrap:anywhere;transition:color .2s var(--ease)}
.page-contact .channel__value:hover,.page-contact .channel__value:focus-visible{color:var(--orange)}
.page-contact .channel__hint{display:block;margin-top:8px;font-size:13px;line-height:1.6;color:var(--mute)}
.page-contact .contact-hero__visual{position:relative}
.page-contact .media-frame{position:relative;margin:0;overflow:hidden;border:1px solid var(--contact-line);border-radius:var(--radius-card);background:var(--ink-800)}
.page-contact .media-frame__img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
.page-contact .media-frame__caption{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--mute)}
.page-contact .hours-chip{position:absolute;left:clamp(12px,3vw,22px);bottom:clamp(12px,3vw,20px);display:inline-flex;align-items:center;gap:10px;margin:0;padding:9px 16px;border:1px solid rgba(34,230,255,.3);border-radius:var(--radius-pill);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;color:var(--paper)}
.page-contact .hours-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(34,230,255,.18)}
.page-contact .block{padding-block:clamp(36px,6vw,70px);border-top:1px solid var(--contact-line)}
.page-contact .block__head{max-width:64ch;margin-bottom:clamp(20px,4vw,32px)}
.page-contact .block__lead{margin:0;font-size:15.5px;line-height:1.78;color:var(--mute)}
.page-contact .hours-grid{display:grid;gap:14px}
.page-contact .hours-card{padding:clamp(18px,3vw,28px);border:1px solid var(--contact-line);border-radius:var(--radius-card);background:var(--ink-800)}
.page-contact .hours-card--live{border-color:rgba(34,230,255,.34);background:linear-gradient(158deg,var(--contact-tint),var(--ink-800) 62%)}
.page-contact .hours-card__num{margin:12px 0 10px;font-size:clamp(26px,5vw,40px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--paper)}
.page-contact .hours-card__title{margin:0 0 10px;font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.45;color:var(--paper)}
.page-contact .hours-card__text{margin:0;font-size:14.5px;line-height:1.75;color:var(--mute)}
.page-contact .hours-more{margin-top:16px;padding:2px clamp(16px,3vw,24px);border:1px solid var(--contact-line);border-radius:var(--radius-card);background:rgba(20,34,53,.55)}
.page-contact .hours-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;font-size:15px;font-weight:700;color:var(--paper);cursor:pointer;list-style:none}
.page-contact .hours-more summary::-webkit-details-marker{display:none}
.page-contact .hours-more summary::after{content:"+";font-family:var(--font-mono);font-size:20px;color:var(--cyan)}
.page-contact .hours-more[open] summary::after{content:"−"}
.page-contact .hours-more ul{margin:0 0 16px;padding-left:18px;font-size:14.5px;line-height:1.8;color:var(--mute)}
.page-contact .inline-link{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(34,230,255,.42)}
.page-contact .inline-link:hover,.page-contact .inline-link:focus-visible{color:var(--paper);border-bottom-color:var(--paper)}
.page-contact .hours-more .inline-link{display:inline-block;margin-bottom:14px;font-size:14px}
.page-contact .block--prep{display:grid;gap:clamp(24px,4vw,40px)}
.page-contact .prep-card{margin-top:clamp(18px,3vw,26px);padding:clamp(18px,3vw,26px);border:1px solid rgba(184,199,217,.2);border-radius:var(--radius-card);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-island)}
.page-contact .prep-card .card__title{margin:0;font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--paper)}
.page-contact .prep-card .card__meta{margin:0 0 16px;font-size:13px;line-height:1.65;color:var(--mute)}
.page-contact .checklist{display:grid;gap:12px;margin:14px 0 16px;padding:0;list-style:none}
.page-contact .checklist__item{position:relative;padding-left:30px;font-size:14.5px;line-height:1.65;color:var(--paper)}
.page-contact .checklist__item::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border:1px solid rgba(34,230,255,.5);border-radius:6px;background:rgba(34,230,255,.12)}
.page-contact .checklist__item::after{content:"";position:absolute;left:5px;top:7px;width:8px;height:4px;border-left:2px solid var(--cyan);border-bottom:2px solid var(--cyan);transform:rotate(-45deg)}
.page-contact .cluster{display:flex;flex-wrap:wrap;gap:10px}
.page-contact .btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease)}
.page-contact .btn--primary{background:var(--orange);color:var(--ink-900)}
.page-contact .btn--primary:hover,.page-contact .btn--primary:focus-visible{transform:translateY(-2px);background:#ff8f3d}
.page-contact .btn--ghost{border-color:var(--contact-line);color:var(--paper);background:transparent}
.page-contact .btn--ghost:hover,.page-contact .btn--ghost:focus-visible{border-color:var(--cyan);color:var(--cyan)}
.page-contact .block--geo{display:grid;gap:clamp(16px,3vw,26px)}
.page-contact .geo__panel{padding:clamp(22px,4vw,36px);border:1px solid var(--contact-line);border-radius:var(--radius-card);background:linear-gradient(152deg,rgba(255,122,26,.11),transparent 56%),var(--ink-800)}
.page-contact .geo__address{margin:6px 0 14px;font-family:var(--font-display);font-size:clamp(21px,3.6vw,31px);font-weight:800;line-height:1.38;letter-spacing:-.01em;color:var(--paper)}
.page-contact .geo__hint{margin:0 0 20px;max-width:44ch;font-size:14.5px;line-height:1.78;color:var(--mute)}
.page-contact .geo__tag{font-family:var(--font-mono);letter-spacing:.04em}
.page-contact .geo__grid{position:relative;min-height:210px;overflow:hidden;border:1px solid var(--contact-line);border-radius:var(--radius-card);background-color:var(--ink-850);background-image:linear-gradient(to right,rgba(36,54,77,.9) 1px,transparent 1px),linear-gradient(to bottom,rgba(36,54,77,.9) 1px,transparent 1px);background-size:28px 28px}
.page-contact .geo__grid::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 62% 46%,rgba(34,230,255,.18),transparent 56%)}
.page-contact .geo__grid::after{content:"";position:absolute;left:0;right:0;top:46%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,122,26,.55),transparent)}
.page-contact .geo__pin{position:absolute;left:62%;top:46%;width:14px;height:14px;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(255,122,26,.18),0 0 0 14px rgba(255,122,26,.08)}
.page-contact .feedback-grid{display:grid;gap:14px}
.page-contact .feedback{padding:clamp(18px,3vw,26px);border:1px solid var(--contact-line);border-top-width:2px;border-radius:var(--radius-card);background:var(--ink-800)}
.page-contact .feedback:nth-child(1){border-top-color:var(--cyan)}
.page-contact .feedback:nth-child(2){border-top-color:var(--gold)}
.page-contact .feedback:nth-child(3){border-top-color:var(--orange)}
.page-contact .feedback .card__title{margin:12px 0 10px;font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.42;color:var(--paper)}
.page-contact .feedback .card__text{margin:0;font-size:14.5px;line-height:1.78;color:var(--mute)}
.page-contact .feedback .card__meta{margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--mute)}
.page-contact .feedback__tail{margin:clamp(18px,3vw,26px) 0 0;padding-top:16px;border-top:1px dashed var(--contact-line);font-size:14.5px;line-height:1.8;color:var(--paper)}
@media (min-width:760px){.page-contact .hours-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-contact .feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.page-contact .contact-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.page-contact .contact-hero__visual{margin-top:8px}.page-contact .block--prep{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:start}.page-contact .prep__visual{order:-1;position:sticky;top:96px}.page-contact .block--geo{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch}.page-contact .feedback-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:1200px){.page-contact .lead{font-size:17px}.page-contact .geo__grid{min-height:260px}}
@media (prefers-reduced-motion:reduce){.page-contact .btn,.page-contact .channel__value{transition:none}.page-contact .btn--primary:hover,.page-contact .btn--primary:focus-visible{transform:none}}
