:root{
  --primary:#4c78e8; --secondary:#545454; --white:#fff; --black:#000; --gray:#f6f6f6; --light-purple:#545;
}

*{box-sizing:border-box;margin:0;padding:0;font-family:'Inter',sans-serif}
a,a:visited{text-decoration:none;color:var(--primary)}

.sections{padding:48px 120px;width:100%}

.site_header{padding:20px 0;background-color:transparent}
.header_wrapper{display:flex;align-items:center;gap:100px;padding:0 120px;width:100%}
.header_logo_block{display:flex;align-items:center}
.header_logo_block img{width:clamp(50px,12vw,106px);height:clamp(50px,12vw,106px);object-fit:contain}

.header_top{display:flex;flex-direction:column;justify-content:center;flex:1}
.header_up_block{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:37px}
.header_right_group{display:flex;align-items:center;gap:40px}

.header_contacts,.contacts{display:flex;align-items:center}
.header_contacts{gap:100px}
.contacts{gap:43px}

.contacts_item{display:flex;align-items:center;gap:10px}
.contacts_item a{color:var(--secondary);font-size:14px;font-weight:400;line-height:17px;text-align:left}

.header_contacts .contacts_item a[href^='tel'],
.header_contacts .contacts_item a[href^='mailto']{position:relative;display:inline-block;padding-bottom:3px;transition:color .2s ease}
.header_contacts .contacts_item a[href^='tel']::after,
.header_contacts .contacts_item a[href^='mailto']::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--primary);transition:width .22s ease}
.header_contacts .contacts_item a[href^='tel']:hover,
.header_contacts .contacts_item a[href^='mailto']:hover{color:var(--primary)}
.header_contacts .contacts_item a[href^='tel']:hover::after,
.header_contacts .contacts_item a[href^='mailto']:hover::after{width:100%}
.header_contacts .contacts_item a[href^='tel']:focus-visible,
.header_contacts .contacts_item a[href^='mailto']:focus-visible{outline:none;color:var(--primary)}
.header_contacts .contacts_item a[href^='tel']:focus-visible::after,
.header_contacts .contacts_item a[href^='mailto']:focus-visible::after{width:100%}

.icons{display:flex;align-items:center;gap:60px;margin-right:40px}
.icons img{display:block;cursor:pointer}
.icons .icon_link,.icons .icon_btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;border:0;transition:background .18s ease,transform .12s ease,box-shadow .18s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}
.icons .icon_link:hover,.icons .icon_btn:hover{background:rgba(0,0,0,.06);transform:translateY(-1px)}
.icons .icon_link:active,.icons .icon_btn:active{transform:scale(.96)}
.icons .icon_link:focus-visible,.icons .icon_btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(76,120,232,.35)}

.header_bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:10px;margin-top:10px;width:100%}
.header_bottom a{display:flex;align-items:center;gap:17px;color:var(--secondary);font-size:20px;font-weight:700;line-height:24px}
.header_bottom a.active{color:var(--primary)}
.header_bottom a.active img{content:url('/static/media/images/svg/arrow_down_primary.svg')}
.header_bottom a img{flex-shrink:0}

.btn,.footer_btn{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 30px 10px 40px;font:700 16px/1 Inter,sans-serif;border-radius:4px;cursor:pointer;text-decoration:none;border:2px solid transparent;background:transparent;position:relative;overflow:hidden;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .18s ease,box-shadow .25s ease}
.btn>img,.footer_btn>img{width:16px;height:16px;flex:0 0 16px;transition:transform .22s ease,opacity .2s ease,filter .2s ease}
.btn:hover,.footer_btn:hover{transform:translateY(-1px)}
.btn:active,.footer_btn:active{transform:translateY(0)}
.btn:hover>img,.footer_btn:hover>img{transform:translateX(3px)}
.btn:focus-visible,.footer_btn:focus-visible{outline:2px solid rgba(76,120,232,.55);outline-offset:2px}

