/* Contact-specific layout; typography, shell, colors, and actions are shared. */
.kk-studio .contact-intro { padding-bottom: 48px; }
.kk-studio .contact-intro .intro { max-width: 780px; margin-bottom: 14px; }
.kk-studio .invitation { font-weight: 700; margin-bottom: 0; }
.kk-studio .contact-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.kk-studio .contact-card { display: flex; flex-direction: column; align-items: center; max-width: none; padding: 38px 20px 30px; border: 1px solid var(--line); background: var(--surface); text-align: center; }
.kk-studio .contact-icon { display: block; color: var(--accent); font-size: 34px; line-height: 1; margin-bottom: 24px; transform-box: fill-box; transform-origin: center; transition: transform 1.2s ease-in-out; }
.kk-studio .contact-card:hover .contact-icon,
.kk-studio .contact-card:focus-within .contact-icon { transform: rotateY(360deg); }
.kk-studio .contact-card h2 { font-size: 24px; margin-bottom: 18px; }
.kk-studio .contact-value { width: 100%; font-weight: 700; font-size: 15px; margin-bottom: 15px; }
.kk-studio .contact-value a { border-bottom: 0; }
.kk-studio .contact-description { font-size: 14px; line-height: 1.8; margin-bottom: 25px; }
.kk-studio .contact-card .studio-button { margin-top: auto; }
.kk-studio .contact-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 15px; margin-top: auto; }
.kk-studio .contact-socials a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
@media(min-width:861px) and (max-width:1200px) { .kk-studio .contact-cards { grid-template-columns: 1fr; }.kk-studio .contact-card { padding: 30px; } }
@media(max-width:860px) { .kk-studio .contact-cards { grid-template-columns: 1fr; gap: 20px; }.kk-studio .contact-intro { padding-bottom: 32px; } }
@media(prefers-reduced-motion:reduce) {
  .kk-studio .contact-icon { transition: none; }
  .kk-studio .contact-card:hover .contact-icon,
  .kk-studio .contact-card:focus-within .contact-icon { transform: none; }
}

@media(min-width:601px) and (max-width:1200px) {
  .kk-studio .contact-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kk-studio .contact-card:last-child { grid-column: 1 / -1; }
  .kk-studio .contact-card { padding: 28px 20px; }
}
@media(max-width:600px) {
  .kk-studio .contact-cards { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .kk-studio .contact-card { padding: 28px 18px 24px; }
  .kk-studio .contact-value a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
  .kk-studio .contact-description { font-size: 15px; }
  .kk-studio .contact-card .studio-button { width: 100%; }
}
