/* ===== Contact page ===== */
.ct-choices{display:flex;flex-direction:column;gap:14px}
.ct-choice{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:var(--r);background:#fff;box-shadow:0 12px 30px rgba(10,47,71,.12);transition:transform .3s,box-shadow .3s}
.ct-choice:hover{transform:translateX(8px);box-shadow:0 18px 38px rgba(10,47,71,.18)}
.ct-choice>i{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:1.2rem}
.ct-choice:nth-child(2)>i{background:#25a35a}.ct-choice:nth-child(3)>i{background:var(--blue)}
.ct-choice small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}.ct-choice b{color:var(--navy);font-size:1rem;word-break:break-word}
.ct-routes,.ct-next{background:#fff}
.ct-rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ct-route{font:inherit;text-align:left;cursor:pointer;padding:26px 22px;border-radius:var(--r);background:linear-gradient(135deg,#f3fbf9,#eaf6fd);border:2px solid transparent;transition:transform .3s,box-shadow .3s,border-color .3s}
.ct-route:hover,.ct-route.on{transform:translateY(-6px);box-shadow:0 16px 32px rgba(10,47,71,.12)}.ct-route.on{border-color:var(--teal)}
.ct-route>i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;margin-bottom:12px}
.ct-route b{display:block;color:var(--navy);font-size:.98rem;margin-bottom:4px}.ct-route span{font-size:.8rem;color:var(--mut);display:block}
.ct-form-sec{background:var(--bg)}
.ct-form-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.ct-priv{padding:14px 18px;border-radius:14px;background:var(--mint);font-size:.86rem;color:var(--navy);margin-bottom:16px}.ct-priv i{color:var(--teal);margin-right:8px}
.ct-emerg{display:flex;gap:12px;padding:16px 18px;border-radius:14px;background:#fff4f2;border-left:4px solid #e5484d;font-size:.84rem}.ct-emerg i{color:#e5484d;margin-top:4px}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:32px;border-radius:var(--r);background:#fff;box-shadow:0 14px 38px rgba(10,47,71,.1)}
.ct-form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--navy)}.ct-form em{font-weight:400;color:var(--mut)}
.ct-form input:not([type=checkbox]),.ct-form select{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid #cfe0e8;background:#fff;color:var(--ink)}
.ct-form input:focus,.ct-form select:focus{outline:3px solid rgba(27,159,227,.35);border-color:var(--blue)}
.ct-form .invalid{border-color:#e5484d!important}
.ct-form .full{grid-column:1/-1}
.ct-form .chk{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;color:var(--ink)}.ct-form .chk input{margin-top:4px;width:18px;height:18px;accent-color:var(--teal);flex:none}.ct-form .chk a{color:var(--teal);font-weight:600;text-decoration:underline}
.ct-form .btn{justify-content:center}
.ct-err{color:#c43b3b;font-size:.82rem;grid-column:1/-1}
.ct-ok{grid-column:1/-1;display:flex;gap:12px;padding:16px 18px;border-radius:14px;background:var(--mint);color:var(--navy);font-size:.9rem}.ct-ok i{color:var(--teal);font-size:1.3rem}
[hidden]{display:none!important}
.ct-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px;margin:0 auto;position:relative}
.ct-steps:before{content:"";position:absolute;left:12%;right:12%;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--blue) 0 6px,transparent 6px 12px)}
.ct-step{position:relative;text-align:center;font-size:.9rem;font-weight:500;color:var(--navy)}
.ct-step i{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;border:4px solid #fff;background:linear-gradient(135deg,var(--navy2),var(--teal));color:#fff;font-style:normal;font-weight:600;box-shadow:0 8px 18px rgba(14,122,134,.3);position:relative}
.ct-office{background:linear-gradient(135deg,#f3fbf9,#eaf6fd)}
.ct-office-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ct-office h2{margin-bottom:8px}.ct-addr{max-width:560px;color:var(--mut)}.ct-addr i{color:var(--teal);margin-right:8px}
.ct-office .btns{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:991px){.ct-form-in{grid-template-columns:1fr;gap:32px}.ct-rgrid{grid-template-columns:1fr 1fr}.ct-steps{grid-template-columns:1fr;max-width:340px}.ct-steps:before{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--blue) 0 6px,transparent 6px 12px)}.ct-step{text-align:left;padding-left:76px;min-height:54px;display:flex;align-items:center}.ct-step i{position:absolute;left:0;top:0;margin:0}}
@media (max-width:620px){.ct-rgrid,.ct-form{grid-template-columns:1fr}.ct-form{padding:22px 18px}}
@media (prefers-reduced-motion:reduce){.ct-choice,.ct-route{transition:none}}

/* --- form states & conditional groups --- */
.ct-fe{color:#c43b3b;font-weight:500;font-size:.75rem}
.ct-form [aria-invalid=true]{border-color:#e5484d!important}
.ct-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:18px;border:1.5px dashed #b9d6e3;border-radius:14px;background:#f6fbfd;min-width:0}
.ct-extra legend{padding:0 8px;font-size:.78rem;font-weight:600;color:var(--teal)}
.ct-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-fail{grid-column:1/-1;display:flex;gap:12px;padding:16px 18px;border-radius:14px;background:#fff4f2;border-left:4px solid #e5484d;font-size:.88rem}.ct-fail i{color:#e5484d;font-size:1.2rem;margin-top:2px}.ct-fail a{color:var(--teal);font-weight:600;text-decoration:underline}
.ct-ok p{margin:0}.ct-ok-sub{margin-top:6px!important;font-size:.82rem;color:var(--mut)}
.ct-form button[disabled]{opacity:.7;cursor:progress}
@media (max-width:620px){.ct-extra{grid-template-columns:1fr}}