.primary_btn,.footer_btn.outline{color:var(--primary);border-color:var(--primary);background:var(--white)}
.primary_btn:hover,.footer_btn.outline:hover{color:var(--white);background:var(--primary);border-color:var(--primary);box-shadow:0 6px 18px rgba(76,120,232,.18)}
.footer_btn.outline:hover>img{content:url('/static/media/images/svg/arrow_right_white.svg')}
.primary_btn:hover .dropdown_arrow{filter:brightness(0) invert(1)}

.student_btn,.footer_btn.filled{color:var(--white);border-color:var(--primary);background-image:linear-gradient(90deg,var(--primary) 0%,#7EA1FF 100%);background-size:200% 100%;background-position:0% 50%;box-shadow:0 6px 16px rgba(76,120,232,.22);position:relative;overflow:hidden}
.student_btn::before,.footer_btn.filled::before{content:"";position:absolute;inset:-3px;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 40%,rgba(255,255,255,0) 70%);transform:translateX(-120%) skewX(-16deg);transition:transform .55s ease;pointer-events:none;will-change:transform}
.student_btn:hover,.footer_btn.filled:hover{background-position:100% 50%;box-shadow:0 12px 30px rgba(76,120,232,.30),0 0 0 3px rgba(76,120,232,.10) inset;transform:translateY(-1px)}
.student_btn:hover::before,.footer_btn.filled:hover::before{transform:translateX(120%) skewX(-16deg)}
.student_btn:active,.footer_btn.filled:active{transform:translateY(0);box-shadow:inset 0 2px 7px rgba(0,0,0,.18),0 4px 14px rgba(76,120,232,.18)}
.dropdown.active .student_btn{background-position:100% 50%;box-shadow:0 10px 26px rgba(76,120,232,.28),0 0 0 3px rgba(76,120,232,.16) inset}
.btn[disabled],.footer_btn[disabled]{opacity:.6;pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .btn,.footer_btn,.btn>img,.footer_btn>img{transition:none!important}
}

.dropdown{position:relative;display:inline-block}
.dropdown_menu{display:none;flex-direction:column;position:absolute;background:var(--white);border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:1000}
.dropdown.active .dropdown_menu{display:flex;opacity:1;transform:translateY(0)}

.primary_menu{top:calc(100% + 8px);left:0;width:232px;height:137px;padding:12px 0}
.primary_menu a{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;color:var(--secondary);font-size:16px;font-weight:700;line-height:19px}
.primary_menu a img{width:10px;height:10px}
.primary_menu a:hover{color:var(--primary)}
.primary_menu .pm_item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;font:700 16px/19px Inter,Arial,sans-serif;color:var(--secondary);background:transparent;border:0;text-align:left;cursor:pointer}
.primary_menu .pm_item img{width:10px;height:10px}
.primary_menu .pm_item:hover{color:rgb(76,120,232)}

.link_external{display:inline-flex;align-items:center;gap:12px;color:var(--secondary);font-weight:700;transition:color .2s ease}
.link_external_icon{width:20px;height:20px;flex-shrink:0}
.link_external:hover{color:var(--primary)}
.link_external:hover .link_external_icon{filter:invert(47%) sepia(91%) saturate(2585%) hue-rotate(209deg) brightness(101%) contrast(97%)}

.student_menu{top:calc(100% + 10px);right:0;left:auto;width:375px;padding:16px}
.student_menu a{font-size:16px;padding:16px;font-weight:700;color:var(--secondary);transition:color .2s}
.student_menu a:hover{color:var(--primary)}

