/* =====================================================================
   eBay Baltic Export Summit 2026 — light theme per DESIGN.md
   Palette-locked: variables.scss tokens only. Market Sans 400/600.
   White is the page. Neutrals do the work. Brand colour = action or
   emphasis, ONE accent per section. Single 8px radius. 8px rhythm.
   ===================================================================== */

@font-face{
  font-family:"Market Sans"; font-weight:400; font-style:normal; font-display:swap;
  src:url("../fonts/MarketSans-Regular.woff") format("woff");
}
@font-face{
  font-family:"Market Sans"; font-weight:600; font-style:normal; font-display:swap;
  src:url("../fonts/MarketSans-SemiBold.woff") format("woff");
}

:root{
  /* brand (variables.scss) */
  --blue:#0968f6;        /* $color-b5 — primary action */
  --blue-hover:#0049b8;  /* $color-b6 */
  --blue-tint:#f5f9ff;   /* $color-b1 */
  --red:#F02D2D;         /* $color-r5 */
  --red-dark:#D50B0B;    /* $color-r6 */
  --yellow:#F7B100;      /* $color-y4 */
  --green:#3CC14E;       /* $color-k5 */
  --deep:#0A1C6B;        /* $blue — headlines / bands */
  /* neutrals */
  --white:#ffffff;
  --n1:#f7f7f7; --n2:#f5f5f5; --n3:#e5e5e5; --n4:#c7c7c7;
  --n5:#8f8f8f; --n6:#707070;
  --text:#41413F;        /* $color-text-black */
  --n8:#191919; --black:#000000;
  --error:#c4003a;
  /* system */
  --radius:8px;
  --nav-h:72px;
  --shadow:0 8px 24px rgba(25,25,25,.07);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  font-family:"Market Sans",Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.5;
  color:var(--text); background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ color:var(--blue-hover); }
:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; border-radius:2px; }
::selection{ background:var(--blue); color:var(--white); }

.container{ width:min(1150px,calc(100% - 48px)); margin-inline:auto; }
.container-wide{ width:min(1400px,calc(100% - 48px)); margin-inline:auto; }

/* ---------- type ---------- */
h1,h2,h3{ color:var(--n8); font-weight:600; }
.display{
  font-weight:600; text-transform:uppercase;
  line-height:.92; letter-spacing:-.02em; color:var(--deep);
}
.h-section{ font-size:clamp(28px,3.4vw,44px); line-height:1.08; letter-spacing:-.01em; }
.lead{ font-size:18px; color:var(--n6); max-width:62ch; margin-top:16px; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.12em;
  color:var(--blue); margin-bottom:16px;
}
.eyebrow::before{ content:""; width:24px; height:2px; background:var(--blue); }
.closing .eyebrow{ color:var(--white); }
.closing .eyebrow::before{ background:var(--white); }

/* split-text line mask */
.line{ overflow:hidden; }

/* ---------- buttons (landing tap-target deviation: 48/56px) ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 24px; border-radius:var(--radius);
  font-family:inherit; font-size:16px; font-weight:600; cursor:pointer;
  border:1px solid transparent;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
  white-space:nowrap;
}
.btn-lg{ height:56px; padding:0 32px; }
.btn-primary{ background:var(--blue); color:var(--white); }
.btn-primary:hover{ background:var(--blue-hover); color:var(--white); }
.btn-outline{ background:var(--white); color:var(--blue); border-color:var(--blue); }
.btn-outline:hover{ color:var(--blue-hover); border-color:var(--blue-hover); background:var(--blue-tint); }
.btn-white{ background:var(--white); color:var(--deep); }
.btn-white:hover{ background:var(--n2); color:var(--deep); }

/* ---------- nav ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100; height:var(--nav-h);
  background:var(--white);
  border-bottom:1px solid transparent; transition:border-color .3s ease;
}
.nav.scrolled{ border-bottom-color:var(--n3); }
.nav-inner{
  width:min(1400px,calc(100% - 48px)); margin-inline:auto; height:100%;
  display:flex; align-items:center; gap:28px;
}
.nav-brand{ display:flex; align-items:center; gap:12px; flex:none; }
.nav-brand img{ height:36px; width:auto; }
.nav-brand span{
  font-size:13px; font-weight:600; line-height:1.15; text-transform:uppercase;
  letter-spacing:.06em; color:var(--deep);
}
.nav-links{ display:flex; align-items:center; gap:26px; margin-left:auto; }
.nav-links a{ font-size:16px; color:var(--text); position:relative; padding:4px 0; }
.nav-links a:hover{ color:var(--blue); }
.nav-links a.on{ color:var(--blue); font-weight:600; }
.nav-links a.on::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background:var(--blue); border-radius:1px;
}
/* audience switch — Visitors | Sponsors */
.nav-switch{
  display:inline-flex; border:1px solid var(--n3); border-radius:var(--radius);
  overflow:hidden; background:var(--white); flex:none;
}
.nav-switch a{
  padding:10px 18px; font-size:14px; font-weight:600; color:var(--n6); background:var(--white);
}
.nav-switch a:hover{ color:var(--blue); }
.nav-switch a.current{ background:var(--deep); color:var(--white); pointer-events:none; }
.nav-toggle{ display:none; }

