/* Final layout polish */
:root{--topbar-h:38px;--header-h:87px}
html{scroll-padding-top:calc(var(--topbar-h) + var(--header-h) + 16px)}
body{padding-top:calc(var(--topbar-h) + var(--header-h))!important}
.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1002!important}
.site-header,.header{position:fixed!important;top:var(--topbar-h)!important;left:0!important;right:0!important;z-index:1000!important}
.drop,.menu.open{z-index:1001!important}
.logo{object-fit:contain}
.brand-name{letter-spacing:0}
.hero-buttons .btn,.btns .btn,.header-action,.top-apply,.webmail-btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.hero-buttons .btn:hover,.btns .btn:hover,.header-action:hover,.top-apply:hover,.webmail-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(6,42,95,.16)}
.section{padding:56px 0}
.section-head{margin-bottom:28px}
.footer-bottom a[href="#"]{pointer-events:none;opacity:.65}
input,select,textarea,button,a{min-height:0}

.hero h1,
.hero h2{
  font-size:36px!important;
  line-height:1.18!important;
  letter-spacing:0!important;
  max-width:760px!important;
}

@media(max-width:1500px){
  .header-inner{min-height:76px;gap:10px!important;padding-left:18px!important;padding-right:18px!important}
  .brand{max-width:390px!important;gap:10px!important}
  .logo{width:54px!important;height:54px!important}
  .brand-name{font-size:22px!important;line-height:1!important;white-space:nowrap!important}
  .brand-slogan{font-size:8.5px!important;letter-spacing:.8px!important;white-space:nowrap!important}
  .nav-area{gap:4px!important}
  .menu>li>a{font-size:10.5px!important;padding-left:5px!important;padding-right:5px!important;letter-spacing:0!important;white-space:nowrap!important}
  .header-action{display:none!important}
}

@media(max-width:1250px){
  .brand{max-width:340px!important}
  .brand-name{font-size:20px!important}
  .brand-slogan{font-size:8px!important;letter-spacing:.6px!important}
  .menu>li>a{font-size:10px!important;padding-left:4px!important;padding-right:4px!important}
}

@media(max-width:1180px){
  .header-inner{min-height:78px}
  .menu>li>a{padding:16px 0}
  .header-action{display:none}
}

@media(max-width:640px){
  :root{--topbar-h:46px;--header-h:87px}
  html{scroll-padding-top:calc(var(--topbar-h) + var(--header-h) + 12px)}
  .container{width:min(100% - 32px,1180px)}
  .topbar{font-size:11px}
  .topbar-inner{height:auto;min-height:0;padding:7px 0;display:grid;grid-template-columns:1fr;gap:6px}
  .top-left,.top-right{width:100%;justify-content:center;gap:8px}
  .top-left,.top-left span:nth-child(2),.webmail-btn{display:none}
  .lang-switcher{gap:5px}
  .lang-switcher button{font-size:11px;padding:4px 7px}
  .top-apply{font-size:11px;padding:6px 10px}
  .site-header,.header{top:var(--topbar-h)!important}
  .header-inner{min-height:76px;gap:10px}
  .brand{gap:9px;min-width:0}
  .logo{width:56px!important;height:56px!important;border-radius:7px}
  .brand-name{font-size:20px!important;line-height:1.08;white-space:normal}
  .brand-slogan{font-size:8px!important;letter-spacing:.8px;white-space:normal;line-height:1.25}
  .mobile-toggle{padding:9px 11px;font-size:12px}
  .site-header .menu.open,.header .menu.open{position:fixed!important;top:calc(var(--topbar-h) + var(--header-h))!important;left:0!important;right:0!important;max-height:calc(100vh - var(--topbar-h) - var(--header-h));overflow:auto}
  .hero{min-height:auto!important;padding:0!important;background-position:center!important}
  .hero-content{padding:28px 0 32px!important;max-width:none!important}
  .kicker{font-size:10.5px!important;line-height:1.35!important;margin-bottom:10px!important;letter-spacing:1px!important}
  .hero h1{font-size:27px!important;line-height:1.15!important;letter-spacing:0!important;margin-bottom:11px!important}
  .hero p{font-size:14px!important;line-height:1.58!important;margin-bottom:18px!important}
  .hero-buttons{gap:9px!important}
  .hero-buttons .btn{width:100%!important;padding:12px 16px!important}
  .section{padding:42px 0}
  .section-head{margin-bottom:22px}
  .section-head h2{font-size:25px!important;letter-spacing:0}
  .card,.service-card,.contact-card,.page-card{border-radius:10px!important}
  .float{display:flex!important;right:10px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;gap:6px!important}
  .float a,.float button{padding:9px 10px!important;font-size:11px!important;max-width:132px!important;line-height:1.15!important}
  .footer{padding-top:34px}
  .footer-grid{gap:22px}
}

@media(max-width:420px){
  .container{width:min(100% - 24px,1180px)}
  .brand-name{font-size:17px!important}
  .logo{width:52px!important;height:52px!important}
  .hero h1{font-size:28px!important}
  .section-head h2{font-size:22px!important}
}
