.page-contact {
  --contact-edge: rgba(45, 226, 230, 0.42);
  --contact-panel: rgba(22, 22, 31, 0.9);
  background: var(--ink-900);
  color: var(--paper);
}

.page-contact h1,
.page-contact h2,
.page-contact h3 {
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.page-contact h1 {
  font-size: clamp(1.9rem, 7.4vw, 3.5rem);
  margin: 10px 0 16px;
  transform: skewX(-3deg);
  transform-origin: left bottom;
}

.page-contact h2 {
  font-size: clamp(1.4rem, 5.2vw, 2.1rem);
  margin: 6px 0 12px;
}

.page-contact h3 {
  font-size: clamp(1.05rem, 3.6vw, 1.25rem);
  margin: 0 0 10px;
}

.page-contact .lede {
  color: var(--muted);
  font-size: clamp(0.95rem, 3.4vw, 1.06rem);
  line-height: 1.75;
  max-width: 46ch;
}

/* 首屏 */
.contact-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 5vw, 44px) var(--gutter) clamp(32px, 6vw, 68px);
  border-bottom: 1px solid var(--line);
}

.contact-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: 0.26;
  filter: saturate(0.85) contrast(1.08);
  pointer-events: none;
}

.contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 90% at 8% 0%, rgba(108, 62, 245, 0.28), transparent 58%),
    linear-gradient(180deg, rgba(14, 14, 20, 0.55), rgba(14, 14, 20, 0.96) 82%);
  pointer-events: none;
}

.contact-hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--maxw);
  margin: 0 auto;
}

.contact-hero__grid {
  display: grid;
  gap: clamp(24px, 5vw, 40px);
  margin-top: clamp(20px, 4vw, 34px);
  grid-template-columns: minmax(0, 1fr);
}

.contact-hero__lead {
  min-width: 0;
}

/* 邮箱坐标卡 */
.coord {
  position: relative;
  margin: clamp(20px, 4vw, 28px) 0 clamp(18px, 3vw, 24px);
  padding: clamp(16px, 4vw, 22px);
  border: 1px solid var(--line-strong);
  background: linear-gradient(158deg, rgba(31, 27, 51, 0.94), rgba(14, 14, 20, 0.97));
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.coord::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 132px;
  height: 3px;
  background: linear-gradient(90deg, var(--cyan), transparent);
  transform: skewX(-34deg) translateX(-14px);
}

.coord__label {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  color: var(--cyan);
  text-transform: uppercase;
}

.coord__mail {
  margin: 10px 0 16px;
  font-family: var(--font-mono);
  font-size: clamp(1rem, 4.2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.35;
  color: var(--paper);
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.coord__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.coord__note {
  margin: 14px 0 0;
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--muted);
}

/* 复制按钮状态 */
.contact-copy {
  position: relative;
}

.contact-copy__done {
  display: inline-block;
  margin-left: 8px;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--green);
  opacity: 0;
  transition: opacity 0.2s var(--ease);
}

.contact-copy[data-copied] .contact-copy__done {
  opacity: 1;
}

/* 问题类型 chips */
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.chips__item {
  display: inline-block;
  padding: 7px 13px;
  font-size: 0.8rem;
  color: var(--paper);
  text-decoration: none;
  border: 1px solid var(--line);
  background: rgba(31, 27, 51, 0.6);
  transition: border-color 0.2s var(--ease), color 0.2s var(--ease), background 0.2s var(--ease);
}

.chips__item:hover,
.chips__item:focus-visible {
  border-color: var(--cyan);
  color: var(--cyan);
  background: rgba(45, 226, 230, 0.08);
}

.chips__item--alt {
  border-color: rgba(255, 107, 53, 0.55);
  color: var(--orange);
}

.chips__item--alt:hover,
.chips__item--alt:focus-visible {
  border-color: var(--orange);
  color: var(--orange);
  background: rgba(255, 107, 53, 0.1);
}

/* 路线图 */
.contact-hero__map {
  position: relative;
  padding: clamp(16px, 4vw, 24px);
  border: 1px solid var(--line);
  background: linear-gradient(200deg, rgba(31, 27, 51, 0.7), rgba(14, 14, 20, 0.55));
}

.route-map {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  margin: 0 auto;
}

.route-map__spine {
  stroke: var(--contact-edge);
  stroke-width: 1.5;
  stroke-dasharray: 4 6;
}

.route-map__dot {
  fill: var(--cyan);
}