@media (max-width:1099px){
  .nav-inner{ gap:16px; }
  .nav-links{
    position:fixed; inset:var(--nav-h) 0 auto 0; z-index:99;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--white); border-bottom:1px solid var(--n3);
    padding:8px 24px 24px; display:none;
  }
  body.nav-open .nav-links{ display:flex; }
  .nav-links a{ padding:14px 0; width:100%; border-bottom:1px solid var(--n2); font-size:18px; }
  .nav-links a.on::after{ display:none; }
  .nav-switch{ margin-left:auto; }
  .nav-switch a{ padding:9px 12px; font-size:13px; }
  .nav-cta{ display:none; }
  .nav-toggle{
    display:block; width:44px; height:44px; border:0; background:none; cursor:pointer; position:relative; flex:none;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:""; position:absolute; left:10px; width:24px; height:2px; background:var(--n8);
    transition:transform .3s ease, top .3s ease, background .3s ease;
  }
  .nav-toggle span{ top:21px; }
  .nav-toggle span::before{ top:-7px; left:0; }
  .nav-toggle span::after{ top:7px; left:0; }
  body.nav-open .nav-toggle span{ background:transparent; }
  body.nav-open .nav-toggle span::before{ top:0; transform:rotate(45deg); }
  body.nav-open .nav-toggle span::after{ top:0; transform:rotate(-45deg); }
}
@media (max-width:480px){
  .nav-brand span{ display:none; }
}

/* ---------- sections ---------- */
.section{ padding:96px 0; }
.section.tinted{ background:var(--n1); }
.section-head{ max-width:760px; margin-bottom:48px; }
@media (max-width:767px){ .section{ padding:56px 0; } }

/* ---------- hero (white, editorial) ---------- */
.hero{ padding:calc(var(--nav-h) + 64px) 0 0; background:var(--white); }
.hero-date{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;
  font-size:15px; font-weight:600; color:var(--n8); margin-bottom:32px;
}
.dot{ width:10px; height:10px; border-radius:50%; display:inline-block; }
.dot-red{ background:var(--red); } .dot-blue{ background:var(--blue); }
.dot-yellow{ background:var(--yellow); } .dot-green{ background:var(--green); }
.hero-title{ font-size:clamp(52px,9.5vw,136px); }
.hero-line{ display:block; overflow:hidden; padding-bottom:.06em; }
.hero-line > span{ display:inline-block; }
.hero-tagwrap{ display:inline-block; }
.hero-tag{
  display:inline-block; vertical-align:super;
  font-size:clamp(14px,1.6vw,22px); letter-spacing:.08em; line-height:1;
  background:var(--blue); color:var(--white);
  padding:8px 14px; border-radius:var(--radius);
  transform:rotate(-8deg); margin-left:16px;
}
.hero-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:end; margin-top:40px;
}
.hero-sub{ font-size:clamp(17px,1.5vw,20px); color:var(--n6); max-width:52ch; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.hero-cue{
  margin:64px 0 0; padding-bottom:32px;
  font-size:13px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--n5);
}

/* ---------- sponsors hero panel (arena still) ---------- */
.hero-cols{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:48px; align-items:stretch;
}
.hero-copy{ min-width:0; }
.hero-cols .hero-title{ font-size:clamp(48px,6.8vw,104px); }
.hero-cols .hero-grid{ grid-template-columns:1fr; }
.hero-visual{
  position:relative; overflow:hidden; border-radius:var(--radius);
  background:radial-gradient(120% 120% at 72% 18%, #12309b 0%, var(--deep) 52%, #050e38 100%);
  min-height:520px;
  max-height:calc(100vh - var(--nav-h) - 150px); /* never overflow the fold */
  opacity:0; animation:heroVisualIn .9s ease .45s forwards;
}
@keyframes heroVisualIn{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .hero-visual{ opacity:1; animation:none; } }
.hero-arena{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform-origin:50% 40%;
  animation:heroArenaZoom 26s ease-in-out infinite alternate;
}
@keyframes heroArenaZoom{ from{ transform:scale(1); } to{ transform:scale(1.12); } }
@media (prefers-reduced-motion: reduce){ .hero-arena{ animation:none; } }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; gap:24px; }
  .hero-cols{ grid-template-columns:1fr; gap:32px; }
  .hero-visual{ min-height:380px; }
}

/* pre-hide the journey until the scrub owns it (kills the load flash) */
html.anim .route-path{ stroke-dashoffset:100; }
html.anim .route-cp, html.anim .route-chip,
html.anim .route-pin, html.anim .route-stamp, html.anim .parcel-wrap{ opacity:0; }

