/* ===== Contact v2, on top of lab-shared.css ===== */
.ct-hero{padding-bottom:72px;}
.ct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start;}
.ct-h1{max-width:none;}
.ct-lede{max-width:46ch;margin-top:18px;color:var(--ink);}
.ct-steps{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--hairline);}
.ct-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--hairline);}
.ct-steps li>span{width:24px;height:24px;border-radius:50%;background:var(--navy-tint);color:var(--navy-600);font-family:var(--mono);font-size:12px;display:flex;align-items:center;justify-content:center;}
.ct-steps b{display:block;font-size:15px;font-weight:600;color:var(--ink);}
.ct-steps p{margin:3px 0 0;font-size:14px;line-height:1.5;color:var(--muted);}
.ct-promise{display:flex;align-items:center;gap:8px;margin:22px 0 0;font-size:14px;color:var(--navy-600);}
.ct-promise svg{width:16px;height:16px;color:var(--success-text);flex:0 0 16px;}
.ct-card{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-panel);padding:28px;box-shadow:0 0 0 8px var(--surface),var(--shadow-frame);margin:8px;scroll-margin-top:96px;}
.ct-aud{border:0;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ct-aud legend{font-size:13px;color:var(--muted);margin-bottom:10px;padding:0;}
.ct-aud label{position:relative;cursor:pointer;}
.ct-aud input{position:absolute;opacity:0;pointer-events:none;}
.ct-aud span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--radius-control);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;height:100%;box-sizing:border-box;}
.ct-aud b{font-size:14px;font-weight:600;color:var(--ink);}
.ct-aud i{font-style:normal;font-size:12px;color:var(--muted);}
.ct-aud input:checked+span{border-color:var(--navy-600);background:var(--navy-tint);box-shadow:0 0 0 1px var(--navy-600);}
.ct-aud input:focus-visible+span{outline:2px solid var(--navy-600);outline-offset:2px;}
.ct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ct-f{display:flex;flex-direction:column;gap:6px;}
.ct-f--full{grid-column:1 / -1;}
.ct-f label{font-size:13px;font-weight:500;color:var(--ink);}
.ct-f label span{font-weight:400;color:var(--faint);margin-left:4px;}
.ct-f input,.ct-f select,.ct-f textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--border-control);border-radius:var(--radius-control);padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%;box-sizing:border-box;}
.ct-f textarea{resize:vertical;min-height:96px;}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:var(--faint);}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{border-color:var(--navy-600);box-shadow:0 0 0 3px var(--navy-tint);}
.ct-f em{font-style:normal;font-size:12px;color:var(--danger-text,#B42318);min-height:0;}
.ct-f.is-err input,.ct-f.is-err select{border-color:var(--danger,#B42318);}
.ct-hint{font-size:12px;color:var(--muted);} .ct-hint a{color:var(--navy-600);}
.ct-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline);}
.ct-submit p{margin:0;font-size:12px;color:var(--muted);} .ct-submit p a{color:var(--ink-body);}
.ct-submit .btn[disabled]{opacity:.6;cursor:default;}
.ct-err{margin:12px 0 0;font-size:13px;color:var(--danger-text,#B42318);}
.ct-done{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 4px;}
.ct-doneic{width:40px;height:40px;border-radius:50%;background:var(--success-tint);color:var(--success-text);display:flex;align-items:center;justify-content:center;}
.ct-doneic svg{width:20px;height:20px;}
.ct-done h2{font-family:var(--font-display);font-weight:400;font-size:28px;line-height:34px;color:var(--ink);margin:6px 0 0;}
.ct-done p{margin:0 0 8px;font-size:15px;line-height:1.55;color:var(--ink-body);}
.ct-direct{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:48px;}
.ct-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;}
.ct-lines>div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid var(--hairline);}
.ct-lines span{font-size:12px;color:var(--muted);}
.ct-lines a,.ct-lines b{font-size:16px;font-weight:500;color:var(--ink);text-decoration:none;}
.ct-lines a:hover{text-decoration:underline;text-underline-offset:3px;}
.ct-lines p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);}
@media(max-width:980px){.ct-grid,.ct-direct{grid-template-columns:minmax(0,1fr);gap:36px;}}
@media(max-width:560px){.ct-card{padding:18px;margin:4px;}.ct-aud,.ct-fields,.ct-lines{grid-template-columns:minmax(0,1fr);}.ct-submit{flex-direction:column;align-items:stretch;}}
.ct-done[hidden],.ct-err[hidden]{display:none;}

.ct-f--hint{margin-top:-8px;}
