/* ============================================================
   MARITIME WORLD 2026 · Landing
   Visual DNA: Midlands Business Network × maritime twist
   ============================================================ */

/* -------- Tokens (overridable by Tweaks) -------- */
:root {
  /* Surfaces */
  --bg-page:        #EEF2F5;
  --bg-soft:        #F5F7F9;
  --bg-white:       #FFFFFF;

  /* Ink (text) */
  --ink-900:        #0A1A3D;
  --ink-700:        #2A3855;
  --ink-500:        #5A6679;
  --ink-400:        #7A8699;
  --ink-300:        #B0B9C6;
  --ink-100:        #E2E6EC;

  /* Brand · recoloured to BLUE (Blok 0: no teal/green). Var names kept so all refs cascade. */
  --teal-900:       #001226;   /* deepest navy */
  --teal-800:       #001D4F;   /* navy-800 */
  --teal-700:       #002053;   /* navy base */
  --teal-600:       #1558A9;   /* medium blue · eyebrows / links on light */
  --teal-500:       #1558A9;   /* primary accent (was teal) */
  --teal-400:       #4F86C6;   /* lighter blue */
  --teal-300:       #A6CDE7;   /* pastel blue */
  --teal-100:       #DCE9F5;   /* pastel wash */
  --teal-50:        #EEF4FB;   /* lightest blue tint */

  /* Gold accent · replaces the old lime palette (kept var names so refs still work) */
  --lime-600:       #B58A2F;
  --lime-500:       #C9A24B;    /* primary CTA · deep gold */
  --lime-400:       #E4C97A;
  --lime-300:       #EED9A0;

  /* Ocean depth · matte navy (Blok 0 base #002053), no bright blue */
  --ocean-950:      #001226;
  --ocean-900:      #002053;
  --ocean-800:      #0A346F;

  /* Misc accents */
  --gold-500:       #C9A24B;     /* used very sparingly on awards */
  --gold-400:       #E4C97A;

  /* Effects */
  --shadow-card:    0 8px 28px -12px rgba(10, 26, 61, 0.18), 0 2px 6px -2px rgba(10, 26, 61, 0.06);
  --shadow-card-hover: 0 18px 50px -16px rgba(10, 26, 61, 0.30), 0 4px 10px -4px rgba(10, 26, 61, 0.10);
  --shadow-cta:     0 8px 20px -6px rgba(201, 162, 75, 0.55);

  /* Type */
  --font-display:   "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body:      "Inter", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Layout */
  --radius-card:    22px;
  --radius-pill:    999px;
  --container:      1280px;
  --section-pad:    clamp(64px, 8vw, 120px);
}

/* -------- Reset / base -------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-700);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--ink-900);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

/* -------- Eyebrow + section header pattern -------- */
.eyebrow {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--teal-600);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  background: var(--teal-500);
}

.section-head { max-width: 820px; margin-bottom: 56px; }
.section-head h2 {
  font-size: clamp(34px, 4.2vw, 56px);
  margin-top: 18px;
}
.section-head p {
  font-size: 18px;
  color: var(--ink-500);
  margin-top: 18px;
  max-width: 640px;
}

section { padding: var(--section-pad) 0; position: relative; }

/* -------- Pill CTA -------- */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  white-space: nowrap;
}
.pill .arrow { width: 18px; height: 18px; transition: transform 0.2s ease; }
.pill:hover .arrow { transform: translateX(3px); }

.pill-primary {
  background: var(--lime-500);
  color: var(--ink-900);
  box-shadow: var(--shadow-cta);
}
.pill-primary:hover { background: var(--lime-400); transform: translateY(-1px); }

.pill-ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(6px);
}
.pill-ghost:hover { background: rgba(255, 255, 255, 0.16); border-color: #fff; }

.pill-dark {
  background: var(--ocean-900);
  color: #fff;
}
.pill-dark:hover { background: var(--teal-800); }

/* Adjust pill-outline when on dark sections. NOTE: .speakers (bg: --bg-soft,
   #F5F7F9) and .sponsorship (bg: --bg-page, #EEF2F5) are light sections, not
   dark ones — they were wrongly included here, which made their "Apply to
   speak" / pill-outline buttons render white-on-near-white (invisible).
   They now fall through to the base light-section .pill-outline rule below
   instead. Only .audience and .format actually have a dark gradient bg. */
.audience .pill-outline,
.format .pill-outline {
  border-color: rgba(255,255,255,0.5);
  color: #fff;
}
.audience .pill-outline:hover,
.format .pill-outline:hover {
  background: #fff;
  color: var(--ink-900);
}

.pill-outline {
  border: 1.5px solid var(--ink-900);
  color: var(--ink-900);
}
.pill-outline:hover { background: var(--ink-900); color: #fff; }

/* ============================================================
   NAV
   ============================================================ */
.topbar {
  position: sticky !important;
  top: 0;
  z-index: 60;
  padding: 13px 0;
  background: #0A2F6E;
  box-shadow: 0 6px 24px rgba(10, 47, 110, 0.28);
  transition: background 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease;
}
.topbar.is-stuck {
  position: fixed;
  background: #0A2F6E;
  backdrop-filter: blur(14px);
  padding: 14px 0;
  box-shadow: 0 6px 24px rgba(10, 47, 110, 0.35);
}
.topbar .container {
  display: flex;
  align-items: center;
  gap: 32px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
}
/* Official Maritime World lockup */
.brand .mw-logo { height: 46px; width: auto; display: block; transition: height .3s ease; }
.topbar.is-stuck .brand .mw-logo { height: 38px; }
.footer .brand .mw-logo { height: 58px; }
/* Horizontal brand lockup inside the frozen bar */
.topbar .brand { flex: 0 0 auto; }
.brand .mw-lockup { height: 48px; width: auto; min-width: 172px; flex: none; display: block; transition: height .3s ease; }
.topbar.is-stuck .brand .mw-lockup { height: 42px; min-width: 150px; }
.brand-strip { display: none; }
.hero-brand { display: none; }
.nav-brand { display: flex; align-items: center; margin-right: 8px; }
.nav-brand img { height: clamp(48px, 5.2vw, 92px); width: auto; display: block; }
@media (max-width: 900px){ .nav-brand img { height: 52px; } }
.topbar .nav-actions { margin-left: auto; }
.topbar .nav-links { flex-wrap: nowrap; }
.topbar .nav-links a { white-space: nowrap; }
@media (max-width: 900px) { .brand .mw-lockup { height: 40px; } }
@media (max-width: 560px){ .brand .mw-logo { height: 40px; } }

/* ---- Compass + Montserrat logo ---- */
.compass {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  transition: width 0.3s ease, height 0.3s ease;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}
.compass-lg { width: 58px; height: 58px; }
.topbar.is-stuck .compass { width: 38px; height: 38px; }

.compass-ring {
  transform-origin: 50% 50%;
  animation: compass-rotate 30s linear infinite;
}
@keyframes compass-rotate {
  to { transform: rotate(360deg); }
}
.compass-needle {
  transform-origin: 50% 50%;
  animation: compass-sway 5.5s ease-in-out infinite;
}
@keyframes compass-sway {
  0%, 100% { transform: rotate(-6deg); }
  50%      { transform: rotate(6deg); }
}

.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 0.95;
}
.logo-text-lg { gap: 2px; }

.logo-bold {
  font-family: 'Montserrat', 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px;
  letter-spacing: -0.5px;
  color: #ffffff !important;
}
.logo-light {
  font-family: 'Montserrat', 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-weight: 300 !important;
  font-size: 18px;
  letter-spacing: 7px;
  color: #C9A24B !important;
  margin-top: 2px;
}
.topbar.is-stuck .logo-bold,
.topbar.is-stuck .logo-light { font-size: 16px; }
.logo-text-lg .logo-bold { font-size: 22px; letter-spacing: -0.5px; }
.logo-text-lg .logo-light { font-size: 22px; letter-spacing: 8px; }

.brand-mark {
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.6);
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.brand-mark svg { width: 100%; height: 100%; }
.brand-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 1.05;
  text-transform: uppercase;
}
.brand-name small {
  display: block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--lime-500);
  margin-top: 2px;
}

.nav-links {
  display: flex;
  gap: 26px;
  margin-left: auto;
}
.nav-links a {
  color: rgba(255,255,255,0.86);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  padding: 8px 0;
  position: relative;
}
.nav-links a:hover { color: #fff; }
.nav-links a.is-active::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--lime-500);
}
.nav-cta { margin-left: 8px; }

.nav-meta {
  display: flex;
  gap: 22px;
  align-items: center;
  margin-left: auto;
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  font-weight: 500;
}
.nav-meta a { display: inline-flex; align-items: center; gap: 8px; }
.nav-meta svg { width: 14px; height: 14px; }

.nav-mobile-toggle { display: none; }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  background: var(--ocean-900);
}
.hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(6,32,79,0.78) 0%, rgba(10,58,122,0.45) 45%, rgba(17,79,153,0.30) 100%),
    linear-gradient(180deg, rgba(6,26,64,0.0) 0%, rgba(6,26,64,0) 50%, rgba(6,26,64,0.55) 100%);
}

/* Hero · white-bar removed (clean cut to next section) */
.hero-white-bar { display: none; }
.hero-bottom-curve svg { width: 100%; height: 100%; display: block; }

/* Hero content positioning · text vertically centered, countdown pinned bottom-right */
.hero-inner {
  position: relative;
  z-index: 5;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  padding-top: 140px;
  padding-bottom: 220px;
}
.hero .container {
  padding-left: clamp(28px, 4vw, 56px);
}
.hero-text {
  max-width: 640px;
  position: relative;
  z-index: 6;
}
.hero-text .eyebrow {
  color: var(--lime-500);
  margin-bottom: 24px;
}
.hero-text .eyebrow::before {
  background: var(--lime-500);
}
.hero h1 {
  color: #fff;
  font-size: clamp(44px, 5.8vw, 78px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.025em;
}
.hero h1 em {
  font-style: normal;
  color: var(--lime-500);
}
.hero-sub {
  margin-top: 24px;
  font-size: 18px;
  font-weight: 500;
  color: rgba(255,255,255,0.88);
  max-width: 520px;
}
.hero-ctas {
  margin-top: 40px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 7;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.7);
  display: flex; align-items: center; justify-content: center;
  transform: translateX(-50%);
  color: #fff;
  animation: bob 2.4s ease-in-out infinite;
}
@keyframes bob {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 8px); }
}

/* ============================================================
   SPLIT-FLAP COUNTDOWN
   ============================================================ */
.countdown {
  position: absolute;
  right: clamp(28px, 4vw, 64px);
  bottom: clamp(80px, 12vh, 140px);
  z-index: 8;
  text-align: center;
  pointer-events: none;
  padding: 18px 24px 22px;
  border-radius: 18px;
}
.countdown-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(10px, 1vw, 12px);
  letter-spacing: 0.32em;
  color: rgba(255,255,255,0.95);
  text-transform: uppercase;
  line-height: 1.55;
  margin-bottom: 18px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.65);
}
.countdown-title span {
  display: block;
}
.countdown-title span + span {
  color: var(--lime-500);
  margin-top: 2px;
}
.flap-board {
  display: flex;
  gap: clamp(14px, 1.8vw, 22px);
  justify-content: center;
  align-items: flex-end;
}
.flap-unit { text-align: center; }
.flap-digits {
  display: flex;
  gap: 3px;
  justify-content: center;
}
.flap-label {
  margin-top: 14px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 0.32em;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0,0,0,0.6);
}
.flap-unit[data-unit="days"] .flap-label { color: var(--lime-500); }

.flap {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: clamp(54px, 5.4vw, 78px);
  height: clamp(72px, 7.4vw, 102px);
  border-radius: 8px;
  background: linear-gradient(180deg, var(--ocean-900) 0%, var(--ocean-950) 50%, var(--ocean-900) 100%);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 800;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(0,0,0,0.4),
    0 10px 28px rgba(0,0,0,0.5),
    0 2px 6px rgba(0,0,0,0.3);
  overflow: hidden;
  perspective: 400px;
}
.flap + .flap { margin-left: 0; }
.flap-digit + .flap-digit { /* allow multi-digit groupings */ }

/* Each flap has two halves (top/bottom) showing the current digit,
   plus two overlays used during the flip animation. */
.flap-static-top,
.flap-static-bottom,
.flap-anim-top,
.flap-anim-bottom {
  position: absolute;
  left: 0; right: 0;
  height: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1;
  overflow: hidden;
  backface-visibility: hidden;
}
.flap-static-top    { top: 0; align-items: flex-end; }
.flap-static-bottom { bottom: 0; align-items: flex-start; }
.flap-anim-top      { top: 0; align-items: flex-end; transform-origin: bottom; }
.flap-anim-bottom   { bottom: 0; align-items: flex-start; transform-origin: top; }

/* Inner number text · offset so it appears whole when both halves stack */
.flap-static-top    > span { transform: translateY(50%); }
.flap-static-bottom > span { transform: translateY(-50%); }
.flap-anim-top      > span { transform: translateY(50%); }
.flap-anim-bottom   > span { transform: translateY(-50%); }

/* Center hinge line */
.flap::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: rgba(0,0,0,0.55);
  z-index: 5;
  transform: translateY(-0.5px);
}
.flap::after {
  /* tiny axles */
  content: "";
  position: absolute;
  left: -3px; right: -3px;
  top: calc(50% - 3px);
  height: 6px;
  background: linear-gradient(180deg, #1a1a1a, #000);
  border-radius: 3px;
  z-index: 6;
  pointer-events: none;
}

.flap-anim-top {
  background: linear-gradient(180deg, var(--ocean-900) 0%, var(--ocean-950) 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 4px 10px rgba(0,0,0,0.5);
  z-index: 7;
  display: none;
}
.flap-anim-bottom {
  background: linear-gradient(180deg, var(--ocean-950) 0%, var(--ocean-900) 100%);
  border-radius: 0 0 8px 8px;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,0.4);
  z-index: 4;
  display: none;
}

.flap.is-flipping .flap-anim-top {
  display: flex;
  animation: flap-top 600ms cubic-bezier(0.55, 0.05, 0.4, 1) forwards;
}
.flap.is-flipping .flap-anim-bottom {
  display: flex;
  animation: flap-bot 600ms cubic-bezier(0.55, 0.05, 0.4, 1) forwards;
  animation-delay: 0ms;
}

@keyframes flap-top {
  0%   { transform: rotateX(0deg); }
  100% { transform: rotateX(-180deg); }
}
@keyframes flap-bot {
  0%   { transform: rotateX(180deg); }
  100% { transform: rotateX(0deg); }
}
/* The bottom anim half should be hidden initially (flipped up); only revealed
   as the top falls past it. Slight delay so it appears mid-flip. */
.flap.is-flipping .flap-anim-bottom { animation-delay: 280ms; opacity: 0; animation-fill-mode: forwards; }
.flap.is-flipping .flap-anim-bottom { animation-name: flap-bot-reveal; }
@keyframes flap-bot-reveal {
  0%   { transform: rotateX(180deg); opacity: 1; }
  100% { transform: rotateX(0deg); opacity: 1; }
}

/* ============================================================
   INTRO / STATEMENT SECTION
   ============================================================ */
.intro {
  background: var(--bg-page);
  text-align: center;
  padding-top: clamp(48px, 6vw, 96px);
  padding-bottom: clamp(48px, 6vw, 96px);
}
.intro-quote {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.18;
  color: var(--ink-900);
  max-width: 1000px;
  margin: 0 auto;
  letter-spacing: -0.02em;
}
.intro-quote em {
  font-style: normal;
  color: var(--teal-500);
}
.intro-tag {
  margin-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.intro-tag::before, .intro-tag::after {
  content: "";
  width: 40px;
  height: 1px;
  background: var(--ink-300);
}

/* ============================================================
   STATS
   ============================================================ */
.stats {
  background: linear-gradient(135deg, var(--ocean-900) 0%, var(--teal-800) 60%, var(--teal-600) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.stats::before {
  /* subtle network pattern hint */
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.06) 1px, transparent 2px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,0.05) 1px, transparent 2px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,0.04) 1px, transparent 2px);
  background-size: 80px 80px, 120px 120px, 100px 100px;
  opacity: 0.6;
}
.stats .container { position: relative; }
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.stat {
  text-align: left;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.stat-icon {
  width: 36px; height: 36px;
  margin-bottom: 20px;
  color: var(--lime-500);
}
.stat-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(54px, 6vw, 88px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: #fff;
  display: flex;
  align-items: baseline;
}
.stat-num .suffix {
  font-size: 0.5em;
  font-weight: 700;
  margin-left: 4px;
  color: var(--lime-500);
}
.stat-label {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.78);
  text-transform: uppercase;
}
.stat-detail {
  margin-top: 4px;
  font-size: 13px;
  color: rgba(255,255,255,0.55);
}

/* ============================================================
   PITCH · laptop mockup + animated pitch
   ============================================================ */
.pitch {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--ocean-950);
  padding-top: clamp(80px, 9vw, 140px);
  padding-bottom: clamp(80px, 9vw, 140px);
}
.pitch-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.pitch-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: blur(2px) saturate(0.7);
  transform: scale(1.04);
}
.pitch-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(6,26,64,0.92) 0%, rgba(6,26,64,0.78) 50%, rgba(6,26,64,0.95) 100%),
    radial-gradient(ellipse at center, rgba(21,88,169,0.18), transparent 60%);
}
.pitch-inner { position: relative; z-index: 1; }
.pitch-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 60px;
}
.pitch-head h2 {
  color: #fff;
  font-size: clamp(38px, 4.4vw, 60px);
  margin-top: 18px;
}
.pitch-head p {
  margin-top: 18px;
  font-size: 18px;
  color: rgba(255,255,255,0.7);
}

