/* ═══════════════════════════════════════════════════════
   MMM 2026 — Basel · space / mission-control design system
   ═══════════════════════════════════════════════════════ */

:root{
  /* surfaces */
  --bg:        #05070c;
  --bg-2:      #080b12;
  --panel:     #0c1018;
  --panel-2:   #111623;
  --line:      rgba(255,255,255,.09);
  --line-2:    rgba(255,255,255,.16);

  /* ink */
  --ink:       #eef1f6;
  --ink-2:     #a9b2c1;
  --ink-3:     #6d7787;

  /* accents (from the deck) */
  --gold:      #c9a24a;
  --gold-lo:   #a8842f;
  --gold-hi:   #e8cd8b;
  --rose:      #e4674c;
  --blue:      #4c7fd6;
  --ok:        #7fd6a2;

  --r:   14px;
  --r-s: 9px;
  --max: 1180px;

  --fs:  'Barlow', system-ui, -apple-system, sans-serif;
  --fc:  'Barlow Condensed', 'Barlow', sans-serif;
  --fm:  'JetBrains Mono', ui-monospace, monospace;

  --ease: cubic-bezier(.22,.68,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:400 16px/1.65 var(--fs);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--fc); font-weight:500; letter-spacing:-.01em; line-height:1.06; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
.mono{ font-family:var(--fm); font-variant-numeric:tabular-nums; }

::selection{ background:rgba(201,162,74,.32); }

/* focus */
:where(a,button,[tabindex]):focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:24px; }

.grad{
  background:linear-gradient(96deg,var(--gold-hi),var(--gold) 45%,var(--gold-lo));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ── scroll progress ─────────────────────────────────── */
.scroll-progress{
  position:fixed; inset:0 0 auto 0; height:2px; z-index:120;
  background:rgba(255,255,255,.05);
}
.scroll-progress span{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));
  box-shadow:0 0 12px rgba(201,162,74,.7);
}

/* ── starfield ───────────────────────────────────────── */
#stars{
  position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.75;
}

/* ── nav ─────────────────────────────────────────────── */
.nav{
  position:fixed; top:2px; left:0; right:0; z-index:110;
  display:flex; align-items:center; gap:20px;
  padding:16px 24px;
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(5,7,12,.82);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
  padding-block:11px;
}

.nav__brand{ display:flex; align-items:center; gap:12px; margin-right:auto; }
.nav__mm{
  font-family:var(--fc); font-size:30px; font-weight:400; line-height:.8;
  letter-spacing:.02em; color:var(--ink);
}
.nav__mm em{ font-style:normal; color:var(--gold); }
.nav__brandtext{
  font-family:var(--fc); font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); padding-left:12px; border-left:1px solid var(--line-2);
}
.nav__brandtext b{ font-weight:600; color:var(--ink-2); }

.nav__links{ display:flex; gap:4px; }
.nav__links a{
  position:relative; padding:8px 13px; border-radius:99px;
  font-family:var(--fc); font-size:14.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); transition:color .25s, background .25s;
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a.is-active{ color:var(--gold-hi); background:rgba(201,162,74,.1); }

.nav__actions{ display:flex; align-items:center; gap:10px; }

