.contact-section { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: clamp(20px,5vw,56px); width: min(100%,900px); margin: 34px auto 12px; padding: clamp(20px,4vw,36px); border: 1px solid var(--line); border-radius: 24px; background: rgba(47,53,66,.28); }
.contact-character { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.contact-character-viewer { display: block; width: min(100%,200px); height: auto; touch-action: pan-y; }
.contact-character h3 { margin: 8px 0 4px; font-size: 20px; }
.contact-character p { max-width: 220px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.contact-form { display: grid; gap: 14px; min-width: 0; }
.contact-turnstile { display: none; }
.contact-turnstile.is-active { display: block; }
.contact-form h2 { margin: 0 0 2px; font-size: clamp(23px,3vw,30px); }
.contact-field { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: 14px; font-weight: 600; }
.required-marker { color: #ff6b6b; }
.contact-field input, .contact-field textarea { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 10px; background: rgba(255,255,255,.96); color: #252b36; font: inherit; font-weight: 400; touch-action: manipulation; }
.contact-field textarea { min-height: 88px; resize: vertical; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible { border-color: #a8f6f0; outline: 2px solid #a8f6f0; outline-offset: 2px; }
.contact-verify { min-height: 44px; padding: 9px 16px; border: 1px solid rgba(168,246,240,.6); border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; transition: .2s ease; }
.contact-verify:not(:disabled):hover, .contact-verify:not(:disabled):focus-visible { background: rgba(168,246,240,.16); }
.contact-verify:focus-visible { outline: 2px solid #a8f6f0; outline-offset: 3px; }
.contact-verify:disabled { cursor: not-allowed; opacity: .65; }
.contact-submit { min-height: 46px; padding: 10px 18px; border: 1px solid rgba(168,246,240,.6); border-radius: 999px; background: #a8f6f0; color: #252b36; font: inherit; font-weight: 700; cursor: pointer; transition: .2s ease; }
.contact-submit:not(:disabled):hover, .contact-submit:not(:disabled):focus-visible { background: #c0fff9; transform: translateY(-1px); }
.contact-submit:disabled { cursor: not-allowed; opacity: .55; }
.contact-required-note { margin: -6px 0 0; color: #ff6b6b; font-size: 12px; }
.contact-email-warning { margin: -8px 0 0; color: #ff8a8a; font-size: 13px; line-height: 1.5; }
.contact-email-warning[hidden] { display: none; }
.contact-status { margin: -8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.contact-status:empty { display: none; }
.contact-status.is-error { color: #ff8a8a; }


.contact-form textarea[name="message"] { height: 88px; min-height: 88px; max-height: 88px; resize: none; overflow-x: hidden; overflow-y: auto; }
