.contact{position:relative;overflow:hidden;background:linear-gradient(165deg,#e6f6fd 0%,var(--page-bg) 70%);color:var(--ink)}.contact__glow{position:absolute;border-radius:50%;pointer-events:none}.contact__glow--1{top:-20%;left:-10%;width:46vw;min-width:320px;aspect-ratio:1;background:radial-gradient(circle,rgba(0,174,239,.16),transparent 68%);animation:contactFloat 20s var(--ease-in-out) infinite}.contact__glow--2{right:-12%;bottom:-25%;width:40vw;min-width:280px;aspect-ratio:1;background:radial-gradient(circle,rgba(255,140,66,.16),transparent 68%);animation:contactFloat 26s var(--ease-in-out) infinite reverse}@keyframes contactFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(10%,12%,0) scale(1.15)}}.contact__inner{position:relative}.contact .contact__title{color:var(--ink)}.contact .contact__notice{display:inline-block;margin:12px 0 0;padding:6px 16px;border-radius:999px;background:#fff;border:1px solid rgba(0,119,168,.25);color:var(--ink);font-weight:700}.contact .contact__lead{color:var(--muted)}.contact .contact__eyebrow{border-color:#0077a840;background:#fff;color:var(--accent)}.contact__card{max-width:760px;margin-inline:auto;padding:clamp(24px,4vw,48px);border-radius:var(--radius-xl);border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);color:var(--text)}.contact-form{display:flex;flex-direction:column;gap:18px;width:100%}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:var(--step--1);font-weight:700;letter-spacing:.06em;color:var(--ink)}.input,.select,.textarea{width:100%;padding:14px 16px;font:inherit;font-size:var(--step-0);border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-muted);color:var(--text);outline:none;transition:border-color .22s var(--ease-out),background .22s var(--ease-out),box-shadow .22s var(--ease-out)}.textarea{resize:vertical;min-height:150px;line-height:1.85}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in oklab,var(--accent) 35%,var(--border))}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 18%,transparent)}.input.is-error,.select.is-error,.textarea.is-error{border-color:var(--danger);background:#fff6f7}.input.is-error:focus,.select.is-error:focus,.textarea.is-error:focus{box-shadow:0 0 0 4px #b0002026}.field-error{margin:0;min-height:1em;font-size:var(--step--1);line-height:1.5;color:var(--danger)}.contact-form .button{margin-top:6px;align-self:center;min-width:min(100%,280px);padding-block:16px}.message-area{margin:16px 0 0;min-height:1.3em;font-size:var(--step--1);text-align:center}.message-area.is-success{color:var(--success);font-weight:700}.message-area.is-error{color:var(--danger);font-weight:700}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 22px) calc(50% + 2px),calc(100% - 17px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.select.is-placeholder{color:var(--muted)}.select option{color:var(--text)}.field-note{margin:2px 0 0;padding:12px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:3px solid var(--accent);background:color-mix(in oklab,var(--accent) 7%,transparent);font-size:var(--step--1);line-height:1.85;color:var(--text)}@media(max-width:600px){.contact-form .button{width:100%}}.contact-page .contact{padding-top:calc(var(--header-h) + clamp(40px,6vw,72px))}
