:root{
  --ink:#121820;
  --paper:#f7f4ed;
  --paper-2:#efe9df;
  --muted:#6f747a;
  --line:rgba(18,24,32,.14);
  --accent:#a51c30;
  --accent-soft:#d8b9be;
  --night:#0f1b2a;
  --night-2:#16263a;
  --blue:#7fa1c4;
  --gold:#c5a47c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:20;
  background:rgba(15,27,42,.92);
  color:#f7f4ed;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nav-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.site-mark{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.mark-small{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.56rem;
  color:#cbd3dc;
  margin-bottom:4px;
}
.mark-large{
  font-family:"Montserrat",Inter,sans-serif;
  font-weight:400;
  font-size:1.02rem;
}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#dce2e9;
}
nav a:hover{color:#fff}
.hero{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:145px 24px 90px;
  color:#f8f4ec;
  background:
    radial-gradient(ellipse at 83% 20%, rgba(144,183,220,.31), transparent 24%),
    radial-gradient(ellipse at 68% 52%, rgba(72,112,154,.15), transparent 36%),
    radial-gradient(ellipse at 18% 74%, rgba(165,28,48,.10), transparent 30%),
    radial-gradient(ellipse at 40% 8%, rgba(111,137,177,.08), transparent 28%),
    linear-gradient(90deg, rgba(5,13,23,.22) 0%, transparent 48%),
    linear-gradient(145deg,#0b1623 0%,#13243a 48%,#1b3048 100%);
}
.hero::before{
  content:"";
  position:absolute;
  width:min(62vw,840px);
  aspect-ratio:1;
  border-radius:50%;
  right:-18vw;
  top:7vh;
  opacity:.76;
  background:
    radial-gradient(circle at 37% 31%, rgba(255,255,255,.18) 0 1.1%, rgba(190,218,245,.10) 2.5%, transparent 7%),
    radial-gradient(circle at 50% 50%, rgba(139,180,218,.15) 0 27%, rgba(91,135,177,.08) 45%, rgba(28,50,74,.02) 63%, transparent 68%);
  border:1px solid rgba(212,228,244,.10);
  box-shadow:
    0 0 115px rgba(104,153,199,.16),
    0 0 220px rgba(81,126,169,.08),
    inset 0 0 90px rgba(164,199,231,.04);
  filter:blur(.2px);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(ellipse at 82% 70%, rgba(126,166,205,.10), transparent 30%),
    radial-gradient(ellipse at 30% 40%, rgba(90,122,163,.07), transparent 34%),
    radial-gradient(ellipse at 50% 95%, rgba(108,145,180,.09), transparent 28%);
  filter:blur(28px);
  opacity:.9;
  pointer-events:none;
}
.hero-starfield{
  position:absolute;
  inset:0;
  opacity:.58;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.92) 0 .9px, rgba(255,255,255,.20) 1.2px, transparent 2px),
    radial-gradient(circle at 68% 16%, rgba(255,255,255,.80) 0 .8px, transparent 1.7px),
    radial-gradient(circle at 78% 66%, rgba(223,236,249,.72) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 72%, rgba(255,255,255,.65) 0 .9px, transparent 1.8px),
    radial-gradient(circle at 11% 80%, rgba(255,255,255,.58) 0 .8px, transparent 1.7px),
    radial-gradient(circle at 86% 38%, rgba(220,238,255,.92) 0 1.2px, rgba(163,203,238,.18) 1.8px, transparent 3px),
    radial-gradient(circle at 55% 46%, rgba(255,255,255,.56) 0 .7px, transparent 1.5px),
    radial-gradient(circle at 34% 18%, rgba(218,234,250,.60) 0 .8px, transparent 1.7px),
    radial-gradient(circle at 61% 82%, rgba(255,255,255,.50) 0 .7px, transparent 1.5px);
  background-size:
    320px 260px,
    410px 370px,
    280px 340px,
    520px 420px,
    360px 480px,
    610px 510px,
    470px 390px,
    690px 560px,
    540px 460px;
  filter:drop-shadow(0 0 3px rgba(177,210,239,.12));
  pointer-events:none;
}
.hero-starfield::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 73% 43%, rgba(138,176,211,.10), transparent 25%),
    radial-gradient(ellipse at 25% 58%, rgba(113,143,181,.07), transparent 24%);
  filter:blur(34px);
  opacity:.9;
}
.hero-content{
  width:min(1140px,100%);
  position:relative;
  z-index:2;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.23em;
  font-size:.82rem;
  font-weight:600;
  color:#cbd8e6;
  margin:0 0 18px;
}
.hero-pretitle{
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.95rem;
  color:#f0d8dc;
}
h1,h2,h3{font-family:"Montserrat",Inter,sans-serif;font-weight:400}
h1{
  font-family:"Montserrat",Inter,sans-serif;
  font-weight:300;
  font-size:clamp(4.8rem,11vw,10rem);
  line-height:.84;
  letter-spacing:-.045em;
  margin:0;
}
.hero-details{
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.23);
  display:flex;
  gap:24px 60px;
  flex-wrap:wrap;
  font-size:1.12rem;
  color:#dde4ec;
}
.hero-details p{margin:0}
.hero-details strong{color:#fff}
.hero-orbit{
  position:absolute;
  border:1px solid rgba(214,229,243,.065);
  border-radius:50%;
  transform:rotate(-18deg);
  filter:blur(.15px);
  pointer-events:none;
}
.orbit-one{width:50vw;height:50vw;right:-8vw;top:16vh}
.orbit-two{width:72vw;height:31vw;right:-20vw;top:38vh}
.scroll-cue{
  position:absolute;
  bottom:28px;
  right:34px;
  z-index:3;
  font-size:1.7rem;
  color:#e8edf3;
}
.section{
  max-width:1200px;
  margin:0 auto;
  padding:100px 24px;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:48px;
  border-top:1px solid var(--line);
}
.section-label{
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.7rem;
  color:var(--muted);
  padding-top:9px;
}
.section-body h2{
  font-weight:300;
  font-size:clamp(2rem,3.4vw,3.5rem);
  line-height:1.05;
  letter-spacing:-.025em;
  margin:0 0 26px;
}
.section-kicker{
  margin:0 0 12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:var(--accent);
  font-weight:600;
}
.intro-copy p{
  max-width:760px;
  font-size:1.16rem;
  color:#3d434a;
}
.intro-copy .section-kicker{font-size:.72rem}
.collaboration-note{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:.82rem !important;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--muted) !important;
}
.collaboration-note a{
  color:var(--ink);
  border-bottom:1px solid rgba(18,24,32,.28);
  padding-bottom:2px;
}
.collaboration-note a:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
#participants{
  padding-top:110px;
  padding-bottom:110px;
  background:#f3f0e9;
  box-shadow:0 0 0 100vmax #f3f0e9;
  clip-path:inset(0 -100vmax);
}
.participant-table{
  width:100%;
  border-top:1px solid rgba(18,24,32,.10);
}
.participant-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:24px;
  padding:15px 4px;
  border-bottom:1px solid rgba(18,24,32,.09);
  align-items:baseline;
  transition:background .18s ease;
}
@media (hover:hover){
  .participant-row:not(.participant-head):hover{
    background:rgba(255,255,255,.38);
  }
}
.participant-row > div:last-child{
  color:var(--muted);
  text-align:right;
  white-space:nowrap;
}
.participant-head{
  padding-top:0;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
}
.participant-head > div:last-child{color:var(--muted)}
.section-dark{
  max-width:none;
  background:var(--night);
  color:#f5f1e8;
  padding-left:max(24px,calc((100vw - 1200px)/2 + 24px));
  padding-right:max(24px,calc((100vw - 1200px)/2 + 24px));
}
.section-dark .section-label{color:#aab6c2}
.schedule-card .status{
  color:var(--accent-soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  margin-bottom:18px;
}
.schedule-card h2{
  font-size:clamp(1.75rem,3vw,3rem);
  white-space:nowrap;
}
.schedule-card p:last-child{color:#c8d0d9;max-width:650px}
.venue-copy p{font-size:1.04rem}
.venue-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px;
  max-width:760px;
  margin-top:38px;
}
.venue-block{
  border-top:1px solid rgba(18,24,32,.12);
  padding-top:15px;
}
.venue-block-label{
  display:block;
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.7rem;
  color:var(--muted);
}
.venue-block p{margin:0}
.venue-block a{
  border-bottom:1px solid rgba(18,24,32,.24);
  padding-bottom:1px;
}
.venue-block a:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.muted{color:var(--muted)}
#venue{padding-top:112px;padding-bottom:112px}
.section-organizers{
  background:transparent;
  padding-top:112px;
  padding-bottom:112px;
}
.organizer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.organizer-grid div{
  border-top:1px solid var(--line);
  padding-top:18px;
}
.organizer-grid h3{
  margin:0;
  font-weight:400;
  font-size:1.35rem;
}
footer{
  background:#0c1724;
  color:#cbd2da;
  border-top:1px solid rgba(255,255,255,.08);
  padding:46px 24px 54px;
}
.footer-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr auto;
  gap:30px;
  align-items:end;
}
.footer-inner p{margin:0}
.footer-title{
  font-family:"Montserrat",Inter,sans-serif;
  font-weight:400;
  color:#fff;
  font-size:1.05rem;
}
.footer-inner a{
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.7rem;
  color:#dbe4ec;
}
.footer-inner a:hover{color:#fff}
@media (max-width:900px){
  .site-header{position:static}
  .nav-wrap{align-items:flex-start;flex-direction:column}
  nav{gap:12px 18px}
  .hero{min-height:82vh;padding-top:80px}
  .section{grid-template-columns:1fr;gap:18px;padding:72px 20px}
  #participants{padding-top:82px;padding-bottom:82px}
  #venue,.section-organizers{padding-top:82px;padding-bottom:82px}
  .venue-meta{grid-template-columns:1fr;gap:28px}
  .organizer-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
@media (max-width:520px){
  h1{font-size:clamp(3.5rem,19vw,5.7rem)}
  .eyebrow{font-size:.72rem}
  .hero-pretitle{font-size:.84rem}
  .hero-details{font-size:1rem}
  .schedule-card h2{
    font-size:clamp(1.35rem,6.5vw,1.8rem);
    white-space:nowrap;
  }
  .hero-details{display:block}
  .hero-details p + p{margin-top:8px}
  .participant-row{grid-template-columns:1fr auto;gap:14px}
  .participant-row > div:last-child{font-size:.92rem}
}
