.s2a-contact,.s2a-contact *{box-sizing:border-box}
.s2a-contact{
 --s2a-contact-accent:#2676ff;
 --s2a-contact-dark:#16316b;
 --s2a-contact-muted:#5f7395;
 position:relative;overflow:hidden;width:100%;background:#fff;color:var(--s2a-contact-dark);isolation:isolate
}
.s2a-contact:before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 55%,#f7fbff 100%)}
.s2a-contact:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(38,118,255,.07),transparent 38%,rgba(38,118,255,.05) 100%)}
.s2a-contact__inner{position:relative;z-index:2;width:100%;margin:0 auto}
.s2a-contact__decor{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;opacity:.75;filter:blur(2px)}
.s2a-contact__decor--one{top:-60px;left:-90px;width:290px;height:290px;background:radial-gradient(circle,rgba(38,118,255,.13),rgba(38,118,255,0) 70%)}
.s2a-contact__decor--two{right:-80px;bottom:-70px;width:330px;height:330px;background:radial-gradient(circle,rgba(38,118,255,.11),rgba(38,118,255,0) 72%)}
.s2a-contact__dots{position:absolute;z-index:-1;width:132px;height:92px;opacity:.7;background-image:radial-gradient(circle,rgba(38,118,255,.58) 1.8px,transparent 2px);background-size:18px 18px;pointer-events:none}
.s2a-contact__dots--left{top:18px;left:18px}
.s2a-contact__dots--right{top:72px;right:18px}
.s2a-contact--no-decorations .s2a-contact__decor,.s2a-contact--no-decorations .s2a-contact__dots{display:none}

