:root{
  --bg:#090812;--bg2:#100d1b;--purple:#4b3f72;--purple2:#6a5acd;--lav:#9b8acd;
  --gold:#c9a96e;--text:#f5f1fb;--muted:#aaa3b8;--line:rgba(201,169,110,.2);--max:1200px
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
::selection{background:var(--gold);color:#090812}

.navbar{position:fixed;z-index:1000;top:0;left:0;width:100%;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;transition:.35s}
.navbar.scrolled{background:rgba(9,8,18,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.04em;font-size:18px}
.logo>span:last-child>span{color:var(--lav)}.logo small{font-size:10px;color:var(--gold);margin-left:2px;vertical-align:top}
.logo-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;font-size:20px;color:var(--gold)}

nav{display:flex;align-items:center;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#c9c4d1}
nav a:hover{color:var(--gold)}.nav-button{border:1px solid var(--gold);padding:12px 18px}.menu-toggle{display:none;background:none;border:0}

.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:130px 8vw 80px;overflow:hidden;background:radial-gradient(circle at 70% 50%,#251c3e 0,transparent 38%),linear-gradient(125deg,#090812,#100d1b)}
.hero-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:70px 70px}
.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow,.section-label,.kicker,.type,.application-kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(76px,12vw,175px);line-height:.82;letter-spacing:-.06em;font-weight:600;margin:25px 0 28px}.hero h1 span{color:var(--lav)}.hero h1 sup{font:500 20px Inter;color:var(--gold);vertical-align:top}
.hero-subtitle{font:italic 600 28px "Playfair Display";color:#ddd4e9;margin-bottom:20px}.hero-text{max-width:600px;color:var(--muted);line-height:1.8;font-size:14px}
.hero-actions{display:flex;gap:12px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-primary{background:var(--gold);color:#0b0910}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-ghost{border-color:rgba(255,255,255,.2);color:#ddd;background:transparent}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero-date{position:absolute;right:7vw;bottom:13vh;z-index:2;display:flex;align-items:flex-start;gap:9px;color:var(--gold);font-family:"Playfair Display";font-size:42px}.hero-date i{font-style:normal;color:#777}.hero-date small{font:9px Inter;letter-spacing:.18em;line-height:1.5;margin:8px 0 0 10px;color:var(--muted)}
.scroll-down{position:absolute;bottom:30px;left:8vw;font-size:9px;letter-spacing:.2em;color:#777}.scroll-down span{color:var(--gold);margin-left:12px}
.orbit{position:absolute;border:1px solid rgba(155,138,205,.16);border-radius:50%}.orbit-one{width:700px;height:300px;right:0;top:35%;animation:spin 20s linear infinite}.orbit-two{width:600px;height:260px;right:3%;top:37%;animation:spin2 25s linear infinite}
.hero-glow{position:absolute;width:260px;height:260px;right:18%;top:35%;border-radius:50%;background:radial-gradient(circle,rgba(106,90,205,.28),transparent 68%);filter:blur(15px)}
@keyframes spin{to{transform:rotate(335deg)}}@keyframes spin2{to{transform:rotate(-325deg)}}

.section{max-width:var(--max);margin:auto;padding:120px 5vw}.intro{border-top:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}
.intro h2,.section-heading h2,.faq h2{font:600 clamp(48px,5.7vw,80px)/1.04 "Playfair Display";letter-spacing:-.04em}.intro h2 em,.section-heading h2 em,.faq h2 em,.statement h2 em,.application-card h3 em,.application-hero h1 em,.success-panel h2 em{color:var(--lav);font-weight:500}
.intro-copy{padding-top:10px}.intro-copy p{color:var(--muted);line-height:1.9;font-size:15px;margin-bottom:20px;max-width:520px}.text-link{display:inline-block;margin-top:20px;color:var(--gold);font-size:10px;letter-spacing:.18em}

.statement{text-align:center;padding:170px 5vw;background:radial-gradient(circle at 50% 40%,#211a39,transparent 45%);border-block:1px solid rgba(255,255,255,.04)}
.quote-mark{font:100px "Playfair Display";color:var(--gold);line-height:.5}.statement h2{font:600 clamp(48px,6.8vw,92px)/1.02 "Playfair Display";letter-spacing:-.05em}.statement p{color:var(--muted);margin-top:25px;font-size:13px}

.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-heading>p{max-width:320px;color:var(--muted);font-size:13px;line-height:1.7}
.committee-list{border-top:1px solid rgba(255,255,255,.1)}.committee-card{display:grid;grid-template-columns:70px minmax(0,1fr) 50px;align-items:center;gap:25px;padding:27px 10px;border-bottom:1px solid rgba(255,255,255,.1);transition:.3s}.committee-card:hover{background:rgba(106,90,205,.07);padding-left:20px}.number{font:22px "Playfair Display";color:var(--gold)}.committee-card h3{font:500 26px/1.2 "Playfair Display";margin:8px 0 7px}.committee-card p{font-size:12px;line-height:1.65;color:var(--muted);max-width:650px}.arrow{font-size:25px;color:var(--gold)}
.experience{padding-top:50px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);margin-top:50px}.experience-card{background:var(--bg);padding:55px 40px;min-height:280px}.experience-card.featured{background:#151027}.experience-card>span{color:var(--gold);font:14px "Playfair Display"}.experience-card h3{font:45px "Playfair Display";margin:50px 0 15px}.experience-card p{color:var(--muted);font-size:13px;line-height:1.7}

.countdown-section{position:relative;min-height:520px;display:grid;place-items:center;text-align:center;overflow:hidden;border-block:1px solid rgba(255,255,255,.06)}.countdown-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(106,90,205,.25),transparent 30%)}.countdown-content{position:relative}.countdown-content h2{font:600 clamp(42px,5.5vw,72px)/1.05 "Playfair Display";margin:12px 0 45px}.countdown-content>p:last-child{margin-top:30px;color:var(--muted);font-size:11px;letter-spacing:.15em}.countdown{display:flex;align-items:center;gap:25px}.countdown>div{display:flex;flex-direction:column}.countdown strong{font:600 clamp(45px,7vw,90px) "Playfair Display";min-width:110px}.countdown span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.countdown>b{font:30px "Playfair Display";color:#555}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:55px}.person-image{aspect-ratio:1/1;display:grid;place-items:center;font:clamp(30px,4vw,55px) "Playfair Display";color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.08);margin-bottom:20px}.gradient-1{background:radial-gradient(circle,#6a5acd55,#181326)}.gradient-2{background:radial-gradient(circle,#c9a96e44,#181326)}.gradient-3{background:radial-gradient(circle,#9b8acd44,#181326)}.gradient-4{background:radial-gradient(circle,#4b3f7288,#181326)}.person h3{font:500 20px/1.25 "Playfair Display";min-height:50px}.person p{color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:7px}

.application-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.application-card{position:relative;min-height:420px;padding:42px;background:linear-gradient(145deg,#171229,#0d0b14);border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:.35s}
.application-card:before{content:"";position:absolute;width:270px;height:270px;right:-90px;bottom:-110px;border-radius:50%;background:rgba(106,90,205,.18);filter:blur(18px);transition:.35s}
.application-card:hover{transform:translateY(-6px);border-color:var(--gold)}.application-card:hover:before{transform:scale(1.4)}
.application-number{position:absolute;top:34px;left:40px;color:var(--gold);font:15px "Playfair Display"}.application-icon{position:absolute;top:30px;right:40px;color:var(--gold);font-size:26px}
.application-card>div{position:absolute;left:40px;right:40px;bottom:45px}.application-card h3{font:600 clamp(36px,4vw,58px)/.98 "Playfair Display";letter-spacing:-.04em;margin:10px 0 20px}.application-card>div>p:last-child{color:var(--muted);font-size:12px;line-height:1.8;max-width:390px}.application-arrow{position:absolute;bottom:27px;right:40px;color:var(--gold);font-size:25px}

.faq{border-top:1px solid rgba(255,255,255,.06)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;margin-top:55px}.faq-grid>div:first-child p{color:var(--muted);font-size:13px;line-height:1.7;margin-top:25px}.faq-list{border-top:1px solid rgba(255,255,255,.12)}details{border-bottom:1px solid rgba(255,255,255,.12)}summary{list-style:none;cursor:pointer;padding:25px 5px;font:18px/1.35 "Playfair Display";display:flex;justify-content:space-between}summary:after{content:"+";color:var(--gold);font-family:Inter}details[open] summary:after{content:"−"}details p{padding:0 5px 25px;color:var(--muted);font-size:13px;line-height:1.7}

footer{padding:55px 5vw 30px;border-top:1px solid rgba(255,255,255,.1);max-width:1300px;margin:auto}.footer-top{display:flex;align-items:center;justify-content:space-between}.footer-top p{font:italic 18px "Playfair Display";color:#777}.back-top{width:40px;height:40px;border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;margin-top:70px;color:#555;font-size:9px;letter-spacing:.14em;text-transform:uppercase}

.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

/* APPLICATION PAGES */
.application-page{min-height:100vh;background:radial-gradient(circle at 80% 10%,rgba(106,90,205,.16),transparent 30%),var(--bg)}
.application-nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:rgba(9,8,18,.9);backdrop-filter:blur(18px);z-index:50}
.back-link{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.application-page-main{min-height:100vh}
.application-hero{position:relative;overflow:hidden;padding:100px 6vw 80px;border-bottom:1px solid rgba(255,255,255,.08)}
.application-hero-inner{max-width:1050px;margin:auto;position:relative}.application-hero h1{font:600 clamp(60px,8vw,110px)/.94 "Playfair Display";letter-spacing:-.055em;margin:18px 0 24px}.application-hero p{color:var(--muted);font-size:14px;line-height:1.8;max-width:600px}
.application-hero-glow{position:absolute;right:7%;top:0;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(106,90,205,.2),transparent 70%)}
.application-form-shell{max-width:1050px;margin:auto;padding:35px 6vw 110px}
.application-form{border-top:1px solid rgba(255,255,255,.12)}
.form-section{padding:48px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.form-section-title{display:flex;align-items:center;gap:22px;margin-bottom:35px}.form-section-title span{color:var(--gold);font:16px "Playfair Display"}.form-section-title h2{font:500 27px "Playfair Display"}
.form-grid{display:grid;gap:24px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}
.application-form label{display:flex;flex-direction:column;gap:9px;color:#cfc8d9;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.application-form input,.application-form select,.application-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);background:#0e0c17;color:var(--text);padding:15px 16px;outline:none;font-size:13px;letter-spacing:0;text-transform:none;transition:.2s}
.application-form textarea{resize:vertical;line-height:1.6}.application-form input:focus,.application-form select:focus,.application-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,169,110,.06)}
.invalid{border-color:#c56b7b!important}.form-note{border-left:2px solid var(--gold);padding:12px 15px;margin-bottom:30px;color:var(--muted);font-size:11px;background:rgba(201,169,110,.04)}
.checkbox-row{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:12px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.6}.checkbox-row input{width:17px;height:17px;accent-color:var(--gold);padding:0}.checkbox-row span{font-size:11px;color:var(--muted)}
.form-submit{display:flex;justify-content:space-between;align-items:center;padding-top:30px}.form-submit p{font-size:10px;color:#777}
.success-panel{text-align:center;padding:100px 20px;border:1px solid var(--line);margin-top:40px;background:radial-gradient(circle at center,rgba(106,90,205,.12),transparent 55%)}.success-icon{margin:0 auto 25px;width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:24px}.success-panel h2{font:600 clamp(55px,7vw,90px)/1 "Playfair Display";margin:15px 0}.success-panel>p{max-width:540px;margin:0 auto 30px;color:var(--muted);font-size:13px;line-height:1.8}

@media(max-width:800px){
  .navbar{height:70px;padding:0 6vw}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:25px;height:1px;background:#ddd}
  nav{position:absolute;top:70px;left:0;width:100%;background:rgba(9,8,18,.98);display:none;flex-direction:column;align-items:flex-start;padding:25px;gap:22px}.navbar.menu-open nav{display:flex}
  .hero{padding:120px 7vw 80px;min-height:100svh}.hero h1{font-size:21vw}.hero-date{right:7vw;bottom:70px;font-size:27px}
  .section{padding:85px 7vw}.intro-grid,.faq-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.section-heading>p{margin-top:20px}
  .experience-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.application-cards{grid-template-columns:1fr}.application-card{min-height:340px}
  .countdown{gap:8px}.countdown strong{min-width:55px;font-size:42px}.countdown>b{font-size:18px}
  .application-nav{height:70px;padding:0 6vw}.application-hero{padding:80px 7vw 65px}.application-form-shell{padding:30px 7vw 90px}.form-submit{align-items:flex-start;gap:25px;flex-direction:column}
  .footer-top p{display:none}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr}.committee-card{grid-template-columns:40px minmax(0,1fr) 25px}.committee-card h3{font-size:21px}
  .countdown strong{font-size:30px;min-width:43px}.countdown span{font-size:7px}.hero-subtitle{font-size:22px}
}


.contact-section{padding-top:70px}
.contact-box{
  border:1px solid var(--line);
  padding:65px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  background:linear-gradient(135deg,rgba(106,90,205,.08),transparent)
}
.contact-box h2{
  font:600 clamp(48px,5.7vw,80px)/1.04 "Playfair Display";
  letter-spacing:-.04em;
  margin-top:14px
}
.contact-box h2 em{color:var(--lav);font-weight:500}
.contact-content{align-self:end}
.contact-content>p{
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
  max-width:430px;
  margin-bottom:25px
}
.contact-mail{
  display:inline-block;
  color:var(--gold);
  font:25px "Playfair Display"
}
.contact-mail span{font-family:Inter;margin-left:12px}
.contact-links{display:flex;gap:25px;margin-top:32px}
.contact-links a{
  color:#aaa;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase
}
.contact-links a:hover{color:var(--gold)}
@media(max-width:800px){
  .contact-box{grid-template-columns:1fr;gap:40px;padding:35px}
}


/* ===== Animated Success State ===== */
.success-panel{
  position:relative;
  overflow:hidden;
  opacity:0;
  transform:translateY(24px) scale(.985);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
}
.success-panel.success-active{
  opacity:1;
  transform:translateY(0) scale(1);
}
.success-panel::before,
.success-panel::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
}
.success-panel::before{
  width:360px;
  height:360px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.35);
  border:1px solid rgba(201,169,110,.22);
}
.success-panel::after{
  width:220px;
  height:220px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.2);
  border:1px solid rgba(155,138,205,.25);
}
.success-panel.success-active::before{
  animation:successRing 1.15s cubic-bezier(.2,.8,.2,1) .12s forwards;
}
.success-panel.success-active::after{
  animation:successRing 1.05s cubic-bezier(.2,.8,.2,1) .25s forwards;
}
.success-icon{
  position:relative;
  z-index:2;
  transform:scale(.35) rotate(-12deg);
  opacity:0;
}
.success-panel.success-active .success-icon{
  animation:successIconPop .7s cubic-bezier(.2,1.4,.4,1) .15s forwards;
}
.success-icon::before{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,169,110,.16),transparent 70%);
  opacity:0;
}
.success-panel.success-active .success-icon::before{
  animation:successGlow 1.4s ease .35s forwards;
}
.success-panel .section-label,
.success-panel h2,
.success-panel > p,
.success-panel .btn{
  position:relative;
  z-index:2;
  opacity:0;
  transform:translateY(16px);
}
.success-panel.success-active .section-label{animation:successText .55s ease .38s forwards}
.success-panel.success-active h2{animation:successText .65s ease .5s forwards}
.success-panel.success-active > p{animation:successText .65s ease .62s forwards}
.success-panel.success-active .btn{animation:successText .65s ease .74s forwards}

.success-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.success-particle{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold);
  opacity:0;
}
.success-panel.success-active .success-particle{
  animation:particleBurst 1.15s cubic-bezier(.15,.75,.25,1) forwards;
}

@keyframes successIconPop{
  0%{opacity:0;transform:scale(.35) rotate(-12deg)}
  65%{opacity:1;transform:scale(1.12) rotate(3deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes successGlow{
  0%{opacity:0;transform:scale(.6)}
  50%{opacity:1;transform:scale(1.15)}
  100%{opacity:.45;transform:scale(1)}
}
@keyframes successRing{
  0%{opacity:.55;transform:translate(-50%,-50%) scale(.25)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}
}
@keyframes successText{
  to{opacity:1;transform:translateY(0)}
}
@keyframes particleBurst{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  18%{opacity:.9}
  100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}
}
@media (prefers-reduced-motion: reduce){
  .success-panel,
  .success-icon,
  .success-panel .section-label,
  .success-panel h2,
  .success-panel > p,
  .success-panel .btn{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
  .success-panel::before,
  .success-panel::after,
  .success-particle{display:none!important}
}

@media(max-width:800px){}


/* Correct IRISMUN emblem placement */
.logo-image{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:block;
  object-fit:contain;
  object-position:center;
  border-radius:50%;
}
.navbar .logo,
.application-nav .logo,
.footer-top .logo{
  align-items:center;
}
.navbar .logo-image,
.application-nav .logo-image{
  width:42px;
  height:42px;
  flex-basis:42px;
}
.footer-top .logo-image{
  width:46px;
  height:46px;
  flex-basis:46px;
}
@media(max-width:800px){
  .logo-image,
  .navbar .logo-image,
  .application-nav .logo-image{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
}


/* Team portrait photos */
.person-image{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#18142a,#100d1b);
}
.person-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center bottom;
}


/* Instagram + WhatsApp contact buttons */
.contact-socials{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.contact-social{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-width:155px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.025);
  color:#d7d1df;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:.25s;
}
.contact-social:hover{
  border-color:var(--gold);
  color:var(--gold);
  transform:translateY(-2px);
  background:rgba(201,169,110,.04);
}
.social-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 20px;
}
.social-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-social[aria-label="WhatsApp"] .social-icon svg path:last-child{
  fill:currentColor;
  stroke:none;
}
@media(max-width:480px){
  .contact-socials{flex-direction:column}
  .contact-social{width:100%}
}


/* =========================================================
   IRISMUN26 CINEMATIC INTRO
   ========================================================= */
.site-intro{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(62,48,105,.34) 0%, rgba(16,13,27,.22) 35%, rgba(9,8,18,0) 62%),
    #090812;
  opacity:1;
  visibility:visible;
}
.site-intro.intro-skip{
  display:none!important;
}
.site-intro.intro-exit{
  animation:introExit .72s cubic-bezier(.65,0,.35,1) forwards;
}
.intro-noise{
  position:absolute;
  inset:-40%;
  opacity:.045;
  pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.2px);
  background-size:17px 17px;
  animation:introNoise 9s linear infinite;
}
.intro-center{
  position:relative;
  z-index:3;
  width:min(86vw,760px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transform:translateY(-2vh);
}
.intro-logo-wrap{
  position:relative;
  width:clamp(82px,9vw,122px);
  height:clamp(82px,9vw,122px);
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.72);
  animation:introLogoIn .72s cubic-bezier(.2,.9,.25,1.25) .12s forwards;
}
.intro-logo{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:
    drop-shadow(0 0 14px rgba(155,138,205,.23))
    drop-shadow(0 0 32px rgba(106,90,205,.17));
}
.intro-logo-glow{
  position:absolute;
  inset:-38%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(155,138,205,.22), rgba(106,90,205,.08) 36%, transparent 70%);
  opacity:0;
  animation:introGlow 1.3s ease .35s forwards;
}
.intro-wordmark{
  margin-top:25px;
  font:600 clamp(48px,7vw,86px)/.88 "Playfair Display",serif;
  letter-spacing:-.055em;
  white-space:nowrap;
  opacity:0;
  transform:translateY(18px);
  animation:introTextIn .68s cubic-bezier(.2,.8,.2,1) .62s forwards;
}
.intro-wordmark .intro-iris{color:#f4f0fb}
.intro-wordmark .intro-mun{color:#a898dc}
.intro-wordmark sup{
  display:inline-block;
  margin-left:5px;
  color:#c9a96e;
  font:600 clamp(11px,1.3vw,16px) Inter,sans-serif;
  letter-spacing:0;
  vertical-align:top;
  transform:translateY(-2px);
}
.intro-line{
  width:0;
  height:1px;
  margin-top:26px;
  background:linear-gradient(90deg,transparent,#c9a96e 18%,#9b8acd 50%,#c9a96e 82%,transparent);
  box-shadow:0 0 13px rgba(201,169,110,.14);
  animation:introLineGrow .72s cubic-bezier(.2,.8,.2,1) 1.02s forwards;
}
.intro-tagline{
  margin-top:18px;
  color:rgba(238,232,247,.72);
  font-size:10px;
  letter-spacing:.36em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  animation:introTagIn .55s ease 1.34s forwards;
}
.intro-orbit{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  border:1px solid rgba(155,138,205,.13);
  border-radius:50%;
  opacity:0;
}
.intro-orbit-a{
  width:min(70vw,850px);
  height:min(31vw,340px);
  transform:translate(-50%,-50%) rotate(-17deg) scale(.65);
  animation:introOrbitA 1.05s cubic-bezier(.2,.8,.2,1) .2s forwards, introOrbitSpinA 19s linear 1.2s infinite;
}
.intro-orbit-b{
  width:min(58vw,690px);
  height:min(26vw,300px);
  transform:translate(-50%,-50%) rotate(32deg) scale(.7);
  animation:introOrbitB 1.05s cubic-bezier(.2,.8,.2,1) .3s forwards, introOrbitSpinB 23s linear 1.35s infinite;
}
.intro-orbit-c{
  width:min(37vw,430px);
  height:min(37vw,430px);
  transform:translate(-50%,-50%) rotate(0deg) scale(.55);
  border-color:rgba(201,169,110,.09);
  animation:introOrbitC .9s cubic-bezier(.2,.8,.2,1) .48s forwards, introOrbitSpinC 28s linear 1.4s infinite;
}
.intro-corner{
  position:absolute;
  bottom:30px;
  color:rgba(170,163,184,.38);
  font-size:8px;
  letter-spacing:.24em;
  text-transform:uppercase;
  opacity:0;
  animation:introCornerIn .55s ease 1.55s forwards;
}
.intro-corner-left{left:34px}
.intro-corner-right{right:34px}

body.intro-running{
  overflow:hidden;
}
body.intro-running main,
body.intro-running > .navbar,
body.intro-running > footer{
  visibility:hidden;
}

@keyframes introLogoIn{
  0%{opacity:0;transform:scale(.72) rotate(-4deg)}
  70%{opacity:1;transform:scale(1.06) rotate(1deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes introGlow{
  0%{opacity:0;transform:scale(.65)}
  45%{opacity:1;transform:scale(1.12)}
  100%{opacity:.7;transform:scale(1)}
}
@keyframes introTextIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes introLineGrow{
  to{width:min(72vw,560px)}
}
@keyframes introTagIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes introOrbitA{
  from{opacity:0;transform:translate(-50%,-50%) rotate(-17deg) scale(.65)}
  to{opacity:1;transform:translate(-50%,-50%) rotate(-17deg) scale(1)}
}
@keyframes introOrbitB{
  from{opacity:0;transform:translate(-50%,-50%) rotate(32deg) scale(.7)}
  to{opacity:.9;transform:translate(-50%,-50%) rotate(32deg) scale(1)}
}
@keyframes introOrbitC{
  from{opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(.55)}
  to{opacity:.7;transform:translate(-50%,-50%) rotate(0deg) scale(1)}
}
@keyframes introOrbitSpinA{
  from{transform:translate(-50%,-50%) rotate(-17deg)}
  to{transform:translate(-50%,-50%) rotate(343deg)}
}
@keyframes introOrbitSpinB{
  from{transform:translate(-50%,-50%) rotate(32deg)}
  to{transform:translate(-50%,-50%) rotate(-328deg)}
}
@keyframes introOrbitSpinC{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes introCornerIn{
  to{opacity:1}
}
@keyframes introNoise{
  to{transform:translate3d(4%,3%,0)}
}
@keyframes introExit{
  0%{opacity:1;transform:scale(1);filter:blur(0)}
  55%{opacity:.7;transform:scale(1.015);filter:blur(0)}
  100%{opacity:0;transform:scale(1.035);filter:blur(7px);visibility:hidden}
}

@media(max-width:700px){
  .intro-wordmark{font-size:clamp(44px,15vw,68px)}
  .intro-orbit-a{width:92vw;height:46vw}
  .intro-orbit-b{width:78vw;height:40vw}
  .intro-orbit-c{width:58vw;height:58vw}
  .intro-tagline{font-size:8px;letter-spacing:.28em}
  .intro-corner{display:none}
}

@media(prefers-reduced-motion:reduce){
  .site-intro{
    display:none!important;
  }
  body.intro-running{
    overflow:auto!important;
  }
  body.intro-running main,
  body.intro-running > .navbar,
  body.intro-running > footer{
    visibility:visible!important;
  }
}


/* =========================================================
   REFINED CINEMATIC INTRO — same concept, cleaner execution
   ========================================================= */
.site-intro{
  background:
    radial-gradient(circle at 50% 43%, rgba(74,57,126,.30) 0%, rgba(31,24,53,.18) 31%, rgba(9,8,18,0) 61%),
    linear-gradient(145deg,#08070e 0%,#0a0812 44%,#0d0a17 100%);
}
.intro-noise{
  opacity:.025;
  background-size:21px 21px;
}
.intro-center{
  transform:translateY(-1.2vh);
}
.intro-logo-wrap{
  width:clamp(86px,8.8vw,116px);
  height:clamp(86px,8.8vw,116px);
}
.intro-logo{
  filter:
    drop-shadow(0 0 10px rgba(155,138,205,.18))
    drop-shadow(0 0 28px rgba(106,90,205,.12));
}
.intro-logo-glow{
  inset:-44%;
  background:radial-gradient(circle,rgba(155,138,205,.18),rgba(106,90,205,.055) 42%,transparent 72%);
  filter:blur(2px);
}
.intro-wordmark{
  margin-top:23px;
  font-size:clamp(50px,6.7vw,82px);
  letter-spacing:-.045em;
  text-shadow:0 0 22px rgba(155,138,205,.05);
}
.intro-wordmark .intro-iris{
  color:#f7f4fb;
}
.intro-wordmark .intro-mun{
  color:#a99add;
}
.intro-wordmark sup{
  color:#c9a96e;
  opacity:.92;
}
.intro-line{
  margin-top:24px;
  background:linear-gradient(90deg,transparent,rgba(201,169,110,.76) 18%,rgba(155,138,205,.85) 50%,rgba(201,169,110,.76) 82%,transparent);
  box-shadow:0 0 12px rgba(201,169,110,.10);
}
.intro-tagline{
  margin-top:16px;
  color:rgba(241,235,248,.74);
  font-size:9px;
  letter-spacing:.34em;
}
.intro-subtle{
  margin-top:9px;
  color:rgba(170,163,184,.34);
  font-size:6px;
  letter-spacing:.32em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(6px);
  animation:introTagIn .5s ease 1.58s forwards;
}
.intro-orbit{
  border-color:rgba(155,138,205,.105);
}
.intro-orbit-a{
  width:min(68vw,820px);
  height:min(29vw,318px);
}
.intro-orbit-b{
  width:min(56vw,660px);
  height:min(24vw,278px);
  opacity:.82;
}
.intro-orbit-c{
  width:min(34vw,395px);
  height:min(34vw,395px);
  border-color:rgba(201,169,110,.07);
}
.intro-corner{
  bottom:27px;
  color:rgba(170,163,184,.26);
  letter-spacing:.22em;
}
.site-intro.intro-exit{
  animation:introExitRefined .82s cubic-bezier(.65,0,.35,1) forwards;
}
body.intro-reveal main,
body.intro-reveal > .navbar,
body.intro-reveal > footer{
  animation:siteRevealRefined .82s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes introExitRefined{
  0%{opacity:1;transform:scale(1);filter:blur(0)}
  60%{opacity:.72;transform:scale(1.008);filter:blur(0)}
  100%{opacity:0;transform:scale(1.018);filter:blur(4px);visibility:hidden}
}
@keyframes siteRevealRefined{
  0%{opacity:0;transform:translateY(8px);filter:blur(3px)}
  100%{opacity:1;transform:none;filter:blur(0)}
}

@media(max-width:700px){
  .intro-wordmark{font-size:clamp(44px,14vw,64px)}
  .intro-subtle{display:none}
}


/* Intro logo — clean integration, no bubble / no frame */
.intro-logo-wrap{
  overflow:visible;
  isolation:auto;
}

.intro-logo{
  width:86%;
  height:86%;
  opacity:.91;
  mix-blend-mode:screen;
  filter:
    contrast(1.24)
    saturate(1.04)
    brightness(.96)
    drop-shadow(0 0 9px rgba(155,138,205,.15))
    drop-shadow(0 0 22px rgba(106,90,205,.08));
}

.intro-logo-glow{
  inset:-42%;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(137,114,209,.12) 0%,
      rgba(106,90,205,.045) 37%,
      transparent 70%);
  filter:blur(7px);
  opacity:0;
}

@media(max-width:700px){
  .intro-logo{
    width:88%;
    height:88%;
  }
}


/* ===== Sponsors Section ===== */
.sponsor-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:55px;
}
.sponsor-card{
  display:grid;
  grid-template-columns:minmax(280px, 430px) 1fr;
  gap:34px;
  align-items:center;
  padding:26px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#171229,#0d0b14);
  overflow:hidden;
}
.sponsor-media{
  position:relative;
  min-height:360px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 50% 35%, rgba(106,90,205,.24), transparent 50%),
    linear-gradient(160deg, rgba(201,169,110,.06), rgba(106,90,205,.05));
  display:grid;
  place-items:center;
  padding:14px;
}
.sponsor-media::after{
  content:"";
  position:absolute;
  inset:auto -40px -80px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(106,90,205,.14);
  filter:blur(18px);
}
.sponsor-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sponsor-content{
  max-width:620px;
}
.sponsor-kicker{
  display:inline-block;
  color:var(--gold);
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.sponsor-card h3{
  font:600 clamp(38px,4.2vw,64px)/1 "Playfair Display";
  letter-spacing:-.04em;
  margin-bottom:10px;
}
.sponsor-type{
  color:var(--lav);
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.sponsor-text{
  color:var(--muted);
  line-height:1.85;
  font-size:14px;
  max-width:560px;
}
@media(max-width:900px){
  .sponsor-card{
    grid-template-columns:1fr;
  }
  .sponsor-media{
    min-height:300px;
  }
}