.nav__burger{ display:none; width:40px; height:40px; border:1px solid var(--line-2); border-radius:10px; padding:11px 10px; }
.nav__burger span{ display:block; height:1.5px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.nav__burger span+span{ margin-top:4px; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* ── buttons ─────────────────────────────────────────── */
.btn{
  --pad:14px 24px;
  display:inline-flex; align-items:center; gap:9px; padding:var(--pad);
  border-radius:99px; border:1px solid var(--line-2);
  font-family:var(--fc); font-size:15px; letter-spacing:.12em; text-transform:uppercase;
  transition:.3s var(--ease); white-space:nowrap;
}
.btn--sm{ --pad:8px 15px; font-size:13px; }
.btn--gold{
  border-color:transparent; color:#12100a; font-weight:600;
  background:linear-gradient(100deg,var(--gold-hi),var(--gold) 55%,var(--gold-lo));
  box-shadow:0 10px 30px -10px rgba(201,162,74,.6);
}
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(201,162,74,.8); }
.btn--ghost{ color:var(--ink-2); background:rgba(255,255,255,.03); }
.btn--ghost:hover{ color:var(--ink); border-color:var(--gold); background:rgba(201,162,74,.09); }
.btn .ico{ width:17px; height:17px; }

.ico{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; }

/* ── reveal ──────────────────────────────────────────── */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);
}
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ══ HERO ════════════════════════════════════════════ */
.hero{
  position:relative; min-height:100svh; z-index:1;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:150px 24px 130px; text-align:center; overflow:hidden;
}
.hero__bg{ position:absolute; inset:-6% -3%; z-index:-3; }
.hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:50% 46%;
  filter:saturate(112%) contrast(106%);
}
.hero__veil{
  position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(120% 78% at 50% 8%, rgba(5,7,12,.14), rgba(5,7,12,.86) 62%, var(--bg) 96%),
    linear-gradient(180deg, rgba(5,7,12,.9), rgba(5,7,12,.28) 32%, rgba(5,7,12,.96));
}
.hero__grid{
  position:absolute; inset:0; z-index:-1; opacity:.3;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(78% 60% at 50% 46%, #000 22%, transparent 78%);
}
.hero__inner{ position:relative; max-width:830px; }

.hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 16px 7px 12px; margin-bottom:34px;
  border:1px solid rgba(201,162,74,.34); border-radius:99px;
  background:rgba(201,162,74,.07);
  font-family:var(--fc); font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-hi);
}
.hero__eyebrow .dot{
  width:7px; height:7px; border-radius:50%; background:var(--ok);
  box-shadow:0 0 0 0 rgba(127,214,162,.7); animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(127,214,162,.55); }
  70%{ box-shadow:0 0 0 10px rgba(127,214,162,0); }
  100%{ box-shadow:0 0 0 0 rgba(127,214,162,0); }
}

.hero__logo{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:26px; }
.mm{
  font-family:var(--fc); font-weight:400; line-height:.78;
  font-size:clamp(76px,13vw,142px); letter-spacing:.01em;
}
.mm em{ font-style:normal; color:var(--gold); }
.mm__words{
  font-family:var(--fc); font-size:clamp(12px,1.7vw,17px);
  letter-spacing:.34em; text-transform:lowercase; color:var(--ink-2);
}

.hero__title{
  font-size:clamp(30px,5.4vw,60px); font-weight:600;
  text-transform:uppercase; letter-spacing:.02em; margin-bottom:22px;
}
.hero__sub{
  max-width:620px; margin:0 auto 40px; color:var(--ink-2); font-size:clamp(15px,1.7vw,18.5px);
  font-weight:300;
}

/* countdown */
.count{
  display:inline-flex; flex-direction:column; align-items:center; gap:12px;
  padding:20px 30px 22px; margin-bottom:40px;
  border:1px solid var(--line); border-radius:var(--r);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  backdrop-filter:blur(12px);
}
.count__label{
  font-family:var(--fc); font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-3);
}
.count__row{ display:flex; align-items:flex-start; gap:6px; }
.count__row i{
  font-style:normal; font-family:var(--fm); font-size:26px; color:var(--ink-3);
  line-height:1; padding-top:4px;
}
.count__cell{ display:flex; flex-direction:column; align-items:center; min-width:60px; }
.count__cell b{
  font-family:var(--fc); font-size:clamp(32px,4.6vw,46px); font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fff,var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.count__cell span{
  font-family:var(--fc); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-3); margin-top:6px;
}
.count.is-live .count__label{ color:var(--ok); }

.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

/* telemetry */
.telemetry{
  position:absolute; bottom:0; left:0; right:0;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg, rgba(5,7,12,.2), rgba(5,7,12,.72));
  backdrop-filter:blur(10px);
  overflow:hidden;
}
.telemetry__track{
  display:flex; gap:0; padding:0 8px;
  overflow-x:auto; scrollbar-width:none;
}
.telemetry__track::-webkit-scrollbar{ display:none; }
.tel{
  flex:1 0 auto; min-width:168px; padding:15px 22px;
  border-left:1px solid var(--line); text-align:left;
}
.tel:first-child{ border-left:0; }
.tel span{
  display:block; font-family:var(--fc); font-size:10.5px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--gold); margin-bottom:4px;
}
.tel b{ font-family:var(--fc); font-size:17px; font-weight:500; color:var(--ink); }
.tel b.ok, b.ok{ color:var(--ok); }

