@font-face{font-family:'Roboto';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(fonts/roboto.woff2) format('woff2');}
@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/roboto-mono.woff2) format('woff2');}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Roboto',sans-serif;font-size:17px;line-height:1.6;background:#EAECEE;}
.container{max-width:1200px;margin:0 auto;width:100%;}

.navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;background:#EAECEE;border-bottom:1px solid rgba(45,54,112,0.1);}
.navbar-logo{height:40px;width:auto;}
.navbar-icons{display:flex;gap:12px;}
.navbar-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(45,54,112,0.15);cursor:pointer;transition:background 0.2s;}
.navbar-btn:hover{background:#2D3670;}
.navbar-btn:hover svg{stroke:#fff;}
.navbar-btn svg{width:24px;height:24px;stroke:#2D3670;stroke-width:2;fill:none;}

.menu-overlay{position:fixed;inset:0;z-index:200;background:#EAECEE;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.1s,visibility 0.1s;}
.menu-overlay.active{opacity:1;visibility:visible;}
.menu-close{position:absolute;top:24px;right:48px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(45,54,112,0.15);cursor:pointer;transition:background 0.2s;}
.menu-close:hover{background:#2D3670;}
.menu-close:hover svg{stroke:#fff;}
.menu-close svg{width:24px;height:24px;stroke:#2D3670;stroke-width:2;fill:none;}
.menu-links{display:flex;flex-direction:column;align-items:center;gap:0;}
.menu-links a,.menu-links button{font-family:'Roboto',sans-serif;font-size:60px;font-weight:600;color:#2D3670;text-decoration:none;background:none;border:none;cursor:pointer;transition:color 0.2s;padding:24px 0;margin:0;line-height:1;display:block;}
.menu-links a:hover,.menu-links button:hover{color:rgba(45,54,112,0.6);}

.submenu{position:fixed;inset:0;z-index:250;background:#EAECEE;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.1s,visibility 0.1s;}
.submenu.active{opacity:1;visibility:visible;}
.submenu-back{position:absolute;top:24px;left:48px;width:48px;height:48px;color:#2D3670;background:none;border:1px solid rgba(45,54,112,0.15);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}
.submenu-back:hover{background:#2D3670;}
.submenu-back:hover svg{stroke:#fff;}
.submenu-back svg{width:28px;height:28px;stroke:#2D3670;stroke-width:2;fill:none;}
.submenu-links{display:flex;flex-direction:column;align-items:center;gap:48px;}
.submenu-links a{font-size:60px;font-weight:600;color:#2D3670;text-decoration:none;transition:color 0.2s;}
.submenu-links--small a{font-size:32px;}
.submenu-links a:hover{color:rgba(45,54,112,0.6);}

.contact-overlay{position:fixed;inset:0;z-index:200;background:#EAECEE;display:grid;grid-template-columns:1fr 1fr;opacity:0;visibility:hidden;transition:opacity 0.1s,visibility 0.1s;}
.contact-overlay.active{opacity:1;visibility:visible;}
.contact-overlay-close{position:absolute;top:24px;right:48px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(45,54,112,0.15);cursor:pointer;transition:background 0.2s;z-index:10;}
.contact-overlay-close:hover{background:#2D3670;}
.contact-overlay-close:hover svg{stroke:#fff;}
.contact-overlay-close svg{width:24px;height:24px;stroke:#2D3670;stroke-width:2;fill:none;}
.contact-left{display:flex;flex-direction:column;justify-content:center;padding:48px 80px;background:#EAECEE;}
.contact-left h2{font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1;letter-spacing:-0.02em;color:#2D3670;margin:0 0 24px 0;}
.contact-left p{font-size:17px;line-height:1.5;color:#2D3670;max-width:400px;}
.contact-right{display:flex;flex-direction:column;justify-content:center;padding:48px 80px;background:#fff;border-left:1px solid rgba(45,54,112,0.1);}
.contact-social{display:flex;flex-direction:column;gap:0;}
.contact-social a{font-size:28px;font-weight:600;color:#2D3670;text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(45,54,112,0.1);transition:color 0.2s;display:flex;align-items:center;gap:16px;}
.contact-social a:first-child{border-top:1px solid rgba(45,54,112,0.1);}
.contact-social a:hover{color:rgba(45,54,112,0.6);}
.contact-social svg{width:24px;height:24px;fill:#2D3670;flex-shrink:0;transition:fill 0.2s;}
.contact-social a:hover svg{fill:rgba(45,54,112,0.6);}
.contact-phones{margin-top:32px;}
.contact-phones p{margin:0 0 16px 0;font-size:17px;line-height:1.5;font-weight:400;color:#2D3670;max-width:400px;}

.hero{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:var(--sector-main);}
.hero-content{display:flex;flex-direction:column;justify-content:flex-end;padding:200px 48px 80px;max-width:700px;}
.hero-badges{display:flex;align-items:flex-end;justify-content:center;gap:24px;padding:48px 48px 80px;}
.hero-badge{width:200px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.15));}
.hero-title{font-size:clamp(40px,6vw,80px);font-weight:600;line-height:0.95;letter-spacing:-0.02em;color:#fff;margin:0 0 20px 0;}
.hero-description{font-size:18px;line-height:1.5;color:rgba(255,255,255,0.9);}

.section{padding:80px 48px;background:#EAECEE;}
.section--white{background:#fff;}
.section--blue{color:#fff;}
.section-title{font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1;letter-spacing:-0.02em;color:var(--sector-main);margin:0 0 40px 0;max-width:800px;}
.section--blue .section-title{color:#fff;}

.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.course-item{padding:20px 28px;font-size:16px;border-radius:8px;}
a.course-item{text-decoration:none;display:flex;align-items:center;justify-content:space-between;transition:background 0.15s;}
a.course-item::after{content:'→';color:var(--sector-main);opacity:0;transform:translateX(-8px);transition:opacity 0.15s,transform 0.15s;}
a.course-item:hover{background:rgba(var(--sector-main-rgb),0.08);}
a.course-item:hover::after{opacity:1;transform:translateX(0);}
.section-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:15px;font-weight:600;color:var(--sector-main);text-decoration:none;}
.section-link span{transition:transform 0.2s ease;display:inline-block;}
.section-link:hover span{transform:translateX(4px);}

.programs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.program-card{display:block;padding:28px;background:#fff;border:1px solid rgba(45,54,112,0.1);text-decoration:none;transition:background 0.1s;border-radius:8px;}
.section--blue .program-card{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);}
.section--blue .program-card:hover{background:rgba(255,255,255,0.25);}
.program-card h3{font-size:20px;font-weight:600;margin:0 0 10px 0;color:#2D3670;transition:color 0.1s;}
.section--blue .program-card h3{color:#fff;}
.program-card p{font-size:16px;line-height:1.5;margin:0;color:rgba(45,54,112,0.8);transition:color 0.1s;}
.section--blue .program-card p{color:rgba(234,236,238,0.8);}

.footer{padding:64px 48px 32px;background:#EAECEE;color:#2D3670;font-size:14px;border-top:1px solid rgba(45,54,112,0.15);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{height:40px;}
.footer-col h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;margin:0 0 16px 0;color:rgba(45,54,112,0.5);}
.footer-col a{display:block;color:#2D3670;text-decoration:none;margin-bottom:8px;font-size:16px;transition:opacity 0.1s;}
.footer-col a:hover{opacity:0.7;}
.footer-col p{margin:0 0 16px 0;line-height:1.4;font-size:16px;color:#2D3670;}
.footer-btn{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:none;font-size:15px;font-weight:600;margin-top:8px;color:#2D3670;}
.footer-btn span{transition:transform 0.2s ease;display:inline-block;}
.footer-btn:hover{opacity:1;}
.footer-btn:hover span{transform:translateX(4px);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(45,54,112,0.15);color:rgba(45,54,112,0.5);}
.footer-bottom a{color:rgba(45,54,112,0.5);text-decoration:none;transition:color 0.1s;}
.footer-bottom a:hover{color:#2D3670;}

@media(max-width:900px){
    .navbar{padding:16px 24px;}
    .menu-close,.contact-overlay-close{right:24px;}
    .submenu-back{left:24px;}
    .menu-links a,.menu-links button{font-size:28px;padding:16px 0;}
    .submenu-links a{font-size:28px;}
    .submenu-links{gap:32px;}
    .contact-overlay{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto;}
    .contact-left{padding:100px 24px 32px;}
    .contact-left h2{font-size:32px;}
    .contact-right{padding:32px 24px 48px;border-left:none;border-top:1px solid rgba(45,54,112,0.1);}
    .contact-social a{font-size:18px;padding:14px 0;}
    .contact-social svg{width:22px;height:22px;}
    .hero{grid-template-columns:1fr;min-height:auto;}
    .hero-content{padding:120px 24px 48px;}
    .hero-badges{padding:24px 0 48px;gap:12px;flex-wrap:wrap;justify-content:center;}
    .hero-badge{width:30%;max-width:120px;}
    .hero-title{font-size:clamp(32px,8vw,48px);}
    .hero-description{font-size:16px;}
    .section{padding:48px 24px;}
    .section-title{font-size:clamp(28px,7vw,40px);margin-bottom:28px;}
    .course-grid{grid-template-columns:1fr;}
    .course-item{font-size:15px;padding:16px 20px;}
    .programs-grid{grid-template-columns:1fr;}
    .program-card h3{font-size:18px;}
    .program-card p{font-size:15px;}
    .footer{padding:48px 24px 24px;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
    .footer-col:first-child{margin-bottom:8px;}
    .footer-bottom{flex-direction:column;gap:8px;text-align:center;}
}