.buttons_group{display:flex;flex-wrap:wrap;gap:8px;padding:48px 120px 20px}
.nav_button_link{text-decoration:none}
.nav_button{display:inline-flex;justify-content:center;align-items:center;padding:10px 40px;border:1px solid var(--secondary);border-radius:4px;background:var(--white);color:var(--secondary);font:600 16px/1 Inter,sans-serif;letter-spacing:.04em;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.nav_button:hover{border-color:var(--primary);color:var(--primary)}
.nav_button.active{background:var(--primary);color:var(--white);border-color:var(--primary)}

.nav_dropdown{position:relative}
.nav_dropdown_toggle{display:flex;align-items:center;gap:17px;color:var(--secondary);font-size:20px;font-weight:700;line-height:24px}
.nav_dropdown_menu{position:absolute;top:calc(100% + 8px);left:0;display:none;flex-direction:column;gap:10px;min-width:220px;padding:12px 0;background:var(--white);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:1000}
.nav_dropdown_menu a{padding:10px 16px;color:var(--secondary);font:700 16px/19px Inter,Arial,sans-serif;white-space:nowrap;transition:color .15s ease,background .15s ease}
.nav_dropdown_menu a:hover{color:var(--primary)}
.nav_dropdown.open .nav_dropdown_menu{display:flex}
.nav_dropdown.open>.nav_dropdown_toggle{color:var(--primary)}
.nav_dropdown .nav_dropdown_toggle.active{color:var(--primary)}
.nav_dropdown .nav_dropdown_toggle.active .nav_dropdown_arrow{content:url('/static/media/images/svg/arrow_down_primary.svg')}
.nav_dropdown.open>.nav_dropdown_toggle .nav_dropdown_arrow{content:url('/static/media/images/svg/arrow_up_primary.svg')}

.site_footer{background-color:var(--white);color:var(--black);padding:80px 120px;font-size:14px}
.footer_top{display:flex;justify-content:space-between;margin-bottom:70px}
.site_footer h4{color:var(--secondary);font-size:20px;font-weight:700;margin-bottom:16px}
.footer_contact{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.footer_contact span{color:var(--secondary);font-size:14px;font-weight:400}
.footer_middle{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:70px}
.footer_middle span{color:var(--primary);font-size:14px}
.footer_info{display:flex;align-items:center;gap:8px;margin-right:20px}
.footer_buttons{display:flex;gap:12px}
.footer_links{display:flex;justify-content:center;gap:30px;margin-bottom:80px}
.footer_links a{color:var(--secondary);font-size:14px;font-weight:700}
.footer_bottom{display:flex;justify-content:center;align-items:center;gap:20px}
.footer_bottom .footer_dev_link{display:flex;align-items:center;gap:8px}
.footer_bottom span{color:var(--secondary);font-size:14px;font-weight:500}
.none_cursor{cursor:default}
.footer_links{display:flex;justify-content:center;gap:30px;margin-bottom:80px}
.footer_links a{position:relative;color:var(--secondary);font-size:14px;font-weight:700;line-height:1.2;padding-bottom:2px;text-decoration:none;white-space:nowrap}
.footer_links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:currentColor;transition:width .22s ease}
.footer_links a:hover::after,
.footer_links a:focus-visible::after{width:100%}

.back_to_top{position:fixed;right:24px;bottom:24px;width:56px;height:56px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1000;cursor:pointer;border:none;background:none}
.back_to_top img{width:100%;height:100%}
.back_to_top.show{opacity:1;transform:translateY(0);pointer-events:auto}
@media (max-width:600px){
  .back_to_top{right:16px;bottom:16px;width:48px;height:48px}
}

.breadcrumbs{background:var(--white);padding:12px 120px;margin:0 0 24px;display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:6px}
.breadcrumbs a{color:var(--secondary);font:600 14px/1.4 Inter,Arial,sans-serif;text-decoration:none;position:relative;padding-bottom:2px;white-space:normal;word-break:break-word}
.breadcrumbs a:hover{color:var(--primary)}
.breadcrumbs a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--primary);transition:width .22s ease}
.breadcrumbs a:hover::after{width:100%}
.breadcrumbs .breadcrumbs_sep{display:inline-flex;align-items:center;justify-content:center;width:16px;height:17px;flex:0 0 auto;transform:translateY(1px)}
@media (max-width:1036px){.breadcrumbs{padding:12px 40px}}
@media (max-width:360px){.breadcrumbs{padding:12px 8px}}

