:root{--bg:#07070a;--s1:#0d0d12;--s2:#131318;--s3:#1a1a20;--or:#f26322;--go:#e8b84b;--tx:#edebe6;--mu:#6a6660;--mu2:#9a948c;--ln:rgba(255,255,255,.07);--bd:rgba(242,99,34,.16);--fd:'Bebas Neue',sans-serif;--fb:'Outfit',sans-serif;--fm:'JetBrains Mono',monospace;--ease:cubic-bezier(.25,.46,.45,.94)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:16px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--or);color:#fff}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-thumb{background:var(--or)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:rgba(7,7,10,.88);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
#nav.on{border-color:var(--ln)}
.n-logo{height:32px;width:auto}
.n-links{display:flex;gap:1.8rem;list-style:none}
.n-links a{font-family:var(--fm);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mu2);transition:color .2s}
.n-links a:hover{color:var(--tx)}
.n-end{display:flex;align-items:center;gap:.9rem}
.n-li{display:flex;align-items:center;color:var(--mu);transition:color .2s}
.n-li:hover{color:var(--or)}
.n-cta{font-family:var(--fm);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;background:var(--or);color:#fff;padding:.44rem 1.1rem;border-radius:3px;transition:opacity .2s}
.n-cta:hover{opacity:.82}
.n-back{font-family:var(--fm);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mu2);transition:color .2s}
.n-back:hover{color:var(--tx)}
.n-lang{display:flex;gap:.35rem;font-family:var(--fm);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.n-lang a{color:var(--mu);padding:.2rem .35rem;border-radius:2px;transition:color .2s}
.n-lang a:hover{color:var(--tx)}
.n-lang a.active{color:var(--or)}

/* HERO */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:62px 2.5rem 4rem;position:relative;overflow:hidden}
#hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 55% 40%,rgba(242,99,34,.07) 0%,transparent 70%)}
.h-content{position:relative;z-index:2;max-width:720px}
.h-eye{font-family:var(--fm);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:1.4rem;opacity:0;animation:up .6s var(--ease) .1s both}
.h-title{font-family:var(--fd);font-size:clamp(5rem,15vw,14rem);line-height:.88}
.h-title .ta{display:block;color:var(--or);opacity:0;animation:up .6s var(--ease) .18s both}
.h-title .tb{display:block;opacity:0;animation:up .6s var(--ease) .26s both}
.h-title .tc{display:block;-webkit-text-stroke:1px rgba(237,235,230,.18);color:transparent;opacity:0;animation:up .6s var(--ease) .34s both}
.h-sub{max-width:500px;margin-top:1.8rem;font-size:1rem;font-weight:300;color:rgba(237,235,230,.55);line-height:1.72;opacity:0;animation:up .6s var(--ease) .42s both}
.h-btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem;opacity:0;animation:up .6s var(--ease) .48s both}
.h-by{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem;opacity:0;animation:up .6s var(--ease) .54s both}
.h-by-lbl{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.h-by-logo{height:24px;width:auto;opacity:.8;filter:brightness(8) saturate(0);transition:opacity .2s,filter .2s}
.h-by-logo:hover{opacity:1;filter:brightness(1) saturate(1)}
.h-by-logo.mg{height:18px;filter:brightness(8) saturate(0);transition:none}
.h-by-logo.mg:hover{filter:brightness(8) saturate(0);opacity:.8}
.h-svg{position:absolute;right:0;bottom:0;z-index:1;width:min(56%,680px);pointer-events:none}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.78rem 1.6rem;border-radius:3px;border:none;cursor:pointer;transition:opacity .2s}
.btn-fill{background:var(--or);color:#fff}
.btn-fill:hover{opacity:.85}
.btn-line{border:1px solid rgba(255,255,255,.12);color:var(--tx);background:transparent}
.btn-line:hover{border-color:var(--or);background:rgba(242,99,34,.07)}

/* COUNTDOWN */
#cd{background:var(--s1);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:2.4rem 2.5rem}
.cd-in{max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.9rem}
.cd-lbl{font-family:var(--fm);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.cd-row{display:flex;align-items:center;gap:1rem}
.cd-u{text-align:center}
.cd-n{font-family:var(--fd);font-size:clamp(2.8rem,7vw,5rem);line-height:1;display:block}
.cd-ul{font-family:var(--fm);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-top:.2rem}
.cd-sep{font-family:var(--fd);font-size:3.2rem;color:var(--or);opacity:.35;line-height:1}

/* STATS */
#stats{background:var(--or);padding:1.1rem 2.5rem}
.st-row{max-width:820px;margin:0 auto;display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.st-sep{opacity:.4}

/* SECTIONS */
section{padding:6rem 2.5rem}
.lbl{font-family:var(--fm);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:.7rem}
.ttl{font-family:var(--fd);font-size:clamp(2.4rem,5.5vw,4.8rem);line-height:.94}
hr.rule{border:none;border-top:1px solid var(--ln);margin:0}

/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.1s}
.d2{transition-delay:.2s}
.d3{transition-delay:.3s}

/* ABOUT */
#about{background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.ab-copy p{font-size:.98rem;font-weight:300;color:rgba(237,235,230,.6);margin-bottom:1rem;line-height:1.75}
.ab-quote{margin-top:2rem;padding-left:1.2rem;border-left:2px solid var(--or);font-style:italic;font-weight:300;color:rgba(237,235,230,.7);line-height:1.65;font-size:.96rem}
.ab-quote cite{display:block;font-style:normal;font-size:.74rem;color:var(--mu2);margin-top:.5rem}
.ab-cards{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:6px;overflow:hidden}
.ac{padding:1.2rem 1.5rem;background:var(--s1);border-bottom:1px solid var(--ln)}
.ac:last-child{border-bottom:none}
.ac h4{font-size:.86rem;font-weight:500;margin-bottom:.2rem}
.ac h4 span{color:var(--mu);font-family:var(--fm);font-size:.6rem;letter-spacing:.05em;margin-right:.5rem}
.ac p{font-size:.8rem;color:var(--mu2)}

/* PROGRAMME */
#programme{background:var(--s1)}
.prog-box{margin-top:2.8rem;border:1px solid var(--ln);border-radius:6px;overflow:hidden}
.prog-top{padding:2rem 2.2rem;background:var(--s2);border-bottom:1px solid var(--ln)}
.prog-top h3{font-family:var(--fd);font-size:1.8rem;margin-bottom:.3rem}
.prog-top p{font-size:.86rem;color:var(--mu2)}
.prog-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.5rem 2.2rem;background:var(--s1)}
.prog-tag{font-family:var(--fm);font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--ln);border-radius:20px;padding:.22rem .72rem;color:var(--mu2)}

