.ct-body{padding-block:clamp(3rem, 7vw, 6rem) var(--section)}.ct-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:clamp(2.5rem,6vw,7rem);display:grid}.ct-portrait{justify-self:center;width:100%;max-width:36rem;height:auto}.ct-form{gap:clamp(1.75rem,3vw,2.5rem);max-width:44rem;display:grid}.ct-label{font-family:var(--font-name);font-size:var(--step-0);letter-spacing:.03em;color:var(--graphite);margin-bottom:.6rem;font-weight:500;display:block}.ct-topics{border:0;margin:0;padding:0}.ct-topic-row{flex-wrap:wrap;gap:.75rem;display:flex}.ct-topic{cursor:pointer;position:relative}.ct-topic input{opacity:0;cursor:pointer;position:absolute;inset:0}.ct-topic span{min-height:3rem;box-shadow:inset 0 0 0 1px var(--ink);font-family:var(--font-name);font-size:var(--step-1);align-items:center;padding:0 1.4rem;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.ct-topic:hover span{background:#0000000f}.ct-topic input:checked+span{background:var(--ink);color:var(--paper)}.ct-topic input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}.ct-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.75rem,3vw,2.5rem);display:grid}.ct-field{display:block}.ct-field input,.ct-field textarea{border:0;border-bottom:1px solid var(--ink);width:100%;color:var(--ink);font-family:var(--font-text);font-size:var(--step-3);background:0 0;border-radius:0;padding:.5rem 0 .7rem;line-height:1.35;display:block}.ct-field textarea{resize:vertical;min-height:9rem}.ct-field input:focus,.ct-field textarea:focus{border-bottom-width:2px;outline:none;padding-bottom:calc(.7rem - 1px)}.ct-send{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:.5rem;display:flex}.ct-send .button{cursor:pointer;border:0}.ct-send .button:disabled{opacity:.6;cursor:wait}.ct-fine{font-family:var(--font-name);font-size:var(--step-0);color:var(--graphite);font-weight:500}.ct-error{font-family:var(--font-name);font-size:var(--step-1);color:#b3261e;font-weight:500}.ct-done{max-width:36rem}.ct-done-title{font-size:var(--step-6);letter-spacing:-.012em;font-weight:500;line-height:1.1}.ct-done-text{font-size:var(--step-3);color:var(--graphite);margin-top:1.5rem}@media (max-width:900px){.ct-grid{grid-template-columns:minmax(0,1fr)}.ct-portrait{order:2;max-width:20rem}}@media (max-width:600px){.ct-pair{grid-template-columns:minmax(0,1fr)}}
