.contact-page{background:radial-gradient(circle at 8% 25%, #087df51a, transparent 28rem), radial-gradient(circle at 92% 80%, #3dc0dc1f, transparent 30rem), var(--color-surface-subtle)}.contact-main{padding:clamp(4.5rem, 8vw, 7rem) var(--page-gutter) clamp(5rem, 9vw, 8rem)}.contact-heading{text-align:center;width:min(100%,62rem);margin:0 auto clamp(2.5rem,5vw,4rem)}.contact-kicker,.contact-panel-label{color:var(--color-brand-hover);font-size:.7rem;font-weight:var(--font-weight-heavy);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;margin:0}.contact-heading h1{max-width:14ch;margin:var(--space-3) auto 0;font-size:clamp(2.6rem,5.4vw,5.2rem)}.contact-heading>p:last-child{max-width:45rem;margin:var(--space-5) auto 0;color:var(--color-text-muted);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.7}.contact-panel{border-radius:var(--radius-xl);background:var(--color-surface);width:min(100%,74rem);box-shadow:var(--shadow-lg);border:1px solid #1720331a;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);margin-inline:auto;display:grid;overflow:hidden}.contact-direct,.contact-form-wrap{padding:clamp(var(--space-6), 4vw, 3.4rem)}.contact-direct{color:var(--color-surface);background:radial-gradient(circle at 15% 10%,#4da4ff61,#0000 18rem),radial-gradient(circle at 90% 85%,#39d2d133,#0000 17rem),linear-gradient(145deg,#101a30,#17345d);position:relative;overflow:hidden}.contact-direct:after{aspect-ratio:1;content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:50%;width:16rem;position:absolute;bottom:-7rem;right:-5rem;box-shadow:0 0 0 2.5rem #ffffff08,0 0 0 5rem #ffffff05}.contact-direct .contact-panel-label{color:#86c5ff}.contact-direct h2,.contact-form-wrap h2{margin:var(--space-3) 0 0;letter-spacing:-.045em;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.03}.contact-direct>p:not(.contact-panel-label,.contact-email-note){max-width:31rem;margin:var(--space-5) 0 0;color:#cbd7e8;line-height:1.7}.contact-phone{z-index:1;margin-top:clamp(var(--space-8), 4vw, 3.2rem);padding:var(--space-4);align-items:center;gap:var(--space-4);border-radius:var(--radius-lg);color:var(--color-surface);backdrop-filter:blur(8px);transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:#ffffff17;border:1px solid #ffffff29;text-decoration:none;display:flex;position:relative}.contact-phone:hover{background:#ffffff26;transform:translateY(-.12rem)}.contact-phone>span:first-child{border-radius:var(--radius-md);background:var(--color-brand);flex:none;place-items:center;width:2.8rem;height:2.8rem;display:grid}.contact-phone svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.3rem;height:1.3rem}.contact-phone :is(small,strong){display:block}.contact-phone small{color:#b9c9dd;font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.18rem}.contact-phone strong{font-size:clamp(1.05rem,2vw,1.3rem)}.contact-availability{margin-top:var(--space-4);align-items:center;gap:var(--space-2);color:#cbd7e8;font-size:.78rem;font-weight:var(--font-weight-bold);display:flex}.contact-availability-dot{background:#6dde8d;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 .25rem #6dde8d1a}.contact-email-note{z-index:1;margin:clamp(var(--space-8), 4vw, var(--space-12)) 0 0;color:#cbd7e8;font-size:.86rem;line-height:1.6;position:relative}.contact-email-note a{color:var(--color-surface);font-weight:var(--font-weight-bold)}.contact-form-wrap{background:var(--color-surface)}.contact-form{gap:var(--space-4);margin-top:1.7rem;display:grid}.contact-field-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-form label:not(.contact-consent){gap:var(--space-2);color:#344056;font-size:.78rem;font-weight:var(--font-weight-bold);display:grid}.contact-form :is(input:not([type=checkbox]),select,textarea){border-radius:var(--radius-md);width:100%;color:var(--color-text);background:var(--color-surface-raised);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);border:1px solid #ccd6e3;font-size:.92rem}.contact-form :is(input:not([type=checkbox]),select){min-height:3rem;padding:.72rem .8rem}.contact-form textarea{resize:vertical;min-height:8.5rem;padding:.8rem;line-height:1.55}.contact-form textarea::placeholder{color:#8a96a8}.contact-consent{color:#647186;grid-template-columns:1.05rem minmax(0,1fr);align-items:start;gap:.7rem;font-size:.75rem;line-height:1.55;display:grid}.contact-consent input{width:1.05rem;height:1.05rem;accent-color:var(--color-brand);margin-top:.08rem}.contact-consent a{color:var(--color-brand-hover);font-weight:var(--font-weight-bold)}.contact-submit{border-radius:var(--radius-md);min-height:3.25rem;color:var(--color-surface);background:var(--color-brand);box-shadow:var(--shadow-brand);font:inherit;font-size:.88rem;font-weight:var(--font-weight-heavy);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.15rem;display:inline-flex}.contact-submit:hover{background:var(--color-brand-hover)}.contact-form-note{color:#667085;margin:0;font-size:.7rem;line-height:1.55}.contact-form-status{min-height:1.2rem;color:var(--color-brand-hover);font-size:.78rem;font-weight:var(--font-weight-bold);margin:0}.contact-form :is(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px #b91c1c24}@media (width<=51.25rem){.contact-main{padding-top:3.5rem}.contact-panel{grid-template-columns:minmax(0,1fr);width:min(100%,37rem)}.contact-direct{min-height:28rem}}@media (width<=35rem){.contact-main{padding-inline:var(--space-3)}.contact-heading{text-align:left}.contact-heading h1{overflow-wrap:anywhere;margin-inline:0;font-size:clamp(2.35rem,12vw,3.25rem)}.contact-heading>p:last-child{margin-inline:0}.contact-panel{border-radius:var(--radius-lg)}.contact-direct,.contact-form-wrap{min-width:0;padding:var(--space-6)}.contact-direct h2,.contact-form-wrap h2,.contact-phone strong{overflow-wrap:anywhere}.contact-phone{min-width:0;padding:.9rem}.contact-phone>span:last-child{min-width:0}.contact-phone strong{font-size:1rem}.contact-field-row{grid-template-columns:1fr}}
