@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
/* Layout: one long night-sky page — gold-ruled hero with poster, the event lifecycle, a vertical run-of-show, organisers, register. Single committed dark look taken from the poster. */
:root{
  --navy-900:#050d24;
  --navy-800:#0a1a42;
  --navy-700:#10275e;
  --blue:#2f6bff;
  --gold:#f2b632;
  --gold-soft:#c99a3a;
  --ink:#eef2fb;
  --muted:#a6b3cf;
  --line:rgba(242,182,50,.35);
  --card:rgba(16,39,94,.45);
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  margin:0;background:var(--navy-900);color:var(--ink);
  font:400 17px/1.6 var(--body);
  background-image:
    radial-gradient(1200px 600px at 85% -10%, rgba(47,107,255,.25), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(16,39,94,.9), transparent 70%);
  background-attachment:fixed;
}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding-inline:20px}
.eyebrow{font:700 12px/1 var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0}
h2{font-weight:800;font-size:clamp(28px,4.2vw,44px);line-height:1.1;letter-spacing:-.01em}
.lead{color:var(--muted);max-width:60ch;margin:0}
section{padding-block:clamp(64px,9vw,112px)}
.sec-head{display:grid;gap:14px;margin-bottom:44px}
.rule{display:flex;align-items:center;gap:16px}
.rule::before,.rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.rule::after{background:linear-gradient(90deg,var(--gold),transparent)}