/* ---------- Pitch prose (classic layout) ---------- */
.pitch-prose {
  max-width: 980px;
  margin: 0 auto;
  text-align: left;
}
.pitch-prose-h {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 3.2vw, 42px);
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0 0 18px;
}
.pitch-prose-lead {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 26px);
  color: rgba(255,255,255,0.92);
  line-height: 1.4;
  margin: 0 0 48px;
  font-weight: 500;
  max-width: 740px;
}
.pitch-prose-lead strong {
  color: var(--lime-500);
  font-weight: 700;
}
.pitch-prose-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-bottom: 56px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.pitch-prose-eyebrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lime-500);
  margin: 0 0 22px;
}
.pitch-prose-cols ul {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pitch-prose-cols ul li {
  position: relative;
  padding-left: 24px;
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.82);
  font-family: var(--font-display);
  font-weight: 500;
}
.pitch-prose-cols ul li::before {
  content: "";
  position: absolute;
  left: 0; top: 11px;
  width: 12px; height: 1.5px;
  background: var(--lime-500);
}
.pitch-prose-cols ul li strong {
  color: #fff;
  font-weight: 700;
}
.pitch-prose-cols ul li .accent {
  color: var(--lime-500);
  font-weight: 700;
}
.pitch-prose-close {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(22px, 2.3vw, 30px);
  color: #fff;
  line-height: 1.35;
  margin: 0;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.pitch-prose-close .accent {
  color: var(--lime-500);
  font-weight: 700;
}

@media (max-width: 760px) {
  .pitch-prose-cols { grid-template-columns: 1fr; gap: 36px; }
}

/* Caption / replay button under the laptop */
.pitch-caption {
  margin-top: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  font-size: 12px;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.pitch-replay {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.85);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}
.pitch-replay:hover { background: rgba(255,255,255,0.16); color: #fff; }
.pitch-replay svg { width: 14px; height: 14px; }

/* ---------- MacBook frame (pure CSS) ---------- */
.macbook {
  position: relative;
  width: min(960px, 92vw);
  margin: 0 auto;
  filter: drop-shadow(0 40px 60px rgba(0,0,0,0.45));
}
.macbook-lid {
  background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 8%, #1a1a1a 92%, #2c2c2c 100%);
  border-radius: 16px 16px 4px 4px;
  padding: 18px 18px 22px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(0,0,0,0.4);
  position: relative;
}
.macbook-camera {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #0d0d0d;
  box-shadow: inset 0 0 0 1px #2a2a2a;
}
.macbook-screen {
  background: #000;
  border-radius: 3px;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.05),
    inset 0 0 30px rgba(0,0,0,0.4);
}
.macbook-base {
  height: 12px;
  margin: 0 -22px;
  background:
    linear-gradient(180deg, #cdcdcd 0%, #b0b0b0 30%, #888 100%);
  border-radius: 0 0 14px 14px;
  position: relative;
}
.macbook-base::before {
  content: "";
  position: absolute;
  top: -1px; left: 0; right: 0; height: 2px;
  background: linear-gradient(180deg, rgba(0,0,0,0.5), transparent);
}
.macbook-base-notch {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 22%; height: 5px;
  background: linear-gradient(180deg, #2a2a2a 0%, #444 100%);
  border-radius: 0 0 10px 10px;
}

/* ---------- Browser chrome (macOS Safari) ---------- */
.browser {
  width: 100%; height: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", sans-serif;
  position: relative;
}
.browser-bar {
  height: clamp(28px, 4%, 44px);
  background: linear-gradient(180deg, #0a2738 0%, #061a40 100%);
  display: flex;
  align-items: center;
  padding: 0 14px;
  gap: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
  color: rgba(255,255,255,0.85);
}
.browser-dots { display: flex; gap: 6px; }
.browser-dots .dot {
  width: 11px; height: 11px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.5px rgba(0,0,0,0.25);
}
.browser-dots .red    { background: #ff5f57; }
.browser-dots .yellow { background: #febc2e; }
.browser-dots .green  { background: #28c840; }

.browser-nav {
  display: flex; gap: 8px;
  color: rgba(255,255,255,0.55);
}
.browser-nav svg { width: 14px; height: 14px; }

.browser-url {
  flex: 1;
  max-width: 58%;
  margin: 0 auto;
  height: 24px;
  background: rgba(255,255,255,0.08);
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 11px;
  color: rgba(255,255,255,0.95);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}
.browser-url .url-icon { width: 10px; height: 10px; color: var(--lime-500); flex-shrink: 0; }
.browser-tabs {
  display: flex; gap: 4px;
  margin-left: auto;
}
.browser-tabs span {
  width: 12px; height: 12px;
  border-radius: 2px;
  background: rgba(255,255,255,0.10);
}

.browser-content {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #fff;
}
.browser-progress {
  position: absolute;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, var(--teal-500), var(--lime-500));
  z-index: 10;
}
.browser-progress.is-loading {
  animation: load 1.1s ease forwards;
}
@keyframes load {
  0%   { width: 0%; }
  60%  { width: 75%; }
  100% { width: 100%; }
}

.page:not(body) {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.page.is-active:not(body) { opacity: 1; }

/* Google page */
.page-google {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
}
.g-logo {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-weight: 800;
  font-size: clamp(34px, 5vw, 56px);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 28px;
}
.g-search {
  width: min(560px, 80%);
  height: 44px;
  border-radius: 24px;
  border: 1px solid #dfe1e5;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  font-size: 14px;
  color: #202124;
  background: #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
  transition: box-shadow 0.2s ease;
}
.g-search.is-focused {
  box-shadow: 0 1px 12px rgba(0,0,0,0.18);
}
.g-search-icon { width: 16px; height: 16px; flex-shrink: 0; }
.g-search-text {
  flex: 1;
  font-family: Arial, sans-serif;
  letter-spacing: 0;
}
.g-search-caret {
  width: 1px;
  height: 18px;
  background: #4285F4;
  margin-left: -8px;
  opacity: 0;
}
.g-search-caret.is-blinking {
  opacity: 1;
  animation: caret 1s steps(2) infinite;
}
@keyframes caret { 50% { opacity: 0; } }
.g-mic { width: 16px; height: 16px; flex-shrink: 0; }
.g-buttons {
  margin-top: 24px;
  display: flex; gap: 10px;
}
.g-buttons button {
  background: #f8f9fa;
  border: 1px solid transparent;
  color: #3c4043;
  font-size: 12px;
  padding: 8px 14px;
  border-radius: 4px;
  font-family: Arial, sans-serif;
}

/* Maritime page */
.page-maritime {
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 60%, #0A346F 100%);
  display: flex;
  flex-direction: column;
  color: #fff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  overflow: hidden;
}
.mw-nav {
  height: clamp(28px, 3.5%, 40px);
  display: flex;
  align-items: center;
  padding: 0 18px;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-size: 11px;
  flex-shrink: 0;
}
.mw-nav-brand {
  display: flex; align-items: center; gap: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-size: 11px;
  text-transform: uppercase;
}
.mw-mark {
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.6);
  background:
    radial-gradient(circle at 50% 60%, transparent 40%, rgba(255,255,255,0.6) 41%, transparent 42%);
}
.mw-nav-links {
  margin-left: auto;
  display: flex; gap: 14px;
  color: rgba(255,255,255,0.7);
  font-weight: 600;
  font-size: 10px;
}
.mw-nav-cta {
  background: var(--lime-500);
  color: var(--ink-900);
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 700;
}

.mw-body {
  flex: 1;
  padding: clamp(20px, 4%, 48px) clamp(24px, 5%, 60px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mw-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--lime-500);
  margin-bottom: 14px;
}
.mw-h {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: clamp(20px, 3.4vw, 38px);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0;
  min-height: 1.1em;
}
.mw-h .blink {
  display: inline-block;
  width: 0.4em;
  height: 1em;
  background: var(--lime-500);
  vertical-align: text-bottom;
  margin-left: 2px;
  animation: caret 0.9s steps(2) infinite;
}
.mw-pitch {
  margin-top: 18px;
  font-size: clamp(13px, 1.4vw, 17px);
  line-height: 1.65;
  color: rgba(255,255,255,0.85);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  max-width: 720px;
  white-space: pre-line;
  min-height: 2em;
}
.mw-pitch .accent { color: var(--lime-500); font-weight: 700; }
.mw-pitch .strong { color: #fff; font-weight: 700; }
.mw-pitch .blink {
  display: inline-block;
  width: 0.5em;
  height: 1em;
  background: var(--teal-400);
  vertical-align: text-bottom;
  margin-left: 2px;
  animation: caret 0.9s steps(2) infinite;
}

/* Fake mouse cursor */
.fake-cursor {
  position: absolute;
  top: 0; left: 0;
  width: 22px; height: 22px;
  z-index: 20;
  pointer-events: none;
  transform: translate3d(85%, 75%, 0);
  transition: transform 0.6s cubic-bezier(0.5, 0, 0.2, 1);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}
.fake-cursor svg { width: 100%; height: 100%; }
.fake-cursor.is-clicking {
  animation: cursor-click 0.32s ease;
}
@keyframes cursor-click {
  0%   { transform: var(--pos) scale(1);    }
  40%  { transform: var(--pos) scale(0.78); }
  100% { transform: var(--pos) scale(1);    }
}
.fake-cursor.ripple::after {
  content: "";
  position: absolute;
  top: 14px; left: 6px;
  width: 6px; height: 6px;
  border-radius: 50%;
  border: 1.5px solid rgba(21,88,169,0.7);
  animation: cursor-ripple 0.6s ease-out;
}
@keyframes cursor-ripple {
  0%   { transform: scale(0.4); opacity: 1; }
  100% { transform: scale(5);   opacity: 0; }
}

@media (max-width: 720px) {
  .browser-tabs { display: none; }
  .g-buttons { display: none; }
  .mw-nav-links span:not(.mw-nav-cta) { display: none; }
}

/* ============================================================
   STAGES (5 conference stages)
   ============================================================ */
.stages { background: var(--bg-page); }
.stages-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.stage-card {
  background: var(--bg-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
  min-height: 360px;
}
.stage-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
}
.stage-card-body {
  padding: 32px 26px 26px;
  flex: 1;
}
.stage-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--teal-50);
  color: var(--teal-600);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
}
.stage-icon svg { width: 26px; height: 26px; }
.stage-card h3 {
  font-size: 21px;
  margin-bottom: 10px;
}
.stage-card p {
  font-size: 14px;
  color: var(--ink-500);
  line-height: 1.55;
  margin: 0;
}
.stage-card-foot {
  /* MBN signature curved corner footer */
  margin-top: auto;
  position: relative;
  height: 64px;
}
.stage-card-foot svg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.stage-card-foot span {
  position: relative;
  display: block;
  text-align: right;
  padding: 22px 26px 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  letter-spacing: 0.04em;
  z-index: 1;
}

.stages-pillars {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.pillar {
  padding: 28px;
  background: var(--bg-white);
  border-radius: var(--radius-card);
  border: 1px solid var(--ink-100);
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.pillar-dot {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--lime-500);
  color: var(--ink-900);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  flex-shrink: 0;
}
.pillar h4 {
  font-size: 16px;
  margin-bottom: 6px;
}
.pillar p {
  margin: 0;
  font-size: 14px;
  color: var(--ink-500);
}

/* ============================================================
   FORMAT
   ============================================================ */
.format {
  background: linear-gradient(160deg, #061a40 0%, #0a2f6e 60%, #0A2240 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.format::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 20% 10%, rgba(21,88,169,0.18), transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(201,162,75,0.08), transparent 50%);
  pointer-events: none;
}
.format .container { position: relative; }
.format .section-head h2 { color: #fff; }
.format .eyebrow { color: var(--lime-500); }
.format .eyebrow::before { background: var(--lime-500); }
.format-wrap {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 80px;
  align-items: center;
}
.format-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.format-item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  transition: padding-left 0.25s ease, background 0.25s ease;
}
.format-item:hover {
  padding-left: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,0.04), transparent);
}
.format-item .num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--lime-500);
}
.format-item h4 {
  font-size: 19px;
  font-weight: 700;
  color: #fff;
}
.format-item .arrow {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.3);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.7);
  transition: all 0.2s ease;
}
.format-item:hover .arrow {
  background: var(--lime-500);
  color: var(--ink-900);
  border-color: var(--lime-500);
}

.format-visual {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--ocean-900);
  box-shadow: var(--shadow-card-hover);
}
.format-visual .slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 900ms ease, transform 4s ease;
  will-change: opacity, transform;
}
.format-visual .slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.format-visual-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.55) 100%),
    linear-gradient(35deg, rgba(10,47,110,0.25) 0%, rgba(10,47,110,0) 60%);
  pointer-events: none;
}
.format-visual-label {
  position: absolute;
  bottom: 24px; left: 24px; right: 24px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-family: var(--font-display);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.format-visual-label .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--lime-500);
  box-shadow: 0 0 0 4px rgba(201,162,75,0.30);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(201,162,75,0.30); }
  50%      { box-shadow: 0 0 0 8px rgba(201,162,75,0.12); }
}
.format-visual-dots {
  position: absolute;
  top: 22px; right: 22px;
  display: flex; gap: 6px;
  z-index: 2;
}
.format-visual-dots .d {
  width: 18px; height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,0.3);
  transition: background 0.4s ease, width 0.4s ease;
}
.format-visual-dots .d.is-active {
  background: var(--lime-500);
  width: 28px;
}

/* ============================================================
   WHO SHOULD ATTEND
   ============================================================ */
.audience {
  background: linear-gradient(180deg, #0A2240 0%, #0a2f6e 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.audience .section-head h2 { color: #fff; }
.audience .eyebrow { color: var(--lime-500); }
.audience .eyebrow::before { background: var(--lime-500); }
.aud-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.aud-card {
  padding: 32px 26px;
  background-image: url('assets/yacht.jpg');
  background-size: 300% 200%;
  background-repeat: no-repeat;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  position: relative;
  overflow: hidden;
  min-height: 220px;
  isolation: isolate;
  transition: transform 0.25s ease;
}
.aud-card::before {
  /* Per-tile dark scrim for legibility */
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,47,110,0.62) 0%, rgba(10,47,110,0.72) 60%, rgba(10,47,110,0.85) 100%);
  z-index: -1;
  transition: background 0.25s ease;
}
.aud-card:hover {
  transform: translateY(-4px);
}
.aud-card:hover::before {
  background:
    linear-gradient(180deg, rgba(10,47,110,0.42) 0%, rgba(10,47,110,0.55) 60%, rgba(10,47,110,0.78) 100%);
}
/* Slice positions · image split 3 cols × 2 rows across the grid */
.aud-card:nth-child(1) { background-position:   0%   0%; }
.aud-card:nth-child(2) { background-position:  50%   0%; }
.aud-card:nth-child(3) { background-position: 100%   0%; }
.aud-card:nth-child(4) { background-position:   0% 100%; }
.aud-card:nth-child(5) { background-position:  50% 100%; }
.aud-card:nth-child(6) { background-position: 100% 100%; }

.aud-icon {
  width: 44px; height: 44px;
  color: var(--lime-500);
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));
}
.aud-card h4 {
  font-size: 18px;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.aud-card p {
  font-size: 14px;
  color: rgba(255,255,255,0.78);
  margin: 0;
  line-height: 1.55;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* ============================================================
   AGENDA (timeline)
   ============================================================ */
.agenda { background: var(--bg-soft); }
.timeline {
  position: relative;
  padding-left: 28px;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 8px; top: 8px; bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, var(--teal-500), var(--teal-300));
  border-radius: 2px;
}
.tl-day {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 36px;
  padding: 28px 0;
  border-bottom: 1px solid var(--ink-100);
  position: relative;
}
.tl-day:last-child { border-bottom: none; }
.tl-day::before {
  content: "";
  position: absolute;
  left: -28px; top: 38px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--lime-500);
  border: 4px solid var(--bg-soft);
  box-shadow: 0 0 0 1.5px var(--teal-500);
}
.tl-date {
  font-family: var(--font-display);
}
.tl-date .day {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--teal-600);
}
.tl-date .num {
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  margin-top: 4px;
  color: var(--ink-900);
  letter-spacing: -0.03em;
}
.tl-date .month {
  font-size: 14px;
  color: var(--ink-500);
  margin-top: 4px;
  letter-spacing: 0.04em;
}
.tl-content h4 {
  font-size: 22px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: 12px;
}
.tl-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.tl-list li {
  display: flex;
  gap: 12px;
  font-size: 15px;
  color: var(--ink-500);
  align-items: baseline;
}
.tl-list li::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--teal-500);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
}
.tl-highlight {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 14px;
  background: var(--lime-500);
  color: var(--ink-900);
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* ============================================================
   AWARDS
   ============================================================ */
.awards {
  background: linear-gradient(160deg, var(--ocean-950) 0%, var(--ocean-900) 50%, var(--teal-900) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.awards::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 20%, rgba(201,162,75,0.16), transparent 50%),
              radial-gradient(ellipse at 10% 80%, rgba(21,88,169,0.18), transparent 50%);
  pointer-events: none;
}
.awards .container { position: relative; }
.awards .section-head h2 { color: #fff; }
.awards .section-head h2 em { font-style: normal; color: var(--gold-400); }
.awards .section-head .eyebrow { color: var(--gold-400); }
.awards .section-head .eyebrow::before { background: var(--gold-400); }
.awards .section-head p { color: rgba(255,255,255,0.72); }

.awards-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 12px;
}
.award-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(201,162,75,0.28);
  border-radius: 18px;
  padding: 22px 18px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}
.award-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201,162,75,0.0), rgba(201,162,75,0.08));
  opacity: 0;
  transition: opacity 0.25s ease;
}
.award-card:hover {
  border-color: var(--gold-500);
  transform: translateY(-4px);
}
.award-card:hover::before { opacity: 1; }
.award-icon {
  width: 30px; height: 30px;
  color: var(--gold-400);
  margin-bottom: 16px;
}
.award-card h4 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin: 0;
  position: relative;
  z-index: 1;
}
.award-card .num {
  position: absolute;
  top: 18px; right: 18px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  color: var(--gold-400);
  letter-spacing: 0.16em;
}

.awards-footer {
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.awards-footer-info {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  display: flex; flex-direction: column; gap: 6px;
}
.awards-footer-info strong {
  font-family: var(--font-display);
  color: var(--gold-400);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* ============================================================
   STARTUP PITCH
   ============================================================ */
.startup { background: var(--bg-page); }
.startup-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.startup-col {
  background: var(--bg-white);
  border-radius: var(--radius-card);
  padding: 36px;
  box-shadow: var(--shadow-card);
}
.startup-col h4 {
  font-size: 22px;
  margin-bottom: 6px;
}
.startup-col .sub {
  font-size: 13px;
  color: var(--teal-600);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.startup-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 14px;
}
.startup-list li {
  display: flex; gap: 14px;
  font-size: 15px;
  color: var(--ink-700);
  line-height: 1.5;
}
.startup-list li svg {
  width: 22px; height: 22px;
  flex-shrink: 0;
  color: var(--teal-500);
  margin-top: 1px;
}
.prize-card {
  margin-top: 32px;
  padding: 32px 36px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--lime-400) 0%, var(--lime-500) 100%);
  color: var(--ink-900);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
}
.prize-card-content strong {
  font-family: var(--font-display);
  display: block;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.prize-card-content span {
  font-size: 14px;
  color: var(--ink-700);
  margin-top: 6px;
  display: block;
}
.prize-card-actions {
  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
}
.prize-card-actions .deadline {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-700);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .prize-card { grid-template-columns: 1fr; }
  .prize-card-actions { align-items: flex-start; }
}