/* COMING SOON */
.cs{border:1px solid var(--ln);padding:2.8rem 2.2rem;background:var(--s2);margin-top:2.5rem}
.cs h3{font-family:var(--fd);font-size:1.6rem;color:var(--mu2);margin-bottom:.35rem}
.cs p{font-size:.84rem;color:var(--mu)}
.cs .btn{margin-top:1.2rem}

/* SPEAKERS */
#speakers{background:var(--bg)}

/* AGENDA */
#agenda{background:var(--s1)}

/* VENUE */
#venue{background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.vn-rows{margin-top:2.5rem}
.vn-row{padding:.95rem 0;border-bottom:1px solid var(--ln)}
.vn-row strong{display:block;font-size:.86rem;font-weight:500;margin-bottom:.12rem}
.vn-row span{font-size:.8rem;color:var(--mu2)}
.vn-map{aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--ln)}
.vn-map{position:relative}
.vn-map iframe{width:100%;height:100%;border:none;filter:grayscale(1) invert(1) contrast(.8);opacity:.8}
.vn-map-link{position:absolute;bottom:1rem;left:1rem;font-family:var(--fm);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx);background:rgba(7,7,10,.85);padding:.5rem 1rem;border-radius:3px;border:1px solid var(--ln);transition:border-color .2s,color .2s;z-index:2}
.vn-map-link:hover{color:var(--or);border-color:var(--or)}