/* countdown — glass tiles under the CTAs */
.hero-count{ display:flex; gap:12px; margin-top:32px; }
.hc-cell{
  min-width:78px; padding:12px 14px; text-align:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.hc-num{ display:block; font-size:28px; font-weight:600; color:var(--white); line-height:1.1; font-variant-numeric:tabular-nums; }
.hc-lab{ display:block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-top:4px; }
@media (max-width:900px){ .hero-count{ flex-wrap:wrap; } }

/* ---------- visitors hero: pinned handshake stage ---------- */
/* Copy centered on top, hands meet centre-stage below it.
   CSS holds the FINAL met state (no-JS / reduced-motion default);
   the GSAP scrub drives hands in from the edges on capable setups. */
.hero-stage{
  height:100vh; min-height:640px; position:relative; overflow:hidden;
  padding:calc(var(--nav-h) + 24px) 0 0;
}
.hero-stage .container-wide{ text-align:center; position:relative; z-index:2; }
.hero-stage .hero-date{ justify-content:center; margin-bottom:28px; }
.hero-stage .hero-title{ font-size:clamp(40px,5.4vw,80px); }
.hero-stage .hero-grid{
  grid-template-columns:1fr; gap:0; margin-top:10px;
  justify-items:center;
}
.hero-stage .hero-sub{ font-size:16px; max-width:58ch; }
.hero-stage .hero-ctas{ margin-top:16px; }
.hero-stage .hero-sub{ max-width:62ch; }
.hero-stage .hero-ctas{ justify-content:center; margin-top:24px; }
.route-scene{ position:absolute; inset:0; z-index:3; pointer-events:none; }
/* full-bleed cinematic scene — the summit as a glowing destination.
   Copy floats over the calm left third; the journey plays across the sky. */
.hero-scene{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:58% 50%; z-index:0; transform-origin:50% 60%;
}
.hero-dark::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(100deg, rgba(4,10,40,.6) 0%, rgba(4,10,40,.44) 24%, rgba(4,10,40,.24) 44%, rgba(4,10,40,.08) 60%, transparent 74%),
    linear-gradient(0deg, rgba(4,10,40,.48) 0%, rgba(4,10,40,.2) 22%, transparent 42%);
}
.hero-dark{ display:flex; flex-direction:column; }
.hero-dark .container-wide{ text-align:left; margin-top:auto; margin-bottom:auto; padding-bottom:24px; }
.hero-cols-dark{
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,auto);
  justify-content:start; gap:110px; align-items:end; padding-left:4vw;
}
.hero-left{ min-width:0; }
.hero-right{
  display:flex; flex-direction:column; align-items:flex-start; gap:28px;
}
.hero-right .hero-ctas{ margin-top:0; }
.hero-right .hero-count{ margin-top:0; }
@media (max-width:900px){
  .hero-cols-dark{ grid-template-columns:1fr; padding-left:0; gap:24px; }
  .hero-right{ align-items:flex-start; }
}
.hero-dark .hero-date{ justify-content:flex-start; color:var(--white); padding-left:4vw; }
.hero-dark .hero-date span{ color:var(--white); }
.hero-dark .hero-title{ color:var(--white); font-size:clamp(52px,7.5vw,124px); }
.hero-dark .hero-grid{ justify-items:start; }
.hero-dark .hero-sub{ color:rgba(255,255,255,.85); text-align:left; max-width:52ch; margin-top:20px; }
.hero-dark .hero-ctas{ justify-content:flex-start; }
.hero-dark .btn-outline{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.75); }
.hero-dark .btn-outline:hover{ background:rgba(255,255,255,.12); color:var(--white); border-color:var(--white); }
.hero-dark .hero-cue{ color:rgba(255,255,255,.75); }
/* journey restyled for the night sky */
.hero-dark .route-path{ stroke:rgba(255,255,255,.65); opacity:.8; }
.hero-dark .route-pin svg path{ fill:var(--white); }
.hero-dark .route-pin svg circle{ fill:var(--deep); }
.hero-dark .parcel{ display:none; } /* the parcel becomes a travelling light packet */
.hero-dark .parcel-wrap{ width:20px; height:20px; }
.hero-dark .parcel-wrap::after{
  content:""; display:block; width:16px; height:16px; border-radius:50%;
  background:var(--white);
  box-shadow:0 0 16px 6px rgba(9,104,246,.95), 0 0 34px 14px rgba(9,104,246,.5);
}
.route-svg{ position:absolute; inset:0; width:100%; height:100%; z-index:4; }
.route-path{
  stroke:var(--deep); stroke-width:2.5; opacity:.45;
  stroke-dasharray:100; stroke-dashoffset:0; /* JS pulls to 100 and scroll draws it back in */
}
.route-chip{
  position:absolute; z-index:6; display:flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:10px 16px;
  font-size:14px; font-weight:600; color:var(--n8); white-space:nowrap;
}
.chip-1{ left:27.8%; top:83.5%; transform:translate(-50%,-170%); }
.chip-2{ left:52.8%; top:87.2%; transform:translate(-50%,60%); }
.chip-3{ left:70.5%; top:77.3%; transform:translate(-50%,-190%); }
.route-pin{ position:absolute; z-index:6; left:79.9%; top:79.5%; transform:translate(-50%,-92%); }
.route-pin::after{ /* soft endless pulse under the pin once it has landed */
  content:""; position:absolute; left:50%; bottom:-4px; width:26px; height:10px;
  transform:translateX(-50%); border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(9,104,246,.5), transparent 70%);
  animation:pinPulse 2.2s ease-out infinite;
}
@keyframes pinPulse{
  0%{ transform:translateX(-50%) scale(.6); opacity:.9; }
  70%{ transform:translateX(-50%) scale(2.4); opacity:0; }
  100%{ opacity:0; }
}
@media (prefers-reduced-motion: reduce){ .route-pin::after{ animation:none; } }
.route-stamp{
  position:absolute; z-index:7; left:82.5%; top:84.5%; transform:translate(-50%,0) rotate(-6deg);
  background:var(--blue); color:var(--white);
  font-size:15px; font-weight:600; letter-spacing:.04em; white-space:nowrap;
  padding:10px 16px; border-radius:var(--radius);
}
.parcel-wrap{
  position:absolute; z-index:6; left:79.9%; top:79.5%; transform:translate(-50%,-70%);
  width:4.6vw; max-width:76px;
  mix-blend-mode:multiply; filter:brightness(1.06);
}
.parcel{ width:100%; }
.burst{ position:absolute; inset:0; width:100%; height:100%; }
.hs-cue{ position:absolute; left:0; right:0; bottom:0; z-index:2; text-align:center; }
.hs-cue .hero-cue{ margin:0; padding:0 0 24px; }