.route-map__dot--mid {
  fill: var(--violet-soft);
}

.route-map__dot--end {
  fill: var(--orange);
}

.route-map__link {
  stroke: rgba(154, 130, 255, 0.4);
  stroke-width: 1;
}

.route-map__code {
  font-family: var(--font-mono);
  font-size: 10px;
  fill: var(--cyan);
  letter-spacing: 0.1em;
}

.route-map__text {
  font-family: var(--font-body);
  font-size: 11.5px;
  fill: var(--paper);
}

.contact-hero__map-note {
  margin: 14px 0 0;
  font-size: 0.82rem;
  line-height: 1.65;
  color: var(--muted);
}

/* 联系条 */
.contact-strip {
  border-bottom: 1px solid var(--line);
  background: var(--ink-800);
}

.contact-strip__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.contact-strip__item {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  align-items: baseline;
  padding: 13px 0;
  border-bottom: 1px dashed rgba(154, 130, 255, 0.16);
}

.contact-strip__item:last-child {
  border-bottom: 0;
}

.contact-strip__label {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  color: var(--violet-soft);
  min-width: 68px;
}

.contact-strip__value {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--paper);
  overflow-wrap: anywhere;
}

/* 章节骨架 */
.contact-sec {
  padding: clamp(36px, 7vw, 72px) var(--gutter);
  border-bottom: 1px solid var(--line);
}

.contact-sec--tint {
  background: linear-gradient(180deg, rgba(31, 27, 51, 0.72), rgba(22, 22, 31, 0.5));
}

.contact-sec--dark {
  background: var(--ink-800);
}

.contact-sec__head {
  max-width: var(--maxw);
  margin: 0 auto clamp(22px, 4vw, 34px);
}

.contact-sec__intro {
  max-width: 62ch;
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.72;
  color: var(--muted);
}

/* 反馈区 */
.feedback-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(22px, 4vw, 36px);
  max-width: var(--maxw);
  margin: 0 auto;
}

.feedback-panel,
.feedback-side {
  min-width: 0;
}

.feedback-panel h3 {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.feedback-list {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.feedback-list li {
  display: flex;
  gap: 12px;
  padding: 11px 0;
  font-size: 0.9rem;
  line-height: 1.68;
  color: var(--muted);
  border-bottom: 1px dashed rgba(154, 130, 255, 0.14);
}

.feedback-list__no {
  flex: 0 0 auto;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--cyan);
  padding-top: 2px;
}

.feedback-list strong {
  color: var(--paper);
  font-weight: 700;
}

/* 模板 */
.template {
  border: 1px solid var(--line-strong);
  background: rgba(14, 14, 20, 0.86);
}

.template__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
  background: rgba(31, 27, 51, 0.72);
}

.template__title {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  color: var(--cyan);
}

.template__body {
  margin: 0;
  padding: 16px 14px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  line-height: 1.9;
  color: var(--paper);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* 反馈侧栏 */
.feedback-side__figure {
  margin: 0 0 18px;
}

.feedback-side__tip {
  margin: 16px 0 0;
  padding: 12px 14px;
  font-size: 0.84rem;
  line-height: 1.68;
  color: var(--paper);
  border-left: 3px solid var(--orange);
  background: rgba(255, 107, 53, 0.08);
}

.shot-details {
  border: 1px solid var(--line);
  background: rgba(31, 27, 51, 0.5);
}

.shot-details summary {
  padding: 12px 14px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--paper);
  cursor: pointer;
  list-style: none;
}

.shot-details summary::-webkit-details-marker {
  display: none;
}

.shot-details summary::before {
  content: "+";
  display: inline-block;
  width: 16px;
  margin-right: 8px;
  font-family: var(--font-mono);
  color: var(--cyan);
}

.shot-details[open] summary::before {
  content: "−";
}

.shot-details__body {
  padding: 0 14px 14px;
}

.shot-details__body p {
  margin: 0 0 10px;
  font-size: 0.86rem;
  line-height: 1.72;
  color: var(--muted);
}

.shot-details__body p:last-child {
  margin-bottom: 0;
}

/* 合作卡 */
.partner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  max-width: var(--maxw);
  margin: 0 auto clamp(24px, 4vw, 38px);
}

