.trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-form .button[disabled]{cursor:progress;opacity:.6}.contact-form{gap:20px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.field{border:0;align-content:start;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>label,.field>legend{padding:0;font-size:13px;font-weight:500;line-height:1.4}.field>legend{margin-bottom:8px}.optional{color:var(--muted);margin-left:4px;font-weight:400}.field input,.field select,.field textarea{border:0;border-bottom:1.5px solid var(--ink);width:100%;min-height:46px;color:var(--ink);font:inherit;background-color:#0000;border-radius:0;margin:0;padding:6px 0;font-size:17px}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 12px),calc(100% - 7px);background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.field textarea{border:1.5px solid var(--ink);background:var(--white);resize:vertical;min-height:8rem;padding:10px 12px;line-height:1.45}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-bottom:3px solid var(--error,#b42318)}.field[data-invalid] .choices label>span{border-color:var(--error,#b42318)}.hint{font-size:12px}.choices{flex-wrap:wrap;gap:8px;display:flex}.choices label{cursor:pointer;position:relative}.choices input{opacity:0;width:1px;height:1px;position:absolute}.choices label>span{border:1px solid var(--line);background:var(--white);align-items:center;min-height:40px;padding:8px 12px;font-size:14px;line-height:1.3;display:inline-flex}.choices label:hover>span{border-color:var(--ink)}.choices input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--white)}.choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.notice{font-size:12px}.contact-status{color:var(--ink);font-size:14px;font-weight:500}.contact-status:empty{display:none}.contact-actions{justify-content:flex-end;gap:12px;display:flex}.contact-success{align-content:center;justify-items:start;gap:16px;min-height:22rem;display:grid}.contact-success-title{letter-spacing:-.03em;font-size:clamp(30px,3vw,44px);line-height:1.05}.contact-success-title:focus{outline:none}.contact-success p:not(.label){color:var(--ink-2)}@media (width<=40rem){.field-grid{grid-template-columns:minmax(0,1fr)}.choices label>span{min-height:44px}}.contact-dialog{border:1.5px solid var(--ink);background:var(--white);width:min(1000px,100% - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--ink);border-radius:0;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 80px #0d0f1440}.contact-dialog::backdrop{backdrop-filter:blur(3px);background:#0d0f1499}.contact-dialog-layout{grid-template-columns:minmax(14rem,.6fr) minmax(0,1.4fr);min-height:38rem;display:grid}.contact-dialog-aside{background:var(--accent);color:var(--white);flex-direction:column;padding:32px 28px;display:flex}.contact-dialog-aside .label{color:var(--white)}.contact-dialog-line{background:#ffffff80;flex:1;width:1.5px;min-height:3rem;margin:28px 0}.contact-dialog-aside p{letter-spacing:-.04em;max-width:14rem;margin-bottom:40px;font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.02}.contact-dialog-content{padding:clamp(24px,4vw,48px);position:relative}.contact-dialog-content h2{letter-spacing:-.04em;margin:6px 0 24px;font-size:clamp(30px,3.4vw,46px);line-height:1.02}.contact-dialog-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:28px;line-height:1;position:absolute;top:12px;right:12px}@media (width<=48rem){.contact-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.contact-dialog-layout{min-height:0;display:block}.contact-dialog-aside{display:none}.contact-dialog-content{padding:28px 20px 20px}}