/* ============================================================
   SPEAKERS · light bg, navy cards
   ============================================================ */
.speakers {
  background: var(--bg-soft);
  color: var(--ink-700);
  position: relative;
  overflow: hidden;
}
.speakers .section-head h2 { color: var(--ink-900); }
.speakers .eyebrow { color: var(--teal-600); }
.speakers .eyebrow::before { background: var(--teal-500); }
.speakers .section-head p { color: var(--ink-500) !important; }
.spk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.jury-block { margin-top: 72px; }
.jury-head { max-width: 640px; margin-bottom: 34px; }
.jury-head h3 { font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 3vw, 38px); color: var(--ink-900); margin: 12px 0 14px; }
.jury-head p { color: var(--ink-500); font-size: 17px; line-height: 1.7; }
.jury-grid { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .jury-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .jury-grid { grid-template-columns: repeat(2, 1fr); } }
.spk-card {
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 8px 24px -14px rgba(10,47,110,0.4);
}
/* When a speaker/jury card has a bio or LinkedIn URL, mw_event_render_person_card()
   renders it as a native <button> instead of a plain <article> so it's clickable
   and opens #spkModal (see mt.js). Reset the browser's default button chrome so
   it still looks exactly like the static .spk-card design. */
button.spk-card {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  /* flex column (not display:block) on purpose: a native <button>'s own
     internal rendering doesn't fully collapse the whitespace text nodes
     between its child elements the way a plain <div>/<article> does, so
     with display:block those stray text nodes were adding an inconsistent
     phantom gap above .spk-photo — anywhere from 0 to 30px+ depending on
     how much whitespace happened to precede the img vs. the "to be
     announced" svg branch in mw_event_render_person_card(). Flex items
     ignore whitespace-only text nodes entirely, so this removes the gap
     for good regardless of which branch rendered. */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  color: inherit;
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 100%);
}
.spk-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px -14px rgba(10,47,110,0.55);
}
.spk-photo {
  aspect-ratio: 1;
  background: linear-gradient(160deg, var(--teal-300), var(--teal-600));
  position: relative;
  display: flex; align-items: center; justify-content: center;
}
.spk-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.25));
}
.spk-photo svg {
  width: 64px; height: 64px;
  color: rgba(255,255,255,0.55);
}
.spk-tba {
  position: absolute;
  bottom: 16px; left: 16px;
  z-index: 1;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: #fff;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(4px);
  padding: 5px 10px;
  border-radius: 999px;
}
.spk-info { padding: 20px 22px; }
.spk-info h4 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}
.spk-info p {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  margin: 0;
}

/* ============================================================
   VENUE
   ============================================================ */
.venue { background: var(--bg-page); }
.venue-wrap {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
}
.venue-visual {
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--ocean-900);
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 28px;
  box-shadow: var(--shadow-card);
}
.venue-visual-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 65%;
  transition: transform 8s ease;
}
.venue-visual:hover .venue-visual-img {
  transform: scale(1.04);
}
.venue-visual-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(10,47,110,0.55) 70%, rgba(10,47,110,0.85) 100%),
    linear-gradient(45deg, rgba(10,47,110,0.25) 0%, rgba(10,47,110,0) 50%);
}
.venue-visual-label {
  position: relative;
  color: #fff;
}
.venue-visual-label strong {
  font-family: var(--font-display);
  font-weight: 700;
  display: block;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--lime-500);
  text-transform: uppercase;
}
.venue-visual-label span {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -0.02em;
  display: block;
  margin-top: 6px;
}
.venue-info h3 {
  font-size: clamp(28px, 3vw, 38px);
  margin-bottom: 18px;
}
.venue-info p {
  font-size: 16px;
  color: var(--ink-500);
  line-height: 1.65;
  margin-bottom: 16px;
}
.venue-list {
  margin-top: 26px;
  display: flex; flex-direction: column; gap: 14px;
}
.venue-list .row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--ink-100);
  font-size: 14px;
}
.venue-list .row strong {
  font-family: var(--font-display);
  color: var(--ink-900);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.venue-list .row span { color: var(--ink-500); }

/* ============================================================
   SPONSORSHIP · light bg, colored tiles
   ============================================================ */
.sponsorship {
  background: var(--bg-page);
  color: var(--ink-700);
  position: relative;
  overflow: hidden;
}
.sponsorship .container { position: relative; }
.sponsorship .section-head h2 { color: var(--ink-900); }
.sponsorship .eyebrow { color: var(--teal-600); }
.sponsorship .eyebrow::before { background: var(--teal-500); }
.sponsorship .section-head p { color: var(--ink-500) !important; }
.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.sponsor-tile {
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 100%);
  border-radius: 16px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  position: relative;
  transition: all 0.25s ease;
  display: flex; flex-direction: column;
  gap: 14px;
  min-height: 140px;
  box-shadow: 0 8px 24px -14px rgba(10,47,110,0.4);
}
.sponsor-tile:hover {
  border-color: var(--lime-500);
  transform: translateY(-4px);
  box-shadow: 0 18px 36px -14px rgba(10,47,110,0.55), 0 0 0 1px rgba(201,162,75,0.45);
}
.sponsor-tile-icon {
  width: 28px; height: 28px;
  color: var(--lime-500);
}
.sponsor-tile h5 {
  font-family: var(--font-display);
  font-weight: 700;
  color: #fff;
  font-size: 15px;
  margin: 0;
}
.sponsor-tile .status {
  margin-top: auto;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sponsor-tile .status::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.sponsor-tile .status.available { color: var(--teal-300); }
.sponsor-tile .status.exclusive { color: var(--gold-400); }
.sponsor-tile .status.sold      { color: rgba(255,255,255,0.4); }

/* ============================================================
   EXHIBITION TABLE · light section, navy table
   ============================================================ */
.exhibition {
  background: var(--bg-soft);
  color: var(--ink-700);
  position: relative;
  overflow: hidden;
}
.exhibition .section-head h2 { color: var(--ink-900); }
.exhibition .eyebrow { color: var(--teal-600); }
.exhibition .eyebrow::before { background: var(--teal-500); }
.exhibition .section-head p { color: var(--ink-500) !important; }

.booth-table {
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 100%);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 30px 60px -28px rgba(10,47,110,0.5);
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr 0.8fr;
}
.booth-table-head {
  display: contents;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.booth-table-head > div {
  padding: 22px 18px;
  border-bottom: 1.5px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}
.booth-row { display: contents; }
.booth-row > div {
  padding: 24px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 14px;
  color: rgba(255,255,255,0.82);
  display: flex;
  align-items: center;
}
.booth-row:last-child > div { border-bottom: none; }
.booth-row .name {
  font-family: var(--font-display);
  font-weight: 700;
  color: #fff;
  font-size: 16px;
  display: flex; flex-direction: column; gap: 4px;
  align-items: flex-start;
}
.booth-row .name span {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 12px;
  color: var(--lime-500);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.booth-row .cta {
  justify-content: flex-end;
  padding-right: 22px;
}
.booth-row .cta .pill {
  background: var(--teal-500);
  color: #fff;
  border: none;
  padding: 10px 18px;
  font-size: 13px;
  box-shadow: 0 4px 12px -4px rgba(21,88,169,0.55);
  transition: all 0.22s ease;
}
.booth-row .cta .pill:hover {
  background: var(--teal-400);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px -6px rgba(21,88,169,0.7);
}
.booth-row.flagship {
  background: linear-gradient(90deg, rgba(201,162,75,0.12), rgba(21,88,169,0.04));
}
.booth-row.flagship .name span { color: var(--gold-400); }
.booth-row.flagship .cta .pill {
  background: var(--lime-500);
  color: var(--ink-900);
  box-shadow: 0 4px 14px -4px rgba(201,162,75,0.6);
}
.booth-row.flagship .cta .pill:hover {
  background: var(--lime-400);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px -6px rgba(201,162,75,0.75);
}

/* ============================================================
   PARTNERS · light bg, colored logo tiles
   ============================================================ */
.partners {
  background: var(--bg-page);
  padding-top: 80px;
  padding-bottom: 80px;
  color: var(--ink-700);
}
.partners-eyebrow {
  text-align: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-900);
  margin-bottom: 36px;
}
.partner-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  align-items: center;
}
.partner-logo {
  background: linear-gradient(160deg, #0a2f6e 0%, #0A2240 100%);
  border-radius: 14px;
  height: 84px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.05em;
  border: 1px solid rgba(255,255,255,0.08);
  transition: all 0.25s ease;
  text-align: center;
  padding: 0 12px;
  box-shadow: 0 6px 20px -10px rgba(10,47,110,0.4);
}
.partner-logo:hover {
  color: #fff;
  border-color: var(--lime-500);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -12px rgba(10,47,110,0.55);
}
.partners-media {
  margin-top: 56px;
  text-align: center;
}
.partners-media h5 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.22em;
  color: var(--ink-900);
  text-transform: uppercase;
  margin: 0 0 22px;
}
.partners-media-row {
  display: flex; justify-content: center; gap: 16px;
  flex-wrap: wrap;
}
.partners-media-row .partner-logo { width: 200px; }

/* ============================================================
   ABOUT · light bg, colored value cards
   ============================================================ */
.about { background: var(--bg-soft); position: relative; overflow: hidden; }
.about .eyebrow {
  font-size: 15px;
  color: var(--blue-600, #114f99);
}
.about .eyebrow::before { background: var(--blue-600, #114f99); }
.about-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: stretch;
}
.about-text p {
  font-size: 17px;
  color: var(--ink-500);
  line-height: 1.7;
}
.about-text p + p { margin-top: 18px; }
.values {
  display: flex; flex-direction: column;
  justify-content: flex-end;
  transform: translateY(-6.2%);
  gap: 16px;
}
.value {
  background: linear-gradient(135deg, #0a2f6e 0%, #0A2240 100%);
  border-radius: 18px;
  padding: 28px;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: center;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 30px -16px rgba(10,47,110,0.35);
  transition: all 0.25s ease;
}
.value:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -16px rgba(10,47,110,0.5);
}
.value-icon {
  width: 56px; height: 56px;
  background: rgba(201,162,75,0.18);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--lime-500);
}
.value-icon svg { width: 28px; height: 28px; }
.value h4 { font-size: 17px; margin-bottom: 4px; color: #fff; }
.value p { margin: 0; font-size: 14px; color: rgba(255,255,255,0.72); }

/* ============================================================
   CTA + Newsletter
   ============================================================ */
.cta-final {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(10,47,110,0.92) 0%, rgba(10,34,64,0.85) 60%, rgba(10,47,110,0.85) 100%),
    radial-gradient(ellipse at 30% 30%, rgba(21,88,169,0.4), transparent 60%);
  background-color: var(--ocean-900);
  padding-top: clamp(80px, 9vw, 140px);
  padding-bottom: clamp(80px, 9vw, 140px);
}
.cta-final::before {
  /* concentric circle motif like MBN */
  content: "";
  position: absolute;
  right: -200px; bottom: -200px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 40%, rgba(21,88,169,0.18) 41%, transparent 42%),
              radial-gradient(circle, transparent 55%, rgba(21,88,169,0.18) 56%, transparent 57%),
              radial-gradient(circle, transparent 70%, rgba(21,88,169,0.18) 71%, transparent 72%);
  pointer-events: none;
}
.cta-final .container { position: relative; }
.cta-final-wrap {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
}
.cta-final h2 {
  color: #fff;
  font-size: clamp(40px, 5.4vw, 72px);
  letter-spacing: -0.025em;
}
.cta-final h2 em { font-style: normal; color: var(--lime-500); }
.cta-final p {
  margin-top: 20px;
  font-size: 17px;
  color: rgba(255,255,255,0.78);
  max-width: 480px;
}
.cta-final-actions {
  margin-top: 36px;
  display: flex; gap: 14px; flex-wrap: wrap;
}