@media (max-width:900px){
  .hero-stage{ height:auto; min-height:100vh; padding-bottom:44vh; }
  .route-chip{ font-size:12px; padding:8px 12px; }
  .parcel-wrap{ width:13vw; }
}

/* sponsors — audience photo motion */
.audience-photo{ position:relative; }
.aud-chip{
  position:absolute; display:flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:10px 16px;
  font-size:14px; font-weight:600; color:var(--n8); white-space:nowrap;
}
.ac-1{ left:5%;  top:12%; }
.ac-2{ right:7%; top:22%; }
.ac-3{ left:9%;  bottom:16%; }
.ac-4{ right:11%; bottom:10%; }
@media (max-width:900px){ .aud-chip{ font-size:12px; padding:7px 10px; } }

/* ---------- scroll-open media band (the signature move) ---------- */
.band{ height:190vh; position:relative; }
.band-sticky{
  position:sticky; top:0; height:100vh; overflow:hidden;
  display:grid; place-items:center;
}
.band-media{
  width:100%; height:100%; object-fit:cover;
  clip-path:inset(16% 24% 16% 24% round var(--radius));
  transform:scale(.96);
}
.band-caption{ position:absolute; z-index:2; text-align:center; padding:0 24px; opacity:0; }
.band-caption .display{
  font-size:clamp(34px,5.5vw,76px); color:var(--deep);
  text-shadow:0 0 24px rgba(255,255,255,.8), 0 0 48px rgba(255,255,255,.5);
}
.band-caption p{
  color:var(--n8); font-weight:600; margin-top:16px; font-size:18px;
  text-shadow:0 0 16px rgba(255,255,255,.8);
}
/* dark-imagery band: white caption with navy shadow */
.band-dark .band-caption .display{
  color:var(--white);
  text-shadow:0 4px 28px rgba(5,14,56,.85), 0 2px 8px rgba(5,14,56,.65);
}
.band-dark .band-caption p{
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 14px rgba(5,14,56,.8);
}

/* ---------- flying items band (the export catalogue in motion) ---------- */
.items-band .band-sticky{ background:var(--white); }
.items-caption{ opacity:1; z-index:4; } /* headline stays above the flying items */
.baltic-map{
  position:absolute; left:50%; top:44%; transform:translate(-50%,-50%);
  height:88%; width:auto; max-width:none; opacity:.18;
  mix-blend-mode:multiply;
}
.items-band .marquee{ position:absolute; left:0; right:0; bottom:0; z-index:5; }
.items-stage{ position:absolute; inset:0; pointer-events:none; }
.fly-item{
  position:absolute; mix-blend-mode:multiply; filter:brightness(1.05);
  border-radius:var(--radius);
}
/* two flight lanes — top (8-22%) and bottom (55-72%) — keep the middle clear for the headline */
.fi-1{ left:6%;  top:14%; width:17vw; }
.fi-2{ left:70%; top:9%;  width:15vw; }
.fi-3{ left:20%; top:60%; width:14vw; }
.fi-4{ left:60%; top:66%; width:12vw; }
.fi-5{ left:40%; top:8%;  width:14vw; }
.fi-6{ left:83%; top:56%; width:13vw; }
.fi-7{ left:3%;  top:70%; width:11vw; }
.fi-8{ left:47%; top:20%; width:8vw; }
@media (max-width:900px){ .fly-item{ width:24vw; } .fi-1{width:28vw} .fi-5{width:26vw} }