@media (max-width:1720px){
  .header_bottom{justify-content:flex-start;flex-wrap:wrap;gap:16px 24px}
  .header_bottom a{white-space:nowrap;gap:12px}
  .header_right_group{gap:24px}
  .contacts{gap:24px}
  .icons{gap:28px;margin-right:0}
}
@media (max-width:1658px){
  .header_bottom{display:flex;flex-wrap:wrap;align-items:center;width:100%;gap:16px 24px;justify-content:flex-start}
  .header_bottom>*{flex:0 0 auto}
  .header_bottom>a:nth-child(4){order:1}
  .header_bottom>a:nth-child(5){order:2}
  .header_bottom>.nav_dropdown:nth-child(3){order:3}
  .header_bottom>a:nth-child(6){order:4}
  .header_bottom::before{content:"";order:5;flex:1 1 auto;display:block}
  .header_bottom>a:nth-child(7){order:6}
  .header_bottom::after{content:"";order:7;flex:0 0 100%;display:block}
  .header_bottom>a:nth-child(1){order:8;margin-right:auto}
  .header_bottom>.nav_dropdown:nth-child(2){order:9}
}

@media (max-width:1540px){
  .header_wrapper{padding:0 100px}
  .header_up_block{column-gap:24px}
  .header_right_group{gap:24px}
  .header_contacts{gap:28px}
  .contacts{gap:18px}
  .icons{gap:18px;margin-right:0}
  .icons img{width:20px;height:20px}
  .primary_btn{padding:8px 22px 8px 28px}
  .student_btn{padding:8px 20px;font-size:15px}
}
@media (max-width:1420px){
  .header_wrapper{padding:0 80px}
  .header_contacts{gap:22px}
  .contacts{gap:14px}
  .icons{gap:14px}
}
@media (max-width:1440px){
  .header_bottom{column-gap:20px;row-gap:16px}
  .header_bottom a,.nav_dropdown_toggle{font-size:18px;gap:12px}
}
@media (max-width:1396px){
  .header_wrapper{padding:0 80px;gap:56px}
  .header_up_block{gap:16px}
  .header_right_group{gap:20px}
  .icons{gap:18px}
  .icons img{width:20px;height:20px}
  .student_btn{padding:8px 20px;font-size:15px}
  .icons .icon_link,.icons .icon_btn{width:28px;height:28px}
}
@media (max-width:1220px){
  .header_wrapper{gap:48px;padding:0 60px}
  .header_bottom{column-gap:16px;row-gap:14px}
  .header_bottom a,.nav_dropdown_toggle{font-size:17px}
}
@media (max-width:1170px){
  .header_up_block{display:flex;flex-wrap:wrap;align-items:center;column-gap:20px;row-gap:10px}
  .header_right_group{display:flex;flex-wrap:wrap;gap:16px;margin-left:auto}
  .contacts{gap:14px}
  .contacts_item a{font-size:13.5px;line-height:1.2}
  .contacts_item img{width:18px;height:18px}
  .icons{gap:14px}
  .icons img{width:18px;height:18px}
  .dropdown .btn,.student_btn{padding:6px 16px;font-size:14px}
}
@media (max-width:1036px){
  .header_contacts .icons{display:flex;justify-content:center;align-items:center;gap:clamp(20px,5vw,32px)}
  .header_contacts .icons .icon_link,.header_contacts .icons .icon_btn{padding:4px;border-radius:8px;width:auto;height:auto}
}

