.ct-hero { background:var(--primary-dk); padding:110px 0 64px; position:relative; overflow:hidden; text-align:center; 
}
.ct-hero::before { content:''; position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1469371670807-013ccf25f16a?w=1400&h=400&fit=crop') center/cover; opacity:.18; 
}
.ct-hero-inner { position:relative; z-index:1; }
.ct-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,2.8rem); color:#fff; font-weight:700; }
.ct-hero h1 em { color:var(--accent); font-style:italic; }
.ct-hero p { color:rgba(255,255,255,.65); font-size:.95rem; max-width:500px; margin:10px auto 0; }

.ct-card { background:var(--bg-white); border-radius:var(--radius-lg); border:1px solid var(--border-light); padding:36px 40px; }
.ct-label { font-size:.82rem; font-weight:500; color:var(--text); margin-bottom:6px; display:block; }
.ct-label span { color:#dc3545; }
.ct-input,.ct-select,.ct-textarea {
  width:100%; padding:11px 14px; border:1.5px solid var(--border-light);
  border-radius:var(--radius-sm); font-size:.875rem; color:var(--text);
  background:var(--bg-white); outline:none; transition:border-color .2s;
  font-family:'DM Sans',sans-serif;
}
.ct-input:focus,.ct-select:focus,.ct-textarea:focus { border-color:var(--accent); }
.ct-input.error,.ct-textarea.error { border-color:#dc3545; }
.ct-textarea { resize:vertical; min-height:120px; }
.ct-error { font-size:.75rem; color:#dc3545; margin-top:4px; }
.ct-submit { width:100%; padding:13px; background:var(--primary); color:#fff; border:none; border-radius:var(--radius-sm); font-size:.95rem; font-weight:500; cursor:pointer; transition:var(--transition); font-family:'DM Sans',sans-serif; display:flex; align-items:center; justify-content:center; gap:8px; }
.ct-submit:hover { background:var(--primary-dk); transform:translateY(-2px); }

.ct-info-card { background:var(--bg-white); border-radius:var(--radius-lg); border:1px solid var(--border-light); padding:28px; margin-bottom:16px; display:flex; align-items:flex-start; gap:16px; }
.ct-info-icon { width:44px; height:44px; border-radius:50%; background:rgba(139,26,47,.09); display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--primary); flex-shrink:0; }
.ct-info-label { font-size:.72rem; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); font-weight:600; margin-bottom:4px; }
.ct-info-val { font-size:.875rem; color:var(--text); font-weight:500; }
.ct-info-val a { color:var(--primary); text-decoration:none; }
.ct-info-val a:hover { text-decoration:underline; }
/* ----------- */
.cf-label { font-size: .82rem; font-weight: 500; color: var(--text); margin-bottom: 6px; display: block; }
.cf-label span { color: #dc3545; }
.cf-input, .cf-select, .cf-textarea {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--border-light); border-radius: var(--radius-sm);
  font-size: .875rem; color: var(--text); background: var(--bg);
  outline: none; transition: border-color .2s;
  font-family: 'DM Sans', sans-serif;
}
.type-option { display: none; }
.type-label {
  display: flex; align-items: center; gap: 8px; padding: 10px 16px;
  border: 1.5px solid var(--border-light); border-radius: var(--radius-sm);
  cursor: pointer; transition: all .2s; font-size: .84rem;
  background: var(--bg);
}
.type-option:checked + .type-label {
  border-color: var(--primary); background: rgba(139,26,47,.06); color: var(--primary); font-weight: 500;
}

@media (max-width: 1199.98px){
  .ct-info-card{ padding: 20px 15px; /*min-height: 150px;*/}
  .ct-info-val{font-size: 14px;}
}
