/* Contact */
.contact-sec { padding-block: 16px var(--sec); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: clamp(28px, 5vw, 64px); align-items: start; }
.contact-grid > div > h2 { margin-bottom: 14px; font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
.channels li { display: grid; grid-template-columns: 130px 1fr; gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); }
.channels li:last-child { border-bottom: 1px solid var(--line); }
.channels span:first-child { display: flex; align-items: center; gap: 10px; color: var(--ink-soft); }
.channels svg { flex: none; width: 20px; height: 20px; color: var(--c); }
.channels svg:not(.i) { fill: currentColor; }
.channels b, .channels li > a, .channels li > button { min-width: 0; overflow-wrap: anywhere; font-weight: 700; text-align: left; }
.channels li > a { text-decoration: underline; text-decoration-color: var(--lantern); text-underline-offset: 3px; }
.contact-map-title { margin-top: 32px; }
.contact-addr { display: flex; align-items: flex-start; gap: 8px; margin-top: -6px; font-weight: 700; line-height: 1.35; }
.contact-addr .i { margin-top: 2px; }
.contact-addr .i { color: var(--wood); }
.map { position: relative; margin-top: 14px; aspect-ratio: 16 / 10; background: var(--canvas); overflow: hidden; border-radius: var(--r-photo); }
.map img, .map iframe { width: 100%; height: 100%; object-fit: cover; border: 0; }
.map .btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
@media (max-width: 960px) { .contact-grid { grid-template-columns: minmax(0, 1fr); }
}