@media (max-width:1435px){
  .site_footer{padding:60px 80px}
  .footer_top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;align-items:start}
  .footer_logo{grid-column:1/-1;justify-self:center}
  .site_footer .footer_logo img{width:clamp(120px,20vw,180px);height:auto;display:block;max-width:100%}
  .footer_middle{justify-content:center;gap:16px 24px}
  .footer_info{margin-right:0}
  .footer_buttons{gap:12px}
  .footer_btn{padding:10px 20px}
  .site_footer h4{font-size:18px}
  .footer_contact span{font-size:13.5px}
  .site_footer .footer_contact img,.site_footer .footer_info img{width:24px;height:24px}
}
@media (max-width:768px){
  .site_footer{padding:28px 16px}
  .footer_top{display:flex;flex-direction:column;gap:22px}
  .site_footer h4{font-size:16px;margin-bottom:10px}
  .footer_contact{gap:8px}
  .footer_contact span{font-size:14px}
  .footer_middle{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-bottom:40px}
  .footer_info{margin-right:0;justify-content:flex-start}
  .footer_buttons{flex-direction:column;gap:10px}
  .footer_btn{width:100%;justify-content:center}
  .footer_links{flex-direction:column;align-items:center;gap:12px;margin-bottom:32px}
  .footer_bottom{flex-direction:column;gap:12px}
  .footer_logo{align-self:center}
  .site_footer .footer_logo img{width:clamp(110px,36vw,150px);height:auto}
  .site_footer .footer_contact img,.site_footer .footer_info img{width:24px;height:24px}
}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10000}
.modal[aria-hidden="false"]{display:flex}
.modal__overlay{position:absolute;inset:0;background:rgba(12,16,24,.36);backdrop-filter:blur(2px) saturate(120%);opacity:0;transition:opacity .2s ease}
.modal[aria-hidden="false"] .modal__overlay{opacity:1}
.modal__dialog{position:relative;width:min(640px,calc(100vw - 32px));background:var(--white);border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,.25);padding:24px 20px 20px;transform:translateY(12px) scale(.98);opacity:0;transition:transform .2s ease,opacity .2s ease}
.modal[aria-hidden="false"] .modal__dialog{transform:none;opacity:1}
.modal__title{margin:0 0 14px;text-align:center;color:#333;font:700 28px/1.2 Inter,Arial,sans-serif}
.modal__close{position:absolute;top:6px;right:6px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:background .15s ease,transform .12s ease}
.modal__close:hover{background:rgba(0,0,0,.06)}
.modal__close:active{transform:scale(.96)}
.modal__close img{display:block;width:20px;height:20px;margin:auto;pointer-events:none}
.modal .contact-form{width:100%;background:var(--white);box-shadow:none;border:0;gap:12px}
.contact-form .btn_submit[disabled]{opacity:.6;cursor:default;pointer-events:none}
.body--modal-open{overflow:hidden}
@media (max-width:420px){.modal__title{font-size:24px}}
@media (prefers-reduced-motion:reduce){.modal__overlay,.modal__dialog{transition:none!important}}

#contactModal .consent_row{align-items:center}
#contactModal .consent_label{align-items:center}
#contactModal .consent_text{text-align:center}
@media (max-width:442px){
  #contactModal .consent_row{align-items:start}
  #contactModal .consent_label{align-items:start}
  #contactModal .consent_text{text-align:start}
}

.reveal{opacity:0;transform:translateY(12px);filter:blur(2px);transition:opacity .6s ease,transform .6s ease,filter .6s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.reveal[data-reveal="up"]{transform:translateY(14px)}
.reveal[data-reveal="down"]{transform:translateY(-14px)}
.reveal[data-reveal="left"]{transform:translateX(16px)}
.reveal[data-reveal="right"]{transform:translateX(-16px)}
.reveal[data-reveal="scale"]{transform:scale(.96)}
.reveal[data-reveal="blur"]{filter:blur(4px)}
.body-page-fade{animation:pageFadeIn .35s ease both}
@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}
.no-reveal{opacity:1!important;transform:none!important;filter:none!important}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .body-page-fade{animation:none!important}
}

@media (max-width:1396px){
  .icons .icon_link,.icons .icon_btn{width:28px;height:28px}
}
@media (max-width:1036px){
  .header_contacts .icons .icon_link,.header_contacts .icons .icon_btn{padding:4px;border-radius:8px;width:auto;height:auto}
}

@media (min-width:1921px){
  .header_wrapper{box-sizing:border-box;max-width:1760px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}
  .sections,.breadcrumbs,.site_footer{box-sizing:border-box;max-width:1440px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}
}
@media (min-width:2560px){
  .header_wrapper{max-width:1840px;padding-left:48px;padding-right:48px}
  .sections,.breadcrumbs,.site_footer{max-width:1600px;padding-left:48px;padding-right:48px}
}
@media (min-width:3440px){
  .header_wrapper{max-width:1920px;padding-left:56px;padding-right:56px}
  .sections,.breadcrumbs,.site_footer{max-width:1720px;padding-left:56px;padding-right:56px}
}