/* SPONSORS */
#sponsors{background:var(--s1)}
.sp-cta{border:1px solid var(--bd);border-radius:6px;padding:2.8rem;text-align:center;background:var(--s2);margin-top:2.5rem}
.sp-cta h3{font-family:var(--fd);font-size:2rem;margin-bottom:.65rem}
.sp-cta p{font-size:.88rem;color:var(--mu2);max-width:440px;margin:0 auto 1.8rem;line-height:1.6}

/* NEWSLETTER */
#nl{background:var(--bg)}
.nl-in{max-width:500px}
.nl-in .ttl{margin:.4rem 0 .9rem}
.nl-in>p{font-size:.94rem;font-weight:300;color:var(--mu2);margin-bottom:1.2rem}
.nl-gdpr{display:flex;align-items:flex-start;gap:.5rem;font-size:.74rem;color:var(--mu2)}
.nl-gdpr input{accent-color:var(--or);margin-top:.22rem;flex-shrink:0}
.nl-gdpr a{color:var(--or)}
/* Brevo form overrides */
#nl .sib-form{text-align:left!important;background:transparent!important}
#nl .sib-form-container{padding:0!important}
#nl #sib-container{background:transparent!important;border:none!important;max-width:100%!important;padding:0!important;margin:0!important}
#nl #sib-form>div{padding:0!important}
#nl .sib-form-block,#nl .form__entry,#nl .entry_block,#nl .form__label-row,#nl .entry__field{margin:0!important;padding:0!important}
#nl .entry__label,#nl .entry__specification{display:none!important}
#nl .entry__error{background:transparent!important;padding:0!important;margin:0!important;font-size:0!important}
#nl .sib-input{margin-bottom:0!important}
#nl .entry__field input.input{background:var(--s1)!important;border:1px solid var(--ln)!important;border-radius:3px!important;padding:.76rem 1rem!important;color:var(--tx)!important;font-family:var(--fb)!important;font-size:.86rem!important;line-height:1.4!important;outline:none!important;transition:border-color .2s!important;width:100%!important;height:auto!important;margin:0!important}
#nl .entry__field input.input:focus{border-color:var(--or)!important}
#nl .entry__field input.input::placeholder{color:var(--mu)!important}
#nl .sib-form-block__button{font-family:var(--fm)!important;font-size:.66rem!important;font-weight:500!important;letter-spacing:.1em!important;text-transform:uppercase!important;background:var(--or)!important;color:#fff!important;padding:.82rem 1.6rem!important;border-radius:3px!important;border:none!important;cursor:pointer!important;transition:opacity .2s!important;white-space:nowrap!important;width:100%!important;margin:0!important}
#nl .sib-form-block__button:hover{opacity:.85!important}
#nl .sib-form-block__button .sib-hide-loader-icon{display:none!important}
#nl .nl-form-row{display:flex;gap:.6rem;align-items:stretch;margin-bottom:.7rem}
#nl .nl-form-row .nl-field{flex:1;min-width:0}
#nl .nl-form-row .nl-btn{flex:0 0 auto}
#nl .nl-form-row .sib-form-block__button{width:auto!important;height:100%!important}
#nl .sib-form-message-panel{max-width:100%!important;margin-bottom:.7rem!important;padding:.75rem 1rem!important;text-align:left!important}
#nl #error-message{color:#ff4949!important;background:rgba(255,73,73,.08)!important;border:1px solid rgba(255,73,73,.25)!important;font-family:var(--fb)!important;font-size:.82rem!important}
#nl #success-message{color:var(--or)!important;background:transparent!important;border:1px solid var(--bd)!important;font-family:var(--fm)!important;font-size:.74rem!important;letter-spacing:.1em!important}
#nl .sib-form-message-panel__text{display:flex!important;align-items:center!important;gap:.5rem!important}
#nl .sib-notification__icon{width:16px!important;height:16px!important;flex-shrink:0!important}
#nl .sib-captcha{margin-top:.5rem!important}
#nl .g-recaptcha{transform:scale(.88);transform-origin:0 0}

