.contact-page{background:#fff;font-family:var(--sh-font)}
.contact-page h1,.contact-page h2,.contact-page h3{font-style:normal}
.page-contact .footer{margin-top:0}
.contact-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 42%,#EBE4FF 0%,transparent 52%),linear-gradient(118deg,#fff 25%,#FAF8FF 100%)}
.contact-hero-grid{display:grid;grid-template-columns:1.14fr .86fr;align-items:center;gap:55px;padding:93px 0 85px}
.contact-copy{min-width:0}
.contact-overline,.contact-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:2px;font-weight:800;color:#5a43b8;margin:0 0 24px}
.contact-overline .eyebrow-line{background:#785CFF;width:28px;height:2px;flex:0 0 28px}
.contact-copy h1{font-size:clamp(40px,5.2vw,72px);font-weight:830;line-height:1.055;letter-spacing:-.07em;margin:0 0 25px;color:#17131F;max-width:700px}
.contact-accent{color:#6240DA}
.contact-lead{font-size:16px;line-height:1.85;color:#5f5870;max-width:630px;margin:0 0 29px}
.contact-copy .btn-dark{background:#4A2ED7}
.contact-copy .btn-dark:hover{background:#3921B7}
.contact-hero-visual{min-height:350px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden}
.contact-orbit{position:absolute;border:1px solid #D9CFFF;border-radius:50%;transform:rotate(-20deg)}
.contact-orbit.one{width:360px;height:280px}
.contact-orbit.two{width:290px;height:350px;transform:rotate(22deg)}
.contact-envelope{position:relative;z-index:2;width:160px;height:160px;display:grid;place-items:center;border-radius:42px;background:linear-gradient(155deg,#A48CFF,#5436D5);box-shadow:0 25px 60px rgba(90,60,193,.24);transform:rotate(-6deg)}
.contact-envelope .ico{width:82px;height:82px;stroke-width:1;color:#fff}
.contact-orbit-label{position:absolute;top:22px;right:8px;font-size:12px;letter-spacing:1.5px;font-weight:750;color:#5e4f9a}
.contact-send-label{position:absolute;bottom:22px;background:#fff;border:1px solid #EAE3FA;border-radius:999px;padding:13px 18px;color:#554483;font-size:12px;font-weight:700;box-shadow:0 8px 28px rgba(52,29,123,.08)}
.contact-form-section{padding:86px 0 95px;background:radial-gradient(ellipse at 10% 80%,rgba(151,120,255,.13),transparent 53%),#F8F6FF}
.contact-form-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:start}
.contact-form-intro{padding:18px 0;min-width:0}
.contact-form-intro h2{font-size:clamp(34px,4vw,58px);line-height:1.07;letter-spacing:-.06em;margin:0 0 23px;color:#21183A}
.contact-form-sub{font-size:16px;max-width:390px;color:#5f5870;line-height:1.75}
.contact-side-panel{margin-top:50px;max-width:390px;padding:29px 27px 30px;border-radius:26px;border:1px solid #E7DFF6;background:rgba(255,255,255,.85);box-shadow:0 22px 44px rgba(70,41,153,.04)}
.contact-side-icon{width:49px;height:49px;display:grid;place-items:center;color:#5a39d6;background:#EEE8FF;border-radius:15px;margin-bottom:22px}
.contact-side-icon .ico{width:23px;height:23px}
.contact-side-panel h3{font-size:23px;letter-spacing:-.03em;margin:0 0 12px;color:#271B3D}
.contact-side-panel p{font-size:13px;color:#5f5870;line-height:1.78;margin:0 0 18px}
.contact-side-panel>a{display:inline-flex;align-items:center;gap:7px;color:#5a39d6;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.contact-side-panel>a .ico{width:15px;height:15px}
.contact-form-card{padding:38px;border-radius:29px;background:#fff;border:1px solid #E7E0F2;box-shadow:0 23px 80px rgba(51,30,102,.085);min-width:0}
.contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px}
.contact-field{min-width:0}
.contact-field-full{grid-column:1/-1;min-width:0}
.contact-field label{font-size:12px;color:#382B4D;font-weight:780;display:block;margin-bottom:10px}
.contact-field label span{color:#5a39d6}
.contact-field input,.contact-field textarea{font-family:inherit;font-size:14px;color:#21182E;background:#FBFAFD;border:1px solid #D9D2E6;border-radius:13px;padding:15px;display:block;width:100%;outline:none;transition:border .2s,box-shadow .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#6B6478}
.contact-field textarea{resize:vertical;min-height:155px;line-height:1.65}
.contact-field input:focus,.contact-field textarea:focus{border-color:#8465F9;box-shadow:0 0 0 3px rgba(120,92,255,.16)}
.contact-field input[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{border-color:#D94467}
.contact-field-error{color:#B01E4A;font-size:12px;font-weight:650;margin:8px 0 0}
.contact-field-error[hidden],.contact-feedback[hidden],.contact-form-success[hidden]{display:none}
.contact-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.65;color:#5f5870;cursor:pointer}
.contact-consent input{margin-top:3px;accent-color:#5a39d6;flex:0 0 auto;width:17px;height:17px}
.contact-consent input[aria-invalid="true"]{outline:2px solid #D94467;outline-offset:2px}
.contact-consent a{color:#5632d8;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.contact-consent b{color:#5a39d6}
.contact-submit{border:0;font-family:inherit;font-size:14px;cursor:pointer;min-width:195px;justify-content:center;background:#4A2ED7;color:#fff}
.contact-submit:hover:not(:disabled){background:#3921B7}
.contact-submit:disabled{opacity:.7;cursor:wait}
.contact-form-footnote{font-size:12px;color:#6B6478;margin:0;line-height:1.6}
.contact-honeypot{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-feedback{padding:13px 17px;border-radius:12px;background:#FFF0EF;color:#8f2a2a;font-size:13px;line-height:1.55;margin-bottom:19px;border:1px solid #F4CBCB}
.contact-form-success{text-align:center;padding:66px 20px}
.contact-form-success:focus{outline:none}
.contact-success-icon{display:grid;place-items:center;margin:0 auto 23px;width:70px;height:70px;border-radius:50%;background:#EBE4FF;color:#5637DE}
.contact-success-icon .ico{width:34px;height:34px;stroke-width:2.2}
.contact-form-success h3{font-size:28px;margin:0 0 15px;color:#211A32}
.contact-form-success p{font-size:14px;color:#5f5870;line-height:1.75;max-width:410px;margin:0 auto 22px}
.contact-new-message{border:0;background:transparent;font-family:inherit;font-size:13px;cursor:pointer;color:#5232d4;font-weight:800;text-decoration:underline;padding:8px}
.contact-content{background:#FAF9FE;padding:92px 0}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}
.company-card{position:relative;border:1px solid #E5DEF6;border-radius:29px;padding:39px;background:#fff;box-shadow:0 18px 50px rgba(52,34,124,.055);min-width:0}
.company-card h2,.contact-options h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:24px;line-height:1.1}
.company-intro{font-size:14px;line-height:1.75;color:#5f5870;margin:0 0 22px}
.company-address{font-style:normal;font-size:14px;line-height:1.85;font-weight:560;color:#3E3156;overflow-wrap:anywhere}
.company-address a{color:#5232d4;text-decoration:underline;text-underline-offset:4px;font-weight:660}
.reply-note{margin:30px 0 0;padding:19px 21px;border-radius:14px;background:#F2EEFF;color:#4f4285;font-size:12px;line-height:1.7}
.contact-options{padding:8px 0 0;min-width:0}
.topic-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:19px;padding:23px 0;border-bottom:1px solid #E6E1EE}
.topic-card:last-child{border-bottom:0}
.topic-icon{display:grid;place-items:center;background:#EDE7FF;color:#5a43c0;border-radius:13px;width:42px;height:42px}
.topic-icon .ico{width:19px;height:19px}
.topic-card h3{font-size:21px;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px}
.topic-card p{font-size:13px;line-height:1.8;color:#5f5870;margin:0 0 13px}
.topic-card a:not(.inline-link){display:inline-flex;align-items:center;gap:7px;color:#5232d4;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.topic-card a .ico{width:15px;height:15px}
.topic-card .inline-link{color:#5634C9;text-decoration:underline;text-underline-offset:3px;font-weight:600}
@media(max-width:900px){
.contact-hero-grid,.contact-layout,.contact-form-layout{grid-template-columns:1fr;gap:32px}
.contact-hero-grid{padding:70px 0 55px}
.contact-hero-visual{min-height:270px}
.contact-envelope{width:130px;height:130px;border-radius:35px}
.contact-envelope .ico{width:70px;height:70px}
.contact-form-layout{gap:27px}
.contact-form-intro{padding:0}
.contact-side-panel{display:none}
.contact-form-section{padding:65px 0}
.contact-form-card{max-width:700px;width:100%}
.contact-content{padding:74px 0}
}
@media(max-width:630px){
.contact-copy h1{font-size:clamp(38px,10.2vw,52px);letter-spacing:-.065em}
.contact-lead{font-size:14px;line-height:1.75}
.contact-hero-grid{padding:51px 0 35px}
.contact-hero-visual{min-height:215px}
.contact-orbit.one{width:280px;height:210px}
.contact-orbit.two{width:235px;height:240px}
.contact-envelope{width:106px;height:106px;border-radius:30px}
.contact-envelope .ico{width:60px;height:60px}
.contact-send-label{bottom:0;padding:10px 13px}
.contact-orbit-label{top:7px;right:3px;letter-spacing:.5px}
.contact-form-section{padding:50px 0}
.contact-form-intro h2{font-size:38px}
.contact-form-sub{font-size:14px}
.contact-form-fields{grid-template-columns:1fr;gap:17px}
.contact-form-card{padding:23px;border-radius:23px}
.contact-field-full{grid-column:1}
.contact-submit{width:100%}
.contact-field input,.contact-field textarea{font-size:16px}
.contact-content{padding:61px 0}
.company-card{padding:27px 21px}
.topic-card{grid-template-columns:34px minmax(0,1fr);gap:12px}
.topic-icon{width:34px;height:34px;border-radius:11px}
.topic-card h3{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea{transition:none}}