.hero__scroll{
  position:absolute; bottom:88px; left:50%; transform:translateX(-50%);
  width:24px; height:38px; border:1px solid var(--line-2); border-radius:99px;
  display:grid; place-items:start center; padding-top:7px;
}
.hero__scroll span{
  width:3px; height:7px; border-radius:2px; background:var(--gold);
  animation:sdown 1.9s infinite var(--ease);
}
@keyframes sdown{ 0%,100%{ transform:translateY(0); opacity:1 } 60%{ transform:translateY(15px); opacity:0 } }

/* ══ SECTIONS ═══════════════════════════════════════ */
.sec{ position:relative; z-index:1; padding:clamp(80px,11vw,140px) 0; }
.sec--mission{ background:linear-gradient(180deg,var(--bg),var(--bg-2) 40%,var(--bg)); }
.sec--agenda{ background:var(--bg); }
.sec--wg{ background:linear-gradient(180deg,var(--bg),#070a10); }

.sec__head{ max-width:720px; margin-bottom:clamp(44px,6vw,68px); }
.kicker{
  display:inline-block; margin-bottom:18px;
  font-family:var(--fm); font-size:11.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold);
}
.sec__head h2{ font-size:clamp(34px,5.6vw,62px); font-weight:600; letter-spacing:-.015em; }
.lede{ margin-top:20px; color:var(--ink-2); font-size:clamp(15px,1.6vw,18px); font-weight:300; max-width:620px; }

/* ── craft diagram ───────────────────────────────────── */
.craft{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  background:var(--panel);
}
.craft__hud{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}
.hud{ padding:14px 20px; border-left:1px solid var(--line); }
.hud:first-child{ border-left:0; }
.hud span{
  display:block; font-family:var(--fc); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:3px;
}
.hud b{ font-family:var(--fc); font-size:16px; font-weight:500; }

.craft__stage{ position:relative; overflow:hidden; background:#04060a; }
.craft__img{
  width:100%; height:clamp(240px,34vw,420px); object-fit:cover; object-position:center 50%;
  opacity:.95;
}
.craft__lines{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.craft__lines polyline{
  fill:none; stroke:var(--gold); stroke-width:.22;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 3px rgba(201,162,74,.9));
  transition:opacity .35s var(--ease);
}

.pin{
  position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%);
  width:36px; height:36px; display:grid; place-items:center; border-radius:50%;
}
.pin i{
  width:11px; height:11px; border-radius:50%; background:var(--gold);
  box-shadow:0 0 0 5px rgba(201,162,74,.2), 0 0 18px rgba(201,162,74,.9);
  transition:.3s var(--ease);
}
.pin:hover i{ transform:scale(1.35); }
.pin.is-on i{
  background:#fff; box-shadow:0 0 0 7px rgba(201,162,74,.32), 0 0 24px rgba(255,255,255,.8);
}

.craft__cards{ position:relative; border-top:1px solid var(--line); min-height:172px; }
.hot{
  position:absolute; inset:0; padding:28px 30px;
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.hot.is-on{ opacity:1; transform:none; pointer-events:auto; position:relative; }
.hot__tag{
  display:inline-block; margin-bottom:12px;
  font-family:var(--fc); font-size:11.5px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold);
}
.hot h3{ font-size:clamp(22px,2.8vw,31px); font-weight:500; margin-bottom:12px; }
.hot p{ color:var(--ink-2); font-weight:300; max-width:640px; }

/* ── technologies ────────────────────────────────────── */
.tech{ margin-top:clamp(56px,7vw,86px); }
.tech__title{
  font-family:var(--fc); font-size:13px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--ink-3); padding-bottom:16px; margin-bottom:26px; border-bottom:1px solid var(--line);
}
.tech__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(212px,1fr)); gap:14px; }
.tcard{
  padding:26px 22px; border:1px solid var(--line); border-radius:var(--r-s);
  background:linear-gradient(180deg, rgba(255,255,255,.032), transparent);
  transition:.35s var(--ease);
}
.tcard:hover{ border-color:rgba(201,162,74,.5); background:rgba(201,162,74,.06); transform:translateY(-4px); }
.tcard__ico{
  width:38px; height:38px; margin-bottom:18px;
  fill:none; stroke:var(--gold); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;
  transition:transform .6s var(--ease);
}
.tcard:hover .tcard__ico{ transform:rotate(18deg); }
.tcard__ico circle{ opacity:.55; }
.tcard h4{ font-size:21px; font-weight:600; margin-bottom:7px; }
.tcard p{ font-size:14px; color:var(--ink-3); font-weight:300; }