/* ---------- marquee (deep band — one saturated moment) ---------- */
.marquee{
  background:var(--deep); color:var(--white); overflow:hidden;
  padding:20px 0; white-space:nowrap;
}
.marquee-track{ display:inline-flex; will-change:transform; animation:marquee 30s linear infinite; animation-delay:-15s; }
.marquee-track > span{
  display:inline-flex; align-items:center; gap:28px; padding-right:28px;
  font-size:clamp(18px,2.2vw,28px); font-weight:600; text-transform:uppercase; letter-spacing:.04em;
}
.mdot{ width:12px; height:12px; border-radius:50%; display:inline-block; flex:none; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ---------- stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.stat-value{
  font-size:clamp(40px,5vw,72px); font-weight:600; letter-spacing:-.02em;
  color:var(--deep); line-height:1;
}
.stat-label{ margin-top:12px; color:var(--n6); font-size:15px; max-width:24ch; }
@media (max-width:900px){ .stats{ grid-template-columns:repeat(2,1fr); } }

/* ---------- cards (why attend) ---------- */
/* stacked insight deck (mobile/reduced-motion: plain stacked list) */
.deck{ position:relative; }
.deck-card{
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  padding:40px 48px; position:relative; overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center;
  box-shadow:0 -12px 32px rgba(25,25,25,.06);
  margin-bottom:16px;
}
.deck-card::before{
  content:""; position:absolute; left:0; top:0; right:0; height:8px;
}
.dc-blue::before{ background:var(--blue); }
.dc-red::before{ background:var(--red); }
.dc-green::before{ background:var(--green); }
.dc-yellow::before{ background:var(--yellow); }
.dc-blue .card-index{ color:var(--blue); }
.dc-red .card-index{ color:var(--red); }
.dc-green .card-index{ color:var(--green); }
.dc-yellow .card-index{ color:#b98500; }
.deck-copy h3{ font-size:clamp(20px,2vw,28px); line-height:1.3; font-weight:600; color:var(--n8); max-width:30ch; margin-top:8px; }
.deck-num{
  position:absolute; right:28px; top:20px; line-height:1;
  font-size:88px; font-weight:600; color:transparent;
  -webkit-text-stroke:1.5px var(--n3);
}
.deck-img{ width:clamp(120px,14vw,210px); mix-blend-mode:multiply; filter:brightness(1.05); margin-right:96px; }
@media (min-width:901px){
  html.anim .deck{ height:56vh; }
  html.anim .deck-card{ position:absolute; left:0; right:0; top:0; min-height:52vh; margin-bottom:0; }
  html.anim .deck-card:not(:first-child){ transform:translateY(110vh); }
}
.grid-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card{
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  padding:32px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  position:relative; overflow:hidden;
}
.card::before{
  content:""; position:absolute; left:0; top:0; right:0; height:6px;
  background:var(--blue); transform:scaleX(0); transform-origin:left;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.card-red::before{ background:var(--red); }
.card-green::before{ background:var(--green); }
.card-yellow::before{ background:var(--yellow); }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.card:hover::before{ transform:scaleX(1); }
.card-num{
  position:absolute; right:20px; top:16px; line-height:1;
  font-size:64px; font-weight:600; color:transparent;
  -webkit-text-stroke:1.5px var(--n3);
  transition:-webkit-text-stroke-color .3s ease;
}
.card:hover .card-num{ -webkit-text-stroke-color:var(--blue); }
.card-red:hover .card-num{ -webkit-text-stroke-color:var(--red); }
.card-green:hover .card-num{ -webkit-text-stroke-color:var(--green); }
.card-yellow:hover .card-num{ -webkit-text-stroke-color:var(--yellow); }
.card-index{
  display:block; font-size:13px; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--blue); margin-bottom:16px;
}
.card-red .card-index{ color:var(--red); }
.card-green .card-index{ color:var(--green); }
.card-yellow .card-index{ color:#b98500; } /* yellow needs darkening for text contrast */
.card h3{ font-size:19px; line-height:1.35; font-weight:600; color:var(--n8); max-width:26ch; }
@media (max-width:900px){ .grid-cards{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .grid-cards{ grid-template-columns:1fr; } }

/* ---------- agenda ---------- */
.agenda-layout{ display:grid; grid-template-columns:2fr 3fr; gap:64px; align-items:start; }
.agenda-sticky{ position:sticky; top:calc(var(--nav-h) + 32px); }
.agenda-list{ list-style:none; position:relative; padding-left:40px; }
.agenda-rail{ position:absolute; left:11px; top:8px; bottom:8px; width:2px; background:var(--n3); }
.agenda-rail-fill{
  position:absolute; inset:0; background:var(--blue);
  transform-origin:top; transform:scaleY(0);
}
.agenda-item{
  position:relative; padding:24px 0 24px 8px; border-bottom:1px solid var(--n2);
  opacity:.45; transition:opacity .4s ease;
}
.agenda-item.active{ opacity:1; }
.agenda-item::before{
  content:""; position:absolute; left:-35px; top:34px; width:12px; height:12px;
  border-radius:50%; background:var(--n4); border:2px solid var(--white);
  transition:transform .3s ease;
}
.agenda-item.active::before{ transform:scale(1.35); }
.agenda-item.c-red::before{ background:var(--red); }
.agenda-item.c-blue::before{ background:var(--blue); }
.agenda-item.c-yellow::before{ background:var(--yellow); }
.agenda-item.c-green::before{ background:var(--green); }
.agenda-item .time{
  display:inline-block; font-size:14px; font-weight:600; color:var(--n6);
  background:var(--n1); border-radius:var(--radius); padding:4px 12px; margin-bottom:10px;
}
.agenda-item h3{ font-size:20px; }
.agenda-item p{ color:var(--n6); margin-top:6px; max-width:56ch; }
@media (max-width:900px){
  .agenda-layout{ grid-template-columns:1fr; gap:32px; }
  .agenda-sticky{ position:static; }
  .agenda-item{ opacity:1; }
}

/* ---------- speakers ---------- */
/* two counter-drifting marquee rows; hover pauses the row */
.spk-rows{ display:flex; flex-direction:column; gap:24px; }
.spk-row{ overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image:linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.spk-track{ display:flex; gap:24px; width:max-content; animation:spkDrift 38s linear infinite; animation-delay:-13s; }
.spk-row-rev .spk-track{ animation-direction:reverse; animation-duration:44s; animation-delay:-31s; }
.spk-row:hover .spk-track{ animation-play-state:paused; }
@keyframes spkDrift{ to{ transform:translateX(calc(-50% - 12px)); } }
@media (prefers-reduced-motion: reduce){
  .spk-track{ animation:none; }
  .spk-row{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
}
.speaker{
  position:relative; width:clamp(200px,17vw,260px); flex:none;
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--n3);
  transition:transform .35s ease, box-shadow .35s ease;
}
.speaker:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.speaker .ph{ background:var(--n1); aspect-ratio:4/4.6; }
.speaker .ph img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.speaker:hover .ph img{ transform:scale(1.05); }
.speaker figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:56px 16px 14px;
  background:linear-gradient(to top, rgba(10,28,107,.92) 0%, rgba(10,28,107,.55) 55%, transparent 100%);
}
.speaker strong{ display:block; font-size:16px; color:var(--white); }
.speaker span{ display:block; font-size:13px; color:rgba(255,255,255,.78); margin-top:3px; line-height:1.35; }
.speakers-more{ margin-top:40px; color:var(--n6); max-width:70ch; }

/* ---------- audience ---------- */
.audience{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.audience-media{ border-radius:var(--radius); overflow:hidden; }
.audience-list{ list-style:none; }
.audience-list li{
  display:flex; align-items:center; gap:16px; padding:20px 0;
  border-bottom:1px solid var(--n3); font-size:17px; color:var(--n8);
}
.audience-list .mark{ width:12px; height:12px; border-radius:50%; flex:none; }
@media (max-width:900px){ .audience{ grid-template-columns:1fr; gap:32px; } }

/* ---------- stats: eBay colour system + sweep bars ---------- */
.stat{ position:relative; padding-top:18px; }
.stat::before{
  content:""; position:absolute; left:0; top:0; width:56px; height:5px;
  border-radius:3px; background:var(--n3);
  transform:scaleX(0); transform-origin:left;
  transition:transform .9s cubic-bezier(.22,1,.36,1);
}
.stat.stat-on::before{ transform:scaleX(1); }
.sv-blue::before{ background:var(--blue); }   .sv-blue .stat-value{ color:var(--blue); }
.sv-red::before{ background:var(--red); }     .sv-red .stat-value{ color:var(--red); }
.sv-yellow::before{ background:var(--yellow); } .sv-yellow .stat-value{ color:#b98500; }
.sv-green::before{ background:var(--green); } .sv-green .stat-value{ color:var(--green); }

/* ---------- who: audience chapters (full-viewport split) ---------- */
.whc{ display:grid; grid-template-columns:1fr 1.15fr; gap:48px; width:min(1400px,calc(100% - 48px)); margin-inline:auto; }
.whc-left{
  position:relative; background:var(--n1); border-radius:var(--radius);
  overflow:hidden; height:560px;
}
.rc-persona{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  height:88%; width:auto; max-width:none; mix-blend-mode:multiply;
}
html.anim .rc-persona:not(:first-child){ opacity:0; visibility:hidden; }
.whc-chip{
  position:absolute; left:24px; bottom:24px; z-index:3;
  display:inline-flex; align-items:center; gap:10px;
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:10px 16px;
  font-size:14px; font-weight:600; color:var(--n8); white-space:nowrap;
}
.whc-right{ display:flex; flex-direction:column; min-width:0; }
.whc-title{ margin-top:8px; }
.whc-line{ display:none; }
.whc-count{ font-size:14px; font-weight:600; letter-spacing:.1em; color:var(--n5); margin-bottom:16px; }
.whc-idx{ font-size:20px; }
.whc-text{ font-size:clamp(28px,2.9vw,44px); line-height:1.15; font-weight:600; color:var(--n8); max-width:20ch; }
.whc-dots{ display:none; gap:10px; margin-top:32px; }
.whc-dots span{ width:11px; height:11px; border-radius:50%; background:var(--n3); transition:background .3s ease, transform .3s ease; }
.audience-list{ margin-top:24px; }
/* animated mode: exactly one viewport */
@media (min-width:901px){
  html.anim #who{ padding:0; height:100vh; }
  html.anim #who .whc{ height:100%; width:100%; max-width:none; gap:0; grid-template-columns:1fr 1.15fr; }
  html.anim #who .whc-left{ height:auto; border-radius:0; }
  html.anim #who .rc-persona{ height:min(76%,760px); }
  html.anim #who .whc-chip{ left:40px; bottom:40px; opacity:0; }
  html.anim #who .whc-right{ padding:calc(var(--nav-h) + 40px) 64px 40px 64px; }
  html.anim #who .whc-title{ margin:auto 0; }
  html.anim #who .whc-line{ display:block; margin:auto 0; opacity:0; }
  html.anim #who .audience-list{ display:none; }
  html.anim #who .whc-dots{ display:flex; }
  html.anim #who .who-cta{ margin-top:24px; }
}
@media (max-width:900px){
  .whc{ grid-template-columns:1fr; gap:28px; }
  .whc-left{ height:420px; }
}
/* dots on the audience list breathe */
.audience-list .mark{ animation:markPulse 2.4s ease-in-out infinite; }
.audience-list li:nth-child(2) .mark{ animation-delay:.3s; }
.audience-list li:nth-child(3) .mark{ animation-delay:.6s; }
.audience-list li:nth-child(4) .mark{ animation-delay:.9s; }
.audience-list li:nth-child(5) .mark{ animation-delay:1.2s; }
.audience-list li:nth-child(6) .mark{ animation-delay:1.5s; }
.audience-list li:nth-child(7) .mark{ animation-delay:1.8s; }
@keyframes markPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.45); } }
@media (prefers-reduced-motion: reduce){ .audience-list .mark{ animation:none; } }

.aud-col{ min-width:0; }
.who-cta{
  margin-top:36px; display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
  background:var(--blue-tint); border:1px solid #d9e7ff; border-radius:var(--radius);
  padding:22px 24px;
}
.who-cta p{ color:var(--n8); font-size:16px; max-width:40ch; }

/* ---------- sponsor teaser / tier chips ---------- */
.tier-chips{ display:flex; flex-wrap:wrap; gap:16px; margin:36px 0 56px; }
.tier-chip{
  display:inline-flex; align-items:center; gap:14px;
  border:1px solid var(--n3); border-radius:var(--radius); background:var(--white);
  padding:12px 22px 12px 12px; font-size:16px; font-weight:600; color:var(--n8);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.tier-chip:hover{ transform:translateY(-5px); box-shadow:var(--shadow); color:var(--n8); }
.tier-chip.red:hover{ border-color:var(--red); }
.tier-chip.green:hover{ border-color:var(--green); }
.tier-chip.blue:hover{ border-color:var(--blue); }
.tier-chip.yellow:hover{ border-color:var(--yellow); }
.tc-thumb{
  width:60px; height:60px; object-fit:cover; object-position:50% 40%; border-radius:6px;
  mix-blend-mode:multiply;
  animation:tcFloat 2.8s ease-in-out infinite alternate;
}
.tc-d2{ animation-delay:.5s; } .tc-d3{ animation-delay:1s; } .tc-d4{ animation-delay:1.5s; }
@keyframes tcFloat{ from{ transform:translateY(2px); } to{ transform:translateY(-4px); } }
@media (prefers-reduced-motion: reduce){ .tc-thumb{ animation:none; } }
.tier-chip::before{ content:""; width:12px; height:12px; border-radius:50%; }
.tier-chip.red::before{ background:var(--red); }
.tier-chip.green::before{ background:var(--green); }
.tier-chip.blue::before{ background:var(--blue); }
.tier-chip.yellow::before{ background:var(--yellow); }

/* ---------- register ---------- */
.register-layout{ display:grid; grid-template-columns:2fr 3fr; gap:64px; align-items:start; }
.register-side{ position:sticky; top:calc(var(--nav-h) + 32px); }
.notice{
  margin-top:32px; padding:20px; border-radius:var(--radius);
  background:var(--blue-tint); border:1px solid var(--n3);
  font-size:14px; color:var(--n6); line-height:1.55;
}
.form{
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  padding:40px;
}
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.register-layout > *, .form, .field{ min-width:0; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field.full{ grid-column:1 / -1; }
.field input, .field select{ width:100%; min-width:0; }
.field label{ font-size:14px; font-weight:600; color:var(--n8); }
.field label em{ color:var(--error); font-style:normal; }
.field input, .field select{
  height:48px; padding:0 16px; font-family:inherit; font-size:16px; color:var(--n8);
  background:var(--white); border:1px solid var(--n4); border-radius:var(--radius);
  transition:border-color .3s ease; appearance:none; -webkit-appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23707070' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center; padding-right:40px;
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--blue); }
.field .err{ display:none; font-size:13px; color:var(--error); }
.field.invalid input, .field.invalid select{ border-color:var(--error); }
.field.invalid .err{ display:block; }
.consent{ display:flex; gap:12px; margin-top:32px; font-size:13px; color:var(--n6); line-height:1.55; cursor:pointer; }
.consent input{ width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--blue); }
.form-actions{ margin-top:32px; }
.form-note{ margin-top:16px; font-size:13px; color:var(--n5); }
.form-success{ display:none; margin-top:8px; padding:24px; border-radius:var(--radius); background:var(--blue-tint); }
.form-success h3{ color:var(--deep); }
.form-success p{ color:var(--n6); margin-top:8px; }
.form.submitted .form-grid, .form.submitted .consent,
.form.submitted .form-actions, .form.submitted .form-note{ display:none; }
.form.submitted .form-success{ display:block; }
@media (max-width:900px){
  .register-layout{ grid-template-columns:1fr; gap:32px; }
  .register-side{ position:static; }
  .form{ padding:24px; }
  .form-grid{ grid-template-columns:1fr; }
}

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--n3); }
.faq-item{ border-bottom:1px solid var(--n3); }
.faq-q{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:24px;
  padding:24px 0; background:none; border:0; cursor:pointer; text-align:left;
  font-family:inherit; font-size:18px; font-weight:600; color:var(--n8);
}
.faq-q .indicator{ position:relative; width:16px; height:16px; flex:none; }
.faq-q .indicator::before, .faq-q .indicator::after{
  content:""; position:absolute; background:var(--blue); transition:transform .3s ease;
}
.faq-q .indicator::before{ left:0; right:0; top:7px; height:2px; }
.faq-q .indicator::after{ top:0; bottom:0; left:7px; width:2px; }
.faq-item.open .indicator::after{ transform:scaleY(0); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-a p{ padding:0 0 24px; color:var(--n6); max-width:70ch; }

/* ---------- closing / connect band ---------- */
.closing{
  position:relative; background:var(--deep); color:var(--white);
  padding:120px 0; overflow:hidden;
}
.closing-media{ position:absolute; inset:0; opacity:.14; }
.closing-media img{ width:100%; height:100%; object-fit:cover; }
.closing-inner{ position:relative; z-index:1; }
.closing .display{ color:var(--white); font-size:clamp(38px,6vw,84px); }
.closing p{ margin:24px 0 40px; color:var(--white); opacity:.85; max-width:52ch; font-size:18px; }

/* ---------- footer ---------- */
.footer{ background:var(--white); border-top:1px solid var(--n3); padding:48px 0; }
.footer-inner{ display:flex; flex-wrap:wrap; align-items:center; gap:32px; }
.footer-inner > img{ height:56px; width:auto; }
.footer-links{ display:flex; gap:24px; margin-left:auto; }
.footer-links a{ color:var(--n6); font-size:14px; }
.footer-links a:hover{ color:var(--blue); }
.footer-copy{ width:100%; font-size:13px; color:var(--n5); }

/* =====================================================================
   SPONSORS PAGE
   ===================================================================== */
.sp-hero{ padding:calc(var(--nav-h) + 80px) 0 80px; background:var(--white); }
.sp-hero .hero-title{ font-size:clamp(48px,8vw,116px); }

/* pinned horizontal tier journey — light panels, tier colour as accent */
.tiers-stage{ position:relative; overflow:hidden; background:var(--n1); }
.tiers-track{ display:flex; width:max-content; }
.tier-panel{ width:100vw; height:100vh; flex:none; display:grid; align-items:center; }
.tier-inner{
  display:grid; grid-template-columns:1fr auto auto; gap:48px; align-items:center;
  background:var(--white); border:1px solid var(--n3); border-radius:var(--radius);
  padding:clamp(32px,5vw,80px); position:relative; overflow:hidden;
}
.tier-visual{ width:clamp(180px,20vw,300px); }
.tier-visual img{ width:100%; height:auto; border-radius:var(--radius); border:1px solid var(--n3); }
.tier-inner::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:8px; }
.tier-red .tier-inner::before{ background:var(--red); }
.tier-green .tier-inner::before{ background:var(--green); }
.tier-blue .tier-inner::before{ background:var(--blue); }
.tier-yellow .tier-inner::before{ background:var(--yellow); }
.tier-step{
  font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.14em;
  color:var(--n5); margin-bottom:16px;
}
.tier-red .tier-step{ color:var(--red); }
.tier-green .tier-step{ color:var(--green); }
.tier-blue .tier-step{ color:var(--blue); }
.tier-yellow .tier-step{ color:var(--yellow); }
.tier-name{
  font-size:clamp(40px,6vw,88px); line-height:.95; letter-spacing:-.02em;
  color:var(--deep); text-transform:uppercase;
}
.tier-benefits{ list-style:none; margin-top:32px; }
.tier-benefits li{
  padding:12px 0 12px 32px; position:relative; font-size:18px; color:var(--n8);
  border-bottom:1px solid var(--n2);
}
.tier-benefits li::before{
  content:""; position:absolute; left:0; top:18px; width:14px; height:7px;
  border-left:2px solid var(--green); border-bottom:2px solid var(--green);
  transform:rotate(-45deg);
}
.tier-count{
  font-size:clamp(96px,14vw,200px); font-weight:600; line-height:1;
  color:var(--n1); -webkit-text-stroke:2px var(--n4); text-align:center;
}
.tier-count small{
  display:block; font-size:15px; font-weight:600; color:var(--n6);
  -webkit-text-stroke:0; letter-spacing:.06em; text-transform:uppercase; margin-top:8px;
}
.tiers-progress{
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  display:flex; gap:12px; z-index:5;
}
.tiers-progress span{
  width:32px; height:4px; border-radius:2px; background:var(--n4); transition:background .3s ease;
}
.tiers-progress span.on{ background:var(--blue); }
@media (max-width:900px){
  .tiers-track{ display:block; width:auto; }
  .tier-panel{ width:auto; height:auto; padding:24px 0; }
  .tier-inner{ grid-template-columns:1fr; gap:24px; }
  .tier-visual{ width:min(280px,70%); margin-inline:auto; }
  .tiers-progress{ display:none; }
}

/* audience photo */
.audience-photo{ margin-top:48px; }
.audience-photo img{ width:100%; border-radius:var(--radius); border:1px solid var(--n3); }

/* comparison table */
.compare-wrap{ overflow-x:auto; border:1px solid var(--n3); border-radius:var(--radius); }
.compare{ width:100%; border-collapse:collapse; min-width:720px; background:var(--white); }
.compare th, .compare td{ padding:18px 20px; text-align:left; border-bottom:1px solid var(--n3); font-size:15px; }
.compare thead th{ font-weight:600; color:var(--n8); background:var(--n1); white-space:nowrap; }
.compare tbody th{ font-weight:600; color:var(--n8); }
.compare td{ color:var(--text); }
.compare td.no{ color:var(--n4); }
.compare tr:last-child th, .compare tr:last-child td{ border-bottom:0; }
.tier-dot{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:8px; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; }
  .band{ height:auto; }
  .band-sticky{ position:static; height:auto; }
  .band-media{ clip-path:none; transform:none; }
  .band-caption{ position:static; opacity:1; padding:24px; }
  .band-caption .display, .band-caption p{ color:var(--deep); text-shadow:none; }
  .agenda-item{ opacity:1; }
}


/* ===================== mobile optimisation pass (v30) ===================== */
@media (max-width:900px){
  /* hero: declutter — journey is a desktop choreography */
  .route-scene{ display:none; }
  /* countdown: even 2x2 tiles */
  .hero-count{ width:100%; }
  .hc-cell{ flex:1 1 calc(50% - 6px); min-width:0; }
  /* insight deck: stacked cards, image below text */
  .deck-card{ grid-template-columns:1fr; gap:20px; padding:28px 24px; }
  .deck-copy h3{ max-width:none; font-size:20px; }
  .deck-num{ font-size:56px; right:20px; top:14px; }
  .deck-img{ width:132px; margin:0; justify-self:end; }
  /* items band: map centred and readable */
  .baltic-map{ height:auto; width:150%; }
  /* chapters fallback: give the stage breathing room */
  .whc-left{ height:380px; }
}
@media (max-width:700px){
  .form{ padding:24px 18px; }
  .form-grid{ grid-template-columns:1fr; }
  .register-layout{ grid-template-columns:1fr; gap:32px; }
}
