:root{
  --navy:#001a8a; --deep:#000c40; --cyan:#6ad6ff; --orange:#ff6a1a;
  --display:'Oswald',Impact,sans-serif;
  --body:'Be Vietnam Pro','Segoe UI',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body.coming-soon{margin:0;min-height:100%;background:#000c40;color:#fff;font:400 16px/1.5 var(--body);overflow-x:hidden}
.cs-stage{position:fixed;inset:0;overflow:hidden}
.cs-photo{position:absolute;inset:-8%;background:center/cover no-repeat #001a8a;transform-origin:60% 70%;will-change:transform}
.cs-photo-a{animation:csKenA 42s ease-in-out infinite alternate}
.cs-photo-b{opacity:.42;mix-blend-mode:screen;animation:csKenB 54s ease-in-out infinite alternate}
.cs-veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(0,10,50,.55) 0%,rgba(0,14,70,.28) 36%,rgba(0,8,40,.72) 100%),
  linear-gradient(90deg,rgba(0,12,55,.38) 0%,transparent 42%,transparent 58%,rgba(0,12,55,.38) 100%)}
.cs-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.09) 50%,transparent 62%);background-size:220% 100%;animation:csSweep 9s ease-in-out infinite}
.cs-grain{position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cs-arc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cs-arc path{stroke-dasharray:1800;stroke-dashoffset:1800;animation:csDraw 3.6s cubic-bezier(.22,.61,.36,1) .15s forwards}
.cs-arc-b{animation-delay:.55s}
@keyframes csKenA{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-1.6%,-1.2%,0)}}
@keyframes csKenB{from{transform:scale(1.04) translate3d(1%,.6%,0)}to{transform:scale(1.1) translate3d(-1%,-1.4%,0)}}
@keyframes csSweep{0%,18%{background-position:120% 0}55%,100%{background-position:-20% 0}}
@keyframes csDraw{to{stroke-dashoffset:0}}
@keyframes csIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes csGlow{0%,100%{text-shadow:0 0 0 rgba(255,106,26,0)}50%{text-shadow:0 0 28px rgba(255,106,26,.45)}}

.cs-top,.cs-main,.cs-foot{position:relative;z-index:3}
.cs-top{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw 0;animation:csIn .8s ease both}
.cs-brand{display:flex;align-items:center;gap:16px}
.cs-seal{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.cs-logo{height:40px;width:auto}
.cs-lang{display:flex;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.cs-lang a{padding:6px 13px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.62);text-decoration:none}
.cs-lang a[aria-pressed="true"]{background:#003cd3;color:#fff}

.cs-main{padding:5.5vh 5vw 3vh}
.cs-hero{max-width:1180px;margin-bottom:28px}
.cs-col{animation:csIn .9s ease both .12s}
.cs-kicker{margin:0 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9dc2ff}
.cs-event{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(20px,2.4vw,32px);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.cs-col h1{margin:2px 0 10px;font-family:var(--display);font-weight:600;font-size:clamp(92px,16vw,210px);line-height:.82;letter-spacing:-.04em;animation:csGlow 5.5s ease-in-out infinite}
.cs-pos{margin:0 0 8px;font-size:clamp(18px,2.2vw,30px);font-weight:500;max-width:20ch;line-height:1.2;color:rgba(255,255,255,.94)}
.cs-theme{margin:0 0 16px;font-size:clamp(15px,1.4vw,20px);color:var(--cyan);font-weight:400}
.cs-when{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.7);line-height:1.55}

.cs-count{display:grid;grid-template-columns:repeat(4,minmax(72px,150px));gap:10px;margin:0 0 10px;animation:csIn .9s ease both .3s}
.cs-count div{padding:16px 10px 12px;background:rgba(0,16,70,.38);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}
.cs-count b{display:block;font-family:var(--display);font-size:clamp(34px,4.8vw,60px);line-height:.9;font-weight:600;letter-spacing:-.03em}
.cs-count span{display:block;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8fb6ff}
.cs-count-cap{margin:0 0 34px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.55)}

.cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 28px;margin:0 0 32px;max-width:980px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.16);animation:csIn .9s ease both .38s}
.cs-meta dt{margin:0 0 6px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8fb6ff}
.cs-meta dd{margin:0;font-family:var(--display);font-size:17px;letter-spacing:.03em;text-transform:uppercase;font-weight:500;line-height:1.25}

.cs-hosts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1080px;animation:csIn .9s ease both .46s}
.cs-hosts li{padding:12px 0 0;border-top:2px solid rgba(255,119,51,.75)}
.cs-hosts small{display:block;margin-bottom:6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9dc2ff}
.cs-hosts b{display:block;font-weight:500;font-size:14px;line-height:1.35}

.cs-foot{padding:22px 5vw 30px;max-width:1180px;animation:csIn .9s ease both .54s}
.cs-foot p{margin:0 0 8px;color:rgba(255,255,255,.68);font-size:14px}
.cs-status{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)!important}
.cs-mail a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}

@media(max-width:980px){
  .cs-col h1{font-size:22vw}
  .cs-meta,.cs-hosts{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .cs-count{grid-template-columns:repeat(4,1fr);gap:6px}
  .cs-count div{padding:12px 6px 10px}
  .cs-hosts{grid-template-columns:1fr}
  .cs-logo{height:32px}
  .cs-seal{width:36px;height:36px}
  .cs-main{padding-top:4vh}
}
@media(prefers-reduced-motion:reduce){
  .cs-photo,.cs-shine,.cs-arc path,.cs-col h1,.cs-top,.cs-col,.cs-count,.cs-meta,.cs-hosts,.cs-foot{animation:none}
  .cs-arc path{stroke-dashoffset:0}
}
