.ct-head{padding-top:var(--space-5);max-width:62ch}
.ct-head h1{font-size:var(--text-xl);font-weight:750;letter-spacing:-.01em}
.ct-head p{color:var(--color-muted);margin-top:var(--space-2)}
.ct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-8)}
.ct-card{display:flex;flex-direction:column;gap:.2rem;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none;min-width:0}
a.ct-card:hover{border-color:oklch(0.25 0.02 260 / .3);box-shadow:var(--shadow-md)}
.ct-card b{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ct-card b a,.ct-card .ct-s a{color:inherit;text-decoration:none}
.ct-card b a:hover,.ct-card .ct-s a:hover{color:var(--color-primary)}
.ct-card .ct-s a{text-decoration:underline;text-underline-offset:3px}
.ct-k{font-size:var(--text-xs);color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ct-s{font-size:var(--text-sm);color:var(--color-muted)}
.ct-ico{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:var(--color-bg);margin-bottom:var(--space-3)}
.ct-ico svg{width:20px;height:20px}
.ct-card--main{background:var(--color-ink);color:var(--color-on-ink);border-color:var(--color-ink)}
.ct-card--main .ct-k,.ct-card--main .ct-s{color:var(--color-on-ink-muted)}
.ct-card--main .ct-ico{background:oklch(1 0 0 / .1)}
.ct-card--main:hover{background:var(--color-ink-2)}
.ct-map{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--space-6);margin-top:var(--space-12);align-items:stretch}
.ct-addr h2,.ct-form h2{font-size:var(--text-lg);font-weight:700}
.ct-big{font-size:var(--text-lg);font-weight:600;margin-top:var(--space-3)}
.ct-warn{margin-top:var(--space-3);padding:.8rem 1rem;border-radius:var(--radius-md);background:oklch(0.95 0.035 25);font-size:var(--text-sm)}
.ct-steps{margin-top:var(--space-5);padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm)}
.ct-btns{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6);align-items:flex-start}
.ct-mapbox{min-height:480px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface-2)}
.ct-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--space-6);margin-block:var(--space-12) var(--space-16);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.ct-form p{color:var(--color-muted);margin-top:var(--space-2);font-size:var(--text-sm)}
.ct-form form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:end}
.ct-form label{display:flex;flex-direction:column;gap:.3rem;font-size:var(--text-sm);font-weight:600}
.ct-form label.wide{grid-column:1/-1}
.ct-form input,.ct-form textarea{font-weight:400;padding:.7rem .85rem;border-radius:var(--radius-sm);border:1px solid oklch(0.25 0.02 260 / .2);background:var(--color-bg);min-height:46px}
.ct-form input:focus,.ct-form textarea:focus{outline:none;border-color:var(--color-primary);background:#fff}
.ct-form .btn{justify-self:start}
.ct-msg{font-size:var(--text-sm);align-self:center;color:oklch(0.42 0.1 150)!important;margin:0!important}
.ct-msg.warn{color:var(--color-primary)!important}
.ct-req{margin-top:var(--space-12);padding:var(--space-6) var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.ct-req h2{font-size:var(--text-lg);font-weight:700}
.ct-req dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4) var(--space-6);margin-top:var(--space-4)}
.ct-req .wide{grid-column:1/-1}
.ct-req dt{font-size:var(--text-xs);color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ct-req dd{margin:.2rem 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ct-req+.ct-form{margin-top:var(--space-8)}
@media (max-width:960px){
  .ct-req dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-map,.ct-form{grid-template-columns:minmax(0,1fr)}
  .ct-mapbox{min-height:380px}
}
@media (max-width:560px){
  .ct-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  .ct-card{padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--space-3);row-gap:0}
  .ct-card>*{grid-column:2}
  .ct-ico{grid-column:1;grid-row:1/span 3;margin:0;align-self:center}
  .ct-card b{font-size:var(--text-base)}
  .ct-form{padding:var(--space-5)}
  .ct-req{padding:var(--space-5)}
  .ct-req dl{grid-template-columns:minmax(0,1fr)}
  .ct-form form{grid-template-columns:minmax(0,1fr)}
  .ct-btns .btn,.ct-form .btn{width:100%}
}