.s2a-contact__header{max-width:980px;margin:0 auto;text-align:center}
.s2a-contact__badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;border:1px solid rgba(38,118,255,.18);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 15px 30px rgba(32,71,132,.08),inset 0 1px 0 rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.s2a-contact__badge-icon{display:inline-flex;color:var(--s2a-contact-accent)}
.s2a-contact__badge-icon svg{width:1em;height:1em;fill:currentColor}
.s2a-contact__heading{margin:0;font-size:clamp(38px,4.4vw,70px);font-weight:500;line-height:1.1;letter-spacing:-.04em;color:#132d66}
.s2a-contact__heading-main,.s2a-contact__heading-highlight{display:inline}
.s2a-contact__heading-highlight{margin-left:.12em;color:var(--s2a-contact-accent)}
.s2a-contact__description{max-width:900px;margin:18px auto 0;font-size:16px;line-height:1.8;color:#4f6791}
.s2a-contact__description>*:first-child{margin-top:0}.s2a-contact__description>*:last-child{margin-bottom:0}

.s2a-contact__main{display:grid;grid-template-columns:minmax(0,var(--s2a-contact-left,47%)) minmax(0,1fr);align-items:start}
.s2a-contact__left{display:flex;flex-direction:column;min-width:0}
.s2a-contact__panel{position:relative;overflow:hidden;min-width:0;border:1px solid rgba(38,118,255,.12);border-radius:32px;background:rgba(255,255,255,.72);box-shadow:0 22px 55px rgba(36,74,132,.08),inset 0 1px 0 rgba(255,255,255,.96);backdrop-filter:blur(18px)}
.s2a-contact__panel:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(38,118,255,.07));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.s2a-contact__panel:after{content:"";position:absolute;right:-55px;top:-55px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(38,118,255,.08),transparent 70%);pointer-events:none}
.s2a-contact__panel-title-row{display:flex;align-items:center;gap:16px;margin-bottom:22px;position:relative;z-index:2}
.s2a-contact__panel-title-copy{min-width:0}
.s2a-contact__panel-title-icon{display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#fff,#edf4ff);color:var(--s2a-contact-accent);box-shadow:0 12px 26px rgba(38,118,255,.12),inset 0 0 0 1px rgba(38,118,255,.14);font-size:25px}
.s2a-contact__panel-title-icon svg{width:1em;height:1em;fill:currentColor}
.s2a-contact__block-title{margin:0;font-size:18px;font-weight:500;line-height:1.3;color:#16316b}
.s2a-contact__block-description{margin:5px 0 0;color:#667da2;font-size:12.5px;line-height:1.7}

.s2a-contact__telegram-grid,.s2a-contact__details-grid,.s2a-contact__social-grid,.s2a-contact__faq-grid{display:grid;min-width:0}
.s2a-contact__telegram{background:rgba(255,255,255,.78)}
.s2a-contact__telegram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.s2a-contact-telegram{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;min-width:0;border:1px solid rgba(38,118,255,.12);border-radius:24px;background:rgba(255,255,255,.72);text-decoration:none;color:inherit;box-shadow:0 14px 26px rgba(38,118,255,.06),inset 0 1px 0 rgba(255,255,255,.98);transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease,border-color .25s ease}
.s2a-contact-telegram:hover,.s2a-contact-telegram:focus-visible{transform:translateY(-4px);box-shadow:0 22px 36px rgba(38,118,255,.12),inset 0 1px 0 rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--telegram-accent,#229ed9) 35%,transparent);outline:0}
.s2a-contact-telegram__bigicon{display:grid;place-items:center;width:126px;height:126px;border-radius:50%;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--telegram-accent,#229ed9) 8%,#fff));color:var(--telegram-accent,#229ed9);box-shadow:0 16px 34px rgba(38,118,255,.10),inset 0 0 0 2px rgba(38,118,255,.14);font-size:56px}
.s2a-contact-telegram__year{display:block;margin-top:14px;color:var(--telegram-accent,#229ed9);font-size:23px;font-weight:600;line-height:1}
.s2a-contact-telegram__title{display:block;margin-top:14px;font-size:14px;font-weight:500;line-height:1.35;color:#19346d}
.s2a-contact-telegram__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;border-radius:14px;background:linear-gradient(135deg,var(--telegram-accent,#229ed9),color-mix(in srgb,var(--telegram-accent,#229ed9) 75%,#114ad7));box-shadow:0 12px 24px color-mix(in srgb,var(--telegram-accent,#229ed9) 22%,transparent);color:#fff;font-size:13px;font-weight:500;line-height:1;padding:0 18px}

.s2a-contact__details-panel:after{display:none}
.s2a-contact__details-grid{grid-template-columns:1fr}
.s2a-contact-card{display:flex;align-items:center;gap:14px;min-width:0;border:1px solid rgba(38,118,255,.12);border-radius:20px;background:rgba(255,255,255,.72);text-decoration:none;color:inherit;box-shadow:0 10px 24px rgba(45,87,145,.05),inset 0 1px 0 rgba(255,255,255,.98);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.s2a-contact-card:hover,.s2a-contact-card:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--item-accent,#2676ff) 30%,transparent);box-shadow:0 18px 30px rgba(45,87,145,.09),inset 0 1px 0 rgba(255,255,255,.98);outline:0}
.s2a-contact-card__icon{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--item-accent,#2676ff) 8%,#fff));color:var(--item-accent,#2676ff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--item-accent,#2676ff) 14%,transparent)}
.s2a-contact-card__icon svg{width:1em;height:1em;fill:currentColor}
.s2a-contact-card__copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.s2a-contact-card__label{font-size:12px;font-weight:500;line-height:1.2;color:#16316b}
.s2a-contact-card__value{font-size:14px;font-weight:400;line-height:1.45;color:#5170a3;overflow-wrap:anywhere}

.s2a-contact__form-panel{background:rgba(255,255,255,.76)}
.s2a-contact__form .fluentform{margin:0}
.s2a-contact__form .ff-el-group{margin-bottom:14px}
.s2a-contact__form .ff-el-input--label label{color:#16316b;font-weight:500}
.s2a-contact__form .ff-el-form-control,.s2a-contact__form .ff-el-form-control:focus,.s2a-contact__form select,.s2a-contact__form textarea{
 width:100%;border:1px solid rgba(38,118,255,.12)!important;border-radius:18px!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98)!important;color:#516a94!important
}
.s2a-contact__form textarea.ff-el-form-control{min-height:160px!important}
.s2a-contact__form .ff-el-form-control:focus{background:#fff!important;box-shadow:0 0 0 4px rgba(38,118,255,.07)!important;outline:0}
.s2a-contact__form .ff-btn-submit{width:100%;border:0!important;border-radius:18px!important;background:linear-gradient(135deg,#2d79ff,#0f58ef)!important;box-shadow:0 16px 30px rgba(38,118,255,.22)!important;color:#fff!important;font-weight:500!important;transition:transform .22s ease,box-shadow .22s ease}
.s2a-contact__form .ff-btn-submit:hover{transform:translateY(-2px);box-shadow:0 20px 36px rgba(38,118,255,.26)!important}
.s2a-contact__form-placeholder{display:grid;place-items:center;min-height:330px;border:1px dashed rgba(38,118,255,.25);border-radius:22px;background:rgba(255,255,255,.52);color:var(--s2a-contact-muted);text-align:center}
.s2a-contact__form-placeholder span{display:grid;place-items:center;width:60px;height:60px;margin-bottom:10px;border-radius:18px;background:linear-gradient(145deg,#fff,#edf4ff);color:var(--s2a-contact-accent);font-size:26px;box-shadow:inset 0 0 0 1px rgba(38,118,255,.12)}
.s2a-contact__form-placeholder p{max-width:320px;margin:0;line-height:1.6}

.s2a-contact__social-panel{margin-top:28px;background:rgba(255,255,255,.78)}
.s2a-contact__social-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.s2a-contact-social{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid rgba(38,118,255,.12);border-radius:20px;background:rgba(255,255,255,.72);text-decoration:none;color:inherit;box-shadow:0 10px 24px rgba(38,118,255,.05),inset 0 1px 0 rgba(255,255,255,.98);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.s2a-contact-social:hover,.s2a-contact-social:focus-visible{transform:translateY(-3px);box-shadow:0 18px 30px rgba(38,118,255,.09),inset 0 1px 0 rgba(255,255,255,.98);border-color:color-mix(in srgb,var(--social-accent,#2676ff) 30%,transparent);outline:0}
.s2a-contact-social__icon{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--social-accent,#2676ff) 8%,#fff));color:var(--social-accent,#2676ff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--social-accent,#2676ff) 14%,transparent)}
.s2a-contact-social__icon svg{width:1em;height:1em;fill:currentColor}
.s2a-contact-social__copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.s2a-contact-social__title{font-size:14px;font-weight:500;line-height:1.3;color:#16316b;overflow-wrap:anywhere}
.s2a-contact-social__subtitle{font-size:11px;line-height:1.3;color:#6e82a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2a-contact-social__arrow{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--social-accent,#2676ff) 7%,#fff);color:var(--social-accent,#2676ff);font-size:14px}

.s2a-contact__faq{margin-top:28px;background:rgba(255,255,255,.78)}
.s2a-contact__faq-heading{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;text-align:center}
.s2a-contact__faq-heading h3{margin:0;font-size:26px;font-weight:500;line-height:1.2;color:#16316b}
.s2a-contact__faq-heading p{margin:8px 0 0;color:#6f82a3;line-height:1.65}
.s2a-contact__faq-mark{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#fff,#edf4ff);color:var(--s2a-contact-accent);box-shadow:0 12px 24px rgba(38,118,255,.10),inset 0 0 0 1px rgba(38,118,255,.14);font-size:28px;font-weight:700}
.s2a-contact-faq{overflow:hidden;border:1px solid rgba(38,118,255,.12);border-radius:22px;background:rgba(255,255,255,.74);box-shadow:0 10px 24px rgba(38,118,255,.05),inset 0 1px 0 rgba(255,255,255,.98);transition:border-color .25s ease,box-shadow .25s ease}
.s2a-contact-faq.is-open{border-color:rgba(38,118,255,.25);box-shadow:0 16px 30px rgba(38,118,255,.09),inset 0 1px 0 rgba(255,255,255,.98)}
.s2a-contact-faq__question{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.s2a-contact-faq__question:focus-visible{outline:2px solid var(--s2a-contact-accent);outline-offset:-3px}
.s2a-contact-faq__icon{display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#fff,#edf4ff);color:var(--s2a-contact-accent);box-shadow:inset 0 0 0 1px rgba(38,118,255,.13)}
.s2a-contact-faq__icon svg{width:1em;height:1em;fill:currentColor}
.s2a-contact-faq__question-text{flex:1;font-size:16px;font-weight:500;line-height:1.5;color:#17326c}
.s2a-contact-faq__toggle{position:relative;display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:14px;background:rgba(38,118,255,.06)}
.s2a-contact-faq__toggle:before,.s2a-contact-faq__toggle:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;border-radius:2px;background:var(--s2a-contact-accent);transform:translate(-50%,-50%);transition:transform .25s ease}
.s2a-contact-faq__toggle:after{transform:translate(-50%,-50%) rotate(90deg)}
.s2a-contact-faq.is-open .s2a-contact-faq__toggle:after{transform:translate(-50%,-50%) rotate(0)}
.s2a-contact-faq__answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .38s cubic-bezier(.2,.7,.25,1),opacity .25s ease}
.s2a-contact-faq.is-open .s2a-contact-faq__answer{opacity:1}
.s2a-contact-faq__answer-inner{color:#5b7296;line-height:1.75}
.s2a-contact-faq__answer-inner>*:first-child{margin-top:0}.s2a-contact-faq__answer-inner>*:last-child{margin-bottom:0}

.s2a-contact--animate .s2a-contact__header,.s2a-contact--animate .s2a-contact__panel{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1)}
.s2a-contact--animate.is-in-view .s2a-contact__header,.s2a-contact--animate.is-in-view .s2a-contact__panel{opacity:1;transform:none}

@media (max-width:1024px){
 .s2a-contact__main{grid-template-columns:1fr}
 .s2a-contact__heading{font-size:clamp(34px,6vw,54px)}
 .s2a-contact__social-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .s2a-contact__telegram-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:767px){
 .s2a-contact__dots{display:none}
 .s2a-contact__heading{font-size:clamp(30px,10vw,42px)}
 .s2a-contact__heading-main,.s2a-contact__heading-highlight{display:block}
 .s2a-contact__heading-highlight{margin:.08em 0 0}
 .s2a-contact__description{font-size:14px}
 .s2a-contact__main{gap:18px!important}
 .s2a-contact--mobile-form-first .s2a-contact__form-panel{order:-1}
 .s2a-contact__panel-title-icon{width:50px;height:50px;font-size:22px}
 .s2a-contact__telegram-grid{grid-template-columns:1fr!important}
 .s2a-contact-telegram__bigicon{width:96px;height:96px;font-size:44px}
 .s2a-contact__social-grid{grid-template-columns:1fr!important}
 .s2a-contact-social__subtitle{white-space:normal}
 .s2a-contact__faq-heading{align-items:flex-start;text-align:left;justify-content:flex-start}
 .s2a-contact-faq__icon{width:48px;height:48px}
 .s2a-contact-faq__question-text{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.s2a-contact *,.s2a-contact *:before,.s2a-contact *:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v1.5.3 frontend reliability fixes */
.s2a-contact{background:#fff!important}
.s2a-contact:before,.s2a-contact:after{display:none!important;background:none!important}
.s2a-contact__decor,.s2a-contact__dots{display:none!important}
.s2a-inline-icon{display:block;width:1em;height:1em;overflow:visible;color:inherit;fill:none}
.s2a-contact__badge-icon .s2a-inline-icon,
.s2a-contact__panel-title-icon .s2a-inline-icon,
.s2a-contact-card__icon .s2a-inline-icon,
.s2a-contact-social__icon .s2a-inline-icon,
.s2a-contact-faq__icon .s2a-inline-icon,
.s2a-contact-telegram__bigicon .s2a-inline-icon{width:1em!important;height:1em!important}
.s2a-contact__panel-title-icon{font-size:25px!important}
.s2a-contact-telegram__bigicon{font-size:54px!important}
.s2a-contact-card__icon{font-size:23px!important}
.s2a-contact-social__icon{font-size:22px!important}
.s2a-contact-faq__icon{font-size:22px!important}
.s2a-contact-faq__question,
.s2a-contact-faq__question:hover,
.s2a-contact-faq__question:focus,
.s2a-contact-faq__question:focus-visible,
.s2a-contact-faq__question:active,
.s2a-contact-faq.is-open .s2a-contact-faq__question{
 background:transparent!important;
 background-color:transparent!important;
 box-shadow:none!important;
}

/* v1.5.4 fixed requested layout */
.s2a-contact .s2a-contact__details-grid{grid-template-columns:1fr!important;}
.s2a-contact .s2a-contact__faq-grid{grid-template-columns:1fr!important;}
.s2a-contact .s2a-contact-card{width:100%;}
.s2a-contact .s2a-contact-faq{width:100%;}