.partner-card {
  position: relative;
  padding: 20px 18px 22px;
  border: 1px solid var(--line);
  background: linear-gradient(168deg, rgba(31, 27, 51, 0.92), rgba(14, 14, 20, 0.9));
  overflow: hidden;
  transition: transform 0.25s var(--ease), border-color 0.25s var(--ease);
}

.partner-card::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -36px;
  width: 96px;
  height: 96px;
  border: 1px solid rgba(108, 62, 245, 0.4);
  transform: rotate(45deg);
  pointer-events: none;
}

.partner-card:hover {
  transform: translateY(-3px);
  border-color: var(--line-strong);
}

.partner-card h3 {
  margin-top: 8px;
  color: var(--paper);
}

.partner-card p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.72;
  color: var(--muted);
}

/* 合作标题 */
.subject {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(16px, 4vw, 24px);
  border: 1px solid var(--line-strong);
  background: rgba(14, 14, 20, 0.7);
}

.subject__text h3 {
  color: var(--paper);
}

.subject__text p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.72;
  color: var(--muted);
}

.subject__pre {
  margin: 0 0 12px;
  padding: 14px;
  font-size: 0.78rem;
  line-height: 1.95;
  color: var(--cyan);
  background: rgba(31, 27, 51, 0.78);
  border-left: 3px solid var(--violet);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* 回复节奏 */
.rhythm {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: var(--maxw);
  margin: 0 auto;
  border-top: 1px solid var(--line);
}

.rhythm__item {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.rhythm__code {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: var(--violet-soft);
}

.rhythm__item p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.72;
  color: var(--muted);
}

.rhythm__note {
  max-width: var(--maxw);
  margin: 18px auto 0;
  font-size: 0.84rem;
  line-height: 1.7;
  color: var(--muted);
}

/* 档案标签 */
.records {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  max-width: var(--maxw);
  margin: 0 auto;
}

.record {
  position: relative;
  padding: 16px 16px 18px;
  border: 1px dashed var(--line-strong);
  background: rgba(31, 27, 51, 0.42);
}

.record--alert {
  border-style: solid;
  border-color: rgba(255, 107, 53, 0.5);
  background: rgba(255, 107, 53, 0.07);
}

.record__tag {
  display: inline-block;
  margin-bottom: 10px;
  padding: 3px 8px;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  color: var(--ink-900);
  background: var(--cyan);
}

.record--alert .record__tag {
  background: var(--orange);
  color: var(--ink-900);
}

.record__value {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--paper);
}

.record__value--mono {
  font-family: var(--font-mono);
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}

/* 跳转列表 */
.jump-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.jump {
  border-bottom: 1px solid var(--line);
}

.jump__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  align-items: center;
  padding: 18px 0;
  text-decoration: none;
  transition: padding-left 0.22s var(--ease);
}

.jump__link:hover,
.jump__link:focus-visible {
  padding-left: 8px;
}

.jump__title {
  grid-column: 1;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--paper);
}

.jump__text {
  grid-column: 1;
  font-size: 0.84rem;
  line-height: 1.66;
  color: var(--muted);
}

.jump__go {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--cyan);
  white-space: nowrap;
}

.jump__link:hover .jump__title,
.jump__link:focus-visible .jump__title {
  color: var(--violet-soft);
}

.related {
  max-width: var(--maxw);
  margin: 20px auto 0;
  font-size: 0.82rem;
  color: var(--muted);
}

.related a {
  color: var(--violet-soft);
  text-decoration: none;
  border-bottom: 1px solid rgba(154, 130, 255, 0.44);
}

.related a:hover,
.related a:focus-visible {
  color: var(--cyan);
  border-bottom-color: var(--cyan);
}

.page-contact .img-frame {
  border: 1px solid var(--line);
  background: rgba(31, 27, 51, 0.6);
}

.page-contact .img-frame img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.05);
}

.page-contact .img-frame__caption {
  padding: 10px 12px;
  font-size: 0.76rem;
  line-height: 1.55;
  color: var(--muted);
  border-top: 1px solid var(--line);
}

/* 平板 */
@media (min-width: 620px) {
  .contact-strip__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
  }

  .contact-strip__item:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

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

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

  .rhythm__item {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 0 20px;
    align-items: baseline;
  }

  .rhythm__code {
    margin-bottom: 0;
  }
}