/* Header */
header{position:sticky;top:0;z-index:30;background:linear-gradient(90deg,rgba(16,39,94,.95) 0%,rgba(5,13,36,.94) 28%,rgba(3,8,22,.96) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(242,182,50,.12);transition:box-shadow .3s}
header.scrolled{box-shadow:0 12px 34px rgba(0,0,0,.5)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:84px;max-width:1320px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand svg{width:34px;height:auto;filter:drop-shadow(0 0 10px rgba(242,182,50,.55)) drop-shadow(0 0 22px rgba(47,107,255,.45))}
.brand-text{display:grid;gap:3px;line-height:1}
.brand-text small{font:800 10px/1 var(--display);letter-spacing:.42em;color:var(--gold)}
.brand-text span{font:900 italic 22px/1 var(--display);letter-spacing:.01em;text-shadow:0 0 14px rgba(242,182,50,.45),0 0 30px rgba(47,107,255,.35)}
.links{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.6vw,38px);font:500 16px/1 var(--body)}
.links a{position:relative;padding:12px 0;text-decoration:none;color:#b7bfd3;white-space:nowrap;transition:color .2s}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),#ffcc55);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.links a:hover{color:#fff}
.links a:hover::after{transform:scaleX(.5)}
.links a.active{color:#fff;font-weight:600}
.links a.active::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-cta{display:inline-flex;align-items:center;padding:14px 22px;border-radius:12px;background:linear-gradient(135deg,#ffcc55,var(--gold) 55%,#d99a1e);color:#1a1204;font:700 16px/1 var(--body);text-decoration:none;white-space:nowrap;box-shadow:0 8px 26px rgba(242,182,50,.28);transition:transform .2s,box-shadow .2s}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(242,182,50,.4)}
.nav-cta:focus-visible,.menu-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.menu-btn{display:none;width:44px;height:44px;border-radius:10px;border:1px solid rgba(242,182,50,.35);background:transparent;cursor:pointer;place-items:center;padding:0}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);position:relative;transition:transform .25s,background .25s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
header.open .menu-btn span{background:transparent}
header.open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
header.open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto;height:72px}
  .menu-btn{display:grid}
  .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;background:#050d24;border-bottom:1px solid rgba(242,182,50,.18);box-shadow:0 20px 40px rgba(0,0,0,.5);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
  header.open .links{opacity:1;visibility:visible;transform:none}
  .links a{padding:15px 4px;border-bottom:1px solid rgba(166,179,207,.12)}
  .links a::after{left:4px;right:auto;width:28px;bottom:-1px}
}
@media (max-width:420px){.nav-cta{padding:12px 14px;font-size:14px}.brand-text span{font-size:18px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:4px;font:700 14px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);cursor:pointer;transition:transform .2s, background .2s, color .2s}
.btn-gold{background:linear-gradient(180deg,#ffcc55,var(--gold));color:#1a1204;border-color:transparent;box-shadow:0 8px 30px rgba(242,182,50,.25)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--gold)}
.btn-ghost:hover{background:rgba(242,182,50,.1)}
.btn-sm{padding:10px 16px;font-size:12px}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn[aria-disabled="true"]{opacity:.7;cursor:default}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:56px 72px}
.swoosh{position:absolute;inset:0;pointer-events:none;opacity:.9}
.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.presenter{font:700 12px/1.7 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.presenter b{color:var(--ink);font-weight:700}
.logo{display:flex;align-items:center;gap:clamp(12px,2vw,22px);margin:28px 0 8px}
.logo svg{width:clamp(70px,11vw,120px);height:auto;flex:none;filter:drop-shadow(0 6px 20px rgba(47,107,255,.45))}
.logo-text{min-width:0}
.cols{font:800 clamp(18px,2.4vw,26px)/1 var(--display);letter-spacing:.5em;color:var(--gold);padding-left:.2em}
.sky{font:900 italic clamp(52px,10vw,118px)/.92 var(--display);letter-spacing:-.02em;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.25),0 0 40px rgba(47,107,255,.35)}
.sky span{color:var(--gold)}
.subtitle{font:700 clamp(13px,1.6vw,18px)/1.3 var(--display);letter-spacing:.2em;text-transform:uppercase;border-top:1px solid rgba(47,107,255,.8);padding-top:12px;margin-top:10px}
.motto{margin:22px 0 0;font:700 13px/1 var(--display);letter-spacing:.42em;color:var(--gold)}
.motto i{font-style:normal;color:var(--muted);margin-inline:.4em}
.pep{margin-top:26px;font:800 italic clamp(20px,2.4vw,26px)/1.2 var(--display)}
.facts{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;border:1px solid var(--line);border-radius:6px;width:fit-content;max-width:100%}
.fact{padding:14px 22px;display:grid;gap:4px}
.fact+.fact{border-left:1px solid var(--line)}
.fact .k{font:700 10px/1 var(--display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.fact .v{font:700 17px/1.2 var(--display)}
@media (max-width:520px){.fact{flex:1 1 100%}.fact+.fact{border-left:0;border-top:1px solid var(--line)}}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.countdown{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.cd{min-width:72px;padding:12px 10px;text-align:center;background:var(--card);border:1px solid rgba(47,107,255,.35);border-radius:6px}
.cd b{display:block;font:800 30px/1 var(--display);font-variant-numeric:tabular-nums}
.cd span{font:700 10px/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.poster{position:relative;justify-self:center;max-width:380px;width:100%}
.poster img{display:block;width:100%;border-radius:6px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 8px rgba(242,182,50,.06);transform:rotate(2deg);transition:transform .4s}
.poster img:hover{transform:rotate(0) scale(1.01)}
@media (max-width:900px){.poster{max-width:320px}.poster img{transform:none}}

/* Lifecycle */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
@media (max-width:760px){.phases{grid-template-columns:1fr}}
.phase{padding:28px 26px 8px 0;display:grid;gap:10px;align-content:start}
.phase + .phase{padding-left:26px;border-left:1px solid rgba(242,182,50,.18)}
@media (max-width:760px){.phase + .phase{padding-left:0;border-left:0;border-top:1px solid rgba(242,182,50,.18)}}
.phase .tag{font:700 11px/1 var(--display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.phase h3{font:800 22px/1.2 var(--display)}
.phase p{margin:0;color:var(--muted)}
.phase .mods{font:600 13px/1 var(--display);letter-spacing:.1em;color:var(--ink);opacity:.8}
.for{margin-top:48px;display:flex;flex-wrap:wrap;gap:14px 40px;padding:22px 26px;border-radius:6px;background:linear-gradient(90deg,rgba(242,182,50,.12),rgba(242,182,50,0));border-left:3px solid var(--gold)}
.for div{display:grid;gap:4px}
.for .k{font:700 10px/1 var(--display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.for .v{font:700 17px/1.3 var(--display)}

/* Schedule */
.alt{background:linear-gradient(180deg,rgba(10,26,66,.6),rgba(5,13,36,0))}
.timeline{position:relative;display:grid;gap:18px;padding-left:34px}
.timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--gold),var(--blue) 60%,var(--gold))}
.stop{position:relative}
.stop::before{content:"";position:absolute;left:-31px;top:26px;width:14px;height:14px;border-radius:50%;background:var(--navy-900);border:3px solid var(--gold)}
.marker{position:relative;display:flex;align-items:baseline;gap:14px;padding:4px 0;font:700 13px/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.marker::before{content:"";position:absolute;left:-28px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.marker time{color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:15px}
.session{background:var(--card);border:1px solid rgba(47,107,255,.28);border-radius:8px;padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:6px 22px}
.session.war{border-color:var(--gold);background:linear-gradient(135deg,rgba(242,182,50,.14),rgba(16,39,94,.5))}
.num{grid-row:span 3;font:900 italic 52px/1 var(--display);color:transparent;-webkit-text-stroke:1.5px var(--gold);min-width:44px}
@media (max-width:560px){.session{grid-template-columns:1fr;padding:20px}.num{grid-row:auto;font-size:38px}}
.s-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;min-width:0}
.chip{font:700 10px/1 var(--display);letter-spacing:.22em;text-transform:uppercase;padding:6px 9px;border-radius:3px;background:rgba(47,107,255,.2);color:#b9ccff}
.chip.gold{background:rgba(242,182,50,.18);color:var(--gold)}
.s-mod{font:700 12px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.session h3{font:800 clamp(20px,2.4vw,26px)/1.2 var(--display);min-width:0}
.session h3 em{display:block;font-style:normal;font-weight:500;font-size:.72em;color:var(--muted);margin-top:4px}
.focus{min-width:0}
.focus ul{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
@media (max-width:700px){.focus ul{grid-template-columns:1fr}}
.focus li{position:relative;padding-left:18px;color:#d5ddef}
.focus li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--gold)}
.trainer{grid-column:2;display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed rgba(166,179,207,.25);font-size:15px;color:var(--muted)}
@media (max-width:560px){.trainer{grid-column:1}}
.trainer .av{width:34px;height:34px;border-radius:50%;border:1.5px dashed var(--gold-soft);display:grid;place-items:center;font:800 13px/1 var(--display);color:var(--gold-soft);flex:none}
.trainer b{color:var(--ink);font-weight:600}
.trainer .av{overflow:hidden}
.trainer .av svg{width:20px;height:20px;fill:currentColor;opacity:.8}
.trainer .av img{width:100%;height:100%;object-fit:cover;display:block}

/* Info Hub */
.info{text-align:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid rgba(242,182,50,.35);border-radius:999px;background:rgba(5,13,36,.6);font:700 12px/1 var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:blink 1.8s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.info h2{margin-top:18px;font-size:clamp(32px,5.4vw,58px)}
.info .lead{margin:14px auto 0;font-size:clamp(16px,1.6vw,19px)}
.info-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
@media (max-width:960px){.info-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.info-grid{grid-template-columns:1fr}}
.icard{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 28px 28px;border-radius:22px;background:linear-gradient(180deg,rgba(16,39,94,.42),rgba(5,13,36,.75));border:1px solid rgba(166,179,207,.14);transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;min-width:0}
.icard:hover{transform:translateY(-4px);border-color:rgba(242,182,50,.45);box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(242,182,50,.1)}
.icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:12px;background:linear-gradient(135deg,#ffcc55,var(--gold) 55%,#d99a1e);color:#1a1204;box-shadow:0 8px 22px rgba(242,182,50,.28)}
.icon svg{width:26px;height:26px}
.icard h3{font:800 21px/1.25 var(--display)}
.icard p{margin:0;color:var(--muted);font-size:16px;overflow-wrap:anywhere}
.icard p b{color:var(--ink);font-weight:600}
.icard .tba{display:inline-block;margin-top:2px;font:700 10px/1 var(--display);letter-spacing:.22em;text-transform:uppercase;padding:6px 9px;border-radius:3px;background:rgba(47,107,255,.2);color:#b9ccff;width:fit-content}
.ilink{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:7px;color:var(--gold);font:600 15px/1 var(--body);text-decoration:none;width:fit-content}
.ilink svg{width:15px;height:15px}
.ilink:hover{text-decoration:underline;text-underline-offset:4px}

/* Organisers */
.org-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media (max-width:860px){.org-grid{grid-template-columns:1fr}}
.club{display:grid;gap:12px}
.club h3{font:800 24px/1.25 var(--display)}
.ids{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.person{padding:20px 22px;display:grid;gap:4px;border-bottom:1px solid rgba(242,182,50,.18)}
.person:nth-child(odd){border-right:1px solid rgba(242,182,50,.18)}
.person:nth-last-child(-n+2){border-bottom:0}
.person .r{font:700 10px/1.3 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.person .n{font:700 18px/1.3 var(--display)}
@media (max-width:480px){.people{grid-template-columns:1fr}.person:nth-child(odd){border-right:0}.person:nth-last-child(2){border-bottom:1px solid rgba(242,182,50,.18)}}
.delivered{margin-top:22px;display:flex;align-items:center;gap:14px;color:var(--muted)}
.delivered b{font:800 italic 20px/1.2 var(--display);color:var(--ink)}

/* Register */
.reg{position:relative;text-align:center;border:1px solid var(--line);border-radius:10px;padding:clamp(40px,6vw,72px) 24px;background:
  radial-gradient(600px 240px at 50% 0%, rgba(47,107,255,.35), transparent 70%), var(--navy-800);overflow:hidden}
.reg h2{margin-top:14px}
.reg .lead{margin:16px auto 0}
.reg .cta-row{justify-content:center}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px auto 0;max-width:820px;text-align:left}
@media (max-width:700px){.steps{grid-template-columns:1fr}}
.step{padding:18px 20px;border-radius:6px;background:rgba(5,13,36,.6);border:1px solid rgba(47,107,255,.3);display:grid;gap:6px}
.step .k{font:800 italic 22px/1 var(--display);color:var(--gold)}
.step .t{font:700 15px/1.3 var(--display)}
.step p{margin:0;color:var(--muted);font-size:15px}
.note{margin-top:18px;font-size:14px;color:var(--muted)}

footer{border-top:1px solid rgba(242,182,50,.2);padding-block:36px;color:var(--muted);font-size:14px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.foot b{color:var(--ink);font-family:var(--display)}

@keyframes rise{from{transform:translateY(14px);opacity:.001}to{transform:none;opacity:1}}
.hero .logo,.hero .subtitle,.hero .motto{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .subtitle{animation-delay:.12s}.hero .motto{animation-delay:.22s}

/* Multi-page */
main{min-height:calc(100vh - 84px - 110px)}
.explore{padding-top:0}
.icard.linkcard{text-decoration:none;color:inherit}
.contact-grid .icard p a{color:var(--gold)}

/* ===== Home page ===== */
.h-hero{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,96px) clamp(64px,8vw,104px)}
.h-glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(520px 340px at 50% 30%,rgba(242,182,50,.20),transparent 70%),
  radial-gradient(900px 520px at 50% 25%,rgba(47,107,255,.32),transparent 70%)}
.h-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.h-logo{display:flex;align-items:center;gap:clamp(12px,2.4vw,28px);margin:34px 0 6px;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.h-logo svg{width:clamp(72px,12vw,150px);height:auto;flex:none;filter:drop-shadow(0 0 24px rgba(47,107,255,.6)) drop-shadow(0 0 14px rgba(242,182,50,.45))}
.h-logo>div{text-align:left;min-width:0}
.h-cols{font:800 clamp(18px,2.8vw,32px)/1 var(--display);letter-spacing:.55em;color:var(--gold);padding-left:.15em}
.h-sky{font:900 italic clamp(58px,12.5vw,168px)/.9 var(--display);letter-spacing:-.02em;background:linear-gradient(180deg,#fff 30%,#dfe7ff 60%,#9fb8ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px rgba(47,107,255,.55)) drop-shadow(0 6px 0 rgba(0,0,0,.3))}
.h-sky span{background:linear-gradient(180deg,#ffe08a,var(--gold) 55%,#c98a12);-webkit-background-clip:text;background-clip:text}
.h-motto{margin:18px 0 0;font:700 clamp(12px,1.4vw,15px)/1 var(--display);letter-spacing:.5em;color:var(--gold)}
.h-motto i{font-style:normal;color:var(--muted);margin-inline:.5em}
.h-tag{max-width:760px;margin:28px 0 0;color:#c3cce0;font-size:clamp(17px,1.9vw,22px);line-height:1.55}
.h-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin-top:26px;color:#d5ddef;font-size:16px}
.h-meta span,.h-meta a{display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.h-meta a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.h-meta svg{width:19px;height:19px;color:var(--gold);flex:none}
.h-meta a svg:last-child{width:15px;height:15px;color:var(--muted)}
.h-meta i{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.6}
@media (max-width:640px){.h-meta i{display:none}.h-meta{flex-direction:column}}
.h-count{display:grid;grid-template-columns:repeat(4,minmax(0,170px));gap:clamp(10px,1.6vw,20px);margin-top:44px;width:100%;justify-content:center}
.h-count>div{padding:clamp(18px,2.4vw,30px) 8px;border-radius:20px;background:linear-gradient(180deg,rgba(16,39,94,.55),rgba(5,13,36,.85));border:1px solid rgba(166,179,207,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.h-count b{display:block;font:800 clamp(36px,5.6vw,64px)/1 var(--display);font-variant-numeric:tabular-nums;color:#fff}
.h-count span{display:block;margin-top:10px;font:600 clamp(10px,1.1vw,13px)/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.h-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:200px;padding:16px 28px;border-radius:12px;font:700 17px/1 var(--body);text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
.hbtn svg{width:19px;height:19px;transition:transform .2s}
.hbtn:hover{transform:translateY(-2px)}
.hbtn:hover svg{transform:translateX(3px)}
.hbtn-gold{background:linear-gradient(135deg,#ffcc55,var(--gold) 55%,#d99a1e);color:#1a1204;box-shadow:0 10px 30px rgba(242,182,50,.3)}
.hbtn-line{border:1px solid rgba(238,242,251,.35);color:#fff;background:rgba(5,13,36,.5)}
.hbtn-line:hover{border-color:var(--gold);background:rgba(242,182,50,.08)}
.hbtn-sm{min-width:0;padding:12px 20px;font-size:14px;margin-top:34px}
.hbtn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hbtn[aria-disabled="true"]{opacity:.75}
.h-big{margin-top:18px;font-size:clamp(32px,5vw,56px);line-height:1.08}

.h-about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
@media (max-width:900px){.h-about-grid{grid-template-columns:1fr}}
.h-about .lead{margin-top:20px;font-size:18px}
.h-about .ilink{margin-top:18px}
.h-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.h-stats div{padding:28px 26px;border-radius:20px;background:linear-gradient(180deg,rgba(16,39,94,.42),rgba(5,13,36,.75));border:1px solid rgba(166,179,207,.14);display:grid;gap:8px;min-width:0}
.h-stats b{font:800 clamp(38px,4.6vw,54px)/1 var(--display);background:linear-gradient(180deg,#ffe08a,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.h-stats span{color:#c3cce0;font-size:16px}
.icard.hot{border-color:rgba(242,182,50,.5);background:radial-gradient(400px 200px at 100% 100%,rgba(242,182,50,.14),transparent 70%),linear-gradient(180deg,rgba(16,39,94,.42),rgba(5,13,36,.75))}

.h-how{background:linear-gradient(180deg,rgba(10,26,66,.55),rgba(5,13,36,0))}
.h-steps{margin-top:44px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;text-align:left}
@media (max-width:1100px){.h-steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.h-steps{grid-template-columns:repeat(2,1fr)}}
.hstep{display:grid;gap:6px;padding:18px;border-radius:16px;background:rgba(5,13,36,.7);border:1px solid rgba(166,179,207,.14);min-width:0;transition:border-color .25s}
.hstep:hover{border-color:rgba(242,182,50,.45)}
.hs-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.hs-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(242,182,50,.14);color:var(--gold);border:1px solid rgba(242,182,50,.3);flex:none}
.hs-ic svg{width:18px;height:18px}
.hs-n{font:700 10px/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.hstep b{font:700 16px/1.25 var(--display)}
.hstep>span{color:var(--muted);font-size:14px;line-height:1.4}

.h-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:clamp(28px,4.5vw,56px);border-radius:28px;border:1px solid rgba(242,182,50,.28);background:radial-gradient(600px 300px at 0% 0%,rgba(47,107,255,.28),transparent 70%),linear-gradient(135deg,var(--navy-800),#060f2c);overflow:hidden}
@media (max-width:860px){.h-feature{grid-template-columns:1fr}}
.hf-text .lead{margin-top:18px;font-size:18px}
.hf-text .h-ctas{margin-top:28px}
.hf-media{margin:0;display:grid;place-items:center;padding:24px;border-radius:20px;background:linear-gradient(135deg,rgba(242,182,50,.35),rgba(47,107,255,.35));min-width:0}
.wr-poster{display:block;width:100%;max-width:320px;height:auto;border-radius:10px;box-shadow:0 24px 60px rgba(0,0,0,.55);transform:rotate(-2deg);transition:transform .4s}
.wr-poster:hover{transform:rotate(0) scale(1.02)}

.news-grid{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:760px){.news-grid{grid-template-columns:1fr}}
.news{padding:24px 26px;border-radius:18px;background:linear-gradient(180deg,rgba(16,39,94,.42),rgba(5,13,36,.75));border:1px solid rgba(166,179,207,.14);display:grid;gap:8px;min-width:0;transition:border-color .25s,transform .25s}
.news:hover{border-color:rgba(242,182,50,.45);transform:translateY(-3px)}
.news-top{display:flex;justify-content:space-between;gap:12px;font:700 11px/1 var(--display);letter-spacing:.22em;text-transform:uppercase}
.news-top span{color:var(--gold)}
.news-top time{color:var(--muted);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.news h3{font:800 19px/1.3 var(--display);margin-top:6px}
.news p{margin:0;color:var(--muted);font-size:15px}

@media (max-width:560px){
  .hide-sm{display:none}
  .h-logo{gap:10px}
  .h-logo svg{width:52px}
  .h-sky{font-size:clamp(44px,14.5vw,70px)}
  .h-cols{font-size:16px}
  .h-count span{letter-spacing:.1em;font-size:9px}
}

/* Page transitions: fade in on load, fade out when leaving */
main,footer{animation:pageIn .55s cubic-bezier(.2,.7,.2,1) backwards}
footer{animation-delay:.1s}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.leaving main,body.leaving footer{opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease}

/* Logo images */
.brand img{display:block;height:58px;width:auto;filter:drop-shadow(0 0 12px rgba(47,107,255,.35))}
@media (max-width:900px){.brand img{height:48px}}
@media (max-width:420px){.brand img{height:40px}}
.h-logoimg{margin:30px 0 0;width:min(820px,100%);line-height:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.h-logoimg img{width:100%;height:auto;filter:drop-shadow(0 0 40px rgba(47,107,255,.35)) drop-shadow(0 0 18px rgba(242,182,50,.18))}

/* Logo page transition */
.veil{position:fixed;inset:0;z-index:100;display:grid;place-items:center;align-content:center;gap:26px;padding:24px;pointer-events:none;
  background:radial-gradient(700px 420px at 50% 45%,rgba(47,107,255,.28),transparent 70%),radial-gradient(360px 220px at 50% 45%,rgba(242,182,50,.12),transparent 70%),var(--navy-900);
  opacity:0;visibility:hidden;animation:veilOut .55s ease .3s backwards}
.veil img{width:min(520px,78vw);height:auto;filter:drop-shadow(0 0 36px rgba(47,107,255,.5)) drop-shadow(0 0 16px rgba(242,182,50,.25));animation:logoOut .55s ease .3s backwards}
.veil-bar{width:min(220px,50vw);height:3px;border-radius:3px;background:rgba(242,182,50,.18);overflow:hidden;position:relative}
.veil-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--gold),#ffe08a,var(--gold),transparent);transform:translateX(-100%);animation:bar .9s ease-in-out infinite}
@keyframes veilOut{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}
@keyframes logoOut{from{transform:scale(1);opacity:1}to{transform:scale(1.06);opacity:0}}
@keyframes veilIn{from{opacity:0;visibility:visible}to{opacity:1;visibility:visible}}
@keyframes logoIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes bar{to{transform:translateX(100%)}}
body.leaving .veil{pointer-events:auto;animation:veilIn .35s ease forwards}
body.leaving .veil img{animation:logoIn .45s cubic-bezier(.2,.7,.2,1) forwards}

/* =====================================================================
   GLASS THEME — frosted translucent panels over a glowing night sky.
   Original look saved in style.before-glass.css
   ===================================================================== */
:root{
  --glass-bg:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  --glass-bg-strong:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));
  --glass-border:rgba(255,255,255,.16);
  --glass-edge:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(255,255,255,.04);
  --glass-shadow:0 10px 40px rgba(0,0,0,.35);
  --glass-blur:blur(18px) saturate(160%);
}
html{background:var(--navy-900)}
body{background:transparent;position:relative}

/* Colourful glowing orbs behind the glass */
body::before{content:"";position:fixed;inset:-10%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38vmax 38vmax at 12% 18%,rgba(47,107,255,.55),transparent 60%),
    radial-gradient(30vmax 30vmax at 88% 12%,rgba(242,182,50,.32),transparent 60%),
    radial-gradient(36vmax 36vmax at 80% 78%,rgba(120,70,255,.38),transparent 60%),
    radial-gradient(28vmax 28vmax at 18% 88%,rgba(0,190,255,.28),transparent 60%),
    linear-gradient(160deg,#040a1e,#0a1a42 50%,#050d24);
  filter:blur(10px);animation:orbDrift 26s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.2px);
  background-size:120px 120px;mask-image:linear-gradient(#000,transparent 85%);-webkit-mask-image:linear-gradient(#000,transparent 85%)}
@keyframes orbDrift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-3%,2%,0) scale(1.06)}100%{transform:translate3d(3%,-2%,0) scale(1.02)}}

/* Shared glass surface */
header,
.icard,.h-count>div,.h-stats div,.hstep,.news,.h-feature,.session,.cd,.step,.reg,
.people,.facts,.for,.phases,.hbtn-line,.btn-ghost,.pill,.hf-media,.chip,.icard .tba{
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}

.icard,.h-count>div,.h-stats div,.hstep,.news,.session,.cd,.step,.people,.facts{
  background:var(--glass-bg);border:1px solid var(--glass-border);
  box-shadow:var(--glass-edge),var(--glass-shadow)}

/* Header: frosted bar */
header{background:linear-gradient(90deg,rgba(255,255,255,.09),rgba(255,255,255,.04));
  border-bottom:1px solid rgba(255,255,255,.14);box-shadow:inset 0 -1px 0 rgba(242,182,50,.12)}
header.scrolled{background:linear-gradient(90deg,rgba(10,26,66,.55),rgba(5,13,36,.45));box-shadow:0 12px 34px rgba(0,0,0,.35),inset 0 -1px 0 rgba(242,182,50,.14)}
@media (max-width:900px){
  .links{background:rgba(8,18,48,.9);border:1px solid rgba(255,255,255,.12);border-top:0;border-radius:0 0 18px 18px}
}

/* Cards */
.icard{border-radius:22px}
.icard:hover,.news:hover,.hstep:hover{background:var(--glass-bg-strong);border-color:rgba(242,182,50,.5);
  box-shadow:var(--glass-edge),0 18px 50px rgba(0,0,0,.4),0 0 30px rgba(242,182,50,.12)}
.icard.hot{background:radial-gradient(400px 200px at 100% 100%,rgba(242,182,50,.18),transparent 70%),var(--glass-bg);border-color:rgba(242,182,50,.5)}
.h-count>div{border-radius:22px}
.h-stats div{border-radius:22px}
.hstep{border-radius:18px}
.news{border-radius:20px}
.cd{border-radius:14px}
.step{border-radius:16px}
.people{border-radius:18px}
.facts{border-radius:16px}

/* Schedule sessions */
.session{border-radius:20px}
.session.war{background:linear-gradient(135deg,rgba(242,182,50,.20),rgba(255,255,255,.04));border-color:rgba(242,182,50,.55)}
.stop::before{background:rgba(5,13,36,.8);box-shadow:0 0 12px rgba(242,182,50,.6)}

/* Big panels */
.phases{border:1px solid var(--glass-border);border-radius:22px;padding:0 26px 22px;background:var(--glass-bg);box-shadow:var(--glass-edge),var(--glass-shadow)}
@media (max-width:760px){.phases{padding:0 20px 16px}}
.for{border-radius:18px;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--gold);background:linear-gradient(90deg,rgba(242,182,50,.16),rgba(255,255,255,.04));box-shadow:var(--glass-edge)}
.h-feature{border-radius:30px;border:1px solid rgba(255,255,255,.18);
  background:radial-gradient(600px 300px at 0% 0%,rgba(47,107,255,.25),transparent 70%),var(--glass-bg);
  box-shadow:var(--glass-edge),0 24px 70px rgba(0,0,0,.4)}
.hf-media{background:linear-gradient(135deg,rgba(242,182,50,.22),rgba(47,107,255,.22));border:1px solid rgba(255,255,255,.18);box-shadow:var(--glass-edge)}
.reg{border-radius:28px;border:1px solid rgba(255,255,255,.18);
  background:radial-gradient(600px 240px at 50% 0%,rgba(47,107,255,.3),transparent 70%),var(--glass-bg);
  box-shadow:var(--glass-edge),0 24px 70px rgba(0,0,0,.4)}
.step{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}
.alt,.h-how{background:transparent}

/* Buttons & pills */
.hbtn-line,.btn-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.28);box-shadow:var(--glass-edge)}
.btn-ghost{color:var(--gold);border-color:rgba(242,182,50,.55)}
.hbtn-line:hover,.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:var(--gold)}
.hbtn-gold,.nav-cta,.btn-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 30px rgba(242,182,50,.3)}
.pill{background:rgba(255,255,255,.07);border-color:rgba(242,182,50,.4);box-shadow:var(--glass-edge)}
.chip,.icard .tba{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:#dbe4ff}
.chip.gold{background:rgba(242,182,50,.16);border-color:rgba(242,182,50,.35)}
.hs-ic{background:rgba(242,182,50,.12);box-shadow:var(--glass-edge)}

/* Poster and footer */
.poster img,.wr-poster{border:1px solid rgba(255,255,255,.2)}
footer{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.07));border-top:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}

/* Browsers without backdrop-filter: keep panels readable */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .icard,.h-count>div,.h-stats div,.hstep,.news,.session,.cd,.step,.people,.facts,.phases,.reg,.h-feature{background:rgba(12,28,70,.85)}
  header{background:rgba(5,13,36,.95)}
}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}


/* =====================================================================
   APPLE-STYLE THEME — black canvas, big tight type, thin frosted nav,
   pill buttons, large rounded tiles, scroll-in reveals.
   Previous glass look saved in style.glass.css
   ===================================================================== */
:root{
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
  --ink:#f5f5f7; --muted:#a1a1a6; --dim:#86868b;
  --tile:#161617; --tile-2:#1d1d1f; --hair:rgba(255,255,255,.08);
  --accent:#2997ff; --btn:#0071e3; --btn-hover:#0077ed;
  --grad-gold:linear-gradient(90deg,#ffd873,#f2b632 45%,#ff9f43);
  --grad-sky:linear-gradient(90deg,#6fb6ff,#2f6bff 50%,#a78bfa);
  --ease:cubic-bezier(.28,.11,.32,1);
}
html{background:#000}
body{font:400 17px/1.47 var(--body);letter-spacing:-.022em;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body::before{background:
    radial-gradient(60vmax 40vmax at 50% -10%,rgba(47,107,255,.28),transparent 60%),
    radial-gradient(30vmax 24vmax at 50% 8%,rgba(242,182,50,.10),transparent 60%),#000;
  filter:none;animation:none;inset:0}
body::after{display:none}
.wrap{max-width:1024px;padding-inline:22px}
section{padding-block:clamp(80px,11vw,140px)}

/* Type */
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em}
h2,.h-big{font-weight:700;font-size:clamp(40px,6.4vw,80px);line-height:1.05;letter-spacing:-.035em}
.info h2{font-size:clamp(40px,6.4vw,80px)}
.lead{color:var(--muted);font-size:clamp(19px,2vw,24px);line-height:1.4;letter-spacing:-.01em;font-weight:500}
.lead b,.lead strong{color:var(--ink)}
.eyebrow,.pill{display:inline-block;padding:0;border:0;border-radius:0;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  font:600 clamp(17px,1.8vw,21px)/1.2 var(--display);letter-spacing:-.01em;text-transform:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.pill::before{display:none}
.focus .eyebrow{font-size:14px!important}
.sec-head{gap:16px;margin-bottom:64px}
.h-big{margin-top:10px}

/* Nav: thin frosted bar */
header{height:auto;background:rgba(22,22,23,.72);border-bottom:1px solid var(--hair);box-shadow:none;
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
header.scrolled{background:rgba(22,22,23,.8);box-shadow:none}
.nav{height:56px;max-width:1024px;gap:18px}
.brand img{height:36px;filter:none}
.links{gap:clamp(16px,2.4vw,34px);font:400 13px/1 var(--body);letter-spacing:-.01em}
.links a{color:rgba(245,245,247,.8);padding:8px 0}
.links a:hover,.links a.active{color:#fff;font-weight:400}
.links a::after{display:none}
.links a.active{opacity:1}
.nav-cta{padding:7px 14px;border-radius:980px;background:var(--btn);color:#fff;font:400 13px/1.2 var(--body);box-shadow:none}
.nav-cta:hover{background:var(--btn-hover);transform:none;box-shadow:none}
.menu-btn{border:0;width:36px;height:36px}
@media (max-width:900px){
  .nav{height:52px}
  .brand img{height:32px}
  .links{background:rgba(0,0,0,.94);border:0;border-radius:0;padding:12px 32px 32px;box-shadow:none;
    -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);min-height:calc(100vh - 52px);justify-content:flex-start}
  .links a{font:600 28px/1.2 var(--display);letter-spacing:-.02em;padding:10px 0;border:0;color:#e8e8ed}
}

/* Buttons: Apple pills */
.hbtn,.btn{min-width:0;padding:12px 24px;border-radius:980px;font:400 17px/1.2 var(--body);letter-spacing:-.02em;text-transform:none;box-shadow:none;border:1px solid transparent}
.hbtn-gold,.btn-gold{background:var(--btn);color:#fff}
.hbtn-gold:hover,.btn-gold:hover{background:var(--btn-hover);transform:none}
.hbtn-line,.btn-ghost{background:transparent;color:var(--accent);border-color:var(--accent);-webkit-backdrop-filter:none;backdrop-filter:none}
.hbtn-line:hover,.btn-ghost:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.hbtn:hover{transform:none}
.hbtn svg{width:16px;height:16px}
.hbtn-sm{font-size:15px;padding:10px 20px}
.ilink{color:var(--accent);font:400 17px/1.2 var(--body)}
.ilink:hover{text-decoration:underline}
.nav-cta:focus-visible,.hbtn:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Hero */
.h-hero{padding-block:clamp(56px,8vw,100px) clamp(80px,10vw,130px)}
.h-glow{background:radial-gradient(700px 420px at 50% 40%,rgba(47,107,255,.30),transparent 70%)}
.h-logoimg{margin-top:24px;width:min(860px,100%)}
.h-logoimg img{filter:drop-shadow(0 0 60px rgba(47,107,255,.35))}
.h-tag{max-width:720px;margin-top:28px;color:var(--ink);font:600 clamp(21px,2.6vw,28px)/1.25 var(--display);letter-spacing:-.02em}
.h-meta{color:var(--muted);font-size:17px}
.h-meta svg{color:var(--muted)}
.h-meta a{color:var(--accent)}
.h-count{margin-top:56px;gap:0;grid-template-columns:repeat(4,minmax(0,150px))}
.h-count>div{background:none;border:0;box-shadow:none;border-radius:0;padding:4px 8px;-webkit-backdrop-filter:none;backdrop-filter:none}
.h-count>div+div{border-left:1px solid rgba(255,255,255,.12)}
.h-count b{font:700 clamp(44px,6.6vw,80px)/1 var(--display);letter-spacing:-.04em;background:linear-gradient(180deg,#fff,#b8c7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-count span{margin-top:12px;font:500 13px/1 var(--body);letter-spacing:0;text-transform:none;color:var(--dim)}
.h-ctas{margin-top:48px;gap:18px}

/* Tiles */
.icard,.h-stats div,.hstep,.news,.session,.step,.people,.facts,.cd,.phases,.for,.h-feature,.reg{
  background:var(--tile);border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:28px}
.icard{padding:40px 36px;gap:12px}
.icard:hover,.news:hover,.hstep:hover{background:var(--tile-2);border:0;box-shadow:none;transform:scale(1.015)}
.icard,.news,.hstep{transition:transform .5s var(--ease),background .3s}
.icard.hot{background:radial-gradient(500px 260px at 100% 100%,rgba(242,182,50,.16),transparent 70%),var(--tile)}
.icon{width:48px;height:48px;border-radius:14px;background:var(--tile-2);color:#f2b632;box-shadow:none;margin-bottom:16px}
.icard h3{font:700 24px/1.2 var(--display);letter-spacing:-.02em}
.icard p{color:var(--muted);font-size:17px;line-height:1.47}
.icard p b{color:var(--ink)}
.info-grid{gap:20px;margin-top:64px}
.chip,.icard .tba{background:var(--tile-2);border:0;color:var(--muted);font:500 12px/1 var(--body);letter-spacing:0;text-transform:none;padding:6px 11px;border-radius:980px;-webkit-backdrop-filter:none;backdrop-filter:none}
.chip.gold{color:#f2b632;background:rgba(242,182,50,.12)}

.h-stats{gap:20px}
.h-stats div{padding:36px 32px}
.h-stats b{font:700 clamp(52px,6vw,80px)/1 var(--display);letter-spacing:-.04em;background:var(--grad-sky);-webkit-background-clip:text;background-clip:text}
.h-stats div:nth-child(even) b{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text}
.h-stats span{color:var(--muted);font-size:17px}

.h-steps{gap:16px;margin-top:64px}
.hstep{padding:26px 22px;border-radius:24px}
.hs-ic{background:var(--tile-2);border:0;box-shadow:none;border-radius:12px}
.hs-n{letter-spacing:0;text-transform:none;font:500 13px/1 var(--body);color:var(--dim)}
.hstep b{font:600 19px/1.25 var(--display)}
.hstep>span{font-size:15px}

.h-feature{border-radius:36px;padding:clamp(36px,5vw,72px);background:radial-gradient(700px 360px at 0% 0%,rgba(47,107,255,.22),transparent 70%),var(--tile)}
.hf-media{background:linear-gradient(135deg,rgba(242,182,50,.25),rgba(47,107,255,.25));border:0;box-shadow:none;border-radius:28px}
.wr-poster{border:0;border-radius:14px}

.news-grid{gap:20px;margin-top:48px}
.news{padding:32px;border-radius:28px}
.news-top{font:500 13px/1 var(--body);letter-spacing:0;text-transform:none}
.news-top span{color:#f2b632}
.news h3{font:700 22px/1.25 var(--display);letter-spacing:-.02em}
.news p{font-size:17px}

/* About / phases */
.phases{padding:12px 36px 36px;border-top:0}
.phase .tag{letter-spacing:0;text-transform:none;font:600 15px/1 var(--body);color:#f2b632}
.phase h3{font:700 26px/1.2 var(--display)}
.phase .mods{letter-spacing:0;font:500 14px/1 var(--body);color:var(--dim)}
.phase+.phase{border-color:var(--hair)}
.for{border-left:0;background:var(--tile);padding:28px 36px;border-radius:28px}
.for .k,.fact .k,.person .r,.step .k{letter-spacing:0;text-transform:none;font:500 14px/1.2 var(--body);color:var(--dim)}
.for .v,.fact .v{font:600 19px/1.3 var(--display)}

/* Schedule */
.timeline::before{background:linear-gradient(#f2b632,#2f6bff 60%,#a78bfa);width:1px;left:9.5px}
.stop::before{background:#000;border:2px solid #f2b632;box-shadow:none;width:12px;height:12px;left:-30px}
.marker{letter-spacing:0;text-transform:none;font:500 15px/1.3 var(--body);color:var(--dim)}
.marker time{color:var(--ink);font-weight:600}
.session{padding:36px;gap:8px 28px;border-radius:28px}
.session.war{background:radial-gradient(600px 300px at 100% 0%,rgba(242,182,50,.18),transparent 70%),var(--tile);border:0}
.num{font:700 56px/1 var(--display);letter-spacing:-.04em;-webkit-text-stroke:0;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.s-mod{letter-spacing:0;text-transform:none;font:500 14px/1 var(--body);color:var(--dim)}
.session h3{font:700 clamp(24px,2.8vw,32px)/1.15 var(--display);letter-spacing:-.025em}
.session h3 em{color:var(--muted);font-weight:500}
.focus li{color:#d2d2d7}
.focus li::before{background:#f2b632;width:5px;height:5px;border-radius:50%;top:.6em}
.trainer{border-top:1px solid var(--hair)}
.trainer .av{border:1px solid rgba(255,255,255,.25);color:var(--muted)}

/* Organisers */
.people{overflow:hidden}
.person{border-color:var(--hair)!important;padding:26px 28px}
.person .n{font:600 20px/1.3 var(--display)}
.club h3{font:700 28px/1.2 var(--display)}
.delivered b{font:700 22px/1.2 var(--display);font-style:normal}

/* Register */
.reg{border-radius:36px;background:radial-gradient(700px 300px at 50% 0%,rgba(47,107,255,.28),transparent 70%),var(--tile)}
.step{background:var(--tile-2);border-radius:22px;padding:24px}
.step .k{font:700 28px/1 var(--display);color:#f2b632}
.step .t{font:600 18px/1.3 var(--display)}
.cd{background:var(--tile);border-radius:18px}

/* Footer: Apple-style small grey */
footer{background:#161617;border-top:0;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:12px;color:var(--dim);padding-block:28px}
.foot b{font-family:var(--body);color:#d2d2d7;font-weight:600}

/* Page veil */
.veil{background:#000}
.veil img{filter:none}
.veil-bar{background:rgba(255,255,255,.12)}
.veil-bar::after{background:linear-gradient(90deg,transparent,#fff,transparent)}

/* Scroll reveal (class added by script.js) */
.reveal{opacity:0;transform:translateY(48px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:560px){
  .h-count{grid-template-columns:repeat(4,1fr)}
  .h-count b{font-size:40px}
  .icard,.session,.news{padding:28px 24px}
  .phases{padding:4px 22px 22px}
}


/* =====================================================================
   APPLE × CLASSICAL — Apple's clean layout, with serif headlines,
   gold accents and gold pill buttons. Pure classical version saved in
   style.classical.css, plain Apple version in style.apple.css
   ===================================================================== */
:root{
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --gold:#d9b25f; --gold-hi:#f4d88f;
  --grad-gold:linear-gradient(180deg,#f8e3a6,#d9b25f 55%,#b08637);
  --accent:#e0bb6a; --btn:#d9b25f; --btn-hover:#e8c574;
  --tile:#0f0f10; --tile-2:#161618; --hair:rgba(217,178,95,.16);
}
body::before{background:
  radial-gradient(60vmax 38vmax at 50% -12%,rgba(217,178,95,.14),transparent 60%),
  radial-gradient(50vmax 34vmax at 50% -4%,rgba(47,107,255,.16),transparent 65%),#000}

/* Headlines: big classical serif, Apple-scale */
h2,.h-big,.info h2{font-family:var(--serif);font-weight:600;font-size:clamp(46px,7vw,92px);line-height:1;letter-spacing:-.015em;color:#f5f1e8}
h3{font-family:var(--serif)}
.icard h3,.news h3,.phase h3,.club h3{font:600 28px/1.15 var(--serif);letter-spacing:0}
.session h3{font:600 clamp(30px,3.2vw,40px)/1.05 var(--serif);letter-spacing:0}
.session h3 em{font-family:var(--body);font-size:.5em;font-style:normal;letter-spacing:-.01em;margin-top:8px}
.hstep b{font:600 22px/1.15 var(--serif)}
.person .n{font:600 23px/1.25 var(--serif)}
.step .t{font:600 22px/1.2 var(--serif)}
.delivered b{font:italic 600 24px/1.2 var(--serif)}
.for .v,.fact .v{font:600 22px/1.25 var(--serif)}

/* Eyebrows: gold italic serif, like an engraved caption */
.eyebrow,.pill{font:italic 500 clamp(20px,2vw,24px)/1.2 var(--serif);letter-spacing:0;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.focus .eyebrow{font-size:17px!important}
.phase .tag{font:italic 600 19px/1 var(--serif);color:var(--gold)}

/* Hero line */
.h-tag{font:italic 500 clamp(24px,3vw,34px)/1.3 var(--serif);color:#f5f1e8;letter-spacing:0}
.h-meta a{color:var(--gold-hi)}
.h-meta svg{color:var(--gold)}

/* Numbers in gold serif */
.h-count b,.h-stats b,.h-stats div:nth-child(even) b,.num{font-family:var(--serif);font-weight:600;letter-spacing:0;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-count b{font-size:clamp(52px,7vw,92px)}
.h-count>div+div{border-left-color:var(--hair)}
.h-stats b{font-size:clamp(60px,6.4vw,88px)}
.num{font-style:italic;font-size:60px}
.step .k{font:italic 600 34px/1 var(--serif);color:var(--gold)}

/* Nav: Apple thin bar, gold active state */
header{background:rgba(10,10,11,.72);border-bottom:1px solid var(--hair)}
.links a.active{color:var(--gold-hi)}
.links a:hover{color:#fff}
.nav-cta{background:var(--btn);color:#1a1305;font-weight:500}
.nav-cta:hover{background:var(--btn-hover)}

/* Pills in gold */
.hbtn-gold,.btn-gold{background:var(--btn);color:#1a1305;font-weight:500}
.hbtn-gold:hover,.btn-gold:hover{background:var(--btn-hover)}
.hbtn-line,.btn-ghost{color:var(--gold-hi);border-color:rgba(217,178,95,.7)}
.hbtn-line:hover,.btn-ghost:hover{background:var(--btn);color:#1a1305;border-color:var(--btn)}
.ilink{color:var(--gold-hi)}

/* Tiles: Apple tiles with a whisper of gold hairline */
.icard,.h-stats div,.hstep,.news,.session,.step,.people,.facts,.cd,.phases,.for,.h-feature,.reg{border:1px solid var(--hair)}
.icard:hover,.news:hover,.hstep:hover{border:1px solid rgba(217,178,95,.4)}
.icon{background:transparent;border:1px solid rgba(217,178,95,.45);border-radius:50%;color:var(--gold)}
.hs-ic{background:transparent;border:1px solid rgba(217,178,95,.45);border-radius:50%;color:var(--gold)}
.icard.hot,.session.war{background:radial-gradient(520px 260px at 100% 100%,rgba(217,178,95,.14),transparent 70%),var(--tile)}
.h-feature{background:radial-gradient(700px 360px at 0% 0%,rgba(217,178,95,.12),transparent 70%),var(--tile)}
.reg{background:radial-gradient(700px 300px at 50% 0%,rgba(217,178,95,.14),transparent 70%),var(--tile)}
.hf-media{background:linear-gradient(135deg,rgba(217,178,95,.22),rgba(47,107,255,.14))}
.chip.gold{color:var(--gold-hi);background:rgba(217,178,95,.12)}
.news-top span{color:var(--gold)}

/* One small classical flourish: a gold hairline with a diamond under centred headings */
.info .h-big::after,.reg h2::after{content:"";display:block;width:120px;height:9px;margin:26px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold) 40%,transparent 44%,transparent 56%,var(--gold) 60%,transparent) center/100% 1px no-repeat,
  linear-gradient(45deg,transparent 35%,var(--gold) 36% 64%,transparent 65%) center/9px 9px no-repeat}

/* Drop cap on the home About paragraph */
.h-about .lead::first-letter{float:left;font:600 72px/.82 var(--serif);color:var(--gold);padding:6px 10px 0 0}

/* Schedule */
.timeline::before{background:linear-gradient(transparent,var(--gold) 5%,var(--gold) 95%,transparent)}
.stop::before{border-color:var(--gold)}
.marker::before{background:var(--gold)}
.focus li::before{background:var(--gold)}

/* Footer */
.foot b{color:var(--gold-hi)}
footer{background:#0a0a0b;border-top:1px solid var(--hair)}

/* Veil loader */
.veil-bar::after{background:linear-gradient(90deg,transparent,var(--gold-hi),transparent)}

@media (max-width:900px){.links a{font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:0}}
@media (max-width:560px){.h-about .lead::first-letter{font-size:58px}.num{font-size:44px}}
.h-about .h-big,.hf-text .h-big{font-size:clamp(44px,5.4vw,72px)}
.hstep b{font-size:20px;overflow-wrap:anywhere}
.hstep{padding:24px 18px}

/* ===== Blue background version (black version saved in style.apple-classical-black.css) ===== */
:root{--tile:#0c1a3d;--tile-2:#11224d;--hair:rgba(217,178,95,.18)}
html{background:#061233}
body::before{background:
  radial-gradient(70vmax 45vmax at 50% -10%,rgba(64,120,255,.45),transparent 60%),
  radial-gradient(40vmax 26vmax at 50% -2%,rgba(217,178,95,.14),transparent 60%),
  radial-gradient(60vmax 50vmax at 100% 100%,rgba(30,70,180,.35),transparent 60%),
  radial-gradient(50vmax 40vmax at 0% 60%,rgba(20,50,140,.35),transparent 60%),
  linear-gradient(180deg,#0a1d4f 0%,#071640 45%,#061233 100%)}
.h-glow{background:radial-gradient(700px 420px at 50% 40%,rgba(90,150,255,.30),transparent 70%)}
header,header.scrolled{background:rgba(8,22,60,.72)}
.icard,.h-stats div,.hstep,.news,.session,.step,.people,.facts,.cd,.phases,.for{background:linear-gradient(180deg,rgba(20,42,100,.55),rgba(10,26,70,.55));
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.icard:hover,.news:hover,.hstep:hover{background:linear-gradient(180deg,rgba(28,56,128,.65),rgba(14,34,88,.6))}
.icard.hot,.session.war{background:radial-gradient(520px 260px at 100% 100%,rgba(217,178,95,.16),transparent 70%),linear-gradient(180deg,rgba(20,42,100,.55),rgba(10,26,70,.55))}
.h-feature{background:radial-gradient(700px 360px at 0% 0%,rgba(217,178,95,.14),transparent 70%),linear-gradient(180deg,rgba(20,42,100,.6),rgba(10,26,70,.6))}
.reg{background:radial-gradient(700px 300px at 50% 0%,rgba(217,178,95,.16),transparent 70%),linear-gradient(180deg,rgba(20,42,100,.6),rgba(10,26,70,.6))}
.step{background:rgba(6,18,51,.55)}
.chip,.icard .tba,.icon,.hs-ic{background:rgba(6,18,51,.4)}
.lead,.icard p,.news p,.h-stats span,.hstep>span{color:#b8c3de}
.h-count span,.s-mod,.marker,.news-top time,.hs-n{color:#93a1c4}
.stop::before{background:#061233}
footer{background:#050f2b}
.veil{background:radial-gradient(700px 420px at 50% 45%,rgba(64,120,255,.35),transparent 70%),#061233}
@media (max-width:900px){.links{background:rgba(6,18,51,.96)}}
html{background:#0a1f55}
body::before{background:
  radial-gradient(70vmax 45vmax at 50% -10%,rgba(80,140,255,.50),transparent 60%),
  radial-gradient(40vmax 26vmax at 50% -2%,rgba(217,178,95,.14),transparent 60%),
  radial-gradient(60vmax 50vmax at 100% 100%,rgba(40,90,210,.40),transparent 60%),
  radial-gradient(50vmax 40vmax at 0% 60%,rgba(30,70,180,.40),transparent 60%),
  linear-gradient(180deg,#0f2d73 0%,#0b235e 45%,#091c4d 100%)}
.icard,.h-stats div,.hstep,.news,.session,.step,.people,.facts,.cd,.phases,.for{background:linear-gradient(180deg,rgba(35,70,150,.45),rgba(14,36,92,.5))}
.stop::before{background:#0b235e}
footer{background:#071843}

/* organisers: paired roles, centred full-width rows */
.people>.person{border-right:0}
.people>.person.l{border-right:1px solid rgba(242,182,50,.18)}
.people>.person.wide{grid-column:1/-1;justify-items:center;text-align:center}
.people>.person:nth-last-child(2){border-bottom:1px solid rgba(242,182,50,.18)}
.people>.person:last-child{border-bottom:0}
@media (max-width:480px){.people>.person.l{border-right:0}}

/* ===== Page transitions =====
   - First visit: logo intro (the .veil) as before.
   - Moving between pages: no logo screen. Chrome/Edge/Safari use a native
     View Transition: header stays still, content fades out upward and the
     new page rises in. Other browsers get a short fade. */
@view-transition{navigation:auto}
#site-header{view-transition-name:site-header}
html.from-nav .veil{display:none}
html.vt main,html.vt footer{animation:none}
/* v4: one calm motion. Old page fades out quickly, then the new page fades
   up into place. The backdrop matches the site background, so nothing flashes,
   and only the menu bar stays put. */
::view-transition{background:linear-gradient(180deg,#0f2d73 0%,#0b235e 45%,#091c4d 100%)}
::view-transition-old(root){animation:vtOut .2s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vtIn .5s cubic-bezier(.22,1,.36,1) .2s both}
::view-transition-group(site-header){animation:none}
::view-transition-old(site-header){animation:none;opacity:0}
::view-transition-new(site-header){animation:none}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translate3d(0,12px,0)}}
/* arriving from another page: what is already on screen is shown at once
   (the page itself is fading in), so nothing animates twice */
.c-now .cw>span{transition:none!important}
body.leaving .veil{animation:none;opacity:0;visibility:hidden;pointer-events:none}
body.leaving main,body.leaving footer{opacity:0;transform:translateY(-12px);transition:opacity .26s cubic-bezier(.4,0,.6,1),transform .26s cubic-bezier(.4,0,.6,1)}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

.s-time{font:700 13px/1 var(--display);letter-spacing:.06em;color:var(--gold);font-variant-numeric:tabular-nums}
.s-bolt{display:inline-block;width:.8em;height:.8em;vertical-align:-.04em;margin-left:.15em;color:var(--gold)}
