.ct-hero { padding-bottom: 28px; }
.ct-lede { max-width: 640px; margin: 14px 0 0; color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.ct-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; align-items: start; padding-bottom: 60px; }
.ct-grid > * { min-width: 0; }
.ct-form, .ct-done { display: grid; gap: 16px; }
.ct-done[hidden], .ct-form[hidden] { display: none; }
.ct-set { margin: 0; padding: 0; border: 0; min-width: 0; }
.ct-legend, .ct-field > span { display: block; margin-bottom: 8px; font: 700 13px var(--f-ui); color: var(--ink); }
.ct-legend i, .ct-field > span i { color: var(--red); font-style: normal; }
.ct-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ct-topics button { padding: 11px 12px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .02); color: var(--ink-2); font: 600 13.5px var(--f-ui); text-align: left; line-height: 1.3; transition: border-color .2s, color .2s, background .2s; }
.ct-topics button:hover { color: var(--ink); border-color: rgba(255, 255, 255, .35); }
.ct-topics button.is-on { color: #fff; border-color: var(--red); background: rgba(255, 42, 20, .14); box-shadow: inset 3px 0 0 var(--red); }
.ct-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ct-row[hidden] { display: none; }
.ct-field { display: block; min-width: 0; }
.ct-field--half { max-width: calc(50% - 7px); }
.ct-field input, .ct-field select, .ct-field textarea { display: block; width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(5, 3, 3, .6); color: var(--ink); font: 500 15px var(--f-ui); border-radius: 0; outline: none; transition: border-color .2s, box-shadow .2s; }
.ct-field textarea { resize: vertical; min-height: 150px; line-height: 1.55; }
.ct-field select { appearance: none; -webkit-appearance: none; padding-right: 34px; background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.ct-field select option { background: #140c0a; color: var(--ink); }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: var(--ink-3); }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(255, 42, 20, .18); }
.ct-field small { display: block; margin-top: 6px; color: var(--ink-3); font-size: 12px; }
.ct-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct-foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ct-send { width: auto; min-width: 200px; }
.ct-fine { flex: 1; min-width: 200px; margin: 0; color: var(--ink-3); font-size: 12.5px; line-height: 1.5; }
.ct-fine a { color: var(--ink-2); text-decoration: underline; }
.ct-done { padding: 36px 28px; text-align: left; }
.ct-done__tag { color: #6fe39a; }
.ct-done h2.display { margin: 0; font-size: clamp(32px, 3.4vw, 46px); }
.ct-done p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.ct-done .btn { justify-self: start; }
.ct-side { display: grid; gap: 14px; position: sticky; top: 90px; }
.ct-card h2.display { margin: 0 0 14px; font-size: clamp(24px, 2.2vw, 30px); }
.ct-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ct-links a { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .1); transition: border-color .2s, background .2s; }
.ct-links a:hover { border-color: var(--red); background: rgba(255, 42, 20, .06); }
.ct-links b { color: var(--ink); font: 700 14px var(--f-ui); }
.ct-links span { color: var(--ink-3); font-size: 12.5px; overflow-wrap: anywhere; }
.ct-card .tr-list a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 980px) { .ct-grid { grid-template-columns: minmax(0, 1fr); } .ct-side { position: static; } }
@media (max-width: 640px) { .ct-row, .ct-topics { grid-template-columns: minmax(0, 1fr); } .ct-field--half { max-width: none; } .ct-send { width: 100%; } }