/* FOOTER */
footer{background:var(--s1);border-top:1px solid var(--ln);padding:3rem 2.5rem 2rem}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;padding-bottom:2.4rem;margin-bottom:2rem;border-bottom:1px solid var(--ln)}
.ft-logo{height:34px;width:auto;margin-bottom:.9rem}
.ft-desc{font-size:.79rem;color:var(--mu2);max-width:255px;line-height:1.65}
.ft-by{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.1rem}
.ft-by-lbl{font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.ft-by-logo{height:28px;width:auto;opacity:.8;filter:brightness(8) saturate(0);transition:opacity .2s,filter .2s}
.ft-by-logo:hover{opacity:1;filter:brightness(1) saturate(1)}
.ft-by-logo.mg{height:20px;filter:brightness(8) saturate(0);transition:none}
.ft-by-logo.mg:hover{filter:brightness(8) saturate(0);opacity:.8}
.ft-col h5{font-family:var(--fm);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin-bottom:.85rem}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.46rem}
.ft-col a{font-size:.8rem;color:var(--mu2);transition:color .2s}
.ft-col a:hover{color:var(--tx)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.ft-leg{font-size:.71rem;color:var(--mu);line-height:1.65}
.ft-leg a{color:var(--mu2);transition:color .2s}
.ft-leg a:hover{color:var(--or)}
.ft-soc a{display:inline-flex;align-items:center;gap:.35rem;font-size:.71rem;color:var(--mu2);transition:color .2s}
.ft-soc a:hover{color:var(--or)}

/* LEGAL PAGES */
.legal-page{max-width:720px;margin:0 auto;padding:7rem 2.5rem 5rem}
.legal-page h1{font-family:var(--fd);font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:.94;margin-bottom:.6rem}
.legal-meta{font-family:var(--fm);font-size:.7rem;letter-spacing:.1em;color:var(--mu);margin-bottom:2.5rem}
.legal-page h2{font-family:var(--fd);font-size:1.5rem;line-height:1;margin:2.4rem 0 .8rem;color:var(--tx)}
.legal-page p{font-size:.92rem;font-weight:300;color:rgba(237,235,230,.6);line-height:1.75;margin-bottom:.8rem}
.legal-page ul{list-style:none;margin:.6rem 0 1rem;padding:0}
.legal-page li{font-size:.88rem;font-weight:300;color:rgba(237,235,230,.6);line-height:1.7;padding-left:1.2rem;position:relative;margin-bottom:.3rem}
.legal-page li::before{content:'';position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--or);opacity:.6}
.legal-page a{color:var(--or);transition:opacity .2s}
.legal-page a:hover{opacity:.8}
.legal-page strong{font-weight:500;color:var(--tx)}

@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(max-width:860px){#about,#venue{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr;gap:2rem}.ft-desc{max-width:100%}}
@media(max-width:640px){#nav{padding:0 1.2rem}.n-links{display:none}section{padding:4rem 1.2rem}#hero{padding:62px 1.2rem 3.5rem}#cd,#stats{padding:1.5rem 1.2rem}.h-svg{width:100%;opacity:.2}.cd-row{gap:.6rem}.cd-sep{font-size:2.4rem}.legal-page{padding:6rem 1.2rem 3.5rem}.ft-bot{flex-direction:column;align-items:flex-start}}
