/* Site header with dropdown menus. Markup is generated into every page by
   tools/build_seo.py (<!-- cg:header --> block); behaviour is in /js/header.js.
   Works without JS: hover / keyboard focus opens the panels on desktop, and the
   menu is shown expanded on small screens. */
.cg-header{--hd-navy:#0b2545;--hd-slate:#4a5568;--hd-line:#d8d2c4;--hd-warm:#f3efe7;--hd-accent:#c0392b;
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);border-bottom:1px solid var(--hd-line);
  -webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);
  font-family:Inter,'Helvetica Neue',Arial,sans-serif;color:var(--hd-navy);line-height:1.4}
.cg-header *{box-sizing:border-box}
.cg-header a{border:0;text-decoration:none;color:inherit}
.cg-header ul{list-style:none;margin:0;padding:0}
.cg-header li{margin:0;padding:0;border:0;color:var(--hd-navy);font-size:inherit}
.cg-hd{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px}
.cg-brand{flex:none;display:block}
.cg-brand img{height:42px;width:auto;display:block}
.cg-menu{flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.cg-top{display:flex;align-items:center;gap:2px;margin-left:12px}
.cg-top>li{position:relative}
.cg-header .cg-trigger,.cg-header .cg-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;border:0;background:none;
  font-family:inherit;font-size:14px;font-weight:500;line-height:1.2;color:var(--hd-navy);cursor:pointer;white-space:nowrap}
.cg-trigger::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .15s ease;opacity:.7}
.cg-trigger:hover,.cg-link:hover,.cg-dd.cg-open>.cg-trigger{background:var(--hd-warm);color:var(--hd-navy)}
.cg-dd.cg-open>.cg-trigger::after{transform:translateY(1px) rotate(-135deg)}
.cg-trigger.cg-here,.cg-link.cg-here{color:var(--hd-accent)}
.cg-trigger:focus-visible,.cg-link:focus-visible,.cg-panel a:focus-visible,.cg-actions a:focus-visible,.cg-burger:focus-visible{outline:2px solid var(--hd-accent);outline-offset:2px}
.cg-actions{display:flex;align-items:center;gap:14px;flex:none}
.cg-lang{font-size:14px;font-weight:700;padding:6px 4px}
.cg-lang:hover{color:var(--hd-accent)}
.cg-cta{background:var(--hd-navy);color:#fff !important;padding:9px 16px;border-radius:5px;font-size:14px;font-weight:600;white-space:nowrap}
.cg-cta:hover{background:var(--hd-accent)}
.cg-burger{display:none}

/* Panels */
.cg-panel{position:absolute;top:100%;left:-8px;transform:translate(var(--cg-shift,0px),6px);padding-top:10px;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.cg-panel-in{display:flex;gap:8px;background:#fff;border:1px solid var(--hd-line);border-radius:12px;padding:10px;
  box-shadow:0 18px 48px rgba(11,37,69,.14),0 2px 6px rgba(11,37,69,.06)}
.cg-dd.cg-open>.cg-panel,
html:not(.cg-js) .cg-dd:hover>.cg-panel,
html:not(.cg-js) .cg-dd:focus-within>.cg-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(var(--cg-shift,0px),0);transition-delay:0s}
.cg-col{width:280px;padding:6px}
.cg-col-h{margin:6px 10px 6px;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--hd-slate)}
.cg-item{display:block;padding:9px 10px;border-radius:8px;transition:background .12s ease}
.cg-item:hover,.cg-item[aria-current="page"]{background:var(--hd-warm)}
.cg-item b{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--hd-navy)}
.cg-item span{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--hd-slate)}
.cg-item:hover b{color:var(--hd-accent)}
.cg-item b small{font-size:9.5px;font-weight:700;letter-spacing:.8px;color:var(--hd-slate);border:1px solid var(--hd-line);border-radius:4px;padding:1px 4px}
.cg-feature{display:flex;flex-direction:column;justify-content:flex-end;width:230px;margin:6px;padding:18px;border-radius:10px;
  background:radial-gradient(ellipse at 70% 20%,rgba(62,231,255,.22),transparent 60%),linear-gradient(160deg,#0b2545,#061327);color:#E8F1FF !important}
.cg-feature i{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#8BF26B}
.cg-feature b{display:block;margin:8px 0 6px;font-size:16px;line-height:1.3;color:#fff}
.cg-feature span{font-size:12.5px;line-height:1.45;color:rgba(232,241,255,.75)}
.cg-feature em{margin-top:12px;font-style:normal;font-size:13px;font-weight:600;color:#3EE7FF}
.cg-feature:hover em{text-decoration:underline}

/* Small screens: burger + accordion */
@media (max-width:959px){
  .cg-hd{flex-wrap:wrap;gap:0;justify-content:space-between}
  .cg-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:0;background:none;cursor:pointer;border-radius:6px}
  .cg-burger span,.cg-burger::before,.cg-burger::after{content:"";display:block;height:2px;border-radius:2px;background:var(--hd-navy);transition:transform .2s ease,opacity .2s ease}
  .cg-header.cg-menu-open .cg-burger::before{transform:translateY(7px) rotate(45deg)}
  .cg-header.cg-menu-open .cg-burger span{opacity:0}
  .cg-header.cg-menu-open .cg-burger::after{transform:translateY(-7px) rotate(-45deg)}
  .cg-menu{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 4px}
  html.cg-js .cg-menu{display:none}
  html.cg-js .cg-header.cg-menu-open .cg-menu{display:flex;max-height:calc(100vh - 72px);overflow-y:auto}
  .cg-top{flex-direction:column;align-items:stretch;margin:0}
  .cg-top>li{border-bottom:1px solid var(--hd-line)}
  .cg-header .cg-trigger,.cg-header .cg-link{width:100%;justify-content:space-between;padding:14px 4px;font-size:16px;border-radius:0}
  .cg-trigger:hover,.cg-link:hover,.cg-dd.cg-open>.cg-trigger{background:none}
  .cg-panel{position:static;transform:none !important;padding:0 0 10px;opacity:1;visibility:visible;pointer-events:auto;transition:none}
  html.cg-js .cg-panel{display:none}
  html.cg-js .cg-dd.cg-open>.cg-panel{display:block;transform:none}
  .cg-panel-in{display:block;border:0;box-shadow:none;padding:0;background:none}
  .cg-col{width:auto;padding:0}
  .cg-col-h{margin:8px 4px 4px}
  .cg-item{padding:8px 4px}
  .cg-feature{width:auto;margin:8px 0 4px}
  .cg-actions{justify-content:space-between;padding:16px 4px 8px}
  .cg-cta{flex:1;text-align:center;padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){.cg-panel,.cg-trigger::after,.cg-burger span,.cg-burger::before,.cg-burger::after{transition:none}}
