:root{
  --color-dark:#012452;
  --color-bright:#e5eaf1;
  --color-accent:#abdf00;
  --color-bg:#e5eaf1;
  --color-text:#000000;
  --color-muted:#5a5a5a;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-heading: 'Arial Black', Impact, 'Segoe UI', system-ui, -apple-system, sans-serif;
  --radius: 1rem;
  --header-h: 4.5rem;
  --nav-breakpoint: 768px;
}

*, *::before, *::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }

.jgb-skip{
  position:absolute;
  left:-999px;
  top:auto;
  background:var(--color-accent);
  color:var(--color-dark);
  padding:0.5rem 1rem;
  z-index:1000;
}
.jgb-skip:focus{
  left:0.5rem;
  top:0.5rem;
}

/* ===== Header ===== */
.jgb-header{
  background: var(--color-dark);
  color: var(--color-bright);
  position:sticky;
  top:0;
  z-index:500;
  width:100%;
}
.jgb-header__inner{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:0.5rem 1rem;
  min-height:var(--header-h);
  flex-wrap:nowrap;
}

.jgb-logo{
  display:inline-flex;
  align-items:center;
  color:var(--color-bright);
  font-family:var(--font-heading);
  font-weight:900;
  font-size:1.25rem;
  text-decoration:none;
  flex-shrink:0;
  max-height:3rem;
}
.jgb-logo img{ max-height:2.75rem; width:auto; }

.jgb-header__actions{
  display:flex;
  align-items:center;
  gap:0.75rem;
  flex-shrink:0;
}
.jgb-header__ctas{
  display:flex;
  align-items:center;
  gap:0.5rem;
}

/* ===== Nav / Burger ===== */
.jgb-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:flex-end;
  min-width:0;
}
.jgb-nav__checkbox{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.jgb-nav__toggle{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;
  height:44px;
  cursor:pointer;
  border-radius:0.5rem;
  flex-shrink:0;
  z-index:20;
}
.jgb-nav__toggle-bar{
  display:block;
  width:24px;
  height:3px;
  background:var(--color-bright);
  border-radius:2px;
  transition:transform 0.2s ease, opacity 0.2s ease;
}

.jgb-nav__list{
  list-style:none;
  margin:0;
  padding:0;
  display:none;
  flex-direction:column;
  position:absolute;
  top:var(--header-h);
  left:0;
  right:0;
  background:var(--color-dark);
  max-height:calc(100vh - var(--header-h));
  overflow-y:auto;
  box-shadow:0 8px 16px rgba(0,0,0,0.3);
  z-index:15;
  width:100%;
}
.jgb-nav__checkbox:checked ~ .jgb-nav__list{
  display:flex;
}
.jgb-nav__item{
  width:100%;
  border-top:1px solid rgba(255,255,255,0.1);
}
.jgb-nav__link{
  display:block;
  padding:0.85rem 1.25rem;
  color:var(--color-bright);
  text-decoration:none;
  font-size:0.95rem;
  min-height:44px;
  display:flex;
  align-items:center;
}
.jgb-nav__link:hover,
.jgb-nav__link:focus{
  background:rgba(255,255,255,0.08);
}
.jgb-nav__link--active{
  color:var(--color-accent);
  font-weight:700;
}

.jgb-nav__item--has-children{
  position:relative;
}
.jgb-nav__submenu{
  list-style:none;
  margin:0;
  padding:0;
  background:rgba(0,0,0,0.2);
  display:none;
}
.jgb-nav__item--has-children:hover > .jgb-nav__submenu,
.jgb-nav__item--has-children:focus-within > .jgb-nav__submenu{
  display:block;
}
.jgb-nav__submenu .jgb-nav__link{
  padding-left:2.25rem;
  font-size:0.9rem;
}

/* Because menu is large (32 items) -> collapse_menu_to_burger true:
   keep burger visible & inline list hidden at ALL widths. */
.jgb-nav__toggle{
  display:flex;
}
.jgb-nav__list{
  display:none;
}
.jgb-nav__checkbox:checked ~ .jgb-nav__list{
  display:flex;
}

/* ===== Language switcher ===== */
.jgb-lang{
  list-style:none;
  display:flex;
  gap:0.35rem;
  margin:0;
  padding:0;
  align-items:center;
}
.jgb-lang__item{ display:flex; }
.jgb-lang__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.2rem;
  height:2.2rem;
  padding:0 0.4rem;
  border-radius:0.5rem;
  color:var(--color-bright);
  text-decoration:none;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.03em;
  border:1px solid rgba(255,255,255,0.25);
  text-transform:uppercase;
}
.jgb-lang__link:hover,
.jgb-lang__link:focus{
  background:rgba(255,255,255,0.12);
}
.jgb-lang__link--active{
  background:var(--color-accent);
  color:var(--color-dark);
  border-color:var(--color-accent);
}