.newsletter-card {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 24px;
  padding: 36px;
}
.newsletter-card h4 {
  color: #fff;
  font-size: 22px;
  margin-bottom: 8px;
}
.newsletter-card p {
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  margin: 0 0 24px;
}
.newsletter-form {
  display: flex;
  gap: 8px;
  background: rgba(255,255,255,0.95);
  border-radius: 999px;
  padding: 6px;
}
.newsletter-form input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 12px 18px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--ink-900);
  outline: none;
}
.newsletter-form input::placeholder { color: var(--ink-400); }
.newsletter-form button {
  border-radius: 999px;
  padding: 12px 22px;
  background: var(--ink-900);
  color: var(--lime-500);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  transition: background 0.2s ease;
}
.newsletter-form button:hover { background: var(--teal-800); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: linear-gradient(135deg, var(--ocean-950) 0%, var(--ocean-900) 45%, var(--teal-800) 100%);
  color: rgba(255,255,255,0.75);
  padding: 80px 0 36px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand .brand-name { color: #fff; font-size: 20px; }
.footer-brand p {
  margin-top: 20px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  max-width: 320px;
  line-height: 1.6;
}
.footer-contact {
  margin-top: 22px;
  display: flex; flex-direction: column; gap: 10px;
  font-size: 14px;
}
.footer-contact a { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.78); }
.footer-contact svg { width: 16px; height: 16px; color: var(--teal-300); }

.footer-col h5 {
  font-family: var(--font-display);
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.footer-col ul a { font-size: 14px; color: rgba(255,255,255,0.65); }
.footer-col ul a:hover { color: var(--lime-500); }

.footer-bottom {
  padding-top: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
}
.footer-socials { display: flex; gap: 10px; }
.footer-socials a {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  transition: background 0.2s ease;
}
.footer-socials a:hover { background: var(--teal-500); }
.footer-socials svg { width: 16px; height: 16px; }

/* ============================================================
   Reveal-on-scroll · only hidden once JS has attached observer
   (so static load + screenshots stay visible)
   ============================================================ */
.js-reveal .reveal:not(.is-visible) {
  opacity: 0 !important;
  transform: translateY(24px) !important;
}
.reveal {
  transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .stages-grid { grid-template-columns: repeat(3, 1fr); }
  .stages-grid .stage-card:nth-child(4),
  .stages-grid .stage-card:nth-child(5) { grid-column: span 1; }
  .stages-grid .stage-card:nth-child(4) { grid-column: 1 / span 2; }
  .stages-grid .stage-card:nth-child(5) { grid-column: 3; }
  .awards-grid { grid-template-columns: repeat(3, 1fr); }
  .sponsor-grid { grid-template-columns: repeat(3, 1fr); }
  .spk-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-row { grid-template-columns: repeat(4, 1fr); }
  .booth-table { grid-template-columns: 1fr 1fr 1fr 1fr; font-size: 13px; }
  .booth-table-head > div:nth-child(5), .booth-table-head > div:nth-child(6),
  .booth-row > div:nth-child(5), .booth-row > div:nth-child(6) { display: none; }
}
@media (max-width: 860px) {
  .nav-links { display: none; }
  .nav-mobile-toggle {
    display: flex;
    margin-left: auto;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    align-items: center; justify-content: center;
    color: #fff;
  }
  .countdown { position: relative; right: auto; bottom: auto; margin: 32px auto 0; }
  .hero-inner { padding-bottom: 80px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stages-grid,
  .aud-grid,
  .awards-grid,
  .sponsor-grid,
  .spk-grid { grid-template-columns: repeat(2, 1fr); }
  .stages-grid .stage-card { grid-column: span 1 !important; }
  .stages-pillars,
  .format-wrap,
  .venue-wrap,
  .about-wrap,
  .startup-grid,
  .cta-final-wrap { grid-template-columns: 1fr; gap: 36px; }
  .tl-day { grid-template-columns: 1fr; gap: 12px; }
  .booth-table { grid-template-columns: 1fr 1fr; }
  .partner-row { grid-template-columns: repeat(3, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .nav-meta { display: none; }
  .hero h1 { font-size: 44px; }
  .footer-top { grid-template-columns: 1fr; }
  .partner-row { grid-template-columns: repeat(2, 1fr); }
  .stages-grid,
  .aud-grid,
  .awards-grid,
  .sponsor-grid,
  .spk-grid { grid-template-columns: 1fr; }
  .flap { width: 50px; height: 68px; }
  .flap-static-top, .flap-static-bottom, .flap-anim-top, .flap-anim-bottom { font-size: 32px; }
}

/* ============================================================
   BLOK 1 CORRECTIONS (index1 only) · applied on top of the
   copied stylesheet. See diff. No teal/green, no waves,
   no gold-on-white, light CSS marquee, Previous Editions.
   ============================================================ */

/* 1.3 Styl · cut wave dividers, replace with clean edges */
/* hero wave removed · replaced by hero-white-bar */
.hero-bottom-curve { display: none !important; }          /* legacy */
.stage-card-foot svg { display: none !important; }         /* stage curved wave removed */
.stage-card-foot {
  background: var(--ocean-900);                            /* clean flat navy bar */
  border-top: 2px solid var(--gold-500);                   /* clean straight gold line */
}
.stage-card-foot span { padding-top: 20px; }

/* 1.3 Kolory · gold (yellow) must never sit on white. Swap to navy buttons / badges. */
.sponsorship .pill-primary { background: var(--ocean-900); color: #fff; box-shadow: 0 10px 26px -12px rgba(0,32,83,.55); }
.sponsorship .pill-primary:hover { background: var(--ocean-800); }

.tl-highlight { background: var(--ocean-900); color: #fff; }   /* was gold-on-white */
.pillar-dot { background: var(--ocean-900); color: #fff; }      /* was gold-on-white */

/* Startup prize card: was a large gold surface on white → navy card, gold kept as accent */
.prize-card { background: linear-gradient(135deg, var(--ocean-900) 0%, var(--ocean-950) 100%); color: #fff; }
.prize-card-content strong { color: #fff; }
.prize-card-content span { color: rgba(255,255,255,.72); }
.prize-card-actions .deadline { color: var(--gold-400); }
.prize-card .pill-dark { background: var(--gold-500); color: var(--ocean-950); }
.prize-card .pill-dark:hover { background: var(--gold-400); }

/* booth CTA hover shadow was teal-tinted → blue */
.booth-row .cta .pill:hover { box-shadow: 0 10px 22px -6px rgba(21,88,169,.55); }

/* ---- 1.3 Partners: Logo Normalizer + white-bg colour-immediate CSS marquee ---- */
.partners .marquee {
  position: relative; overflow: hidden; margin-top: 8px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.partners .marquee-track { display: flex; width: max-content; animation: mw-marquee 40s linear infinite; }
@keyframes mw-marquee { to { transform: translateX(-50%); } }
/* Logo Normalizer cell · fixed height, centred, equal spacing */
.logo-cell { height: 72px; width: 210px; flex: none; display: flex; align-items: center; justify-content: center; padding: 0 26px; }
.logo-cell .wordmark { font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: .02em; color: var(--ocean-900); white-space: nowrap; text-align: center; line-height: 1.05; }
.logo-cell .wordmark .sub { display: block; font-size: 10px; font-weight: 700; letter-spacing: .16em; color: var(--teal-600); text-transform: uppercase; margin-top: 2px; }

/* ---- Previous Editions (NEW section, 1.3 Architektura eventów) ---- */
.prev { background: var(--bg-soft); padding: var(--section-pad) 0; }
.prev .section-head { margin-bottom: 0; }
.prev-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 48px; }
.prev-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ink-100); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card); transition: transform .2s ease, box-shadow .2s ease; height: 100%; }
.prev-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.prev-media { position: relative; aspect-ratio: 16/11; overflow: hidden; background: var(--ocean-900); }
.prev-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.prev-media .scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,32,83,0) 45%, rgba(0,32,83,.5) 100%); }
.prev-status { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.92); color: var(--ocean-900); }
.prev-status .pdot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.prev-tpl { position: absolute; bottom: 12px; right: 12px; font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.prev-body { padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.prev-date { font-family: var(--font-body); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; color: var(--teal-600); }
.prev-title { font-size: 19px; font-weight: 800; color: var(--ink-900); margin-top: 7px; line-height: 1.15; }
.prev-loc { font-size: 13px; color: var(--ink-500); margin-top: 7px; display: flex; align-items: center; gap: 7px; }
.prev-loc svg { width: 14px; height: 14px; color: var(--teal-500); flex: none; }
.prev-link { margin-top: auto; padding-top: 18px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13.5px; color: var(--ocean-900); }
.prev-link svg { width: 15px; height: 15px; transition: transform .18s ease; }
.prev-card:hover .prev-link svg { transform: translateX(3px); }
@media (max-width: 1080px){ .prev-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .prev-grid { grid-template-columns: 1fr; } }

/* ---- Hero countdown · Version B (navy bar) ---- */
.cdbar { background: linear-gradient(90deg, var(--ocean-950), var(--ocean-900)); color: #fff; border-top: 2px solid var(--gold-500); }
.cdbar .container { display: flex; align-items: center; gap: 24px; padding-top: 22px; padding-bottom: 22px; flex-wrap: wrap; }
.cdbar-label { font-family: var(--font-display); font-weight: 700; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--teal-300); }
.cdbar-units { display: flex; margin-left: auto; flex-wrap: wrap; }
.cdbar-unit { display: flex; align-items: baseline; gap: 9px; padding: 0 24px; position: relative; }
.cdbar-unit + .cdbar-unit::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 28px; width: 1px; background: rgba(255,255,255,.18); }
.cdbar-unit .cd-n { font-family: var(--font-display), "Plus Jakarta Sans", sans-serif; font-feature-settings: "tnum" 1, "zero" 0; font-weight: 500; font-size: clamp(30px,3.4vw,40px); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.cdbar-unit .cd-t { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--teal-300); font-weight: 700; }
@media (max-width: 720px){
  .cdbar .container { flex-direction: column; align-items: flex-start; gap: 14px; }
  .cdbar-units { margin-left: 0; width: 100%; justify-content: space-between; }
  .cdbar-unit { padding: 0 10px; flex-direction: column; align-items: center; gap: 4px; }
  .cdbar-unit + .cdbar-unit::before { display: none; }
}

/* ---- Hero countdown · Version A (cards) · comparison ---- */
.cd-compare { background: var(--bg-soft); padding: 46px 0; }
.cd-compare-cap { font-size: 13.5px; font-weight: 600; color: var(--ink-500); text-align: center; margin: 0 0 26px; }
.cd-compare-cap b { color: var(--ocean-900); font-weight: 800; }
.cdcards { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cdcard { background: linear-gradient(150deg, var(--ocean-900), var(--ocean-950)); color: #fff; border-radius: 16px; min-width: 124px; padding: 22px 20px; display: flex; flex-direction: column; align-items: center; gap: 8px; box-shadow: var(--shadow-card); }
.cdcard .cd-n { font-family: var(--font-display), "Plus Jakarta Sans", sans-serif; font-feature-settings: "tnum" 1, "zero" 0; font-weight: 500; font-size: clamp(38px,4.4vw,50px); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.cdcard .cd-t { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--teal-300); font-weight: 700; }

/* ---- Hero countdown · glass panel (classic navy + gold, frosted) ---- */
.cd-glass { position: absolute; left: 0; right: 0; top: auto; bottom: 478px; z-index: 6; pointer-events: none; text-align: right; }
.cd-glass-panel {
  transform: translateX(clamp(0px, 10.5vw, 135px));
  display: inline-block;
  background: linear-gradient(180deg, rgba(166,205,231,.18), rgba(10,52,111,.20));
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(166,205,231,.34);
  border-top: 1px solid rgba(228,201,122,.55);
  border-radius: 18px;
  padding: 17px 24px 19px;
  box-shadow: 0 26px 64px -26px rgba(0,12,38,.7), inset 0 1px 0 rgba(255,255,255,.18);
}
.cd-glass-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: nowrap; gap: 26px; padding-bottom: 13px; margin-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.16); }
.cd-glass-eyebrow { font-family: var(--font-display); font-weight: 700; font-size: 12.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-300); white-space: nowrap; }
.cd-glass-meta { font-family: var(--font-display); font-weight: 700; font-size: 13.5px; letter-spacing: .05em; color: #fff; white-space: nowrap; }
.cd-glass-row { display: flex; align-items: flex-start; gap: 2px; }
.cd-glass-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 14px; min-width: 76px; }
.cd-glass-sep { font-family: var(--font-display), "Plus Jakarta Sans", sans-serif; font-weight: 500; font-size: clamp(26px,3vw,38px); line-height: 1; color: var(--gold-300); opacity: .75; }
.cd-glass-tile .cd-n { font-family: var(--font-display), "Plus Jakarta Sans", sans-serif; font-feature-settings: "tnum" 1, "zero" 0; font-weight: 500; font-size: clamp(32px,3.6vw,46px); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.cd-glass-tile .cd-t { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--blue-100, #BDD9E4); font-weight: 700; }
@media (max-width: 720px){
  .cd-glass { position: static; margin-top: 26px; text-align: left; }
  .cd-glass-panel { display: block; transform: none; }
  .cd-glass-row { justify-content: space-between; }
  .cd-glass-sep { display: none; }
  .cd-glass-tile { padding: 0 4px; min-width: 0; flex: 1; }
}

/* ---- Laptop optimization (MacBook-class, ≤1680px) ---- */
@media (max-width: 1680px){
  .cd-glass-panel { transform: translateX(0); max-width: calc(100% - 32px); }
  .cd-glass { bottom: min(478px, 46vh); }
  .topbar .container { gap: 22px; }
  .nav-links { gap: 18px; }
}
@media (max-width: 1440px){
  .cd-glass { bottom: min(430px, 42vh); }
  .cd-glass-panel { padding: 14px 18px 16px; }
  .cd-glass-tile { padding: 0 10px; min-width: 62px; }
  .cd-glass-head { gap: 16px; }
  .nav-links a { font-size: 13.5px; }
  .topbar .nav-links { gap: 14px; }
}
@media (max-width: 1060px){ .topbar .nav-actions .nav-mail { display: none; } }


/* ============================================================
   3D ICONS · NO background plate. Pure SVG depth + soft bloom.
   ============================================================ */

/* Strip ANY background from icon containers · keep them as transparent boxes */
.stage-icon,
.aud-icon,
.award-icon,
.sponsor-tile-icon,
.value-icon,
.mt-why-ic{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.stage-icon::after,
.aud-icon::after,
.award-icon::after,
.sponsor-tile-icon::after,
.value-icon::after,
.mt-why-ic::after{ content:none !important; }

/* The 3D effect: gold-on-deep-shadow + soft bloom directly on the SVG */
.stage-icon svg,
.aud-icon svg,
.award-icon svg,
.sponsor-tile-icon svg,
.value-icon svg,
.mt-why-ic svg{
  color:var(--gold) !important;
  stroke-width:1.5 !important;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.35))
    drop-shadow(0 2px 3px rgba(0,18,38,.55))
    drop-shadow(0 0 8px rgba(228,201,122,.55))
    drop-shadow(0 0 16px rgba(228,201,122,.25));
}

/* On dark sections (Awards on navy), shift to brighter gold + warmer bloom */
.awards .award-icon svg{
  color:var(--gold-300) !important;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.25))
    drop-shadow(0 2px 3px rgba(0,0,0,.65))
    drop-shadow(0 0 10px rgba(228,201,122,.7))
    drop-shadow(0 0 22px rgba(228,201,122,.4));
}

/* Pillar number dot · keep filled gold marble, but no plate around it */
.pillar-dot{
  background:linear-gradient(160deg,#F2E2BC 0%,#E4C97A 40%,#C9A24B 80%,#A37E2E 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -2px 3px rgba(0,0,0,.25),
    0 6px 14px -6px rgba(0,32,83,.55),
    0 0 18px rgba(201,162,75,.35) !important;
  color:#001D4F !important;
}

/* Card arrows (pill, speaker, prev/event link) · subtle depth, no plate */
.pill .arrow,
.btn svg,
.mt-spk-arrow svg,
.prev-link svg,
.ev-link svg{
  filter:drop-shadow(0 1px 1px rgba(0,18,38,.5));
}
.pill-primary .arrow{
  filter:drop-shadow(0 1px 1px rgba(0,18,38,.55)) drop-shadow(0 0 4px rgba(228,201,122,.5));
}

/* Utility icons (contact / location / hero meta / stats) · light depth */
.footer-contact svg,
.footer-socials svg,
.ev-loc svg,
.prev-loc svg,
.hero-meta svg,
.stat-icon{
  filter:drop-shadow(0 1px 1px rgba(0,18,38,.45)) drop-shadow(0 0 4px rgba(228,201,122,.3));
}

/* Footer social pills · depth + bloom on hover */
.footer-socials a{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 6px 12px -6px rgba(0,0,0,.5);
}
.footer-socials a:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 16px -6px rgba(0,0,0,.55), 0 0 16px rgba(228,201,122,.4);
}

/* Status badges · small drop shadow only */
.ev-status,
.prev-status,
.mt-status,
.mt-badge,
.tl-highlight,
.intro-tag,
.partners-eyebrow{
  filter:drop-shadow(0 1px 2px rgba(0,18,38,.18));
}

/* ============================================================
   NAV ACTIONS · email pill + CTA group (right side of topbar)
   ============================================================ */
.nav-actions{display:inline-flex;align-items:center;gap:18px;margin-left:18px}
.nav-social{display:inline-flex;align-items:center;gap:9px}
.nav-social a{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.2);transition:background .2s ease,border-color .2s ease,color .2s ease}
.nav-social a:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.45);color:#fff}
.nav-social svg{width:15px;height:15px}
@media(max-width:1024px){.nav-social{display:none}}
.nav-mail{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,0.92);
  font-family:var(--font-display);
  font-weight:600;font-size:14px;letter-spacing:.01em;
  text-decoration:none;white-space:nowrap;
  transition:color .2s ease, opacity .2s ease;
}
.nav-mail svg{width:18px;height:18px;flex-shrink:0;opacity:.85}
.nav-mail:hover{color:#fff}
.nav-mail:hover svg{opacity:1}
@media(max-width:880px){
  .nav-actions{gap:12px;margin-left:12px}
  .nav-mail span{display:none}
}
@media(max-width:560px){
  .nav-mail{display:none}
}

/* ============================================================
   GLOBAL CRISPNESS · render every SVG / icon / animation at
   full device pixel ratio, no fuzzy edges, no half-pixel blur
   ============================================================ */
html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
svg, .arrow{
  shape-rendering:geometricPrecision;
  text-rendering:geometricPrecision;
  image-rendering:-webkit-optimize-contrast;
}
/* SVG icons whose strokes need to stay 1px-sharp regardless of scale */
svg [stroke], svg[stroke]{
  vector-effect:non-scaling-stroke;
}
/* Raster icons & sponsor logos: high-quality interpolation */
img{
  image-rendering:auto;
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
}
/* Anything animated or scaled · promote to its own GPU layer so the
   browser renders it on the device-pixel grid instead of a downscaled
   composited bitmap (kills blur on bloom / glass / scale animations). */
.hero, .hero-video, .hero-text, .hero-ctas .pill,
.bloom, .glow, .compass, .compass-ring, .compass-needle,
.pill, .pill-primary, .pill-ghost, .pill-dark, .pill-outline,
.brand .mw-logo, .nav-mail svg,
.mt-hero-banner, .mt-glass-cta, .mt-spk, .mt-spk-photo img,
.prev-card, .prev-media img, .marquee-track, .logo-cell,
.countdown, .countdown-card, .countdown-flap,
.reveal, .icon-3d, .sector-card{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform, opacity, filter;
}
/* Backdrop-filter blooms: bump radius so glass reads cleanly at 4K */
.topbar, .countdown-card, .mt-glass-cta, .mt-glass-banner, .prev-card{
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}
/* NOTE: removed a universal transform-style:preserve-3d hack here.
   It forced every element into a 3D rendering context, which in
   Chromium turns ancestors into containing blocks for position:fixed,
   breaking overlays, lightboxes and the mobile drawer. The 3D flip
   countdown that once needed it no longer exists on any page. */
/* High-DPI overrides */
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  svg{shape-rendering:geometricPrecision}
  img{image-rendering:-webkit-optimize-contrast}
  .compass-ring,.compass-needle{stroke-width:calc(1px / var(--dpr, 2))}
}

/* Hero · "See upcoming event" CTA below the two pills.
   Sits in its own wrapper that matches the combined width of the two pills above. */
.hero .hero-ctas{display:inline-flex;flex-wrap:wrap;gap:14px;align-items:center;width:auto}
.hero-cta-stack{display:inline-flex;flex-direction:column;gap:14px;align-items:stretch;width:fit-content;max-width:100%}
.hero-text{display:flex;flex-direction:column;align-items:flex-start}

.hero-upcoming-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  padding:18px 30px;
  width:100%;
  background:linear-gradient(135deg,#A6CDE7 0%,#7BA9D8 45%,#4F86C6 100%);
  color:#0A1A33;
  font-family:var(--font-display);font-weight:800;font-size:16px;
  letter-spacing:.04em;text-transform:none;
  border-radius:999px;border:0;
  box-shadow:
    0 18px 44px rgba(79,134,198,.45),
    0 6px 16px rgba(10,52,111,.28),
    inset 0 1px 0 rgba(255,255,255,.7);
  text-decoration:none;
  position:relative;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.hero-upcoming-cta::before{
  content:"";position:absolute;inset:-30%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(166,205,231,.55) 0%, transparent 70%);
  filter:blur(28px);
  z-index:-1;pointer-events:none;
}
.hero-upcoming-cta .dot{
  width:8px;height:8px;border-radius:50%;background:#0A346F;
  box-shadow:0 0 0 4px rgba(10,52,111,.22);
  animation:upcomingPulse 1.8s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes upcomingPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(10,52,111,.6)}
  50%{box-shadow:0 0 0 9px rgba(10,52,111,0)}
}
.hero-upcoming-cta:hover{
  transform:translateY(-2px);
  box-shadow:
    0 22px 54px rgba(79,134,198,.55),
    0 8px 20px rgba(10,52,111,.35),
    inset 0 1px 0 rgba(255,255,255,.8);
}
.hero-upcoming-cta .arrow{width:20px;height:20px}
@media (max-width: 640px){
  .hero-upcoming-cta{padding:16px 22px;font-size:15px}
  .hero-cta-stack{width:100%}
}

/* ============================================================
   BRAND QUOTE SEPARATOR · compact navy bar with quote
   ============================================================ */
.brand-quote-sep {
  background: linear-gradient(135deg, #002053 0%, #001D4F 50%, #0A2240 100%);
  padding: 36px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.brand-quote-sep::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(21,88,169,.18), transparent 55%),
    radial-gradient(ellipse at 75% 40%, rgba(201,162,75,.07), transparent 50%);
  pointer-events:none;
}
.brand-quote-sep blockquote {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 2.8vw, 34px);
  color: #fff;
  line-height: 1.45;
  letter-spacing: -0.02em;
  text-align: center;
  max-width: 780px;
  margin: 0 auto;
  position: relative;
}
.brand-quote-sep blockquote em {
  font-style: normal;
  color: var(--gold, #C9A24B);
}

/* ============================================================
   UPCOMING EVENTS · 1 big + 3 small teasers
   ============================================================ */
.upcoming-events {
  padding: clamp(60px, 8vw, 120px) 0;
  background: var(--bg-page);
}
.upcoming-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 20px;
  margin-top: 48px;
}
/* Main expo card · first column only (full height auto) */
.upcoming-card-main {
  grid-column: 1;
  grid-row: 1;
}
.upcoming-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--ink-100);
  box-shadow: 0 4px 20px rgba(0,12,38,.06);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
}
.upcoming-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,12,38,.12);
}
.upcoming-card-teaser {
  pointer-events: none;
  opacity: .85;
}
.upcoming-card-teaser:hover {
  transform: none;
  box-shadow: 0 4px 20px rgba(0,12,38,.06);
}

