/* contact.css */
.ct-section { padding: 72px 0; background: var(--white); }
.ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.ct-head { font-size: 17px; font-weight: 600; color: var(--ink); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); display: inline-block; }
.ct-cards { display: flex; flex-direction: column; gap: 10px; }
.ct-card { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--light); border-radius: var(--r-lg); background: var(--off); text-decoration: none; color: inherit; transition: border-color var(--t), transform var(--t); }
.ct-card:not(.no-hover):hover { border-color: var(--ink); transform: translateX(3px); }
.ct-card-icon { width: 40px; height: 40px; border-radius: var(--r); background: var(--light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-card-icon svg { width: 18px; height: 18px; stroke: var(--dark); }
.ct-card-body { flex: 1; }
.ct-card-label { font-family: var(--font); font-size: 9.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.ct-card-value { font-size: 14.5px; font-weight: 500; color: var(--ink); }
.ct-card-note  { font-size: 12px; font-weight: 300; color: var(--muted); margin-top: 2px; }
.ct-card-arrow { font-size: 16px; color: var(--muted); flex-shrink: 0; transition: transform var(--t); }
.ct-card:hover .ct-card-arrow { transform: translateX(4px); }
.ct-line-desc { font-size: 13.5px; font-weight: 300; color: var(--dark); margin-bottom: 20px; line-height: 1.7; }
.ct-qr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-qr { border: 1px solid var(--light); border-radius: var(--r-lg); padding: 22px 18px; text-align: center; background: var(--off); }
.ct-qr img { width: 130px; height: 130px; margin: 0 auto 12px; border-radius: var(--r); border: 1px solid var(--light); }
.ct-qr-name { font-size: 14px; font-weight: 500; color: var(--ink); }
.ct-qr-note { font-size: 12px; color: var(--muted); margin-top: 3px; font-weight: 300; }
.ct-map-wrap { padding: 0 0 72px; }
.ct-map-title { font-size: 17px; font-weight: 600; color: var(--ink); padding-bottom: 14px; border-bottom: 2px solid var(--ink); display: inline-block; margin-bottom: 20px; }
.ct-map-embed { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--light); }
@media (max-width: 768px) { .ct-grid { grid-template-columns: 1fr; gap: 48px; } }
