:root{
  --bg:#ffffff;
  --fg:#0f0f10;
  --muted:#6b6b70;
  --line:#d9d9de;
  --soft:#f5f5f7;
  --max:1120px;
  --pad:clamp(16px, 2.2vw, 28px);
  --sans:"Montserrat", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --topbar-height:60px;
  --ticker-height:32px;
  --footer-gap-after:42px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--fg);
  background:var(--bg);
  line-height:1.35;
  padding-top:calc(var(--topbar-height) + var(--ticker-height));
  position:relative;
}
a{color:inherit; text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max); margin:0 auto; padding:0 var(--pad)}
.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.ticker{
  background:var(--fg);
  color:var(--bg);
  overflow:hidden;
  height:32px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ticker-track{display:flex; gap:0; white-space:nowrap; will-change:transform; transform:translate3d(0,0,0)}
.ticker-group{display:flex; gap:0; flex-shrink:0}
.ticker-item{display:inline-flex; align-items:center; gap:7px; padding:0 28px; font-size:12px; font-weight:500; letter-spacing:.01em}
.ticker-dot{width:6px; height:6px; background:#22c55e; border-radius:50%; flex-shrink:0; animation:ticker-pulse 2s ease-in-out infinite}
.ticker-icon{width:13px; height:13px; flex-shrink:0; opacity:.7}
.ticker-item a{color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); transition:border-color .15s}
.ticker-item a:hover{border-color:rgba(255,255,255,.7); text-decoration:none}
.nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0}
.brand{display:flex; align-items:center}
.mark{width:92px; height:31px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0}
.mark img{width:100%; height:100%; object-fit:contain; display:block}
.navlinks{display:flex; flex-wrap:wrap; gap:6px; font-size:13px; font-weight:500; color:var(--muted)}
.navlinks a{padding:6px 10px; position:relative; transition:color .15s}
.navlinks a::after{content:''; position:absolute; bottom:2px; left:10px; right:10px; height:1.5px; background:var(--fg); transform:scaleX(0); transform-origin:right; transition:transform .25s cubic-bezier(.4,0,.2,1)}
.navlinks a:hover{color:var(--fg); text-decoration:none}
.navlinks a:hover::after{transform:scaleX(1); transform-origin:left}
.nav-right{display:flex; gap:12px; align-items:center; flex-shrink:0}
.nav-contacts{display:flex; gap:4px; align-items:center}
.nav-contact-link{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line); color:var(--muted); transition:all .15s}
.nav-contact-link:hover{border-color:var(--fg); color:var(--fg); text-decoration:none}
.nav-contact-link svg{width:16px; height:16px}
.nav-divider{width:1px; height:20px; background:var(--line)}
.cta{display:flex; gap:10px; align-items:center}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border:1px solid var(--fg); background:var(--fg); color:var(--bg); font-weight:600; font-size:13px; border-radius:0; cursor:pointer; white-space:nowrap; transition:all .15s}
.btn:hover{filter:brightness(0.95); text-decoration:none}
.btn .btn-arrow{display:inline-block; transition:transform .2s cubic-bezier(.4,0,.2,1); font-size:15px; line-height:1}
.btn:hover .btn-arrow{transform:translateX(3px)}

.site-footer-shell{padding-bottom:var(--footer-gap-after)}
.foot{padding:16px 0 28px; color:var(--muted); font-size:13px}
.footRow{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:16px}
.footLinks{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.foot-right{text-align:right}
.foot-disclaimer{margin-top:6px; font-size:11px; opacity:.45}
.footLinks a{color:var(--muted)}

@keyframes ticker-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.85); }
}

@media (max-width: 980px){
  :root{
    --pad:clamp(16px, 3vw, 24px);
    --footer-gap-after:32px;
  }
  .navlinks{display:none}
  .nav{padding:12px 0}
  .nav-contacts{gap:3px}
}

@media (max-width: 768px){
  .nav-divider{display:none}
  .nav-contact-link{width:30px; height:30px}
  .nav-contact-link svg{width:14px; height:14px}
  .footRow{flex-direction:column; gap:6px}
  .foot-right{text-align:left}
}

@media (max-width: 600px){
  :root{
    --pad:14px;
    --topbar-height:55px;
    --ticker-height:28px;
    --footer-gap-after:28px;
  }
  .nav{padding:10px 0}
  .brand{font-size:14px; gap:8px}
  .mark{width:104px; height:34px}
  .cta .btn{padding:8px 12px; font-size:12px}
  .cta .btn .btn-arrow{font-size:13px}
  .nav-contact-link{width:30px; height:30px}
  .nav-contact-link svg{width:14px; height:14px}
  .nav-divider{display:none}
  .ticker{height:28px}
  .ticker-item{font-size:11px; padding:0 20px}
}

@media (max-width: 380px){
  :root{--pad:12px}
  .nav-contacts{display:none}
  .nav-divider{display:none}
}

@media (prefers-reduced-motion: reduce){
  .ticker-dot{animation:none}
}
