@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap");
@font-face {
    font-family: "Isamanru";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Isamanru";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicMedium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Isamanru";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicBold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
:root{
  --text:#191b22;
  --container:1080px;
}
html{
  font-size:16px;
  scroll-behavior:smooth;
}
*{
  box-sizing:border-box;
}
body{
  margin:0;
  font-family:"Isamanru","Noto Sans KR",sans-serif;
  color:var(--text);
  background:#fff;
}
ul,ol,dl,dd,p,h1,h2{
  margin:0;
  padding:0;
}
ul,ol{
  list-style:none;
}
a{
  color:inherit;
  text-decoration:none;
}
button{
  border:0;
  background:none;
  color:inherit;
}
img{
  display:block;
  max-width:100%;
}
.wrap{
  overflow:hidden;
}
.inner,.header-inner,.top-inner,.section-copy,.program-wrap{
  width:min(var(--container),calc(100% - 3rem));
  margin-inline:auto;
}
.site-header{
  position:absolute;
  inset:0 0 auto;
  z-index:50;
  color:#fff;
  transition:background .25s ease,box-shadow .25s ease;
}
.header-inner{
  height:125px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:flex;
  align-items:center;
  width:160px;
  height:58px;
  overflow:hidden;
}
.brand img{
  width:100%;
  height:auto;
}
.site-nav{
  margin-left:auto;
}
.gnb{
  display:flex;
  align-items:center;
  gap:2rem;
  font-size:14px;
  font-weight:300;
}
.gnb > li{
  position:relative;
}
.gnb > li > a{
  display:flex;
  align-items:center;
  height:92px;
  white-space:nowrap;
  transition:color .2s ease;
}
.gnb > li > a:hover{
  color:#4ff5f5;
}
.submenu{
  position:absolute;
  top:74px;
  left:50%;
  min-width:170px;
  padding:10px 0;
  transform:translate(-50%,10px);
  background:rgba(4,11,39,.97);
  border:1px solid rgba(255,255,255,.12);
  opacity:0;
  visibility:hidden;
  transition:.2s ease;
}
.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.submenu a{
  display:block;
  padding:9px 1rem;
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.82);
}
.submenu a:hover{
  background:rgba(255,255,255,.05);
  color:#5df8f7;
}
.site-header.is-sticky{
  position:fixed;
  background:rgba(2,7,28,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 26px rgba(0,0,0,.22);
}
.site-header.is-sticky .header-inner{
  height:70px;
}
.site-header.is-sticky .gnb > li > a{
  height:70px;
}
.site-header.is-sticky .submenu{
  top:61px;
}
.site-header.is-sticky .brand img{
  width:80%;
}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:9px;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:100%;
  height:2px;
  margin:6px 0;
  background:#fff;
  transition:.25s;
}
.top-visual{
  position:relative;
  min-height:900px;
  padding-top:5.75rem;
  color:#fff;
  background:#02071c url("../images/hero-grid.jpg") no-repeat center/cover;
  overflow:hidden;
}
.hero-particle{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--size);
  aspect-ratio:1;
  border-radius:50%;
  color:var(--color);
  background:currentColor;
  opacity:0;
  filter:blur(var(--blur)) brightness(1.5);
  box-shadow:
    0 0 5px currentColor,
    0 0 12px currentColor,
    0 0 24px currentColor,
    0 0 42px currentColor;
  transform:translate(-50%,-50%) scale(.25);
  animation:heroTwinkle var(--duration) ease-in-out var(--delay) infinite;
}
@keyframes heroTwinkle{
  0%,  100%{
    opacity:0;
    filter:blur(var(--blur)) brightness(1);
    transform:translate(-50%,-50%) scale(.2);
  }
  12%{
    opacity:calc(var(--opacity) * .35);
  }
  24%{
    opacity:var(--opacity);
    filter:blur(var(--blur)) brightness(2.8);
    transform:translate(-50%,-50%) scale(1.45);
  }
  35%{
    opacity:calc(var(--opacity) * .35);
    transform:translate(-50%,-52%) scale(.65);
  }
  48%{
    opacity:calc(var(--opacity) * .85);
    filter:blur(var(--blur)) brightness(2.2);
    transform:translate(-50%,-55%) scale(1);
  }
  61%{
    opacity:.1;
    transform:translate(-50%,-58%) scale(.35);
  }
  76%{
    opacity:calc(var(--opacity) * .65);
    transform:translate(-50%,-61%) scale(.8);
  }
  88%{
    opacity:0;
    transform:translate(-50%,-65%) scale(.25);
  }
}
.top-inner{
  position:relative;
  z-index:2;
  min-height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.copy{
  margin-top:-0.25rem;
}
.eyebrow{
  font-size:26px;
  font-weight:800;
}
.eyebrow strong{
  color:#27e8e8;
}
.title{
  margin-top:30px;
  font-weight:900;
}
.title span{
  display:block;
  font-size:70px;
  color:#fff;
}
.title b{
  display:block;
  margin-top:10px;
  font-size:105px;
  color:transparent;
  background:linear-gradient(
    180deg,    #a64cf1 4%,    #766aff 25%,    #20e9ee 60%
  );
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 0 38px rgba(95,105,255,.2);
}
.hero-slogan{
  margin-top:27px;
  font-size:37px;
  font-weight:900;
  word-break:keep-all;
}
.eyebrow,.title span,.title b,.hero-slogan{
  opacity:0;
  animation:heroIn .8s ease forwards;
}
.eyebrow{
  animation-delay:.1s;
}
.title span{
  animation-delay:.3s;
}
.title b{
  animation-delay:.5s;
}
.hero-slogan{
  animation-delay:.7s;
}
@keyframes heroIn{
  from{
    opacity:0;
    transform:translateY(25px);
    filter:blur(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}
.top-btns{
  display:flex;
  justify-content:center;
  gap:25px;
  margin-top:70px;
}
.btn{
  min-width:186px;
  height:60px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.5);
  font-size:1rem;
  font-weight:500;
  transition:.2s ease;
}
.btn-primary{
  border:none;
  background:linear-gradient(90deg,#9e3cf3,#10dceb);
}
.btn-primary:hover{
  filter:brightness(1.2);
}
.btn-primary::after{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  flex-shrink:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:24px 24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3'/%3E%3C/svg%3E");
}
.btn-outline{
  background:rgba(2,7,28,.75);
}
.btn-outline:hover{
  background:rgba(2,7,28,1);
}
.btn-outline::after{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  flex-shrink:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:24px 24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffffff' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E");
}
.hero-meta{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  padding:1.2rem;
  text-align:center;
  font-size:18px;
  font-weight:500;
  color:#fff;
  background:#000;
}
.overview-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:5rem 0;
  background:linear-gradient(100deg, #9638f3 0%, #6555e7 52%, #19b9c9 100%);
}
.overview-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("../images/info_bg.png") no-repeat right center;
  background-size:auto 100%;
}
.overview-section .section-copy{
  word-break:keep-all;
  overflow-wrap:break-word;
}
.section-copy{
  text-align:center;
  font-size:17px;
  line-height:1.8;
  font-weight:300;
  color:#fff;
}
.section-copy p + p{
  margin-top:17px;
}
.section-copy .highlight{
  color:#26edf1;
}
.event-info-wrap{
  padding:66px 0 4.5rem;
  background:#f3f6f9;
}
.section-title{
  margin-bottom:22px;
  text-align:center;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.04em;
}
.event-info-list{
  border-top:1px solid #343840;
}
.event-info-list > div{
  display:grid;
  grid-template-columns:150px 1fr;
  min-height:46px;
  border-bottom:1px solid #d9dde3;
}
.event-info-list dt,
.event-info-list dd{
  display:flex;
  align-items:center;
  font-size:14px;
  line-height:1.55;
}
.event-info-list dt{
  justify-content:center;
  background:rgba(218,222,229,.58);
  font-weight:800;
}
.event-info-list dd{
  padding:9px 1.5rem;
  font-weight:500;
  word-break:keep-all;
}
.program-wrap{
  padding:4.25rem 0 58px;
}
.program-table{
  border-top:1px solid #32343a;
  font-size:14px;
}
.program-row{
  display:grid;
  grid-template-columns:180px 220px 1fr;
  min-height:72px;
  border-bottom:1px solid #dcdfe4;
  align-items: center;
}
.program-row > div{
  padding:13px 18px;
}
.program-time{
  text-align:center;
  color:#25272b;
  font-weight:500;
}
.program-type{
  text-align:center;
  line-height:1.55;
  font-weight:500;
}
.program-desc{
  line-height:1.55;
}
.program-desc strong{
  display:block;
  font-weight:700;
}
.compact{
  min-height:46px;
}
.section-row{
  display:block;
  min-height:auto;
  border:0;
}
.section-row > div{
  padding:10px;
}
.section-band{
  text-align:center;
  background:#efe5ff;
  color:#8451ec;
  font-weight:800;
}

.side-event-list{
  background: #efe5ff;
  padding:0 18px 18px;
  font-weight:500;
  line-height:1.6;
  color:#25272b;
  text-align: center;
}

.side-event-list li{
}

.side-event-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:#8451ec;
  font-weight:800;
}
.ceremony{
  min-height:168px;
}
.ceremony-type,.ceremony-desc{
  align-self:stretch;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  padding:0 !important;
}
.ceremony-type span, .ceremony-desc > span{
    align-content: center;
  padding:9px 18px;
  border-bottom:1px solid #e2e3e7;
}
.ceremony-desc > span{
  gap:6px;
}
.ceremony-type span{
  justify-content:center;
  font-weight:500;
}
.ceremony-type span:last-child, .ceremony-desc > span:last-child{
  border-bottom:0;
}
.purple-title{
  color:#8452ec !important;
  margin-bottom:6px;
}
.speaker-line{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:0.25rem;
}
.speaker-line b{
  display:inline !important;
}
.speaker-line.indent{
  padding-left:3.15rem;
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:22px;
  border-radius:11px;
  background:#7c44e8;
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.speaker-list{
  display:grid;
  gap:2px;
  margin-top:0.5rem;
}
.final-program strong{
  color:#8452ec;
}
.final-program b{
  display:block;
  margin-top:0.25rem;
}
.desc{
  margin-top:15px;
  text-align:right;
  font-size:13px;
  color:#666;
}
.event-section{
  padding:3.25rem 0 70px;
  background:#f1f5f9;
}
.event-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
}
.event-card{
  position:relative;
  height:330px;
  padding:0 34px;
  display:flex;
  align-items:center;
  border-radius:22px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 14px 35px rgba(33,52,89,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}
.event-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 38px rgba(33,52,89,.15);
}
.early-card{
  background-color:#ff7f85;
  background-image:url("../images/event_bg.png");
  background-repeat:no-repeat;
  background-position:right center;
}
.lucky-card{
  background:#0752b8;
  background-image:url("../images/event_bg2.png");
  background-repeat:no-repeat;
  background-position:right center;
}
.event-card-copy p{
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  color:#6651db;
  letter-spacing:-.03em;
}
.lucky-card .event-card-copy p{
  color:#8ef05d;
}
.event-card-copy strong{
  display:block;
  margin-top:25px;
  font-size:3.25rem;
  line-height:1;
  font-weight:700;
}
.event-card-copy span{
  display:block;
  margin-top:1.25rem;
  font-size:18px;
  font-weight:500;
}
.event-card-copy em{
  position:absolute;
  right:0;
  bottom:-1px;
  z-index:3;
  width:165px;
  height:45px;
  clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 1.5rem;
  font-size:14px;
  font-style:normal;
  font-weight:700;
}
.early-card .event-card-copy em{
  background:#5b49d8;
  color:#ff7f85;
}
.lucky-card .event-card-copy em{
  background:#80f045;
  color:#0752b8;
}
.location-section{
  padding:5rem 0 90px;
  background:#fff;
}
.location-map{
  position:relative;
  width:100%;
  height:480px;
  overflow:hidden;
  background:#f3f4f6;
}
.location-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.map-caption{
  background:#f5f8fa;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:1.25rem 1.25rem;
  text-align:center;
  font-size:15px;
  line-height:1.3;
}
.map-caption strong{
  font-size:1rem;
  font-weight:800;
}
.site-footer{
  padding:1.75rem 1.25rem;
  background:#02071c;
  color:rgba(255,255,255,.85);
}
.footer-inner{
  text-align:center;
  font-size:0.75rem;
}
#overview,#speakers,#program,#side-event,#event,#location{
  scroll-margin-top:5rem;
}
@media (max-width:1100px){
  .gnb{
    gap:1.25rem;
    font-size:13px;
  }
  .title span{
    font-size:54px;
  }
  .title b{
    font-size:69px;
  }
  .hero-slogan{
    font-size:22px;
  }
  .program-row{
    grid-template-columns:155px 140px 1fr;
  }
}
@media (max-width:900px){
  .inner,  .header-inner,  .top-inner,  .section-copy,  .program-wrap{
    width:min(100% - 34px,var(--container));
  }
  .site-header{
    position:fixed;
    background:rgba(2,7,28,.94);
    backdrop-filter:blur(12px);
  }
  .header-inner,  .site-header.is-sticky .header-inner{
    height:66px;
  }
  .brand{
    width:96px;
    height:50px;
  }
  .brand img{
    width:96px;
  }
  .menu-toggle{
    display:block;
    position:relative;
    z-index:3;
  }
  .site-nav{
    position:absolute;
    top:66px;
    left:0;
    width:100%;
    max-height:0;
    overflow:hidden;
    background:rgba(2,7,28,.98);
    transition:max-height .3s ease;
  }
  .menu-open .site-nav{
    max-height:560px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .gnb{
    display:block;
    padding:10px 1.25rem 22px;
  }
  .gnb > li > a,  .site-header.is-sticky .gnb > li > a{
    height:44px;
    font-size:14px;
  }
  .submenu{
    position:static;
    display:none;
    transform:none;
    opacity:1;
    visibility:visible;
    background:rgba(255,255,255,.04);
    border:0;
    padding:0.25rem 0;
  }
  .has-submenu:hover .submenu,  .has-submenu:focus-within .submenu{
    display:none;
  }
  .has-submenu.submenu-open .submenu{
    display:block;
    transform:none;
  }
  .submenu-toggle::after{
    content:"";
    width:7px;
    height:7px;
    margin-left:8px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .2s ease;
  }
  .submenu-open .submenu-toggle::after{
    transform:translateY(2px) rotate(225deg);
  }
  .submenu a{
    padding-left:18px;
  }
  .menu-open .menu-toggle span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .menu-open .menu-toggle span:nth-child(2){
    opacity:0;
  }
  .menu-open .menu-toggle span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }
  .top-visual{
    min-height:630px;
    padding-top:66px;
  }
  .top-inner{
    min-height:26rem;
  }
  .title span{
    font-size:2.75rem;
  }
  .title b{
    font-size:3.5rem;
  }
  .hero-slogan{
    font-size:1.25rem;
  }
  .overview-section{
    padding:1rem 0;
  }
  .section-copy{
    padding:45px 0;
    font-size:13px;
  }
  .event-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .event-info-list > div{
    grid-template-columns:125px 1fr;
  }
  .program-row{
    grid-template-columns:130px 120px 1fr;
  }
  .program-row > div{
    padding:0.75rem 10px;
  }
  .program-row.section-row{
    display:block;
    grid-template-columns:none;
    min-height:auto;
    padding:0;
    border:0;
  }
  .program-row.section-row .section-band{
    width:100%;
  }
  .event-card{
    height:230px;
    padding:34px 25px;
  }
  .event-card-copy p{
    font-size:15px;
  }
  .event-card-copy strong{
    margin-top:11px;
    font-size:29px;
  }
}
@media (max-width:640px){
  .inner,  .header-inner,  .top-inner,  .section-copy,  .program-wrap{
    width:calc(100% - 3.5rem);
  }
  .top-visual{
    min-height:570px;
    background-position:center bottom;
  }
  .top-inner{
    min-height:485px;
  }
  .eyebrow{
    font-size:15px;
  }
  .title{
    margin-top:13px;
    line-height:1;
  }
  .title span{
    font-size:29px;
    letter-spacing:-.07em;
  }
  .title b{
    margin-top:0.5rem;
    font-size:2.5rem;
    letter-spacing:-.07em;
  }
  .hero-slogan{
    max-width:330px;
    margin:22px auto 0;
    font-size:17px;
    line-height:1.55;
  }
  .top-btns{
    flex-direction:column;
    align-items:center;
    gap:9px;
    margin-top:1.75rem;
  }
  .btn{
    width:min(100%,300px);
    height:48px;
  }
  .hero-meta{
    font-size:0.9rem;
  }
  .section-copy{
    padding:38px 0;
    text-align:left;
    line-height:1.8;
  }
  .section-copy p + p{
    margin-top:14px;
  }
  .event-info-wrap{
    padding:3rem 0 3.25rem;
  }
  .section-title{
    font-size:18px;
  }

  .event-info-list > div{
    display:block;
    padding:13px 0;
  }
  .event-info-list dt{
    display:block;
    background:none;
    text-align:left;
    font-size:13px;
    color:#7d49e8;
  }
  .event-info-list dd{
    display:block;
    padding:0.25rem 0 0;
    font-size:13px;
  }
  .program-wrap{
    padding:50px 0 2.75rem;
  }
  .program-table{
    font-size:13px;
  }
  .program-row{
    display:grid;
    grid-template-columns:110px 1fr;
    align-items:center;
    min-height:auto;
    padding:13px 0;
  }
  .program-row > div{
    padding:2px 0.5rem;
  }
  .program-time{
    grid-column:1;
    text-align:center;
    font-size:0.75rem;
    color:#696b71;
  }
  .program-type{
    grid-column:1;
    text-align:center;
    font-size:0.75rem;
  }
  .program-desc{
    grid-column:2;
    grid-row:1 / span 2;
    border-left:1px solid #e1e3e7;
  }
  .compact .program-type{
    display:none;
  }
  .section-row{
    padding:0;
  }
  .section-row > div{
    padding:10px;
  }
  .side-event-list{
    text-align: left;
  }
  .ceremony,  .panel-row{
    min-height:auto;
  }
  .ceremony{
    grid-template-columns:110px 1fr;
    grid-template-rows:repeat(4,auto);
    align-items:stretch;
    padding:0;
  }
  .ceremony .program-time{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0.5rem;
    border-bottom:1px solid #e2e3e7;
  }
  .ceremony-type,  .ceremony-desc{
    display:contents;
  }
  .ceremony-type span,  .ceremony-desc > span{
    min-width:0;
    padding:0.5rem;
    border-bottom:1px solid #e2e3e7;
  }
  .ceremony-type span{
    grid-column:1;
    justify-content:center;
    text-align:center;
  }
  .ceremony-type span:first-child{
    display:none;
  }
  .ceremony-desc > span{
    grid-column:2;
    align-items:center;
    border-left:1px solid #e1e3e7;
    overflow-wrap:anywhere;
  }
  .ceremony-desc > span:nth-child(1){
    grid-row:1;
  }
  .ceremony-type span:nth-child(2),  .ceremony-desc > span:nth-child(2){
    grid-row:2;
  }
  .ceremony-type span:nth-child(3),  .ceremony-desc > span:nth-child(3){
    grid-row:3;
  }
  .ceremony-type span:nth-child(4),  .ceremony-desc > span:nth-child(4){
    grid-row:4;
    border-bottom:0;
  }
  .speaker-line{
    align-items:flex-start;
    flex-wrap:wrap;
    gap:5px;
  }
  .speaker-line.indent{
    padding-left:3rem;
  }
  .event-section{
    padding:45px 0 3.25rem;
  }

  .event-card-copy strong{
    font-size:1.75rem;
  }
  .event-card-copy span{
    font-size:13px;
  }
  .location-section{
    padding:3rem 0 3.5rem;
  }
}