/* Contact page redesign. Uses hn- tokens from home-new.css and sv- classes from services-new.css; extra classes start with ct- */
.ct-main{padding:64px 0 24px}
.ct-main__in{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
.ct-formcard{background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(30,42,107,.13);padding:32px 34px}
.ct-formcard h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:var(--n);margin:0 0 6px;line-height:1.15}
.ct-note{color:var(--mute);margin:0 0 22px}
.ct-field{margin-bottom:18px}
.ct-field label{display:block;font-weight:700;color:var(--ink);margin-bottom:6px;font-size:.95rem}
.ct-field input,.ct-field textarea{width:100%;border:1.5px solid #cfd9d2;border-radius:12px;padding:13px 15px;font:inherit;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.ct-field textarea{resize:vertical;min-height:130px}
.ct-field input:focus,.ct-field textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(61,220,132,.25)}
.ct-submit{border:0;cursor:pointer}
.ct-formcard .result{margin-top:14px}

.ct-info{display:grid;gap:16px}
.ct-item{display:flex;gap:16px;align-items:flex-start;background:var(--mint);border-radius:18px;padding:20px 22px}
.ct-ico{flex:0 0 48px;height:48px;border-radius:14px;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.ct-ico--r{background:var(--r)}
.ct-item h3{font-size:1.1rem;font-weight:800;color:var(--ink);margin:0 0 4px}
.ct-item a,.ct-item p{color:var(--mute);margin:0;line-height:1.55;word-break:break-word}
.ct-item a:hover{color:var(--r)}

.ct-map{padding:40px 0 64px}
.ct-map iframe{width:100%;height:420px;border:0;border-radius:20px;display:block}

@media (max-width:900px){
  .ct-main__in{grid-template-columns:1fr}
  .ct-formcard{padding:26px 22px}
  .ct-map iframe{height:340px}
}
@media (max-width:560px){
  .ct-main{padding-top:48px}
}
@media (prefers-reduced-motion:reduce){.ct-field input,.ct-field textarea{transition:none}}