/* ── agenda tabs ─────────────────────────────────────── */
/* single row always — a wrapped row would strand the sliding ink underline */
.tabs{
  position:relative; display:flex; gap:6px; margin-bottom:26px;
  border-bottom:1px solid var(--line);
  flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;
}
.tabs::-webkit-scrollbar{ display:none; }
.tab{ flex:none; }
.tab{
  position:relative; padding:12px 20px 16px; text-align:left; border-radius:10px 10px 0 0;
  transition:.3s var(--ease);
}
.tab:hover{ background:rgba(255,255,255,.035); }
.tab__d{
  display:block; font-family:var(--fm); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:3px; transition:color .3s;
}
.tab__t{
  display:block; font-family:var(--fc); font-size:22px; font-weight:500; color:var(--ink-2);
  transition:color .3s;
}
.tab.is-on .tab__d{ color:var(--gold); }
.tab.is-on .tab__t{ color:var(--ink); }
.tabs__ink{
  position:absolute; bottom:-1px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));
  box-shadow:0 0 14px rgba(201,162,74,.8);
  transition:left .4s var(--ease), width .4s var(--ease);
}

.daymeta{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px;
}
.chip{
  display:inline-flex; align-items:center; gap:8px; padding:7px 14px;
  border:1px solid var(--line); border-radius:99px;
  font-family:var(--fc); font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-2); background:rgba(255,255,255,.026);
}
.chip svg{ width:14px; height:14px; fill:none; stroke:var(--gold); stroke-width:1.7; stroke-linecap:round; }

/* ── timeline ────────────────────────────────────────── */
.tl{ position:relative; padding-left:0; }
.tl::before{
  content:''; position:absolute; left:74px; top:8px; bottom:8px; width:1px;
  background:linear-gradient(180deg,transparent,var(--line-2) 6%,var(--line-2) 94%,transparent);
}
@media (max-width:640px){ .tl::before{ left:0; } }

.ev{
  position:relative; display:grid; grid-template-columns:74px 1fr; gap:0;
  opacity:0; transform:translateY(18px);
  animation:evIn .55s var(--ease) forwards;
}
@keyframes evIn{ to{ opacity:1; transform:none; } }

