.contact-shell{padding:140px 24px 100px;position:relative;overflow:hidden}.contact-shell:before{content:"";position:absolute;width:1100px;height:1100px;border-radius:50%;top:-650px;right:-350px;background:conic-gradient(from 200deg,#f4527a,#f5a841,#17c4b2,#8b72f0,#f4527a);opacity:.1;pointer-events:none;z-index:0}.contact-shell .container{position:relative;z-index:1;max-width:720px}.contact-eyebrow{display:inline-flex;margin-bottom:20px}.contact-title{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink-900);margin-bottom:20px}.contact-deck{font-size:1.05rem;color:var(--ink-500);line-height:1.7;margin-bottom:48px;max-width:560px}.contact-card{background:#ffffffc7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.85);border-radius:var(--r-xl);padding:36px;box-shadow:var(--shadow-card)}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:600px){.contact-row{grid-template-columns:1fr}.contact-card{padding:28px 22px}}.contact-field{display:flex;flex-direction:column;gap:8px}.contact-label{font-size:13px;font-weight:600;color:var(--ink-700);letter-spacing:.01em}.contact-label .required{color:var(--coral);margin-left:4px}.contact-input,.contact-select,.contact-textarea{font-family:var(--font-body);font-size:15px;color:var(--ink-900);background:#ffffffd9;border:1.5px solid var(--ink-300);border-radius:var(--r-md);padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.contact-textarea{min-height:140px;resize:vertical;line-height:1.6}.contact-input:hover,.contact-select:hover,.contact-textarea:hover{border-color:var(--ink-500)}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px #f4527a26;background:#fff}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--ink-500);opacity:1}.contact-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.contact-help{font-size:12px;color:var(--ink-500);line-height:1.5}.contact-error{font-size:12px;font-weight:600;color:var(--coral-deep);display:none}.contact-field.has-error .contact-input,.contact-field.has-error .contact-select,.contact-field.has-error .contact-textarea{border-color:var(--coral)}.contact-field.has-error .contact-error{display:block}.contact-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap}.contact-fineprint{font-size:12px;color:var(--ink-500);line-height:1.55;flex:1 1 320px}.contact-fineprint a{color:var(--coral-deep);text-decoration:underline;text-underline-offset:3px}.contact-submit{position:relative;min-width:180px}.contact-submit[disabled]{opacity:.7;cursor:not-allowed}.contact-submit .spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.contact-submit.loading .spinner{display:inline-block}.contact-submit.loading .label{opacity:.85}@keyframes spin{to{transform:rotate(360deg)}}.contact-banner{display:none;margin-bottom:20px;padding:14px 18px;border-radius:var(--r-md);font-size:14px;line-height:1.55}.contact-banner.is-error{display:block;background:#ef44440f;border:1px solid rgba(239,68,68,.3);color:#b03333}.contact-success{display:none;text-align:center;padding:24px 0}.contact-success svg{width:56px;height:56px;margin-bottom:16px;color:var(--teal-deep)}.contact-success-title{font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.02em;color:var(--ink-900);margin-bottom:10px}.contact-success-body{color:var(--ink-500);font-size:.98rem;line-height:1.65;max-width:440px;margin:0 auto}.contact-form.is-hidden{display:none}.contact-success.is-visible{display:block}
