/* contact-redesign.css — Contact page, ct-* namespace. */

/* Hero variant */
.hm-hero-contact .hm-shape-1{background:radial-gradient(circle,var(--sun) 0%,rgba(248,202,104,0) 70%);opacity:.75}
.hm-hero-contact .hm-shape-2{background:radial-gradient(circle,var(--teal) 0%,rgba(22,116,110,0) 70%);opacity:.55}
.hm-hero-contact .hm-shape-3{background:radial-gradient(circle,var(--coral) 0%,rgba(229,111,74,0) 70%);opacity:.35}

/* Reason cards */
.ct-reasons{background:#fff}
.ct-reasons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.ct-reason{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:28px 24px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ct-reason:hover{transform:translateY(-6px);box-shadow:0 20px 36px rgba(16,46,59,.08);border-color:var(--teal)}
.ct-reason-icon{font-size:34px;line-height:1;margin-bottom:14px}
.ct-reason h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:20px;color:var(--ink);margin:0 0 8px}
.ct-reason p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}

/* Form layout */
.ct-form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;max-width:1100px;margin:0 auto}
.ct-form-side h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(28px,3.4vw,42px);line-height:1.1;color:var(--ink);margin:12px 0 16px}
.ct-form-side p{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0 0 22px}
.ct-form-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.ct-form-list li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--ink);font-weight:600}
.ct-check{width:22px;height:22px;border-radius:50%;background:var(--teal);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative}
.ct-check:before{content:"";width:7px;height:11px;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(45deg) translate(-1px,-2px)}

.ct-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 40px rgba(16,46,59,.06);transition:box-shadow .3s ease,border-color .3s ease}
.ct-form:focus-within{border-color:var(--teal);box-shadow:0 28px 56px rgba(22,116,110,.12)}
.ct-form label{display:flex;flex-direction:column;gap:6px}
.ct-label{font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--teal);text-transform:uppercase}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:15px;color:var(--ink);transition:border-color .25s ease,box-shadow .25s ease}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(22,116,110,.15)}
.ct-form textarea{min-height:140px;resize:vertical;font-family:inherit}
.ct-form select{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2316746e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;appearance:none}
.ct-submit{align-self:flex-start;margin-top:6px}
.ct-form-message{min-height:22px;font-size:14px;color:var(--teal);font-weight:800;margin-top:4px}

/* Alt contact */
.ct-alt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.ct-alt-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ct-alt-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(16,46,59,.08);border-color:var(--coral)}
.ct-alt-eyebrow{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.18em;margin-bottom:10px}
.ct-alt-card h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:22px;color:var(--ink);margin:0 0 10px}
.ct-alt-card p{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.ct-alt-card .hm-link{color:var(--teal);font-weight:800;font-size:14px}

/* Responsive */
@media (max-width:980px){
  .ct-reasons-grid{grid-template-columns:repeat(2,1fr)}
  .ct-form-wrap{grid-template-columns:1fr;gap:36px}
  .ct-alt-grid{grid-template-columns:1fr;gap:16px}
}
@media (max-width:600px){
  .ct-reasons-grid{grid-template-columns:1fr}
  .ct-form{padding:24px}
}