/* Placeholder frame */
.upcoming-placeholder {
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, #E2F0F9 0%, #DCE9F5 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.upcoming-card-main .upcoming-placeholder {
  aspect-ratio: 16/11;
}
.upcoming-placeholder::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px dashed var(--blue-pastel, #A6CDE7);
  border-radius: 12px;
  opacity: .5;
}
.upcoming-placeholder-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--ink-400);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  z-index: 1;
}

/* Info area */
.upcoming-info {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.upcoming-card-main .upcoming-info {
  padding: 24px 28px 28px;
}
.upcoming-badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 4px 12px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.upcoming-badge.flagship {
  background: var(--gold, #C9A24B);
  color: var(--ocean-900, #001226);
}
.upcoming-badge.teaser {
  background: var(--teal-100, #DCE9F5);
  color: var(--teal-600, #1558A9);
}
.upcoming-info h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--ink-900);
  letter-spacing: -0.02em;
  margin: 0;
}
.upcoming-info h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--ink-900);
  letter-spacing: -0.01em;
  margin: 0;
}
.upcoming-date {
  font-size: 13px;
  color: var(--ink-500);
  margin: 0;
}
.upcoming-info .pill {
  align-self: flex-start;
  margin-top: 8px;
}

/* Responsive */
@media (max-width: 960px) {
  .upcoming-grid {
    grid-template-columns: 1fr 1fr;
  }
  .upcoming-card-main {
    grid-column: span 2;
  }
}
@media (max-width: 560px) {
  .upcoming-grid {
    grid-template-columns: 1fr;
  }
  .upcoming-card-main {
    grid-column: span 1;
  }
}


/* ============================================================
   PARTNERS STRIP · static glass logo bar (media partners)
   ============================================================ */
.partners-strip {
  background: #fff;
  border-top: none;
  border-bottom: none;
  padding: 52px 0;
  position: relative;
  overflow: hidden;
}
/* Pastelowe niebieskie paski góra i dół */
.partners-strip::before,
.partners-strip::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 10px;
  background: linear-gradient(90deg, #B58A2F 0%, #C9A24B 35%, #E4C97A 60%, #C9A24B 80%, #9C7A2D 100%);
}
.partners-strip::before { top: 0; }
.partners-strip::after  { bottom: 0; }
.ps-label {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #002053;
  text-align: center;
  margin: 0 0 36px;
}
.ps-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

/* Card · white bg with navy border, strong contrast */
.ps-card {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  min-width: 300px;
  padding: 0 48px 0 36px;
  background: #fff;
  border: 2px solid rgba(0,32,83,.12);
  border-radius: 20px;
  text-decoration: none;
  transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
  box-shadow: 0 4px 24px rgba(0,12,38,.08);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}
.ps-card:hover {
  border-color: rgba(0,32,83,.3);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,12,38,.14);
}