.ev__time{
  padding:20px 20px 20px 0; text-align:right;
  font-family:var(--fm); font-size:13.5px; color:var(--gold); letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.ev__body{
  position:relative; padding:18px 0 18px 30px; border-bottom:1px solid var(--line);
}
.ev:last-child .ev__body{ border-bottom:0; }
.ev__body::before{
  content:''; position:absolute; left:-4.5px; top:26px;
  width:9px; height:9px; border-radius:50%;
  background:var(--bg); border:1.5px solid var(--gold-lo);
  transition:.3s var(--ease);
}
.ev:hover .ev__body::before,
.ev.is-open .ev__body::before{
  background:var(--gold); border-color:var(--gold-hi); box-shadow:0 0 14px rgba(201,162,74,.85);
}

.ev__head{
  width:100%; display:flex; align-items:flex-start; gap:14px; text-align:left;
}
.ev__title{
  flex:1; font-family:var(--fc); font-size:clamp(19px,2.3vw,24px); font-weight:500; line-height:1.2;
}
.ev__caret{
  flex:none; width:26px; height:26px; margin-top:2px; border-radius:50%;
  border:1px solid var(--line-2); display:grid; place-items:center;
  transition:.35s var(--ease); opacity:.7;
}
.ev__caret svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ev.is-open .ev__caret{ transform:rotate(180deg); border-color:var(--gold); color:var(--gold); opacity:1; }
.ev--static .ev__caret{ display:none; }

.ev__who{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:11px;
}
.who{
  display:inline-flex; align-items:center; gap:7px; padding:4px 11px 4px 5px;
  border-radius:99px; border:1px solid var(--line);
  background:rgba(255,255,255,.03); font-size:13px; color:var(--ink-2);
}
.who i{
  width:20px; height:20px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--fc); font-size:10px; font-weight:600; font-style:normal; letter-spacing:.02em;
  background:linear-gradient(140deg,var(--gold),var(--gold-lo)); color:#12100a;
}
.who--grp, .who--mod{ padding-left:10px; }
.who--grp svg, .who--mod svg{
  width:14px; height:14px; flex:none;
  fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
}
.who--grp svg{ stroke:#8b97a8; }
.who--mod{ border-color:rgba(201,162,74,.34); background:rgba(201,162,74,.08); color:var(--gold-hi); }
.who--mod svg{ stroke:var(--gold); }

.ev__panel{
  overflow:hidden; max-height:0; transition:max-height .5s var(--ease), opacity .4s var(--ease);
  opacity:0;
}
.ev.is-open .ev__panel{ opacity:1; }
.ev__panelin{ padding:16px 0 4px; }
.ev__panelin ul{ display:grid; gap:8px; }
.ev__panelin li{
  position:relative; padding-left:18px; color:var(--ink-2); font-size:15px; font-weight:300;
}
.ev__panelin li::before{
  content:''; position:absolute; left:0; top:.62em; width:8px; height:1px; background:var(--gold);
}
.ev__panelin p{ color:var(--ink-2); font-size:15px; font-weight:300; }
.ev__panelin p+ul, .ev__panelin ul+p{ margin-top:12px; }

/* event kinds */
.ev--break .ev__title,
.ev--meal  .ev__title{ color:var(--ink-3); font-weight:400; }
.ev--break .ev__body::before,
.ev--meal  .ev__body::before{ border-color:var(--ink-3); }
.ev--social .ev__time{ color:var(--rose); }
.ev--social .ev__body::before{ border-color:var(--rose); }
.ev--social:hover .ev__body::before,
.ev--social.is-open .ev__body::before{ background:var(--rose); border-color:var(--rose); box-shadow:0 0 14px rgba(228,103,76,.8); }
.ev--social .ev__title{ color:var(--gold-hi); }
.ev--logistic .ev__time{ color:var(--blue); }
.ev--logistic .ev__body::before{ border-color:var(--blue); }
.ev--logistic .ev__title{ font-size:19px; color:var(--ink-2); font-weight:400; }

.agenda__foot{ margin-top:46px; display:flex; flex-wrap:wrap; gap:12px; }

/* calendar button state swap */
#icsBtn{ position:relative; }
#icsBtn .btn__ok{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease);
}
#icsBtn.is-done .btn__t{ opacity:0; }
#icsBtn.is-done .btn__ok{ opacity:1; }
#icsBtn.is-done{ background:linear-gradient(100deg,#a7e6c2,#7fd6a2 60%,#4fae7c); }
#icsBtn .btn__t{ transition:opacity .25s var(--ease); }

/* ── work groups ─────────────────────────────────────── */
.wg{ display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:14px; }
.wgc{
  position:relative; padding:24px 22px 22px; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--r-s);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  transition:.35s var(--ease);
}
.wgc::after{
  content:''; position:absolute; inset:auto 0 0 0; height:2px; transform:scaleX(0);
  transform-origin:left; transition:transform .45s var(--ease);
  background:linear-gradient(90deg,var(--gold),transparent);
}
.wgc:hover{ transform:translateY(-5px); border-color:rgba(201,162,74,.42); background:rgba(201,162,74,.055); }
.wgc:hover::after{ transform:scaleX(1); }
.wgc__n{
  font-family:var(--fm); font-size:11.5px; color:var(--gold); letter-spacing:.14em; margin-bottom:14px;
  display:block;
}
.wgc h3{ font-size:22px; font-weight:500; margin-bottom:16px; line-height:1.16; }
.wgc__fac{ display:grid; gap:7px; }
.wgc__fac div{ display:flex; align-items:center; gap:9px; font-size:14px; color:var(--ink-2); }
.wgc__fac i{
  flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--fc); font-size:10px; font-weight:600; font-style:normal;
  background:rgba(201,162,74,.16); color:var(--gold-hi); border:1px solid rgba(201,162,74,.32);
}