/* ===== CTA buttons ===== */
.jgb-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0.55rem 1.1rem;
  border-radius:var(--radius);
  text-decoration:none;
  font-weight:700;
  font-size:0.85rem;
  white-space:nowrap;
  transition:transform 0.15s ease, opacity 0.15s ease;
  border:2px solid transparent;
}
.jgb-cta:hover{ transform:translateY(-1px); }
.jgb-cta--primary{
  background:var(--color-accent);
  color:var(--color-dark);
}
.jgb-cta--primary:hover{
  opacity:0.9;
}
.jgb-cta--secondary{
  background:transparent;
  color:var(--color-bright);
  border-color:var(--color-bright);
}
.jgb-cta--secondary:hover{
  background:rgba(255,255,255,0.1);
}

/* ===== Breadcrumbs ===== */
.jgb-breadcrumbs-wrap{
  max-width:1400px;
  margin:0 auto;
  padding:0 1rem;
}
.jgb-breadcrumbs{
  padding:0.65rem 0;
}
.jgb-breadcrumbs ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem;
  margin:0;
  padding:0;
  font-size:0.8rem;
  color:var(--color-muted);
  align-items:center;
}
.jgb-breadcrumbs__item{
  display:flex;
  align-items:center;
  gap:0.35rem;
}
.jgb-breadcrumbs__item:not(:last-child)::after{
  content:"/";
  color:var(--color-muted);
  margin-left:0.35rem;
}
.jgb-breadcrumbs__link{
  color:var(--color-dark);
  text-decoration:none;
}
.jgb-breadcrumbs__link:hover{
  text-decoration:underline;
}
.jgb-breadcrumbs [aria-current="page"]{
  color:var(--color-muted);
}

/* ===== Footer ===== */
.jgb-footer{
  background:var(--color-dark);
  color:var(--color-bright);
  margin-top:2rem;
}
.jgb-footer__inner{
  max-width:1400px;
  margin:0 auto;
  padding:2rem 1rem 1.5rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.jgb-footer__top{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.jgb-logo--footer{
  font-size:1.1rem;
}
.jgb-footer-nav{
  min-width:0;
}
.jgb-footer-nav__list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem 1.25rem;
  margin:0;
  padding:0;
}
.jgb-footer-nav__item{ display:flex; }
.jgb-footer-nav__link{
  color:var(--color-bright);
  text-decoration:none;
  font-size:0.85rem;
  opacity:0.85;
}
.jgb-footer-nav__link:hover{
  opacity:1;
  text-decoration:underline;
}
.jgb-footer__ctas{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
}
.jgb-footer__address{
  font-style:normal;
  font-size:0.85rem;
  color:var(--color-bright);
  opacity:0.85;
}
.jgb-footer__address a{
  color:var(--color-accent);
  text-decoration:none;
}
.jgb-footer__legal{
  font-size:0.75rem;
  color:var(--color-bright);
  opacity:0.65;
  margin:0;
}

/* ===== Desktop breakpoint ===== */
@media (min-width: 768px){
  .jgb-header__inner{
    padding:0.5rem 2rem;
  }
  /* menu is large -> keep burger at all widths (no inline list reveal) */
}