.ts-contact{min-height:100svh;padding:calc(var(--ts-header) + clamp(2.5rem, 7vh, 5rem)) 0 clamp(4rem, 8vw, 7rem);position:relative;overflow:clip}.ts-contact__bg{aspect-ratio:16/9;opacity:.32;pointer-events:none;width:min(70vw,1100px);position:absolute;inset:0 0 auto auto;-webkit-mask-image:radial-gradient(closest-side,#000 30%,#0000);mask-image:radial-gradient(closest-side,#000 30%,#0000)}.ts-contact__bg img{object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:no-preference){.ts-contact__bg{transform:translateY(calc(var(--ts-out,0) * 20vh))}}.ts-contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid;position:relative}.ts-contact__intro{gap:var(--sc-5);top:calc(var(--ts-header) + 2rem);justify-items:start;display:grid;position:sticky}.ts-contact__intro .sc-display{max-width:14ch}.ts-contact__intro .sc-lede{max-width:40ch}.ts-steps{margin:var(--sc-4) 0 0;counter-reset:s;gap:0;width:100%;padding:0;list-style:none;display:grid}.ts-steps li{border-top:1px solid var(--ts-line);counter-increment:s;grid-template-columns:2.4rem 1fr;column-gap:.8rem;padding:.9rem 0;display:grid}.ts-steps li:before{content:counter(s);border:1px solid var(--ts-line-strong);width:1.8rem;height:1.8rem;font-family:var(--sc-font-mono);color:var(--ts-accent-text);border-radius:50%;grid-row:span 2;place-items:center;font-size:.75rem;display:grid}.ts-steps strong{font-weight:560}.ts-steps span{color:var(--sc-ink-soft);font-size:.94rem}.ts-contact__direct{color:var(--sc-ink-soft);margin:0}.ts-form{gap:var(--sc-5);border-radius:var(--sc-r-lg);border:1px solid var(--ts-line);background:linear-gradient(180deg, color-mix(in oklab, var(--sc-surface) 96%, #2a4a80), var(--sc-surface));box-shadow:var(--sc-e3), var(--sc-edge);padding:clamp(1.4rem,3.5vw,2.6rem);display:grid;position:relative}.ts-form__row{gap:var(--sc-5);grid-template-columns:1fr 1fr;display:grid}.ts-field{border:0;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.ts-field label,.ts-field legend{color:var(--sc-ink);padding:0;font-size:.88rem;font-weight:520}.ts-field label span{color:var(--sc-ink-soft);font-weight:400}.ts-field input,.ts-field textarea{background:color-mix(in oklab, var(--sc-canvas) 70%, transparent);width:100%;color:var(--sc-ink);border:1px solid var(--ts-line-strong);border-radius:var(--sc-r-sm);transition:border-color .16s var(--sc-ease-out), background-color .16s var(--sc-ease-out);padding:.8rem .9rem;font-size:1rem}.ts-field textarea{resize:vertical;min-height:7rem}.ts-field input::placeholder,.ts-field textarea::placeholder{color:color-mix(in oklab, var(--sc-ink-soft) 80%, transparent)}.ts-field input:hover,.ts-field textarea:hover{border-color:color-mix(in oklab, var(--sc-ink) 35%, transparent)}.ts-field input:focus-visible,.ts-field textarea:focus-visible{outline:2px solid var(--sc-accent);outline-offset:1px;border-color:#0000}.ts-field input[aria-invalid=true]{border-color:#ff7a7a}.ts-field__err{color:#ffa0a0;margin:0;font-size:.84rem;display:none}.ts-field input[aria-invalid=true]+.ts-field__err{display:block}.ts-chips{flex-wrap:wrap;gap:.5rem;display:flex}.ts-chips legend{width:100%;margin-bottom:.7rem}.ts-chip{cursor:pointer;position:relative}.ts-chip input{opacity:0;width:1px;height:1px;position:absolute}.ts-chip span{border-radius:var(--sc-r-pill);border:1px solid var(--ts-line-strong);min-height:2.6rem;color:var(--sc-ink-soft);transition:background-color .16s var(--sc-ease-out), border-color .16s var(--sc-ease-out), color .16s var(--sc-ease-out);align-items:center;padding:0 1rem;font-size:.9rem;display:inline-flex}.ts-chip input:checked+span{background:color-mix(in oklab, var(--sc-accent) 22%, transparent);border-color:var(--ts-accent-text);color:var(--sc-ink)}.ts-chip input:focus-visible+span{outline:2px solid var(--sc-accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.ts-chip:hover span{color:var(--sc-ink);border-color:color-mix(in oklab, var(--sc-ink) 40%, transparent)}}.ts-chip:active span{transform:scale(.97)}.ts-form__foot{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.ts-form__status{min-height:1.4em;color:var(--ts-accent-text);margin:0}@media (width<=960px){.ts-contact__grid{grid-template-columns:1fr}.ts-contact__intro{position:static}.ts-contact__bg{opacity:.25;width:100vw}}@media (width<=560px){.ts-form__row{grid-template-columns:1fr}.ts-contact__intro .sc-display{font-size:clamp(1.9rem,8.4vw,2.5rem)}}