/* 桌面 */
@media (min-width: 960px) {
  .contact-hero__grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    align-items: start;
  }

  .contact-hero__map {
    margin-top: 46px;
  }

  .contact-strip__inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .contact-strip__item {
    border-bottom: 0;
    border-right: 1px dashed rgba(154, 130, 255, 0.16);
    padding: 15px 18px 15px 0;
  }

  .contact-strip__item:last-child {
    border-right: 0;
  }

  .feedback-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    align-items: start;
  }

  .partner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .subject {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 28px;
  }

  .records {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .contact-hero {
    padding-top: 46px;
  }

  .coord__mail {
    font-size: 1.42rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact *,
  .page-contact *::before,
  .page-contact *::after {
    transition-duration: 0.001ms !important;
  }

  .partner-card:hover,
  .jump__link:hover {
    transform: none;
  }
}

.page-contact{--contact-edge:rgba(45,226,230,.42);background:var(--ink-900);color:var(--paper)}
.page-contact h1,.page-contact h2,.page-contact h3{font-family:var(--font-display);font-weight:900;line-height:1.12;letter-spacing:-.02em}
.page-contact h1{font-size:clamp(1.9rem,7.4vw,3.5rem);margin:10px 0 16px;transform:skewX(-3deg);transform-origin:left bottom}
.page-contact h2{font-size:clamp(1.4rem,5.2vw,2.1rem);margin:6px 0 12px}
.page-contact h3{font-size:clamp(1.05rem,3.6vw,1.25rem);margin:0 0 10px}
.page-contact .lede{color:var(--muted);font-size:clamp(.95rem,3.4vw,1.06rem);line-height:1.75;max-width:46ch}
.contact-hero{position:relative;overflow:hidden;padding:clamp(22px,5vw,44px) var(--gutter) clamp(32px,6vw,68px);border-bottom:1px solid var(--line)}
.contact-hero__bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.26;filter:saturate(.85) contrast(1.08);pointer-events:none}
.contact-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 8% 0%,rgba(108,62,245,.28),transparent 58%),linear-gradient(180deg,rgba(14,14,20,.55),rgba(14,14,20,.96) 82%);pointer-events:none}
.contact-hero__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.contact-hero__grid{display:grid;gap:clamp(24px,5vw,40px);margin-top:clamp(20px,4vw,34px);grid-template-columns:minmax(0,1fr)}
.contact-hero__lead{min-width:0}
.coord{position:relative;margin:clamp(20px,4vw,28px) 0 clamp(18px,3vw,24px);padding:clamp(16px,4vw,22px);border:1px solid var(--line-strong);background:linear-gradient(158deg,rgba(31,27,51,.94),rgba(14,14,20,.97));box-shadow:var(--shadow-card);overflow:hidden}
.coord::before{content:"";position:absolute;top:0;left:0;width:132px;height:3px;background:linear-gradient(90deg,var(--cyan),transparent);transform:skewX(-34deg) translateX(-14px)}
.coord__label{display:inline-block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;color:var(--cyan);text-transform:uppercase}
.coord__mail{margin:10px 0 16px;font-family:var(--font-mono);font-size:clamp(1rem,4.2vw,1.5rem);font-weight:600;line-height:1.35;color:var(--paper);letter-spacing:-.01em;overflow-wrap:anywhere;word-break:break-word}
.coord__actions{display:flex;flex-wrap:wrap;gap:10px}
.coord__note{margin:14px 0 0;font-size:.82rem;line-height:1.6;color:var(--muted)}
.contact-copy{position:relative}
.contact-copy__done{display:inline-block;margin-left:8px;font-family:var(--font-mono);font-size:.68rem;color:var(--green);opacity:0;transition:opacity .2s var(--ease)}
.contact-copy[data-copied] .contact-copy__done{opacity:1}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips__item{display:inline-block;padding:7px 13px;font-size:.8rem;color:var(--paper);text-decoration:none;border:1px solid var(--line);background:rgba(31,27,51,.6);transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}
.chips__item:hover,.chips__item:focus-visible{border-color:var(--cyan);color:var(--cyan);background:rgba(45,226,230,.08)}
.chips__item--alt{border-color:rgba(255,107,53,.55);color:var(--orange)}
.chips__item--alt:hover,.chips__item--alt:focus-visible{border-color:var(--orange);color:var(--orange);background:rgba(255,107,53,.1)}
.contact-hero__map{position:relative;padding:clamp(16px,4vw,24px);border:1px solid var(--line);background:linear-gradient(200deg,rgba(31,27,51,.7),rgba(14,14,20,.55))}
.route-map{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.route-map__spine{stroke:var(--contact-edge);stroke-width:1.5;stroke-dasharray:4 6}
.route-map__dot{fill:var(--cyan)}
.route-map__dot--mid{fill:var(--violet-soft)}
.route-map__dot--end{fill:var(--orange)}
.route-map__link{stroke:rgba(154,130,255,.4);stroke-width:1}
.route-map__code{font-family:var(--font-mono);font-size:10px;fill:var(--cyan);letter-spacing:.1em}
.route-map__text{font-family:var(--font-body);font-size:11.5px;fill:var(--paper)}
.contact-hero__map-note{margin:14px 0 0;font-size:.82rem;line-height:1.65;color:var(--muted)}
.contact-strip{border-bottom:1px solid var(--line);background:var(--ink-800)}
.contact-strip__inner{display:grid;grid-template-columns:minmax(0,1fr);max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.contact-strip__item{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:13px 0;border-bottom:1px dashed rgba(154,130,255,.16)}
.contact-strip__item:last-child{border-bottom:0}
.contact-strip__label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--violet-soft);min-width:68px}
.contact-strip__value{font-family:var(--font-mono);font-size:.82rem;color:var(--paper);overflow-wrap:anywhere}
.contact-sec{padding:clamp(36px,7vw,72px) var(--gutter);border-bottom:1px solid var(--line)}
.contact-sec--tint{background:linear-gradient(180deg,rgba(31,27,51,.72),rgba(22,22,31,.5))}
.contact-sec--dark{background:var(--ink-800)}
.contact-sec__head{max-width:var(--maxw);margin:0 auto clamp(22px,4vw,34px)}
.contact-sec__intro{max-width:62ch;margin:0;font-size:.94rem;line-height:1.72;color:var(--muted)}
.feedback-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,4vw,36px);max-width:var(--maxw);margin:0 auto}
.feedback-panel,.feedback-side{min-width:0}
.feedback-panel h3{padding-bottom:10px;border-bottom:1px solid var(--line)}
.feedback-list{margin:0 0 22px;padding:0;list-style:none}
.feedback-list li{display:flex;gap:12px;padding:11px 0;font-size:.9rem;line-height:1.68;color:var(--muted);border-bottom:1px dashed rgba(154,130,255,.14)}
.feedback-list__no{flex:0 0 auto;font-family:var(--font-mono);font-size:.78rem;color:var(--cyan);padding-top:2px}
.feedback-list strong{color:var(--paper);font-weight:700}
.template{border:1px solid var(--line-strong);background:rgba(14,14,20,.86)}
.template__bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(31,27,51,.72)}
.template__title{font-size:.72rem;letter-spacing:.16em;color:var(--cyan)}
.template__body{margin:0;padding:16px 14px;font-family:var(--font-mono);font-size:.78rem;line-height:1.9;color:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere}
.feedback-side__figure{margin:0 0 18px}
.feedback-side__tip{margin:16px 0 0;padding:12px 14px;font-size:.84rem;line-height:1.68;color:var(--paper);border-left:3px solid var(--orange);background:rgba(255,107,53,.08)}
.shot-details{border:1px solid var(--line);background:rgba(31,27,51,.5)}
.shot-details summary{padding:12px 14px;font-size:.9rem;font-weight:700;color:var(--paper);cursor:pointer;list-style:none}
.shot-details summary::-webkit-details-marker{display:none}
.shot-details summary::before{content:"+";display:inline-block;width:16px;margin-right:8px;font-family:var(--font-mono);color:var(--cyan)}
.shot-details[open] summary::before{content:"−"}
.shot-details__body{padding:0 14px 14px}
.shot-details__body p{margin:0 0 10px;font-size:.86rem;line-height:1.72;color:var(--muted)}
.shot-details__body p:last-child{margin-bottom:0}
.partner-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-width:var(--maxw);margin:0 auto clamp(24px,4vw,38px)}
.partner-card{position:relative;padding:20px 18px 22px;border:1px solid var(--line);background:linear-gradient(168deg,rgba(31,27,51,.92),rgba(14,14,20,.9));overflow:hidden;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.partner-card::after{content:"";position:absolute;right:-36px;bottom:-36px;width:96px;height:96px;border:1px solid rgba(108,62,245,.4);transform:rotate(45deg);pointer-events:none}
.partner-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.partner-card h3{margin-top:8px;color:var(--paper)}
.partner-card p{margin:0;font-size:.88rem;line-height:1.72;color:var(--muted)}
.subject{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;max-width:var(--maxw);margin:0 auto;padding:clamp(16px,4vw,24px);border:1px solid var(--line-strong);background:rgba(14,14,20,.7)}
.subject__text h3{color:var(--paper)}
.subject__text p{margin:0;font-size:.88rem;line-height:1.72;color:var(--muted)}
.subject__pre{margin:0 0 12px;padding:14px;font-size:.78rem;line-height:1.95;color:var(--cyan);background:rgba(31,27,51,.78);border-left:3px solid var(--violet);white-space:pre-wrap;overflow-wrap:anywhere}
.rhythm{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:var(--maxw);margin:0 auto;border-top:1px solid var(--line)}
.rhythm__item{padding:18px 0;border-bottom:1px solid var(--line)}
.rhythm__code{display:inline-block;margin-bottom:8px;font-size:.74rem;letter-spacing:.1em;color:var(--violet-soft)}
.rhythm__item p{margin:0;font-size:.9rem;line-height:1.72;color:var(--muted)}
.rhythm__note{max-width:var(--maxw);margin:18px auto 0;font-size:.84rem;line-height:1.7;color:var(--muted)}
.records{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:var(--maxw);margin:0 auto}
.record{position:relative;padding:16px 16px 18px;border:1px dashed var(--line-strong);background:rgba(31,27,51,.42)}
.record--alert{border-style:solid;border-color:rgba(255,107,53,.5);background:rgba(255,107,53,.07)}
.record__tag{display:inline-block;margin-bottom:10px;padding:3px 8px;font-size:.66rem;letter-spacing:.14em;color:var(--ink-900);background:var(--cyan)}
.record--alert .record__tag{background:var(--orange);color:var(--ink-900)}
.record__value{margin:0;font-size:.94rem;line-height:1.6;color:var(--paper)}
.record__value--mono{font-family:var(--font-mono);font-size:.84rem;overflow-wrap:anywhere}
.jump-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:var(--maxw);margin:0 auto;padding:0;list-style:none;border-top:1px solid var(--line)}
.jump{border-bottom:1px solid var(--line)}
.jump__link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:18px 0;text-decoration:none;transition:padding-left .22s var(--ease)}
.jump__link:hover,.jump__link:focus-visible{padding-left:8px}
.jump__title{grid-column:1;font-size:.98rem;font-weight:700;color:var(--paper)}
.jump__text{grid-column:1;font-size:.84rem;line-height:1.66;color:var(--muted)}
.jump__go{grid-column:2;grid-row:1/span 2;font-size:.72rem;letter-spacing:.08em;color:var(--cyan);white-space:nowrap}
.jump__link:hover .jump__title,.jump__link:focus-visible .jump__title{color:var(--violet-soft)}
.related{max-width:var(--maxw);margin:20px auto 0;font-size:.82rem;color:var(--muted)}
.related a{color:var(--violet-soft);text-decoration:none;border-bottom:1px solid rgba(154,130,255,.44)}
.related a:hover,.related a:focus-visible{color:var(--cyan);border-bottom-color:var(--cyan)}
.page-contact .img-frame{border:1px solid var(--line);background:rgba(31,27,51,.6)}
.page-contact .img-frame img{display:block;width:100%;height:auto;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.page-contact .img-frame__caption{padding:10px 12px;font-size:.76rem;line-height:1.55;color:var(--muted);border-top:1px solid var(--line)}
@media (min-width:620px){
.contact-strip__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.contact-strip__item:nth-last-child(-n+2){border-bottom:0}
.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.records{grid-template-columns:repeat(2,minmax(0,1fr))}
.rhythm__item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 20px;align-items:baseline}
.rhythm__code{margin-bottom:0}
}
@media (min-width:960px){
.contact-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start}
.contact-hero__map{margin-top:46px}
.contact-strip__inner{grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-strip__item{border-bottom:0;border-right:1px dashed rgba(154,130,255,.16);padding:15px 18px 15px 0}
.contact-strip__item:last-child{border-right:0}
.feedback-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start}
.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.subject{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:28px}
.records{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1100px){
.contact-hero{padding-top:46px}
.coord__mail{font-size:1.42rem}
}
@media (prefers-reduced-motion:reduce){
.page-contact *,.page-contact *::before,.page-contact *::after{transition-duration:.001ms!important}
.partner-card:hover,.jump__link:hover{transform:none}
}
