@font-face {
  font-family: "Satoshi";
  src: url("satoshi/fonts/web/fonts/Satoshi-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Satoshi";
  src: url("satoshi/fonts/web/fonts/Satoshi-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Satoshi";
  src: url("satoshi/fonts/web/fonts/Satoshi-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg: #f3f4f5;
  --surface: rgba(255, 255, 255, 0.82);
  --surface-solid: #ffffff;
  --surface-soft: #f7f8f9;
  --surface-strong: #eef2f4;
  --text: #173f50;
  --text-strong: #0a546d;
  --text-soft: #456c7b;
  --line: rgba(20, 76, 95, 0.08);
  --line-strong: rgba(20, 76, 95, 0.14);
  --shadow-sm: 0 8px 22px rgba(10, 55, 73, 0.05);
  --shadow-md: 0 18px 44px rgba(10, 55, 73, 0.08);
  --shadow-lg: 0 26px 70px rgba(10, 55, 73, 0.12);
  --radius-2xl: 28px;
  --radius-xl: 22px;
  --radius-lg: 18px;
  --radius-md: 12px;
  --radius-sm: 10px;
  --container: 1280px;
  --blue: #11a2e8;
  --blue-dark: #065b78;
  --green: #11a51f;
  --lime: #b5ca00;
  --btn-dark: #6f7174;
  --btn-muted: #a4a6a9;
  --footer: #12a0df;
  --focus: 0 0 0 3px rgba(17, 162, 232, 0.2);
  --logo-desktop-height: 100px;
  --logo-tablet-height: 72px;
  --logo-mobile-height: 60px;
  --mobile-header-height: 84px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Satoshi", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: #f3f5f5;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.site-wrap { display: flex; flex-direction: column; min-height: 100vh; }
.skip-link {
  position: absolute; left: 12px; top: -48px; z-index: 12000;
  padding: 12px 14px; border-radius: 12px; background: #fff;
  color: var(--blue-dark); box-shadow: var(--shadow-md);
}
.skip-link:focus { top: 12px; }
.site-header { position: relative; top: 0; z-index: 900; padding: 16px 0 12px; overflow: visible; }
.top-badges-bar { position: fixed; top: 0; left: 0; width: 100%; z-index: 900; pointer-events: none; }
.top-badges-inner { display: flex; justify-content: flex-end; align-items: flex-start; gap: 12px; pointer-events: none; }
.top-badge {
  --badge-peek: 28px; position: relative; width: 118px; height: 70px; margin-top: 0;
  padding: 10px 10px 12px; display: flex; align-items: flex-end; justify-content: center;
  border-radius: 0 0 16px 16px; background: rgba(255,255,255,.86);
  border: 1px solid rgba(255,255,255,.78); box-shadow: 0 14px 28px rgba(10,55,73,.12);
  transform: translateY(calc(-100% + var(--badge-peek))); opacity: .98; pointer-events: auto;
  transition: transform 280ms cubic-bezier(.2,.9,.25,1.15), box-shadow 220ms ease, background-color 220ms ease;
}
.top-badge:hover, .top-badge:focus-within { transform: translateY(0); box-shadow: 0 22px 40px rgba(10,55,73,.16); background: rgba(255,255,255,.96); }
.top-badge::after { content:""; position:absolute; left:50%; bottom:-6px; width:34px; height:11px; transform:translateX(-50%); background:inherit; clip-path:polygon(50% 100%,0 0,100% 0); }
.top-badge .region-logo { width: 100%; min-height: 92px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.header-shell {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:18px 32px; border:1px solid rgba(255,255,255,.75); border-radius:var(--radius-2xl);
  background:var(--surface); box-shadow:var(--shadow-sm); margin-top:50px;
}
.brand { display:inline-flex; align-items:center; justify-content:flex-start; flex:0 0 auto; min-width:0; line-height:0; }
.brand-logo { display:block; width:auto; height:var(--logo-desktop-height); max-height:var(--logo-desktop-height); max-width:none; object-fit:contain; flex:0 0 auto; }
.brand-top { display:flex; align-items:baseline; gap:2px; font-size:clamp(2.75rem,4vw,4.4rem); line-height:.8; font-weight:700; letter-spacing:.015em; }
.brand-top.small { justify-content:center; font-size:2.8rem; }
.brand-top.small.mini { font-size:1.58rem; }
.brand-p,.brand-c1 { color:var(--blue-dark); }
.brand-i { color:var(--green); }
.brand-c2 { color:var(--lime); }
.brand-bottom { margin-top:6px; color:var(--blue); font-size:clamp(1.45rem,2vw,2.35rem); font-weight:400; letter-spacing:.32em; line-height:1; }
.brand-bottom.small { font-size:1.5rem; text-align:center; }
.brand-bottom.small.mini { margin-top:3px; font-size:.78rem; letter-spacing:.14em; }
.brand-bottom-europe { letter-spacing:.22em; font-size:clamp(1.25rem,1.7vw,1.8rem); color:var(--blue-dark); }
.region-name { display:block; margin-top:10px; color:var(--blue); font-size:.9rem; font-weight:700; letter-spacing:.28em; }
.region-name.mini { margin-top:6px; min-height:1.2em; font-size:.52rem; letter-spacing:.12em; }
.region-name-green { color:#79b200; letter-spacing:.04em; }
.top-nav { display:grid; grid-template-columns:repeat(4,max-content); justify-content:end; align-items:center; column-gap:18px; row-gap:10px; }
.nav-item { position:relative; }
.nav-pill {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 18px;
  border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.62); color:var(--blue-dark);
  font-size:.96rem; font-weight:500; letter-spacing:.01em; white-space:nowrap;
  transition:transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.nav-pill:hover { transform:translateY(-1px); background:rgba(255,255,255,.92); box-shadow:var(--shadow-sm); border-color:var(--line-strong); }
.nav-pill--trigger { cursor:pointer; }
.nav-pill--trigger[aria-expanded="true"] { background:rgba(255,255,255,.96); box-shadow:var(--shadow-sm); border-color:var(--line-strong); }
.nav-trigger-label { flex:1 1 auto; }
.nav-trigger-icon { position:relative; width:18px; height:18px; flex:0 0 18px; margin-left:8px; }
.nav-trigger-icon::before,.nav-trigger-icon::after { content:""; position:absolute; top:50%; left:50%; width:10px; height:2px; border-radius:999px; background:currentColor; transform-origin:center; transition:transform 220ms ease; }
.nav-trigger-icon::before { transform:translate(-50%,-50%) rotate(45deg); }
.nav-trigger-icon::after { transform:translate(-50%,-50%) rotate(-45deg); }
.nav-pill--trigger[aria-expanded="true"] .nav-trigger-icon::before { transform:translate(-50%,-50%) rotate(0deg); }
.nav-pill--trigger[aria-expanded="true"] .nav-trigger-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.menu-toggle { display:none; place-items:center; width:48px; height:48px; padding:0; border:0; background:transparent; color:var(--blue-dark); cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; margin:4px 0; border-radius:999px; background:currentColor; transform-origin:center; transition:transform 180ms ease, opacity 180ms ease; }
.menu-toggle:focus-visible, .nav-pill:focus-visible { outline:none; box-shadow:var(--focus); }
.conference-submenu-mobile { display:none; }
.conference-flyout-wrap { position:absolute; top:calc(100% + 16px); left:50%; width:100vw; transform:translateX(-50%); z-index:950; pointer-events:none; }
.conference-flyout { position:absolute; top:0; left:0; width:100%; padding:18px 0 34px; background:#f3f5f5; opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(0,18px,0); filter:blur(8px); transition:opacity 320ms cubic-bezier(.22,1,.36,1), transform 420ms cubic-bezier(.22,1,.36,1), filter 320ms cubic-bezier(.22,1,.36,1), visibility 0s linear 420ms; }
.conference-flyout.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0); filter:blur(0); transition:opacity 320ms cubic-bezier(.22,1,.36,1), transform 420ms cubic-bezier(.22,1,.36,1), filter 320ms cubic-bezier(.22,1,.36,1), visibility 0s linear 0s; }
.conference-flyout__inner { width:min(1300px,calc(100% - 40px)); margin-inline:auto; display:flex; align-items:center; justify-content:flex-start; gap:14px; min-height:54px; padding:0 12px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.conference-flyout__inner::-webkit-scrollbar { display:none; }
.conference-flyout__inner > .nav-pill { opacity:0; transform:translate3d(0,12px,0); transition:opacity 240ms cubic-bezier(.22,1,.36,1), transform 320ms cubic-bezier(.22,1,.36,1); }
.conference-flyout.is-open .conference-flyout__inner > .nav-pill { opacity:1; transform:translate3d(0,0,0); }
@media (max-width: 1100px) {
  .top-badge { width:112px; }
  .header-shell { flex-wrap:wrap; }
  .top-nav { width:100%; justify-content:flex-start; }
}
@media (max-width: 840px) {
  html, body { overflow-x:hidden; }
  body.nav-open { overflow:hidden; touch-action:none; }
  .top-badges-bar, .conference-flyout-wrap, .conference-flyout--desktop { display:none !important; }
  .container { width:min(var(--container), calc(100% - 24px)); }
  .site-header { position:sticky; top:0; z-index:10000; padding:0; background:rgba(255,255,255,.94); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid rgba(20,76,95,.08); }
  .header-shell { min-height:var(--mobile-header-height); margin-top:0; padding:12px 0; border:0; border-radius:0; background:transparent; box-shadow:none; flex-wrap:nowrap; }
  .brand-logo { height:var(--logo-tablet-height); max-height:var(--logo-tablet-height); }
  .menu-toggle { display:inline-grid; position:relative; z-index:10002; width:52px; height:52px; margin-left:auto; border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 8px 20px rgba(10,55,73,.08); }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  #primary-navigation.top-nav {
    position:fixed !important; top:var(--mobile-header-height) !important; left:0 !important; right:0 !important; bottom:0 !important;
    z-index:10001 !important; display:flex !important; flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:12px; width:100%; padding:18px 16px calc(28px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,#ffffff 0%,#f4f7f8 100%);
    overflow-y:auto; overscroll-behavior:contain; opacity:1 !important; visibility:visible !important; pointer-events:auto;
    transform:translate3d(100%,0,0); transition:transform 280ms cubic-bezier(.22,1,.36,1); box-shadow:-24px 0 64px rgba(10,55,73,.16);
  }
  #primary-navigation.top-nav.is-open, body.nav-open #primary-navigation.top-nav { transform:translate3d(0,0,0) !important; }
  .nav-item, .nav-item--has-submenu { width:100%; }
  .nav-item--has-submenu { border:1px solid rgba(20,76,95,.08); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 10px 28px rgba(10,55,73,.07); overflow:hidden; }
  #primary-navigation > .nav-pill, .nav-item--has-submenu > .nav-pill--trigger {
    width:100%; min-height:68px; justify-content:space-between; padding:16px 18px; border:0; border-radius:24px; background:transparent; box-shadow:none;
    color:var(--blue-dark); font-size:1.02rem; font-weight:700; white-space:normal; text-align:left;
  }
  #primary-navigation > .nav-pill { border:1px solid rgba(20,76,95,.08); background:rgba(255,255,255,.9); box-shadow:0 10px 28px rgba(10,55,73,.07); }
  #primary-navigation .nav-pill:hover { transform:none; }
  .conference-submenu-mobile { display:block; max-height:0; overflow:hidden; background:rgba(246,249,251,.98); border-top:1px solid rgba(20,76,95,.08); transition:max-height 280ms cubic-bezier(.22,1,.36,1); }
  .conference-submenu-mobile.is-open { max-height:520px; }
  .conference-submenu-mobile > .nav-pill { display:flex; width:auto; align-items:center; justify-content:flex-start; min-height:52px; margin:0 14px 10px; padding:0 16px; border:1px solid rgba(20,76,95,.08); border-radius:16px; background:#fff; box-shadow:none; color:#174f67; font-size:.95rem; font-weight:600; white-space:normal; }
  .conference-submenu-mobile > .nav-pill:first-child { margin-top:14px; }
  .nav-pill--submenu::before { content:""; width:6px; height:6px; margin-right:12px; border-radius:999px; background:var(--blue); flex:0 0 6px; }
}
@media (max-width: 560px) {
  .brand-logo { height:var(--logo-mobile-height); max-height:var(--logo-mobile-height); }
  #primary-navigation.top-nav { padding-inline:14px; }
  #primary-navigation > .nav-pill, .nav-item--has-submenu > .nav-pill--trigger { min-height:64px; padding:15px 16px; }
  .conference-submenu-mobile > .nav-pill { margin-inline:12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