/* ── venues ──────────────────────────────────────────── */
.sec--venues{ background:linear-gradient(180deg,#070a10,var(--bg)); }
.vgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.v--wide{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.v{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  background:var(--panel); display:flex; flex-direction:column;
  transition:.4s var(--ease);
}
.v:hover{ border-color:var(--line-2); transform:translateY(-4px); }
.v__media{ position:relative; overflow:hidden; background:#04060a; }
.v__media>img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.v:hover .v__media>img{ transform:scale(1.045); }
/* the wide card stretches its media column to the row height; the rest need a set band */
.v:not(.v--wide) .v__media{ height:clamp(190px,24vw,240px); }
.v--wide .v__media{ min-height:340px; }
.v__media--split{ display:grid; grid-template-columns:1fr 1fr; gap:1px; }
.v__media--split img{ height:100%; object-fit:cover; }
.v__thumbs{
  position:absolute; right:12px; bottom:12px; display:flex; gap:8px;
}
.v__thumbs img{
  width:58px; height:44px; object-fit:cover; border-radius:6px;
  border:1px solid rgba(255,255,255,.28); box-shadow:0 6px 18px rgba(0,0,0,.6);
  transition:.35s var(--ease);
}
.v__thumbs img:hover{ transform:translateY(-4px) scale(1.12); border-color:var(--gold); }

.v__body{ padding:28px 26px 26px; display:flex; flex-direction:column; flex:1; }
.v__tag{
  align-self:flex-start; margin-bottom:14px; padding:5px 12px; border-radius:99px;
  font-family:var(--fc); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
}
.v__tag--gold{ background:rgba(201,162,74,.14); color:var(--gold-hi); border:1px solid rgba(201,162,74,.34); }
.v__tag--blue{ background:rgba(76,127,214,.14); color:#9dbcf0; border:1px solid rgba(76,127,214,.34); }
.v__tag--rose{ background:rgba(228,103,76,.14); color:#f0a291; border:1px solid rgba(228,103,76,.34); }

.v__body h3{ font-size:clamp(24px,3vw,32px); font-weight:500; margin-bottom:12px; }
.v__body h3 em{ font-style:normal; font-size:.55em; color:var(--gold); letter-spacing:.08em; vertical-align:middle; }
.v__addr{
  display:inline-flex; align-items:center; gap:7px; margin-bottom:20px;
  font-size:14.5px; color:var(--ink-2); border-bottom:1px solid var(--line-2);
  padding-bottom:2px; align-self:flex-start; transition:.3s;
}
.v__addr:hover{ color:var(--gold-hi); border-color:var(--gold); }

.v__list{ display:grid; gap:10px; margin-bottom:18px; }
.v__list li{ display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; padding-bottom:10px; border-bottom:1px dashed var(--line); }
.v__list li:last-child{ border-bottom:0; padding-bottom:0; }
.v__list b{ font-family:var(--fc); font-size:16px; font-weight:600; letter-spacing:.02em; min-width:112px; }
.v__list span{ font-family:var(--fm); font-size:12.5px; color:var(--ink-2); }
.v__note{
  margin-top:auto; padding:14px 16px; border-radius:var(--r-s);
  background:rgba(255,255,255,.032); border:1px solid var(--line);
  font-size:14px; color:var(--ink-2); font-weight:300;
}
.v__note b{ color:var(--ink); font-weight:600; }

/* ── info ────────────────────────────────────────────── */
.sec--info{ position:relative; overflow:hidden; background:var(--bg); }
.info__bg{ position:absolute; inset:0; z-index:0; }
.info__bg img{
  width:100%; height:100%; object-fit:cover; object-position:52% 30%;
  opacity:.55; filter:blur(1.5px) saturate(108%); transform:scale(1.04);
}
.sec--info::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,var(--bg),rgba(5,7,12,.56) 26%,rgba(5,7,12,.8) 72%,var(--bg));
}
.sec--info .wrap{ position:relative; z-index:1; }

.igrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:14px; }
.icard{
  padding:28px 24px; border:1px solid var(--line); border-radius:var(--r);
  background:rgba(10,13,20,.72); backdrop-filter:blur(14px);
  transition:.35s var(--ease);
}
.icard:hover{ border-color:rgba(201,162,74,.42); transform:translateY(-4px); }
.icard__ico{
  width:30px; height:30px; margin-bottom:18px;
  fill:none; stroke:var(--gold); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round;
}
.icard h4{ font-size:22px; font-weight:500; margin-bottom:10px; }
.icard p{ font-size:14.5px; color:var(--ink-2); font-weight:300; }
.icard p b{ color:var(--ink); font-weight:600; }
.ilink{
  display:inline-flex; align-items:center; gap:6px; margin-top:14px;
  font-family:var(--fm); font-size:12.5px; color:var(--gold-hi);
  border-bottom:1px solid rgba(201,162,74,.4); padding-bottom:2px;
}
.ilink:hover{ border-color:var(--gold-hi); }

.icard--dress{ grid-column:span 1; }
.dress{ display:grid; gap:12px; }
.dress li{ display:grid; gap:3px; padding-bottom:12px; border-bottom:1px dashed var(--line); }
.dress li:last-child{ border-bottom:0; padding-bottom:0; }
.dress span{ font-family:var(--fm); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.dress b{ font-family:var(--fc); font-size:18px; font-weight:500; color:var(--gold-hi); }

/* ── contact ─────────────────────────────────────────── */
.sec--contact{ background:linear-gradient(180deg,var(--bg),#070a10); padding-bottom:clamp(60px,8vw,100px); }
.cgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; max-width:800px; }
.ccard{
  padding:30px 26px; border:1px solid var(--line); border-radius:var(--r);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  transition:.35s var(--ease);
}
.ccard:hover{ border-color:rgba(201,162,74,.45); transform:translateY(-4px); }
.ccard__av{
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center;
  margin-bottom:20px; font-family:var(--fc); font-size:19px; font-weight:600; letter-spacing:.04em;
  background:linear-gradient(140deg,var(--gold-hi),var(--gold-lo)); color:#12100a;
}
.ccard h3{ font-size:26px; font-weight:500; margin-bottom:5px; }
.ccard__role{ font-size:14px; color:var(--ink-3); margin-bottom:18px; }
.ccard__tel{
  display:inline-block; font-family:var(--fm); font-size:15px; color:var(--gold-hi);
  border-bottom:1px solid rgba(201,162,74,.4); padding-bottom:2px;
}
.ccard__tel:hover{ border-color:var(--gold-hi); }

/* ── footer ──────────────────────────────────────────── */
.foot{ position:relative; z-index:1; border-top:1px solid var(--line); background:#070a10; padding:34px 0; }
.foot__in{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
.foot p{ font-size:13.5px; color:var(--ink-3); margin-right:auto; }
.foot a{ font-family:var(--fm); font-size:12.5px; color:var(--gold); letter-spacing:.06em; }
.foot a:hover{ color:var(--gold-hi); }

/* ══ RESPONSIVE ═════════════════════════════════════ */
@media (max-width:1000px){
  .nav__links{
    position:fixed; inset:66px 12px auto 12px; flex-direction:column; gap:2px;
    padding:12px; border:1px solid var(--line); border-radius:var(--r);
    background:rgba(5,7,12,.96); backdrop-filter:blur(20px);
    opacity:0; visibility:hidden; transform:translateY(-10px);
    transition:.3s var(--ease);
  }
  .nav__links.is-open{ opacity:1; visibility:visible; transform:none; }
  .nav__links a{ padding:12px 14px; font-size:16px; border-radius:9px; }
  .nav__burger{ display:block; }
  .nav__brandtext{ display:none; }
  .v--wide{ grid-template-columns:1fr; }
  .v--wide .v__media{ min-height:0; height:clamp(230px,36vw,320px); }
  .craft__hud{ grid-template-columns:repeat(2,1fr); }
  .hud:nth-child(3){ border-left:0; }
  .hud:nth-child(n+3){ border-top:1px solid var(--line); }
}

@media (max-width:720px){
  .vgrid{ grid-template-columns:1fr; }
  .hero{ padding:130px 20px 150px; }
  .hero__scroll{ display:none; }
  .count__cell{ min-width:48px; }
  .count{ padding:16px 18px 18px; }
  .count__row i{ font-size:20px; }
}

@media (max-width:640px){
  .ev{ grid-template-columns:1fr; }
  .ev__time{ padding:16px 0 0; text-align:left; }
  .ev__body{ padding:8px 0 18px 20px; }
  .ev__body::before{ left:-4.5px; top:12px; }
  .tab{ padding:10px 14px 14px; }
  .tab__t{ font-size:18px; }
  .v__body{ padding:24px 20px; }
  .telemetry__track{ padding:0; }
  .tel{ min-width:150px; padding:12px 18px; }
}
