.contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); align-items:start; gap:64px; }
.ct-side { padding-top:24px; }
@media(min-width:761px) { .ct-side { position:sticky; top:calc(var(--header-offset,88px) + 32px); } }
.ct-side .sec-head { text-align:left; margin-bottom:36px; }
.ct-side h2 { font-size:42px; }
.ct-lines { display:grid; border:1px solid var(--line); border-radius:24px; background:var(--line); gap:1px; overflow:hidden; }
.ct-li { padding:28px; background:#fff; }
.ct-li .feat-icon { width:32px; height:32px; margin-bottom:24px; }
.ct-li h3 { font-size:24px; margin-bottom:12px; }
.ct-li p { font-size:18px; color:var(--ink-muted); }
.ct-mail { margin-top:32px; }
.ct-mail-k { display:block; font-size:16px; color:var(--ink-muted); margin-bottom:2px; }
.ct-mail a { display:inline-flex; align-items:center; min-height:44px; color:var(--accent); font-weight:600; font-size:23px; text-decoration:none; }
.start-card { border:1px solid var(--line); border-radius:28px; padding:44px; background:#fff; min-width:0; }
.form-intro { margin-bottom:32px; }
.form-intro h3 { font-size:29px; margin-bottom:14px; }
.form-intro p { color:var(--ink-muted); font-size:17px; }
.field { margin-bottom:24px; }
.field label { display:block; font-size:16px; font-weight:600; margin-bottom:10px; }
.field input,.field select,.field textarea { width:100%; min-width:0; max-width:100%; border:1px solid var(--line-strong); border-radius:12px; background:#fafbfd; padding:14px 16px; color:var(--ink); font-size:17px; line-height:1.5; }
.field select { min-height:56px; }
.field textarea { min-height:180px; resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:var(--ink-faint); opacity:1; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.consent-notice { padding:24px; border-radius:16px; background:var(--bg); font-size:15px; line-height:1.8; color:var(--ink-muted); margin-block:32px 24px; }
.consent-notice h4 { font-size:17px; line-height:1.5; color:var(--ink); margin-bottom:16px; }
.consent-notice p+p { margin-top:12px; }
/* The form column is too narrow for four columns, so each provider is a labelled group at every width. Column headers stay in the accessibility tree. */
.transfer-table { display:block; width:100%; margin:20px 0 24px; font-size:15px; line-height:1.7; word-break:keep-all; overflow-wrap:break-word; }
.transfer-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.transfer-table tbody { display:block; border-top:1px solid var(--line-strong); }
.transfer-table tr { display:block; padding-block:14px; border-bottom:1px solid var(--line-strong); }
.transfer-table td { display:grid; grid-template-columns:4.6em minmax(0,1fr); column-gap:12px; padding:2px 0; }
.transfer-table td:first-child { display:block; margin-bottom:4px; color:var(--ink); font-weight:600; }
.transfer-table td:first-child .transfer-label { display:none; }
.transfer-label { color:var(--ink-soft); font-weight:600; }
.transfer-table a { color:var(--accent); }
@media(max-width:359px) {
 .transfer-table td { grid-template-columns:minmax(0,1fr); padding-block:3px; }
}
.chk { display:flex; gap:12px; align-items:flex-start; font-size:16px; line-height:1.7; cursor:pointer; }
.chk input { flex:none; width:20px; height:20px; margin:4px 0 0; accent-color:var(--accent); }
#turnstile { margin-block:24px; min-width:0; }
.start-card .btn { width:100%; }
#submit-hint { margin-top:12px; color:var(--ink-muted); font-size:15px; text-align:center; }
#form-status { margin-top:20px; font-size:16px; overflow-wrap:anywhere; }
#form-status p { border-left:2px solid var(--accent); padding:12px 16px; background:var(--accent-soft); }
.fine-print { margin-top:20px; font-size:14px; color:var(--ink-muted); }
.fine-print a { color:var(--accent); }
@media(max-width:1000px) { .contact-grid { gap:32px; } .start-card { padding:32px; } }
@media(max-width:760px) {
 .contact-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .ct-side { padding-top:0; } .ct-side .sec-head { text-align:center; }
 .ct-side h2 { font-size:32px; } .ct-li { padding:28px 24px; }
 .start-card { padding:28px 20px; border-radius:22px; }
 .form-intro h3 { font-size:27px; }
 .consent-notice { padding:20px 16px; }
 .field input,.field select,.field textarea { padding:13px 12px; font-size:16px; }
}