/* Arrow top-right */
.ps-arrow {
  position: absolute;
  top: 11px; right: 11px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(0,32,83,.06);
  border: 1px solid rgba(0,32,83,.14);
  display: flex; align-items: center; justify-content: center;
  color: rgba(0,32,83,.55);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ps-arrow svg { width: 11px; height: 11px; }
.ps-card:hover .ps-arrow {
  background: #C9A24B;
  border-color: #C9A24B;
  color: #fff;
}

/* Image logos · full colour, generous size */
.ps-card-img img {
  height: 72px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  filter: none;
  opacity: 1;
}

/* Wordmarks (if any remain) */
.ps-wordmark {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: .04em;
  color: var(--ink-900);
  white-space: nowrap;
}

@media (max-width: 640px) {
  .ps-row { gap: 12px; }
  .ps-card { height: 96px; min-width: 200px; padding: 0 38px 0 24px; }
  .ps-card-img img { height: 54px; max-width: 180px; }
  .ps-label { font-size: 14px; }
}


/* ============================================================
   MALTA 2026 · About tiles + Key Topics tiles
   ============================================================ */
.m26-about-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:44px}
.m26-tile{background:#fff;border:1px solid var(--ink-100);border-radius:18px;padding:26px 24px;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s}
.m26-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.m26-tile-ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(160deg,#E2F0F9,#BDD9E4);color:#0A4D8C;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.m26-tile-ic svg{width:24px;height:24px}
.m26-tile h4{font-family:var(--font-display);font-weight:700;color:var(--ink-900);font-size:17px;margin:0 0 8px;line-height:1.3}
.m26-tile p{color:var(--ink-500);font-size:14px;line-height:1.6;margin:0}

.m26-topics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:900px){.m26-topics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.m26-topics-grid{grid-template-columns:1fr}}
.agx-passnote{display:flex;align-items:center;gap:14px;max-width:1100px;margin:0 auto 28px;padding:14px 20px;background:#F5F3EE;border:1px solid rgba(201,162,75,.35);border-radius:14px}
.agx-passnote p{margin:0;color:var(--ink-500);font-size:14px;line-height:1.6}
.agx-passnote .agx-pass{flex:none}
.m26-partner-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:44px}
@media(max-width:900px){.m26-partner-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.m26-partner-row{grid-template-columns:repeat(2,1fr)}}
.m26-partner-tile{aspect-ratio:3/2;border-radius:14px;background:#fff;border:1px dashed rgba(17,79,153,.28);box-shadow:var(--shadow-card)}
.m26-partner-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}
.m26-partner-wall .m26-partner-tile{aspect-ratio:600/288;border:1px solid var(--ink-100);border-style:solid;display:flex;align-items:center;justify-content:center;padding:14px 20px;transition:transform .2s,box-shadow .2s}
.m26-partner-wall .m26-partner-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.m26-partner-wall .m26-partner-tile img{width:100%;height:100%;object-fit:contain}
@media(max-width:900px){.m26-partner-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.m26-partner-wall{grid-template-columns:repeat(2,1fr)}}
.opp-acc{margin-top:40px;display:flex;flex-direction:column;gap:16px}
.opp-item{background:#fff;border:1px solid var(--ink-100);border-radius:18px;box-shadow:var(--shadow-card);overflow:hidden}
.opp-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(20px,2.4vw,26px);color:var(--ink-900)}
.opp-item>summary::-webkit-details-marker{display:none}
.opp-arrow{width:26px;height:26px;color:var(--blue-600,#114f99);flex:none;transition:transform .28s ease}
.opp-item[open]>summary .opp-arrow{transform:rotate(90deg)}
.opp-body{padding:0 30px 32px;border-top:1px solid var(--ink-100)}
.opp-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(22px,2.6vw,30px);color:var(--ink-900);margin:26px 0 12px}
.opp-body>p{color:var(--ink-500);font-size:17px;line-height:1.7;max-width:70ch;margin-bottom:26px}
.opp-graphic{margin-top:26px;border-radius:16px;min-height:220px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef3f8,#f8fbfd);border:1px dashed rgba(17,79,153,.28);color:#90a0b5;font-size:13px;font-weight:700}
.opp-floorplan{margin-top:28px}
.opp-floorplan-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:16px}
.opp-floorplan-head h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:20px;color:var(--ink-900);margin:0}
.opp-fp-frame{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);height:560px}
.opp-fp-frame iframe{width:100%;height:100%;border:0}
/* ---- Custom interactive floor plan ---- */
.fp-shell{background:#fff;border:1px solid var(--ink-100);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}
.fp-shell:fullscreen{border-radius:0;display:flex;flex-direction:column}
.fp-shell:fullscreen .fp-stage{flex:1}
.fp-shell.is-fp-overlay{position:fixed;inset:0;z-index:9999;border-radius:0;display:flex;flex-direction:column;background:#fff;box-shadow:none}
.fp-shell.is-fp-overlay .fp-stage{flex:1}
html.fp-lock,html.fp-lock body{overflow:hidden}
.fp-legend{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:14px 18px;border-bottom:1px solid var(--ink-100);font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink-500)}
.fp-legend span{display:inline-flex;align-items:center;gap:8px}
.fp-legend i{width:16px;height:12px;border-radius:3px;display:inline-block}
.fp-zoomers{margin-left:auto;gap:6px !important}
.fp-zoomers button{width:34px;height:34px;border-radius:9px;border:1px solid var(--ink-100);background:#F6F9FC;color:#0A2F6E;font-size:17px;font-weight:700;cursor:pointer;transition:background .15s}
.fp-zoomers button:hover{background:#E2F0F9}
.fp-stage{position:relative;touch-action:none;cursor:grab;background:#F6F9FC}
.fp-stage:active{cursor:grabbing}
.fp-stage svg{display:block;width:100%;height:auto}
.fp-booth rect{transition:stroke .12s ease,stroke-width .12s ease}
.fp-booth:hover rect,.fp-booth.is-sel rect{stroke:#C9A24B !important;stroke-width:3.5 !important}
.fp-booth:focus-visible{outline:none}
.fp-booth:focus-visible rect{stroke:#C9A24B !important;stroke-width:3.5 !important}
svg.fp-avail-only .fp-booth[data-status="Reserved"]{opacity:.22;pointer-events:none}
.fp-ping{fill:none;stroke:#C9A24B;stroke-width:5;animation:fpPing 1.2s ease-out 2}
@keyframes fpPing{0%{r:14;opacity:1}100%{r:60;opacity:0}}
.fp-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:rgba(10,34,64,.78);color:#DCE9F6;font-size:11.5px;font-weight:600;padding:6px 14px;border-radius:999px;pointer-events:none;white-space:nowrap}
.fp-search{display:inline-flex;align-items:center;gap:8px;background:#F6F9FC;border:1px solid var(--ink-100);border-radius:999px;padding:8px 14px;color:#7C8AA0;flex:0 1 260px;min-width:170px}
.fp-search svg{width:15px;height:15px;flex:none}
.fp-search input{border:0;background:none;outline:none;font:inherit;font-size:13px;color:var(--ink-900);width:100%}
.fp-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.fp-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.fp-toggle span{width:34px;height:19px;border-radius:999px;background:#D7E1EC;position:relative;transition:background .18s;flex:none}
.fp-toggle span::after{content:"";position:absolute;top:2.5px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,12,38,.35);transition:left .18s}
.fp-toggle input:checked+span{background:#114f99}
.fp-toggle input:checked+span::after{left:17px}
@media(max-width:760px){.fp-hint{display:none}.fp-legend{gap:12px}}
.fp-tip{position:absolute;z-index:5;pointer-events:none;background:#0A2240;color:#fff;border-radius:10px;padding:10px 13px;font-size:12.5px;line-height:1.5;box-shadow:0 14px 34px -10px rgba(0,12,38,.6);min-width:150px}
.fp-tip strong{display:block;font-family:var(--font-display);font-weight:800;font-size:13.5px;margin-bottom:2px}
.fp-tip em{display:block;font-style:normal;font-weight:700;margin-top:3px}
.fp-tip em.ok{color:#A6CDE7}
.fp-tip em.no{color:#C9A24B}
.fp-detail{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:14px 18px;border-top:1px solid var(--ink-100);background:#F6F9FC}
.fp-detail-t{font-size:14.5px;color:var(--ink-500)}
.fp-detail-t strong{font-family:var(--font-display);font-weight:800;color:var(--ink-900)}
.fp-detail-t em{font-style:normal;font-weight:700}
.fp-detail-t em.ok{color:#114f99}
.fp-detail-t em.no{color:#8a6a1e}
.fp-detail-cta{display:inline-flex;align-items:center;gap:8px;background:#0A2F6E;color:#fff !important;font-family:var(--font-display);font-weight:700;font-size:13.5px;padding:11px 20px;border-radius:999px;text-decoration:none}
.fp-detail-cta[hidden]{display:none}
.fp-detail-cta svg{width:16px;height:16px}
.fp-modal{position:fixed;inset:0;z-index:10000;background:rgba(10,12,30,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fpFade .2s ease}
.fp-modal[hidden]{display:none}
@keyframes fpFade{from{opacity:0}to{opacity:1}}
.fp-modal-card{background:#fff;border-radius:20px;box-shadow:0 40px 100px -30px rgba(0,12,38,.7);width:100%;max-width:560px;padding:34px 34px 30px;position:relative;animation:fpRise .25s cubic-bezier(.2,.9,.3,1.1)}
@keyframes fpRise{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
.fp-modal-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#F6F9FC;color:#0A2F6E;font-size:22px;cursor:pointer;line-height:1;font-weight:400}
.fp-modal-x:hover{background:#E2F0F9}
.fp-modal-eb{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#C9A24B;margin-bottom:6px}
.fp-modal-card h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:22px;color:var(--ink-900);margin:0 0 4px}
.fp-modal-card h4 span{color:#114f99}
.fp-modal-sub{color:var(--ink-500);font-size:13.5px;margin:0 0 20px}
.fp-modal-form label{display:flex;flex-direction:column;gap:6px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-900)}
.fp-modal-form label .req{color:#C9A24B}
.fp-modal-form label .opt{color:#8a97a8;font-weight:600;letter-spacing:.02em}
.fp-modal-form input,.fp-modal-form textarea{border:1px solid var(--ink-100);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-900);background:#FBFCFE;transition:border-color .15s,box-shadow .15s}
.fp-modal-form input:focus,.fp-modal-form textarea:focus{outline:none;border-color:#114f99;box-shadow:0 0 0 3px rgba(17,79,153,.14);background:#fff}
.fp-modal-form textarea{resize:vertical;min-height:80px;line-height:1.5}
.fp-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fp-modal-full{margin-bottom:18px}
.fp-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.fp-modal-cancel{background:transparent;border:1px solid var(--ink-100);color:var(--ink-500);border-radius:999px;padding:11px 20px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer}
.fp-modal-cancel:hover{background:#F6F9FC;color:var(--ink-900)}
.fp-modal-send{display:inline-flex;align-items:center;gap:8px;background:#0A2F6E;color:#fff;border:0;border-radius:999px;padding:12px 22px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 14px 30px -12px rgba(10,47,110,.6);transition:transform .15s}
.fp-modal-send:hover{transform:translateY(-1px)}
.fp-modal-send svg{width:16px;height:16px}
@media(max-width:560px){.fp-modal-card{padding:28px 22px 24px}.fp-modal-row{grid-template-columns:1fr}}
@media(max-width:600px){.opp-item>summary{padding:22px 20px}.opp-body{padding:0 20px 26px}.opp-fp-frame{height:420px}}
/* ---- MW application forms (awards / startup pitch) ---- */
.mwf{background:#fff;border:1px solid var(--ink-100);border-radius:22px;padding:38px 40px;box-shadow:0 30px 70px -30px rgba(0,32,83,.35);text-align:left;max-width:880px;margin:40px auto 0}
.mwf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.mwf-field{display:flex;flex-direction:column;gap:8px}
.mwf-field.full{grid-column:1/-1}
.mwf-field>label{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-900)}
.mwf-field>label .req{color:#C9A24B}
.mwf-field>label .opt{color:#8a97a8;font-weight:600;letter-spacing:.02em}
.mwf input[type="text"],.mwf input[type="email"],.mwf input[type="tel"],.mwf input[type="url"],.mwf select,.mwf textarea{width:100%;border:1px solid var(--ink-100);border-radius:12px;padding:13px 15px;font-family:var(--font-body,'Lato',sans-serif);font-size:15px;color:var(--ink-900);background:#FBFCFE;transition:border-color .2s,box-shadow .2s,background .2s}
.mwf input:focus,.mwf select:focus,.mwf textarea:focus{outline:none;border-color:#114f99;box-shadow:0 0 0 3px rgba(17,79,153,.14);background:#fff}
.mwf textarea{min-height:120px;resize:vertical;line-height:1.6}
.mwf select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23114f99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:42px;cursor:pointer}
.mwf-file{position:relative;border:1.5px dashed rgba(17,79,153,.35);border-radius:12px;background:#F6FAFD;padding:18px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .2s,background .2s}
.mwf-file:hover{border-color:#114f99;background:#EFF6FC}
.mwf-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.mwf-file svg{width:22px;height:22px;color:#114f99;flex:none}
.mwf-file .t{font-size:14px;color:var(--ink-500)}
.mwf-file .t strong{color:#114f99;font-weight:700}
.mwf-radios{display:flex;flex-wrap:wrap;gap:10px}
.mwf-radio{position:relative;cursor:pointer}
.mwf-radio input{position:absolute;opacity:0;width:1px;height:1px}
.mwf-radio span{display:inline-flex;align-items:center;border:1px solid var(--ink-100);border-radius:999px;padding:10px 18px;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--ink-500);background:#FBFCFE;transition:all .18s}
.mwf-radio input:checked+span{background:#0A2F6E;border-color:#0A2F6E;color:#fff;box-shadow:0 8px 20px -8px rgba(10,47,110,.55)}
.mwf-radio input:focus-visible+span{box-shadow:0 0 0 3px rgba(17,79,153,.25)}
.mwf-hint{font-size:12.5px;color:#8a97a8;line-height:1.5}
.mwf .mw-confirm{max-width:none;margin-top:30px}
.mwf .mw-apply-row{justify-content:flex-start;margin-top:24px}
.mwf-head{margin-bottom:26px}
.mwf-head h3{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--ink-900) !important;margin:0 0 6px}
.mwf-head p{color:var(--ink-500) !important;font-size:15px;line-height:1.6;margin:0;max-width:none}
.mwf .pill-ghost-light{color:#0A2F6E !important;border:1.5px solid rgba(10,47,110,.4) !important;background:transparent !important}
.mwf .pill-ghost-light:hover{background:rgba(10,47,110,.07) !important;border-color:#0A2F6E !important}
.mwf .pill-ghost-light svg{color:#0A2F6E}
@media(max-width:720px){.mwf{padding:26px 20px}.mwf-grid{grid-template-columns:1fr}}
/* ---- Ticket pass cards ---- */
.pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,440px));gap:26px;justify-content:center;margin-top:48px;align-items:stretch}
.pass-card{position:relative;background:#fff;border:1px solid var(--ink-100);border-radius:22px;padding:38px 34px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}
.pass-card.admiral{background:linear-gradient(165deg,#0A2F6E 0%,#0A2240 100%);border:1px solid rgba(201,162,75,.55)}
.pass-badge{position:absolute;top:-13px;right:26px;background:linear-gradient(120deg,#D4AF37,#C9A24B);color:#001235;font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px;box-shadow:0 10px 24px -8px rgba(201,162,75,.7)}
.pass-ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#E2F0F9;color:#114f99;margin-bottom:20px}
.pass-card.admiral .pass-ic{background:rgba(201,162,75,.16);color:#D4AF37}
.pass-ic svg{width:28px;height:28px}
.pass-name{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--ink-900);margin:0 0 6px}
.pass-card.admiral .pass-name{color:#fff}
.pass-price{font-family:var(--font-display);font-weight:800;font-size:40px;color:var(--ink-900);margin-bottom:22px}
.pass-price sup{font-size:18px;font-weight:700;color:#114f99;margin-right:3px}
.pass-card.admiral .pass-price{color:#fff}
.pass-card.admiral .pass-price sup{color:#D4AF37}
.pass-feats{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:0;flex:1}
.pass-feats li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--ink-100);font-size:14.5px;line-height:1.5;color:var(--ink-500)}
.pass-feats li:last-child{border-bottom:0}
.pass-feats svg{width:18px;height:18px;color:#114f99;flex:none;margin-top:1px}
.pass-card.admiral .pass-feats li{color:rgba(230,239,247,.88);border-bottom-color:rgba(255,255,255,.12)}
.pass-card.admiral .pass-feats svg{color:#D4AF37}
.pass-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:15px;padding:15px 26px;border-radius:999px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.pass-cta:hover{transform:translateY(-2px)}
.pass-cta.captain{background:#0A2F6E;color:#fff !important;box-shadow:0 14px 30px -12px rgba(10,47,110,.6)}
.pass-cta.admiral{background:linear-gradient(120deg,#D4AF37,#C9A24B);color:#001235 !important;box-shadow:0 14px 34px -10px rgba(201,162,75,.65)}
.pass-cta svg{width:18px;height:18px}
.pass-note{text-align:center;color:var(--ink-500);font-size:13.5px;margin-top:26px}
@media(max-width:860px){.pass-grid{grid-template-columns:minmax(0,440px)}}
.m26-topic{background:#fff;border:1px solid var(--ink-100);border-radius:20px;padding:28px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.m26-topic:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.m26-topic::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#C9A24B 0%,#E2A93E 100%)}
.m26-topic-ic{width:52px;height:52px;border-radius:14px;background:linear-gradient(160deg,#001D4F,#0A4D8C);color:#C9A24B;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.m26-topic-ic svg{width:26px;height:26px;stroke-width:1.6}
.m26-topic h4{font-family:var(--font-display);font-weight:700;color:var(--ink-900);font-size:19px;margin:0 0 10px;line-height:1.3}
.m26-topic p{color:var(--ink-500);font-size:14.5px;line-height:1.65;margin:0}

/* Malta 2026 · Hotel provisional (same shape as M25) */
.m26-hotel-wrap{display:block;margin-top:36px}
@media(max-width:900px){.m26-hotel-wrap{grid-template-columns:1fr}}
.m26-hotel-offer{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px 18px;background:#F5F3EE;border:1px solid rgba(201,162,75,.35);border-radius:14px;color:var(--ink-500);font-size:14px;line-height:1.55}
.m26-hotel-offer svg{width:22px;height:22px;color:#C9A24B;flex:none}
.m26-hotel-map{border-radius:16px;overflow:hidden;height:360px;box-shadow:var(--shadow-card)}
.t10-hero{background:linear-gradient(150deg,#0a2f6e 0%,#0A2240 100%);border-radius:22px;padding:56px 40px;text-align:center;margin-bottom:44px;border:1px solid rgba(255,255,255,.08)}
.t10-hero-logo{height:110px;width:auto;display:block;margin:0 auto 22px}
.t10-hero-eyebrow{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-300,#D4AF37);margin-bottom:16px}
.t10-hero h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(30px,4vw,52px);line-height:1.15;color:#fff;margin:0}
.t10-hero h2 em{font-style:normal;color:var(--gold-300,#D4AF37)}
.t10-supp{margin-top:30px;color:rgba(230,239,247,.65);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-align:center}
.t10-supp-logos{display:flex;justify-content:center;align-items:stretch;gap:14px;margin:16px auto 30px}
.t10-supp-logos .tile{background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:10px 20px;width:200px;height:88px;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px -16px rgba(0,12,38,.65)}
.t10-supp-logos .tile img{max-width:100%;max-height:62px;object-fit:contain}
.t10-hero .btn-row,.top10-hero .btn-row{margin-top:30px}
.m26-hotel-map iframe{width:100%;height:100%;border:0}

/* Malta 2026 · Awards Night info + Top 10 brand panel */
.awn-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:44px}
.awn-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.awn-k{font-family:var(--font-display),sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400,#E4C97A)}
.awn-v{font-family:var(--font-display),sans-serif;font-weight:700;font-size:17px;color:#fff;line-height:1.2}
.awn-s{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.4}
.awn-lead{margin:26px auto 0;max-width:70ch;text-align:center;color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.65}
.awn-head{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.awn-logo{width:170px;height:auto;flex:none}
@media(max-width:720px){.awn-head{justify-content:center}.awn-logo{width:130px}}
.awn-note{display:flex;gap:14px;align-items:flex-start;margin:26px auto 0;max-width:760px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:20px 22px}
.awn-note svg{width:22px;height:22px;color:var(--gold-400,#E4C97A);flex:none;margin-top:2px}
.awn-note p{margin:0;color:rgba(255,255,255,.72);font-size:13.5px;line-height:1.65}
.awn-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px}

.t10-brand{position:relative;margin-top:38px;background:linear-gradient(160deg,#001D4F 0%,#0A2F6E 60%,#01204F 100%);border-radius:24px;padding:48px 40px;text-align:center;overflow:hidden;box-shadow:0 30px 80px rgba(2,15,38,.3)}
.t10-brand::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0%,rgba(201,162,75,.16),transparent 70%);pointer-events:none}
.t10-brand > *{position:relative}
.t10-brand-logo{display:block;margin:0 auto 14px;width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.35))}
.t10-brand-eyebrow{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-400,#E4C97A);margin-bottom:16px}
.t10-brand p{color:rgba(255,255,255,.82);font-size:15.5px;line-height:1.65;max-width:60ch;margin:0 auto}
.t10-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:32px 0 26px}
.t10-meta-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 24px;display:flex;flex-direction:column;gap:3px;min-width:150px}
.t10-k{font-family:var(--font-display),sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-400,#E4C97A)}
.t10-v{font-family:var(--font-display),sans-serif;font-weight:700;font-size:16px;color:#fff}
.t10-brand-actions{display:flex;justify-content:center;margin-top:4px}
.t10-brand-h{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(28px,3.6vw,44px);line-height:1.15;color:#fff;margin:0 0 8px}
.t10-brand-h em{font-style:normal;color:var(--gold-300,#D4AF37)}
.t10-brand-lede{margin:22px auto 8px;max-width:620px;color:rgba(230,239,247,.86);font-size:15px;line-height:1.65}
.t10-congrats{margin-top:26px !important;font-family:var(--font-display),sans-serif;font-weight:700;color:var(--gold-400,#E4C97A) !important;font-size:18px}
.t10-photo{margin:30px auto 0;max-width:760px}
.t10-photo img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.t10-photo figcaption{margin-top:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700}

/* ============================================================
   AGX · 3-day tabbed programme (Malta Maritime Expo 2026)
   ============================================================ */
.agx { max-width: 1100px; margin: 0 auto; }
.agx-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-bottom: 34px; }
.agx-tab {
  display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
  padding: 18px 22px; min-height: 76px;
  background: #FFFFFF; border: 1px solid rgba(0,32,83,0.12); border-radius: 18px;
  cursor: pointer; text-align: left;
  font-family: var(--font-display), 'Plus Jakarta Sans', sans-serif;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.3s ease;
}
.agx-tab .agx-tab-day { font-weight: 800; font-size: 18px; color: #002053; letter-spacing: -0.01em; }
.agx-tab .agx-tab-date { font-size: 13px; font-weight: 600; color: #5A6679; }
.agx-tab .agx-tab-note { font-size: 12px; font-weight: 600; color: #0A4D8C; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 4px; }
.agx-tab:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,18,50,0.10); }
.agx-tab.is-active {
  background: linear-gradient(150deg, #1558A9 0%, #0A4D8C 48%, #001D4F 100%);
  border-color: transparent;
  box-shadow: 0 14px 34px rgba(0,29,79,0.32);
}
.agx-tab.is-active .agx-tab-day { color: #FFFFFF; }
.agx-tab.is-active .agx-tab-date { color: #BDD9E4; }
.agx-tab.is-active .agx-tab-note { color: #E4C97A; }

.agx-panel { display: none; }
.agx-panel.is-active { display: block; animation: agxFade 0.35s ease; }
@keyframes agxFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.agx-strip {
  display: flex; align-items: baseline; gap: 22px; flex-wrap: wrap;
  background: #FFFFFF; border: 1px solid rgba(0,32,83,0.08); border-radius: 16px;
  padding: 20px 26px; margin-bottom: 14px;
}
.agx-strip .agx-time {
  font-family: var(--font-display), sans-serif; font-variant-numeric: tabular-nums;
  font-weight: 800; font-size: 15px; color: #0A4D8C; white-space: nowrap; min-width: 118px;
}
.agx-strip .agx-strip-body { flex: 1; min-width: 240px; }
.agx-strip h4 { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 17px; color: #0A1A3D; margin: 0; }
.agx-strip p { font-size: 14.5px; line-height: 1.6; color: #5A6679; margin: 4px 0 0; }
.agx-chip {
  margin-left: auto; align-self: center;
  font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #0A4D8C; background: #E2F0F9; border-radius: 999px; padding: 7px 14px; white-space: nowrap;
}
.agx-strip.agx-tint { background: linear-gradient(135deg, #EAF3FA 0%, #F6FAFD 100%); }
.agx-strip.agx-gala {
  background: linear-gradient(135deg, #0A2240 0%, #0A346F 60%, #1558A9 130%);
  border: 0;
}
.agx-strip.agx-gala h4 { color: #E4C97A; }
.agx-strip.agx-gala p { color: rgba(255,255,255,0.78); }
.agx-strip.agx-gala .agx-time { color: #BDD9E4; }
.agx-strip.agx-gala .agx-chip { background: rgba(228,201,122,0.16); color: #E4C97A; }

.agx-stages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 4px 0 14px; align-items: start; }
.agx-stage { background: #FFFFFF; border: 1px solid rgba(0,32,83,0.08); border-radius: 18px; overflow: hidden; }
.agx-stage-head { padding: 20px 22px 16px; border-bottom: 1px solid rgba(0,32,83,0.07); }
.agx-stage-head .agx-stage-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #0A4D8C;
}
.agx-stage-head .agx-stage-tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #C9A24B; }
.agx-stage-head h4 { font-family: var(--font-display), sans-serif; font-weight: 800; font-size: 17.5px; color: #0A1A3D; margin: 8px 0 0; line-height: 1.25; }
.agx-stage-head .agx-stage-sp { display: block; margin-top: 6px; font-size: 12.5px; color: #5A6679; }
.agx-block {
  padding: 14px 22px 4px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #93A0B4;
}
.agx-ses { display: flex; gap: 14px; align-items: baseline; padding: 13px 22px; border-top: 1px solid rgba(0,32,83,0.05); }
.agx-ses:first-of-type { border-top: 0; }
.agx-ses .t {
  font-family: var(--font-display), sans-serif; font-variant-numeric: tabular-nums;
  font-weight: 700; font-size: 13px; color: #0A4D8C; min-width: 96px;
}
.agx-ses .n { font-size: 15px; font-weight: 600; color: #0A1A3D; line-height: 1.45; flex: 1; min-width: 0; }
.agx-ses .n small { display: block; font-size: 13px; font-weight: 400; color: #5A6679; margin-top: 2px; }
.agx-note { margin-top: 20px; font-size: 13.5px; color: #5A6679; text-align: center; }

@media (max-width: 1020px) {
  .agx-stages { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .agx-tabs { grid-template-columns: 1fr; }
  .agx-strip .agx-time { min-width: 0; }
}

/* ============================================================
   SPOTLIGHT · landing teasers (Awards + Startup Pitch)
   ============================================================ */
.spotlight { background: #FFFFFF; padding: 104px 0; }
.spot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.spot-card {
  position: relative; overflow: hidden;
  border-radius: 26px; padding: 52px 48px;
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px;
  min-height: 360px;
}
.spot-card::after {
  content: ""; position: absolute; right: -120px; top: -120px;
  width: 380px; height: 380px; border-radius: 50%;
  pointer-events: none;
}
.spot-awards { background: linear-gradient(160deg, #1558A9 0%, #0A4D8C 45%, #001D4F 100%); }
.spot-awards::after { background: radial-gradient(circle, rgba(166,205,231,0.22) 0%, transparent 65%); }
.spot-startup { background: linear-gradient(160deg, #E2F0F9 0%, #F4F9FD 55%, #FFFFFF 100%); border: 1px solid rgba(0,32,83,0.09); }
.spot-startup::after { background: radial-gradient(circle, rgba(21,88,169,0.10) 0%, transparent 65%); }

.spot-eyebrow {
  font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 10px;
}
.spot-eyebrow::before { content: ""; width: 26px; height: 2px; border-radius: 2px; }
.spot-awards .spot-eyebrow { color: #E4C97A; }
.spot-awards .spot-eyebrow::before { background: #E4C97A; }
.spot-startup .spot-eyebrow { color: #0A4D8C; }
.spot-startup .spot-eyebrow::before { background: #0A4D8C; }

.spot-card h3 {
  font-family: var(--font-display), 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.12; letter-spacing: -0.015em;
  margin: 0;
}
.spot-awards h3 { color: #FFFFFF; }
.spot-awards h3 em { font-style: normal; color: #E4C97A; }
.spot-startup h3 { color: #0A1A3D; }
.spot-startup h3 em {
  font-style: normal;
  background: linear-gradient(180deg, #1558A9 0%, #0A4D8C 50%, #001D4F 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.spot-card p { font-size: 16px; line-height: 1.7; margin: 0; max-width: 54ch; }
.spot-awards p { color: rgba(255,255,255,0.82); }
.spot-startup p { color: #5A6679; }
.spot-cta-row { margin-top: auto; padding-top: 10px; }

@media (max-width: 920px) {
  .spot-grid { grid-template-columns: 1fr; }
  .spot-card { min-height: 0; padding: 42px 34px; }
  .spot-card h3 { max-width: 100%; }
  .spot-logo { position: static; height: 88px; max-width: 70%; object-position: left center; margin-bottom: 12px; }
  .spotlight { padding: 72px 0; }
}
/* Spotlight logo + meta list (wiz-4 copy) */
.spot-card { padding-top: 56px; }
.spot-logo { position: absolute; top: 36px; right: 44px; height: 118px; width: auto; max-width: 46%; object-fit: contain; object-position: right top; margin: 0; z-index: 2; opacity: 1; }
.spot-card h3 { max-width: 66%; }
.spot-awards .spot-logo { filter: brightness(0) invert(1); }
.spot-logo-dark { filter: brightness(0) saturate(100%) invert(11%) sepia(64%) saturate(1600%) hue-rotate(196deg); }
.spot-meta { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.spot-meta li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.45; }
.spot-meta li::before { content: ""; position: absolute; left: 0; top: 6px; width: 9px; height: 9px; border-radius: 2px; transform: rotate(45deg); }
.spot-awards .spot-meta li { color: rgba(255,255,255,.86); }
.spot-awards .spot-meta li::before { background: var(--gold-300, #E4C97A); }
.spot-startup .spot-meta li { color: #5A6679; }
.spot-startup .spot-meta li::before { background: #1558A9; }
.spot-cta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.spot-grid-sub { margin-top: 26px; }
.spot-mini { background: linear-gradient(150deg, #E2F0F9 0%, #EAF4FB 55%, #F4F9FD 100%); border: 1px solid #C7DEF0; border-radius: 20px; padding: 34px 40px; display: flex; flex-direction: column; gap: 11px; box-shadow: 0 22px 48px -32px rgba(0,32,83,.45); min-height: 0; }
.spot-mini .spot-eyebrow { color: #0A4D8C; }
.spot-mini .spot-eyebrow::before { background: #0A4D8C; }
.spot-mini h4 { font-family: var(--font-display), 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 23px; line-height: 1.15; letter-spacing: -0.01em; color: #0B1F3A; margin: 2px 0 0; }
.spot-mini p { color: #5A6679; font-size: 15px; line-height: 1.65; margin: 0; max-width: 56ch; }
.spot-mini-link { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: 8px; color: #114f99; font-weight: 700; font-size: 15px; text-decoration: none; transition: gap .2s ease; }
.spot-mini-link:hover { gap: 13px; }
.spot-mini-link svg { width: 16px; height: 16px; }
.pill-ghost-light { background: transparent; border: 1.5px solid currentColor; }
.spot-awards .pill-ghost-light { color: #fff; }
.spot-startup .pill-ghost-light { color: #0A4D8C; }

/* ============================================================
   COUNTDOWN FINISHED · "See all events" handoff
   ============================================================ */
.cd-finish {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: 10px 0 4px; width: 100%;
}
.cd-finish-note {
  font-family: var(--font-display), sans-serif;
  font-size: 14px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: #BDD9E4;
}
.cd-finish-btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 17px 38px; border-radius: 999px;
  background: linear-gradient(135deg, #A6CDE7 0%, #4F86C6 52%, #1558A9 100%);
  color: #FFFFFF; text-decoration: none;
  font-family: var(--font-display), sans-serif; font-weight: 700; font-size: 16px;
  box-shadow: 0 14px 36px rgba(21,88,169,0.4), inset 0 1px 0 rgba(255,255,255,0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.cd-finish-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(21,88,169,0.5), inset 0 1px 0 rgba(255,255,255,0.35); }
.cd-finish-btn svg { width: 18px; height: 18px; }


/* Upcoming cards: real event banners */
.upcoming-media { display: block; position: relative; overflow: hidden; background: var(--ocean-900); }
.upcoming-media img { width: 100%; height: 100%; object-fit: cover; object-position: left center; display: block; transition: transform .35s ease; }
.upcoming-media-main img { object-position: center; }
.upcoming-card-main .upcoming-media { aspect-ratio: auto; }
.upcoming-card-main .upcoming-media img { height: auto; }
.upcoming-card-teaser .upcoming-media { aspect-ratio: 16/10; }
.upcoming-tba-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; background: linear-gradient(150deg, #0a2240, #114f99); color: rgba(255,255,255,.92); font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 15px; line-height: 1.4; letter-spacing: .01em; }
.upcoming-card:hover .upcoming-media img { transform: scale(1.03); }


/* ============================================================
   EVT · subpage banner hero: date overlaid on banner + solid countdown bar + anchor nav
   Per-event colour via --evt / --evt2. 1:1 with client mockup.
   ============================================================ */
.evt-hero{position:relative}
.evt-banner-img{display:block;width:100%;height:auto}

/* date · city · type · overlaid on the bottom of the banner */
.evt-banner-meta{
  position:absolute;left:0;right:0;bottom:clamp(14px,4vw,44px);z-index:3;
  display:flex;align-items:center;justify-content:center;gap:clamp(9px,1.4vw,16px);flex-wrap:wrap;
  font-family:var(--font-display),'Plus Jakarta Sans',sans-serif;
  font-weight:700;font-size:clamp(12px,1.15vw,16px);letter-spacing:.22em;text-transform:uppercase;
  color:#fff;text-shadow:0 2px 14px rgba(0,8,24,.6),0 1px 3px rgba(0,8,24,.5);
  padding:0 16px;pointer-events:none;
}
.evt-banner-meta .sep{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold,#C9A24B);flex:none;box-shadow:0 0 8px rgba(0,0,0,.3)}

/* solid event-colour countdown bar */
.evt-cdbar{background:linear-gradient(180deg,var(--evt,#19294f) 0%, var(--evt2,#101c3b) 100%);padding:18px 0;color:#fff;overflow:hidden;margin-top:12px}
.evt-cd{display:flex;align-items:flex-end;justify-content:center;gap:clamp(14px,3.2vw,42px);transition:opacity .42s ease, transform .42s ease, filter .42s ease}
.evt-cd.is-out{opacity:0;transform:translateY(-16px);filter:blur(7px);pointer-events:none}
.evt-cd-u{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:52px}
.evt-cd-u .n{
  font-family:var(--font-display),'Plus Jakarta Sans',sans-serif;
  font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0;
  font-size:clamp(26px,3.1vw,38px);line-height:1;color:#fff;letter-spacing:.01em;
}
.evt-cd-u .n.is-tick{animation:evtTick .19s ease-out}
@keyframes evtTick{0%{opacity:0;transform:translateY(9px)}100%{opacity:1;transform:none}}
.evt-cd-u .l{font-family:var(--font-display),sans-serif;font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.evt-cd-sep{font-family:var(--font-display),sans-serif;font-weight:700;font-size:clamp(20px,2.3vw,28px);color:rgba(255,255,255,.3);align-self:center;transform:translateY(-8px)}

/* concluded · final seconds fly away, then button springs in */
.evt-cd-finish{display:inline-flex;flex-direction:column;align-items:center;gap:11px;text-decoration:none;animation:evtBtnIn .56s cubic-bezier(.2,.8,.25,1.25) both}
@keyframes evtBtnIn{0%{opacity:0;transform:translateY(16px) scale(.85)}60%{opacity:1;transform:translateY(-2px) scale(1.03)}100%{opacity:1;transform:none}}
.evt-cd-finish-label{font-family:var(--font-display),sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.evt-cd-finish-btn{
  display:inline-flex;align-items:center;gap:10px;padding:13px 30px;border-radius:999px;
  background:linear-gradient(135deg,#A6CDE7 0%,#4F86C6 52%,#1558A9 100%);
  color:#fff;font-family:var(--font-display),sans-serif;font-weight:700;font-size:14.5px;
  box-shadow:0 12px 30px rgba(21,88,169,.4), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.evt-cd-finish:hover .evt-cd-finish-btn{transform:translateY(-2px);box-shadow:0 16px 38px rgba(21,88,169,.5), inset 0 1px 0 rgba(255,255,255,.35)}
.evt-cd-finish-btn svg{width:17px;height:17px}

/* anchor nav — sticky by design: pinned directly under the also-sticky
   `.topbar` (position:sticky !important;top:0 — see the NAV rule above) so
   it stays reachable while a visitor scrolls through a long event page.
   On the conference template (malta-show-2025/2026) the frozen countdown
   bar (.evt-cdbar-frozen) sticks first, directly under `.topbar`, so this
   nav's `top` offset needs to clear BOTH bars — that extra offset is added
   on top of the 73px below via the `--cdh` custom property (see header.php
   and single-event.php's `--cdh` script). On the road-show template there
   is no frozen countdown bar, so `--cdh` is never set and this nav sticks
   right at 73px, directly under `.topbar`.
   A previous attempt to fix a "sticky nav disappears behind the bar above
   it" glitch removed this nav's stickiness entirely — that was the wrong
   fix (confirmed against the client's original request and this file's/
   header.php's own docblocks): the real cause was `--cdh` going stale after
   the initial measurement (see single-event.php's `--cdh` script, now
   fixed with a ResizeObserver), not the nav being sticky in the first
   place. Restored. */
.evt-anchnav{position:sticky;top:73px;z-index:35;background:#F5F7F9;border-bottom:1px solid rgba(0,32,83,.08);margin-top:12px;box-shadow:0 4px 14px rgba(0,32,83,.06)}
.evt-anchnav .container{display:flex;align-items:center;gap:clamp(6px,1.2vw,18px)}
.evt-anch-brand{flex:0 0 auto;display:flex;align-items:center;padding:8px 0;margin-right:8px}
.evt-anch-brand img{height:34px;width:auto;display:block}
.evt-anch-links{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:clamp(2px,1.2vw,14px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0}
.evt-anch-links::-webkit-scrollbar{display:none}
.evt-anch-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#4F86C6 0%,#1558A9 55%,#0A346F 100%);color:#fff !important;font-family:var(--font-display),'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:13px;padding:9px 16px;border-radius:999px;text-decoration:none;box-shadow:0 10px 22px -10px rgba(10,47,110,.55);transition:transform .2s,box-shadow .2s}
.evt-anch-cta:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px rgba(10,47,110,.7)}
.evt-anch-cta svg{width:14px;height:14px}
@media (max-width:900px){.evt-anch-brand img{height:28px}.evt-anch-cta{padding:8px 12px;font-size:12px}.evt-anchnav{top:64px}}
.evt-anchnav a{
  position:relative;white-space:nowrap;text-decoration:none;
  font-family:var(--font-display),'Plus Jakarta Sans',sans-serif;
  font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ocean-900,#002053);padding:17px 18px;transition:color .2s ease;
}
.evt-anchnav a::after{content:"";position:absolute;left:18px;right:18px;bottom:11px;height:2px;border-radius:2px;background:var(--gold,#C9A24B);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.evt-anchnav a:hover::after{transform:scaleX(1)}

/* ============================================================
   MALTA 2025 · book hotel, guest of honour, sponsorship, speaker placeholder
   ============================================================ */
.m25-hotel-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}
.m25-hotel-wrap > div:first-child{display:flex;flex-direction:column;justify-content:center}
.m25-hotel-wrap > div:last-child{display:flex;flex-direction:column;gap:14px;justify-content:center}
.m25-hotel-wrap > div:last-child{display:flex;flex-direction:column;gap:14px}
.m25-hotel-logo{height:60px;width:auto;margin-bottom:18px;object-fit:contain;object-position:left center}
.m25-hotel-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.m25-hcar{margin-top:8px;overflow:hidden;border-radius:12px;position:relative;max-width:560px}
.m25-hcar::before,.m25-hcar::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:2;pointer-events:none}
.m25-hcar::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.m25-hcar::after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.m25-hcar-track{display:flex;gap:12px;width:max-content;animation:m25hcar 48s linear infinite}
.m25-hcar:hover .m25-hcar-track{animation-play-state:paused}
.m25-hcar-slide{flex:0 0 auto;width:280px}
.m25-hcar-slide img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;display:block}
@keyframes m25hcar{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
@media(prefers-reduced-motion:reduce){.m25-hcar-track{animation:none}}
.m25-hotel-photos .ph{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,#dfe8f0,#f3f7fa);display:flex;align-items:center;justify-content:center;color:#90a0b5;font-size:11px;font-weight:600;text-align:center;padding:6px}
@media(max-width:860px){.m25-hotel-wrap{grid-template-columns:1fr}}
.m25-hotel-video{height:200px;border-radius:14px;background:linear-gradient(135deg,#e6edf4,#f4f8fb);display:flex;align-items:center;justify-content:center;color:#90a0b5;font-size:12px;font-weight:700;margin-bottom:12px;position:relative}
.m25-hotel-video:has(iframe){height:auto;background:none;max-width:560px}
.m25-hotel-video::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(21,88,169,.16);box-shadow:0 0 0 8px rgba(21,88,169,.07)}
.agx-facts{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.agx-facts li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-500);font-size:14px;line-height:1.55}
.agx-facts li svg{width:17px;height:17px;color:var(--gold);flex:none;margin-top:2px}
.agx-facts li strong{color:var(--ink-900);font-weight:700}
.m25-hotel-map{margin-top:12px;border-radius:14px;overflow:hidden;height:200px;border:1px solid rgba(0,32,83,.1)}
.m25-hotel-map-wide{margin-top:28px;height:260px}
.m25-hotel-map iframe{width:100%;height:100%;border:0;display:block}
.m25-hotel-offer{display:flex;gap:11px;align-items:flex-start;margin-top:16px;max-width:48ch;padding:13px 16px;border-radius:12px;background:linear-gradient(135deg,#f6ecd2,#fbf7ec);border:1px solid rgba(201,162,75,.35)}
.m25-hotel-offer svg{width:19px;height:19px;color:#a9842f;flex:none;margin-top:1px}
.m25-hotel-offer span{font-size:13.5px;line-height:1.5;color:#6a5a30;font-weight:600}
.m25-gallery-ph{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:12px}
.m25-gallery-ph .ph{border-radius:14px;background:linear-gradient(135deg,#dfe8f0,#f3f7fa);display:flex;align-items:center;justify-content:center;color:#90a0b5;font-size:12px;font-weight:700}
.m25-gallery-ph .g-feature{grid-column:span 2;grid-row:span 2}
@media(max-width:760px){.m25-gallery-ph{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px}.m25-gallery-ph .g-feature{grid-column:span 2;grid-row:span 2}}

.m25-goh{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;align-items:center;background:linear-gradient(150deg,#0a2240 0%,#0a346f 60%,#1558A9 130%);border-radius:24px;padding:40px}
.m25-goh-photo{aspect-ratio:1;border-radius:18px;background:linear-gradient(180deg,#cfe2f2,#7fa9d8);position:relative;overflow:hidden;max-width:300px}
.m25-goh-photo:has(img)::before,.m25-goh-photo:has(img)::after{display:none}
.m25-goh-photo::before{content:"";position:absolute;left:50%;top:27%;transform:translateX(-50%);width:32%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.5)}
.m25-goh-photo::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60%;height:44%;border-radius:50% 50% 0 0;background:rgba(255,255,255,.5)}
.m25-goh .eyebrow{color:#E4C97A}
.m25-goh h3{font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.6vw,34px);margin:10px 0 4px;color:#fff}
.m25-goh .role{color:#BDD9E4;font-weight:600;margin-bottom:16px}
.m25-goh p{color:rgba(255,255,255,.84);font-size:14.5px;line-height:1.7;margin:0 0 10px}
@media(max-width:760px){.m25-goh{grid-template-columns:1fr;padding:28px}.m25-goh-photo{max-width:200px}}

.mt-spk-ph-photo{background:linear-gradient(180deg,#cfe2f2,#7fa9d8);position:relative}
.mt-spk-ph-photo::before{content:"";position:absolute;left:50%;top:30%;transform:translateX(-50%);width:34%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.55)}
.mt-spk-ph-photo::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:62%;height:42%;border-radius:50% 50% 0 0;background:rgba(255,255,255,.55)}

.m25-spon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.m25-spon{background:#fff;border:1px solid rgba(0,32,83,.1);border-radius:16px;padding:26px 18px;text-align:center;display:flex;flex-direction:column;gap:13px;align-items:center;min-height:150px}
.m25-spon h4{font-family:var(--font-display);font-weight:700;font-size:15px;color:#0a1a3d;margin:0;line-height:1.25}
.m25-spon-ic{width:50px;height:50px;border-radius:50%;border:1.5px solid #1558A9;display:flex;align-items:center;justify-content:center;color:#1558A9}
.m25-spon-ic svg{width:22px;height:22px}
.m25-spon .st{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:auto}
.m25-spon .st.av{color:#1558A9}
.m25-spon .st.ex{color:#C9A24B}
.m25-spon .st.so{color:#8893a5}
@media(max-width:900px){.m25-spon-grid{grid-template-columns:repeat(2,1fr)}}

.m25-note{text-align:center;color:#5A6679;font-size:13.5px;margin-top:22px}
.m25-top-logos{display:flex;align-items:stretch;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.m25-top-logos .ph{flex:1 1 0;max-width:280px;height:120px;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(0,12,38,.22);display:flex;align-items:center;justify-content:center;padding:18px 26px}
.m25-top-logos .ph img{width:100%;height:100%;max-width:none;object-fit:contain;display:block}

/* Malta 2025 completeness pass · #films (aftermovie + secondary videos grid).
   Main aftermovie gets its own centred, capped-width frame; the secondary
   films (cultural/technical tour videos) sit in an auto-fit grid below,
   reusing .mt-aftermovie's own 16:9 frame (see mt.css) but with its default
   margin-top zeroed out since the grid's own `gap` already spaces them. */
.m25-mainfilm{max-width:900px;margin:38px auto 0;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0A1A3D;box-shadow:0 24px 60px rgba(0,18,50,.28)}
.m25-mainfilm iframe{width:100%;height:100%;border:0;display:block}
.mw-films{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.mw-films .mt-aftermovie{margin:0}

/* Malta 2025 · agenda detail: parallel zones, pass tags, sponsor/video slots */
.agx-parallel-note{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display),sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#1558A9;background:#EAF1F9;border:1px solid rgba(21,88,169,.18);border-radius:999px;padding:8px 16px;margin-bottom:18px}
.agx-parallel-note::before{content:"";width:8px;height:8px;border-radius:50%;background:#1558A9}
.agx-stages-3{grid-template-columns:repeat(3,1fr)}
.agx-stages-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.agx-stages-3,.agx-stages-2{grid-template-columns:1fr}}
.agx-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.agx-pass{font-family:var(--font-display),sans-serif;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.agx-pass.admiral{color:#8a6a1e;background:linear-gradient(135deg,#f6ecd2,#fbf6e8);border:1px solid rgba(201,162,75,.4)}
.agx-spon-slot{font-size:11.5px;font-weight:700;letter-spacing:.05em;color:#7c8aa0;border:1px dashed rgba(124,138,160,.5);border-radius:8px;padding:5px 12px;background:#f7f9fb}
.agx-spon-tile{display:inline-flex;align-items:center;justify-content:center;height:88px;width:190px;padding:8px 14px;background:#fff;border:1px solid rgba(0,32,83,.1);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,32,83,.05)}
.agx-spon-tile img{max-height:100%;max-width:100%;width:auto;object-fit:contain;display:block}
.agx-media{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.agx-media-ph{flex:1 1 160px;min-width:140px;aspect-ratio:16/9;border-radius:10px;background:linear-gradient(135deg,#e6edf4,#f4f8fb);border:1px solid rgba(0,32,83,.08);display:flex;align-items:center;justify-content:center;position:relative}
.agx-media-ph span{font-size:11px;font-weight:700;color:#90a0b5;letter-spacing:.04em}
.agx-media-ph::before{content:"";position:absolute;left:14px;top:14px;width:24px;height:24px;border-radius:50%;background:rgba(21,88,169,.14);box-shadow:0 0 0 5px rgba(21,88,169,.06)}
.agx-cta{margin-top:14px}
.pill-sm{padding:9px 18px;font-size:13px}

/* ============================================================
   SMART PORT · Technical Tour (Option C — navy immersive)
   ============================================================ */
.sp-tour-c{background:linear-gradient(160deg,#001D4F 0%,#0A2F6E 60%,#01204F 100%);color:#fff;padding:54px 44px;border-radius:28px;box-shadow:0 30px 80px rgba(2,15,38,.35);position:relative;overflow:hidden}
.sp-tour-c::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 12% 10%,rgba(201,162,75,.14),transparent 70%);pointer-events:none}
.sp-tour-c > *{position:relative}
.sp-tour-c-intro h2{color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.05;margin:12px 0 14px;letter-spacing:-.01em}
.sp-tour-c-intro h2 em{color:var(--gold-500);font-style:normal}
.sp-tour-c-intro p{color:rgba(255,255,255,.82);font-size:15.5px;line-height:1.7;max-width:52ch;margin:0}
.sp-tour-c-intro .eyebrow{color:var(--gold-500);font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.sp-tour-c-top{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;align-items:center;margin-bottom:26px}
.sp-tour-c-main{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.35);text-decoration:none;display:block}
.sp-tour-c-main img{width:100%;height:100%;object-fit:cover;display:block}
.sp-tour-c-bottom{display:grid;grid-template-columns:.62fr 1.38fr;gap:16px;align-items:stretch}
.sp-tour-c-reel{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;text-decoration:none;display:block}
.sp-tour-c-reel img{width:100%;height:100%;object-fit:cover;display:block}
.sp-tour-c-group{position:relative;border-radius:14px;overflow:hidden}
.sp-tour-c-group img{width:100%;height:100%;object-fit:cover;display:block}
/* thanks band — full width: big logo left, large copy right */
.sp-tour-c-thanks-band{margin-top:24px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.sp-tour-c-tb-logo{background:#fff;border-radius:14px;padding:22px 30px;height:132px;width:300px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 14px 36px rgba(0,0,0,.28)}
.sp-tour-c-tb-logo img{max-height:100%;max-width:100%;object-fit:contain}
.sp-tour-c-tb-copy p{color:#fff;font-size:26px;line-height:1.45;margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}
.sp-tour-c-tb-copy p strong{color:var(--gold-500);font-weight:700}
@media(max-width:820px){
  .sp-tour-c-thanks-band{grid-template-columns:1fr;gap:20px;text-align:center;justify-items:center}
  .sp-tour-c-tb-logo{width:260px;height:112px}
  .sp-tour-c-tb-copy p{font-size:21px}
}
@media(max-width:960px){
  .sp-tour-c{padding:40px 24px}
  .sp-tour-c-top{grid-template-columns:1fr;gap:24px}
  .sp-tour-c-bottom{grid-template-columns:1fr 1fr;gap:12px}
  .sp-tour-c-card{grid-column:1/-1}
}
@media(max-width:560px){
  .sp-tour-c-bottom{grid-template-columns:1fr}
}

   ============================================================ */
.sp-tour-video{max-width:900px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(0,12,38,.22);aspect-ratio:16/9;background:#0a1a3d}
.sp-tour-video iframe{width:100%;height:100%;border:0;display:block}
.sp-tour-thanks{max-width:760px;margin:26px auto 0;text-align:center}
.sp-tour-thanks-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:14px 26px;box-shadow:0 10px 28px rgba(0,12,38,.10);margin-bottom:18px}
.sp-tour-thanks-logo img{height:46px;width:auto;display:block}
.sp-tour-thanks p{font-family:var(--font-display);font-weight:600;font-size:17px;color:#0a1a3d;line-height:1.55}
.sp-tour-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;max-width:980px;margin:26px auto 0;align-items:stretch}
.sp-tour-short{border-radius:16px;overflow:hidden;background:#0a1a3d;aspect-ratio:9/16;max-height:420px;box-shadow:0 14px 36px rgba(0,12,38,.2)}
.sp-tour-short iframe{width:100%;height:100%;border:0;display:block}
.sp-tour-photo{border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(0,12,38,.2)}
.sp-tour-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){.sp-tour-grid{grid-template-columns:1fr}.sp-tour-short{max-height:none;aspect-ratio:9/16;max-width:280px;margin:0 auto}}

.sp-films{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
.sp-film{margin:0}
.sp-film-frame{border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#0a1a3d;box-shadow:0 14px 36px rgba(0,12,38,.2)}
.sp-film-frame iframe{width:100%;height:100%;border:0;display:block}
/* YouTube thumbnail link (used instead of iframe when embed is restricted) */
.yt-link{position:relative;display:block;width:100%;height:100%;text-decoration:none;overflow:hidden}
.yt-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.yt-link:hover img{transform:scale(1.04)}
.yt-link::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,18,38,.08) 0%,rgba(0,18,38,.45) 100%);pointer-events:none;transition:background .25s ease}
.yt-link:hover::before{background:linear-gradient(180deg,rgba(0,18,38,.1) 0%,rgba(0,18,38,.3) 100%)}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.92);color:#0a1a3d;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px rgba(0,12,38,.4);transition:transform .25s ease, background .25s ease}
.yt-link:hover .yt-play{transform:translate(-50%,-50%) scale(1.08);background:#fff}
.yt-play svg{width:30px;height:30px;margin-left:4px}
.sp-film figcaption{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.04em;color:#0a1a3d;margin-top:12px;text-align:center}
@media(max-width:760px){.sp-films{grid-template-columns:1fr}}
.sp-collab{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 38px;max-width:560px;gap:18px}
.sp-collab-eyebrow{font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:#0A4D8C}
@keyframes spCollabPulse{0%{box-shadow:0 0 0 0 rgba(201,162,75,.6)}70%{box-shadow:0 0 0 14px rgba(201,162,75,0)}100%{box-shadow:0 0 0 0 rgba(201,162,75,0)}}
.sp-collab-frame{position:relative;padding:38px 70px;background:transparent;animation:spCollabFloat 5.4s ease-in-out infinite;will-change:transform}
@keyframes spCollabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.sp-collab-frame::before{content:"";position:absolute;inset:18px;background:#fff;border-radius:4px;z-index:-1;box-shadow:0 14px 36px rgba(10,47,110,.14), 0 4px 12px rgba(0,12,38,.05)}
.sp-collab-frame .br{display:none}
.sp-collab-frame .br-tl{top:0;left:0;border-right:0;border-bottom:0;animation-delay:.1s}
.sp-collab-frame .br-tr{top:0;right:0;border-left:0;border-bottom:0;animation-delay:.25s}
.sp-collab-frame .br-bl{bottom:0;left:0;border-right:0;border-top:0;animation-delay:.4s}
.sp-collab-frame .br-br{bottom:0;right:0;border-left:0;border-top:0;animation-delay:.55s}
@keyframes spCollabBracket{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
.sp-collab-frame img{display:block;width:auto;height:auto;max-height:100px;max-width:100%;object-fit:contain;position:relative;z-index:1}
.sp-collab-name{font-family:var(--font-display);font-weight:700;font-size:14.5px;color:#0a1a3d;letter-spacing:.01em;text-align:center}
/* GE static speaker cards (no bio, no modal) + tour thanks */
.mt-spk-static{cursor:default}
.mt-spk-static .mt-spk-photo{filter:saturate(.92)}
.ge-tour-thanks{display:flex;flex-direction:column;justify-content:center;gap:16px;background:linear-gradient(135deg,#EAF3FA 0%,#F6FAFD 100%);border-radius:16px;padding:32px 30px;border-left:3px solid #1558A9}
.ge-thanks-ic{width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid rgba(0,32,83,.1);display:flex;align-items:center;justify-content:center;color:#0A4D8C}
.ge-thanks-ic svg{width:26px;height:26px}
.ge-tour-thanks p{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.6;color:#0a1a3d;margin:0}
.ge-tour-thanks strong{color:#0A4D8C}
/* GE tour option B: video + port photo, navy thanks band below */
.ge-tour-row{display:grid;grid-template-columns:1fr 300px;gap:13px;align-items:stretch;max-width:980px;margin:0 auto}
.ge-tour-row .sp-tour-short{aspect-ratio:9/16;max-height:none}
.ge-tour-photo{border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(0,12,38,.16)}
.ge-tour-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ge-tour-band{max-width:980px;margin:20px auto 0;display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,#0A2240,#0A346F);border-radius:16px;padding:22px 32px;color:#fff;text-align:center}
.ge-band-ic{flex:none;width:46px;height:46px;border-radius:50%;background:rgba(228,201,122,.18);display:flex;align-items:center;justify-content:center;color:#E4C97A}
.ge-band-ic svg{width:24px;height:24px}
.ge-tour-band p{font-family:var(--font-display);font-weight:600;font-size:16px;margin:0;line-height:1.5}
.ge-tour-band strong{color:#E4C97A}

/* Malta 2025 · participants & exhibitors wall (logos auto-trimmed + normalized to uniform frames) */
/* Frames enlarged (6→5 cols, taller aspect-ratio, tighter padding) and the
   img rule switched from a forced width/height:100% stretch to
   max-width/max-height:100% + width/height:auto — the exact fix confirmed
   live in devtools: logos render at their natural size up to the frame's
   limit instead of being force-stretched into a flat 2:1 box, so they read
   noticeably bigger, especially on the 46-logo Malta Show 2026 wall. */
.m25-pt-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.m25-pt{background:#fff;border:1px solid rgba(0,32,83,.09);border-radius:14px;aspect-ratio:5/3;display:flex;align-items:center;justify-content:center;padding:12px 16px;box-shadow:0 3px 12px rgba(10,34,64,.05);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.m25-pt:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,34,64,.12);border-color:rgba(21,88,169,.28)}
.m25-pt img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
@media(max-width:1180px){.m25-pt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:920px){.m25-pt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.m25-pt{padding:12px}}
@media(max-width:560px){.m25-pt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.m25-pt{padding:10px}.m25-pt img{max-height:70px}}
@media(max-width:720px){.ge-tour-row{grid-template-columns:1fr}.ge-tour-row .sp-tour-short{max-width:280px;margin:0 auto}.ge-tour-band{flex-direction:column}}
@media (prefers-reduced-motion: reduce){
  .sp-collab-frame{animation:none}
  .sp-collab-frame .br{opacity:1;animation:none}
}

/* Collapsible panellist list inside agenda stage */
.agx-panel-collapse{border-top:1px solid rgba(0,32,83,0.05)}
.agx-panel-collapse:first-of-type{border-top:0}
.agx-panel-collapse summary{display:flex;gap:14px;align-items:baseline;padding:13px 22px;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s ease}
.agx-panel-collapse summary::-webkit-details-marker{display:none}
.agx-panel-collapse summary:hover{background:rgba(166,205,231,.18)}
.agx-panel-collapse summary .t{font-family:var(--font-display),sans-serif;font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:#0A4D8C;white-space:nowrap;min-width:96px}
.agx-panel-collapse summary .n{flex:1;font-size:15px;font-weight:600;color:#0A1A3D;line-height:1.45}
.agx-panel-collapse summary .n small{display:block;font-size:13px;font-weight:400;color:#5A6679;margin-top:2px}
.agx-panel-collapse .agx-chevron{flex:none;color:#0A4D8C;display:flex;align-items:center;justify-content:center;transition:transform .25s ease;align-self:center}
.agx-panel-collapse .agx-chevron svg{width:18px;height:18px}
.agx-panel-collapse[open] .agx-chevron{transform:rotate(180deg)}
.agx-panellists{list-style:none;margin:0;padding:6px 22px 18px 118px;display:flex;flex-direction:column;gap:8px}
.agx-panellists li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:9px 14px;background:linear-gradient(135deg,#EAF3FA 0%, #F6FAFD 100%);border-radius:10px;border-left:3px solid #1558A9;font-size:14px}
.agx-panellists li b{font-family:var(--font-display);font-weight:700;color:#0A1A3D}
.agx-panellists li span{color:#5A6679}
@media(max-width:680px){
  .agx-panellists{padding-left:22px}
  .agx-panel-collapse summary .t{min-width:0}
}

@media(max-width:680px){
  .evt-banner-meta{font-size:10.5px;letter-spacing:.12em;gap:8px;bottom:9px}
  .evt-cd-u{min-width:0}
  .evt-anchnav .container{justify-content:flex-start}
}


/* ============================================================
   AGZ/AGM · Agenda zone cards -> full-programme modal
   (Malta 2025; reusable for Malta 2026 Expo)
   ============================================================ */
.agz-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.agz{position:relative;text-align:left;cursor:pointer;background:#fff;border:1px solid rgba(0,32,83,.10);border-radius:20px;padding:24px 24px 22px;box-shadow:0 10px 30px rgba(0,18,50,.06);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s;overflow:hidden;font-family:inherit}
.agz::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;background:radial-gradient(120% 80% at 100% 0%,rgba(21,88,169,.06),transparent 55%);opacity:0;transition:opacity .3s}
.agz:hover{transform:translateY(-5px);box-shadow:0 26px 50px rgba(0,18,50,.16);border-color:rgba(21,88,169,.32)}
.agz:hover::after{opacity:1}
.agz-tag{display:inline-block;font-family:var(--font-display),sans-serif;font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0A4D8C;background:#E2F0F9;padding:6px 12px;border-radius:999px}
.agz h3{font-family:var(--font-display),sans-serif;font-weight:800;font-size:21px;color:#0A1A3D;margin:16px 0 6px;line-height:1.2;letter-spacing:-.01em}
.agz-loc{font-size:13.5px;color:#5A6679;display:flex;align-items:center;gap:7px;margin-bottom:18px}
.agz-loc svg{width:15px;height:15px;color:#1558A9;flex:none}
.agz-stat{display:flex;gap:20px;padding:16px 0 18px;border-top:1px solid #E2E6EC;border-bottom:1px solid #E2E6EC}
.agz-stat .s{display:flex;flex-direction:column}
.agz-stat .s b{font-family:var(--font-display),sans-serif;font-weight:800;font-size:19px;color:#002053;line-height:1}
.agz-stat .s span{font-size:11px;color:#7A8699;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:5px}
.agz-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:10px}
.agz-cluster{display:flex}
.agz-av{width:36px;height:36px;border-radius:50%;margin-left:-10px;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display),sans-serif;font-weight:700;font-size:12px;color:#fff;background:linear-gradient(150deg,#1558A9,#001D4F)}
.agz-av:first-child{margin-left:0}
.agz-av.more{background:#E2F0F9;color:#0A4D8C}
.agz-tbc{font-size:13px;color:#7A8699}
.agz-open{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display),sans-serif;font-weight:700;font-size:13px;color:#0A4D8C;white-space:nowrap}
.agz-arrow{position:absolute;top:20px;right:20px;width:34px;height:34px;border-radius:50%;border:1.5px solid #E2E6EC;display:flex;align-items:center;justify-content:center;color:#0A4D8C;transition:.28s}
.agz-arrow svg{width:16px;height:16px}
.agz:hover .agz-arrow{background:#002053;border-color:#002053;color:#fff}
.agx-media-vid{position:relative;flex:1 1 260px;min-width:220px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0A1A3D}
.agx-media-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.agm{position:fixed;inset:0;z-index:120;display:none;align-items:flex-end;justify-content:center}
.agm.open{display:flex}
.agm-back{position:absolute;inset:0;background:rgba(4,14,34,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.agm.open .agm-back{opacity:1}
.agm-dialog{position:relative;width:min(940px,100%);max-height:92vh;background:#EEF2F5;border-radius:26px 26px 0 0;display:flex;flex-direction:column;transform:translateY(40px);opacity:0;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .35s;box-shadow:0 -30px 80px rgba(0,10,30,.5)}
.agm.open .agm-dialog{transform:none;opacity:1}
@media(min-width:720px){.agm{align-items:center}.agm-dialog{border-radius:24px}}
.agm-head{position:relative;padding:26px 30px 22px;background:linear-gradient(150deg,#0A2240 0%,#0A346F 58%,#1558A9 130%);border-radius:26px 26px 0 0;color:#fff;overflow:hidden;flex:none}
.agm-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#C9A24B,transparent 70%)}
.agm-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.agm-tag{font-family:var(--font-display),sans-serif;font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#E4C97A;background:rgba(228,201,122,.16);padding:6px 12px;border-radius:999px}
.agm-head h3{font-family:var(--font-display),sans-serif;font-weight:800;font-size:26px;margin:14px 0 0;letter-spacing:-.01em;line-height:1.15;color:#fff}
.agm-meta{display:flex;gap:22px;margin-top:14px;flex-wrap:wrap}
.agm-meta .m{display:flex;flex-direction:column}
.agm-meta .m b{font-family:var(--font-display),sans-serif;font-weight:800;font-size:16px;color:#fff;line-height:1}
.agm-meta .m span{font-size:11px;color:#BDD9E4;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:6px}
.agm-partner{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.agm-partner>span{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#BDD9E4;font-weight:700}
.agm-logo{display:flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:9px;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.agm-logo img{height:22px;width:auto;display:block}
.agm-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:3}
.agm-close:hover{background:rgba(255,255,255,.26);transform:rotate(90deg)}
.agm-close svg{width:18px;height:18px}
.agm-body{overflow-y:auto;padding:28px 30px 36px;-webkit-overflow-scrolling:touch}
.agm-tl{position:relative;padding-left:30px}
.agm-tl::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#BDD9E4,#E2E6EC)}
.agm-itm{position:relative;padding:0 0 26px}
.agm-itm:last-child{padding-bottom:4px}
.agm-itm::before{content:"";position:absolute;left:-30px;top:5px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #1558A9;box-shadow:0 0 0 4px #EEF2F5}
.agm-itm.key::before{border-color:#002053}
.agm-itm.panel::before{border-color:#C9A24B;width:18px;height:18px;left:-31px}
.agm-itm.brk::before{border-color:#B0B9C6;background:#EEF2F5}
.agm-itm.work::before{border-color:#C9A24B}
.agm-time{font-family:var(--font-display),sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:13.5px;color:#0A4D8C}
.agm-type{display:inline-block;font-family:var(--font-display),sans-serif;font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-left:10px;vertical-align:middle}
.t-key{background:#E2F0F9;color:#0A4D8C}
.t-panel{background:rgba(201,162,75,.16);color:#94701f}
.t-brk{background:#EAEEF3;color:#7A8699}
.t-pitch{background:#002053;color:#E4C97A}
.t-open{background:#002053;color:#fff}
.t-work{background:rgba(201,162,75,.16);color:#94701f}
.agm-itm h4{font-family:var(--font-display),sans-serif;font-weight:800;font-size:17px;color:#0A1A3D;margin:9px 0 0;line-height:1.3}
.agm-itm .sub{font-size:14px;color:#5A6679;margin:5px 0 0;line-height:1.5}
.agm-panelcard{margin-top:14px;background:#fff;border:1px solid rgba(0,32,83,.09);border-left:3px solid #C9A24B;border-radius:14px;padding:16px 18px}
.agm-spk-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}
.agm-spk{display:flex;gap:11px;align-items:center}
.agm-av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display),sans-serif;font-weight:700;font-size:14px;color:#fff;background:linear-gradient(150deg,#1558A9,#001D4F)}
.agm-av.host{background:linear-gradient(150deg,#C9A24B,#9a7b2e)}
.agm-spk .nm{font-family:var(--font-display),sans-serif;font-weight:700;font-size:14px;color:#0A1A3D;line-height:1.2}
.agm-spk .ro{font-size:11.5px;color:#5A6679;margin-top:2px;line-height:1.3}
.agm-single{margin-top:12px}
@media(max-width:720px){.agz-zones{grid-template-columns:1fr}.agm-spk-row{grid-template-columns:1fr}.agm-head h3{font-size:22px}.agm-partner{display:none}}


/* Malta 2025 gallery — empty satellite slot (until client sends the 8 photos) */
.m25-gph{aspect-ratio:1/1;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#EAF3FA,#F6FAFD);border:1px dashed rgba(21,88,169,.28)}
.m25-gph span{font-family:var(--font-display),sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7A8699}


/* Malta 2025 gallery lightbox (self-contained; preview-safe) */
.m25lb{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;background:rgba(4,12,30,.92);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.m25lb.open{display:flex}
.m25lb-stage{position:relative;max-width:92vw}
.m25lb-stage img{display:block;max-width:92vw;max-height:86vh;width:auto;height:auto;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.m25lb-x{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:#fff;color:#0A1A3D;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .2s}
.m25lb-x:hover{transform:rotate(90deg)}
.m25lb-x svg{width:18px;height:18px}
.m25lb-prev,.m25lb-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}
.m25lb-prev{left:-62px}.m25lb-next{right:-62px}
.m25lb-prev:hover,.m25lb-next:hover{background:rgba(255,255,255,.32)}
.m25lb-prev svg,.m25lb-next svg{width:22px;height:22px}
@media(max-width:760px){.m25lb-prev{left:8px}.m25lb-next{right:8px}.m25lb-x{top:10px;right:10px}}
