@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&family=Black+Ops+One&display=swap');

@font-face{
  font-family:'KMR Apparat';
  src:url('fonts/kmr-apparat-light.woff2') format('woff2');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'KMR Apparat';
  src:url('fonts/kmr-apparat-regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'KMR Apparat';
  src:url('fonts/kmr-apparat-medium.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'KMR Apparat';
  src:url('fonts/kmr-apparat-bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'KMR Apparat';
  src:url('fonts/kmr-apparat-black.woff2') format('woff2');
  font-weight:900; font-style:normal; font-display:swap;
}

:root{
  --lime:#C3FA4B;
  --white:#FFFFFF;
  --cream:#DADAD0;
  --bk:#000000;
  --s1:#141414;
  --s2:#1F1F1F;
  --mu:rgba(218,218,208,0.72);
  --fd:'KMR Apparat','Helvetica Neue',Arial,sans-serif;
  --fb:'Pretendard Variable','Pretendard','Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --fm:'JetBrains Mono',monospace;
}

*{box-sizing:border-box; scrollbar-width:none;}
*::-webkit-scrollbar{display:none;}
html,body{margin:0;padding:0;}
body{background:var(--bk); color:var(--cream); font-family:var(--fb);}
::selection{background:rgba(195,250,75,0.22); color:var(--cream);}
button{cursor:pointer; font:inherit;}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}

@keyframes hud{0%,100%{opacity:1} 50%{opacity:0.15}}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity 0.7s ease, transform 0.7s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- Nav ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:200; background:transparent; border-bottom:1px solid transparent; transition:all 0.35s;}
.nav.scrolled{background:rgba(5,5,4,0.95); backdrop-filter:blur(12px); border-bottom:1px solid rgba(195,250,75,0.12);}
.nav-inner{max-width:1200px; margin:0 auto; padding:0 32px; height:68px; display:flex; align-items:center; justify-content:space-between;}
.nav-logo-btn{background:none; border:none;}
.nav-logo-btn img{height:20px; width:auto;}
.nav-links{align-items:center; gap:32px;}
.nav-links button{background:none; border:none; font-family:var(--fb); font-size:14px; color:var(--cream); opacity:0.55; transition:opacity 0.2s; padding:0;}
.nav-links button:hover{opacity:1;}
.nav-links .nav-reg-btn{background:var(--lime); color:var(--bk); border:none; font-family:var(--fd); font-weight:700; font-size:14px; letter-spacing:0.05em; padding:12px 28px; display:flex; align-items:center; gap:6px; transition:opacity 0.2s; border-radius:8px; opacity:1;}
.nav-links .nav-reg-btn:hover{opacity:0.85;}
.nav-burger{background:none; border:none; color:var(--cream); display:none;}
.nav-mobile{background:var(--s1); border-top:1px solid rgba(195,250,75,0.1); padding:20px 32px 28px; display:none;}
.nav-mobile.open{display:block;}
.nav-mobile button{display:block; width:100%; text-align:left; background:none; border:none; font-family:var(--fb); font-size:15px; color:var(--cream); padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.05);}
.nav-mobile-reg{width:100%; background:var(--lime); color:var(--bk); border:none; font-family:var(--fd); font-weight:700; font-size:14px; padding:13px; margin-top:12px; text-align:center; border-radius:8px;}

@media(max-width:768px){
  .nav-links{display:none !important;}
  .nav-burger{display:block !important;}
}
@media(min-width:769px){
  .nav-links{display:flex !important;}
}

/* ---------- Hero ---------- */
.hero-spacer{height:240vh; position:relative;}
.hero-sticky{position:sticky; top:0; height:100vh; overflow:hidden; background:var(--bk);}
.hero-bg-layer{position:absolute; inset:0; z-index:1; transform-origin:center; will-change:transform;}
.hero-glow{position:absolute; inset:0; z-index:2;}
.hero-bg-layer img{width:100%; height:100%; object-fit:cover; object-position:center 55%; filter:brightness(0.75);}
.hero-scrim{position:absolute; inset:0; z-index:3; background:linear-gradient(to top, var(--bk) 0%, rgba(5,5,4,0.85) 28%, rgba(5,5,4,0.3) 60%, transparent 100%); pointer-events:none;}
.hero-grid{position:absolute; inset:0; z-index:2; pointer-events:none; background-image:linear-gradient(rgba(195,250,75,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(195,250,75,0.04) 1px,transparent 1px); background-size:80px 80px;}
.hero-content{position:absolute; left:0; right:0; bottom:12%; z-index:10; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 24px; pointer-events:none;}
.hero-badge{display:inline-flex; align-items:center; gap:12px; margin-bottom:28px;}
.hero-badge img{height:clamp(34px,5vw,58px); width:auto;}
.hero-brand{margin-bottom:20px; display:flex; justify-content:center;}
.hero-brand img{height:22px; width:auto; opacity:1;}
.hero-title{margin:0 0 24px; display:flex; justify-content:center;}
.hero-title img{width:min(820px,84vw); height:auto;}
@media(max-width:768px){
  .hero-title img{width:min(560px,88vw);}
  .hero-brand img{height:18px;}
}
.hero-meta{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 20px; margin-bottom:36px;}
.hero-meta span{font-family:var(--fb); font-size:15px; color:var(--cream); display:flex; align-items:center; gap:6px;}
.hero-meta .sep{color:rgba(218,218,208,0.37); font-size:14px;}
.hero-meta .dim{color:rgba(218,218,208,0.77);}
.hero-countdown{display:flex; gap:32px; margin-bottom:36px; pointer-events:auto;}
.hero-countdown .cell{display:flex; flex-direction:column; align-items:center; gap:4px;}
.hero-countdown .v{font-family:var(--fd); font-weight:700; font-size:clamp(32px,5vw,56px); color:var(--white); line-height:1; font-variant-numeric:tabular-nums;}
.hero-countdown .l{font-family:var(--fm); font-size:8px; letter-spacing:0.2em; color:var(--mu);}
.hero-ctas{display:flex; gap:12px; flex-wrap:wrap; justify-content:center; pointer-events:auto;}
.hero-cta-primary{background:var(--lime); color:var(--bk); border:none; font-family:var(--fd); font-size:16px; padding:15px 44px; display:flex; align-items:center; gap:8px; transition:opacity 0.2s; border-radius:10px;}
.hero-cta-primary:hover{opacity:0.85;}
.hero-cta-secondary{background:transparent; border:1px solid rgba(218,218,208,0.2); color:rgba(218,218,208,0.82); font-family:var(--fd); font-size:16px; padding:15px 44px; transition:border-color 0.2s; border-radius:10px;}
.hero-cta-secondary:hover{border-color:rgba(218,218,208,0.57);}
.hero-scrollhint{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:10;}
.hero-scrollhint .bar{width:1px; height:32px; background:linear-gradient(to bottom, rgba(195,250,75,0.33), transparent); animation:hud 2s ease-in-out infinite;}

/* ---------- Stats ---------- */
.stats-section{background:var(--s1); border-bottom:1px solid rgba(255,255,255,0.04);}
.stats-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr);}
.stat-item{padding:60px 40px; border-right:1px solid rgba(255,255,255,0.04);}
.stat-item:first-child{border-left:1px solid rgba(255,255,255,0.04);}
.stat-val{font-family:var(--fd); font-weight:700; font-size:clamp(52px,6vw,80px); color:var(--lime); line-height:1; margin-bottom:12px;}
.stat-kr{font-family:var(--fb); font-weight:600; font-size:15px; color:var(--cream); margin-bottom:4px;}
.stat-en{font-family:var(--fm); font-size:9px; letter-spacing:0.14em; color:var(--mu); text-transform:uppercase;}

/* ---------- Org grid (participating organizations) ---------- */
.org-section{padding:88px 0 96px;}
/* ---------- Why ATTENTION ---------- */
.h2.why-heading{display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; text-transform:none;}
.why-heading-logo{height:0.72em; width:auto;}
@media(max-width:1024px){
  .org-grid{grid-template-columns:repeat(3,1fr);}
}

/* Desktop/tablet: asymmetric split — selectable list + reactive panel */
.why-split{display:grid; grid-template-columns:0.85fr 1.15fr; gap:0; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08);}
.why-list{display:flex; flex-direction:column;}
.why-item{display:flex; align-items:center; gap:18px; width:100%; text-align:left; background:none; border:none; border-bottom:1px solid rgba(255,255,255,0.08); padding:26px 28px 26px 0; cursor:pointer; color:inherit; transition:padding-left 0.25s ease;}
.why-item:last-child{border-bottom:none;}
.why-item-icon{flex-shrink:0; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:10px; color:rgba(218,218,208,0.55); background:rgba(255,255,255,0.03); transition:color 0.25s ease, background 0.25s ease;}
.why-item-text{display:flex; flex-direction:column; gap:5px; min-width:0;}
.why-item-cat{font-family:var(--fd); font-size:11px; font-weight:700; letter-spacing:0.04em; color:rgba(218,218,208,0.45); transition:color 0.25s ease;}
.why-item-title{font-family:var(--fb); font-weight:700; font-size:17px; line-height:1.4; color:rgba(218,218,208,0.6); transition:color 0.25s ease;}
.why-item.is-active{padding-left:16px;}
.why-item.is-active .why-item-icon{color:#050504; background:var(--lime);}
.why-item.is-active .why-item-cat{color:var(--lime);}
.why-item.is-active .why-item-title{color:var(--white);}
.why-panel{padding:20px 0 20px 64px; border-left:1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; justify-content:center; gap:18px; transition:opacity 0.15s ease;}
.why-panel.fade{opacity:0;}
.why-panel-num{font-family:var(--fd); font-weight:700; font-size:13px; letter-spacing:0.08em; color:rgba(195,250,75,0.5);}
.why-panel-icon{width:76px; height:76px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(195,250,75,0.25); border-radius:16px; background:rgba(195,250,75,0.05);}
.why-panel-title{font-family:var(--fb); font-weight:700; font-size:26px; line-height:1.35; color:var(--white); margin:0; max-width:460px;}
.why-panel-desc{font-family:var(--fb); font-size:15px; line-height:1.8; color:rgba(218,218,208,0.72); margin:0; max-width:460px;}

/* Mobile: hover-panel doesn't translate to touch — show simple stacked cards instead */
.why-mobile-list{display:none;}
@media(max-width:768px){
  .why-split{display:none;}
  .why-mobile-list{display:flex; flex-direction:column; gap:36px;}
  .why-card{display:flex; flex-direction:column; gap:14px;}
  .why-icon{width:52px; height:52px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(195,250,75,0.25); border-radius:12px; background:rgba(195,250,75,0.05);}
  .why-cat{font-family:var(--fd); font-size:12px; font-weight:700; letter-spacing:0.04em; color:var(--lime); margin:4px 0 0;}
  .why-title{font-family:var(--fb); font-weight:700; font-size:18px; line-height:1.4; color:var(--white); margin:0;}
  .why-desc{font-family:var(--fb); font-size:15px; line-height:1.75; color:rgba(218,218,208,0.72); margin:0;}
}

.org-section-head{margin-bottom:48px;}
.org-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:10px;}
.org-card{background:var(--s1); padding:32px 20px; display:flex; align-items:center; justify-content:center; min-height:96px; transition:background 0.2s; border-radius:12px; position:relative;}
.org-card:hover{background:var(--white);}
.org-card img{height:30px; width:auto; max-width:100%; object-fit:contain; filter:brightness(0) invert(0.85); opacity:0.55; transition:opacity 0.3s ease, filter 0.3s ease;}
.org-card img.org-logo-lg{height:38px;}
.org-card:hover img{opacity:1; filter:none;}
.org-card-swap:hover .org-logo-default{opacity:0 !important;}
.org-card-swap .org-logo-hover{position:absolute; opacity:0;}
.org-card-swap:hover .org-logo-hover{opacity:1;}
.org-card-fallback{display:none; font-family:var(--fd); font-weight:700; font-size:14px; color:rgba(218,218,208,0.57); text-align:center; transition:color 0.3s ease;}
.org-card:hover .org-card-fallback{color:var(--bk);}
@media(max-width:768px){
  .org-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr; gap:36px;}
}

/* ---------- Section shared ---------- */
.section{padding:96px 0;}
.section-bk{background:var(--bk);}
.section-s1{background:var(--s1);}
.section-divider-top{border-top:1px solid rgba(255,255,255,0.04);}
.eyebrow{font-family:var(--fd); font-size:14px; font-weight:700; letter-spacing:0.04em; color:var(--lime); margin:0 0 22px;}
.h2.h2-cs{text-transform:none;}
.h2{font-family:var(--fd); font-weight:700; font-size:clamp(36px,5vw,58px); line-height:1.1; text-transform:uppercase; color:var(--white); margin:0 0 0.5em;}
.h2-lime{color:var(--lime);}

/* ---------- About ---------- */
.about-section{padding:120px 0 100px; position:relative; overflow:hidden;}
.about-bg{position:absolute; inset:0; z-index:0;}
.about-bg img{width:100%; height:100%; object-fit:cover; object-position:center 40%; filter:grayscale(25%) brightness(0.4); opacity:0.6;}
.about-bg::after{content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 45%, transparent 0%, rgba(0,0,0,0.55) 55%, var(--bk) 100%), linear-gradient(to bottom, var(--bk) 0%, transparent 12%, transparent 78%, var(--bk) 100%);}
.about-section .wrap{position:relative; z-index:1;}
.about-h1{font-family:var(--fd); font-weight:700; font-size:clamp(44px,8vw,96px); line-height:1.1; text-transform:uppercase; color:var(--white); margin-top:0; margin-bottom:24px; max-width:900px;}
.rotating-word{display:inline-block; vertical-align:top; text-align:center; border-bottom:3px solid rgba(195,250,75,0.35); padding-bottom:0.06em;}
.rotating-word-text{display:inline-block; border-right:3px solid var(--lime); padding-right:4px; animation:cursor-blink 0.9s step-end infinite;}
@keyframes cursor-blink{0%,49%{border-color:var(--lime);} 50%,100%{border-color:transparent;}}
.about-en-tag{margin:0 0 64px;}
.about-en-tag img{height:clamp(32px,4.5vw,52px); width:auto;}
.about-eyebrow{font-family:var(--fd); font-size:14px; font-weight:700; letter-spacing:0.04em; color:var(--lime); margin:0 0 12px;}
.about-scroll-wrap{border-top:1px solid rgba(255,255,255,0.07); padding-top:56px;}
.about-scroll-text{font-family:var(--fb); font-weight:400; font-size:clamp(20px,1.5vw,22px); line-height:1.7; max-width:820px; margin:0;}
.about-tagline{font-family:var(--fd); font-weight:700; font-size:clamp(24px,3.2vw,38px); line-height:1.3; color:var(--white); margin:44px 0 0; max-width:820px;}
.sh-word{color:rgba(218,218,208,0.2); transition:color 0.25s ease;}
.sh-word.active{color:var(--white);}

/* ---------- Agenda ---------- */
.agenda-subhead{font-family:var(--fb); font-weight:600; font-size:13px; letter-spacing:0.02em; color:var(--mu); margin-bottom:18px;}
.morning-list{border-top:1px solid rgba(195,250,75,0.1); margin-bottom:64px;}
.morning-row{display:flex; border-bottom:1px solid rgba(255,255,255,0.06);}
.morning-time{min-width:190px; border-right:1px solid rgba(255,255,255,0.06); margin-right:36px; flex-shrink:0; padding:28px 0 26px;}
.morning-time span{font-family:var(--fm); font-size:17px; color:rgba(218,218,208,0.88);}
.morning-body{flex:1; padding:26px 0;}
.morning-tag{font-family:var(--fm); font-size:12px; letter-spacing:0.1em; color:var(--mu); border:1px solid rgba(218,218,208,0.32); padding:5px 11px; text-transform:uppercase; display:inline-block; margin-bottom:14px; border-radius:5px;}
.morning-tag.keynote{color:var(--lime); border-color:rgba(195,250,75,0.32);}
.morning-title{font-family:var(--fd); font-weight:700; font-size:27px; color:var(--white);}
.morning-title.has-subs{margin-bottom:18px;}
.morning-en{font-family:var(--fb); font-size:16px; color:rgba(218,218,208,0.77);}
.morning-subs{border-left:2px solid rgba(195,250,75,0.28); padding-left:22px; margin-top:12px;}
.morning-sub-row{display:flex; flex-direction:column; gap:6px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.05); min-width:0;}
.morning-sub-row:last-child{border-bottom:none;}
.morning-sub-row .t{font-family:var(--fb); font-weight:600; font-size:18px; color:var(--cream); overflow-wrap:break-word;}
.morning-sub-row .o{font-family:var(--fb); font-weight:600; font-size:14px; color:var(--lime); letter-spacing:0.01em; overflow-wrap:break-word;}

.track-tabs{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:8px;}
.track-tab{padding:28px 30px; text-align:left; background:var(--s2); border:1px solid rgba(255,255,255,0.05); border-top:3px solid; transition:all 0.2s; width:100%; border-radius:10px;}
.track-tab .tk-label{font-family:var(--fm); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:12px;}
.track-tab .tk-name{font-family:var(--fd); font-weight:700; font-size:27px; color:rgba(218,218,208,0.7); margin-bottom:8px;}
.track-tab .tk-sub{font-family:var(--fb); font-size:16px; color:rgba(218,218,208,0.7);}
.track-tab.active{background:var(--bk);}
.track-tab.active .tk-name{color:var(--white);}
.track-tab.active .tk-sub{color:var(--mu);}

.afternoon-list{border:1px solid rgba(255,255,255,0.07); border-top:2px solid var(--lime);}
.aft-row{display:flex; align-items:flex-start; padding:28px 30px; background:var(--bk); border-bottom:1px solid rgba(255,255,255,0.05); border-left:3px solid;}
.aft-time{min-width:170px; flex-shrink:0; padding-top:2px;}
.aft-time .t1{font-family:var(--fm); font-size:17px; color:rgba(218,218,208,0.88);}
.aft-time .t2{font-family:var(--fm); font-size:12px; color:rgba(218,218,208,0.67); margin-top:5px;}
.aft-tag{font-family:var(--fm); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; padding:5px 11px; display:inline-block; margin-bottom:14px; border-radius:5px;}
.aft-title{font-family:var(--fb); font-size:18px; color:rgba(218,218,208,0.82); font-weight:700;}
.aft-title-en{font-family:var(--fb); font-size:15px; color:rgba(218,218,208,0.67); margin-top:6px;}
.aft-break{display:flex; align-items:center; padding:16px 30px; background:rgba(255,255,255,0.015); border-bottom:1px solid rgba(255,255,255,0.05);}
.aft-break span:first-child{font-family:var(--fm); font-size:13px; color:var(--mu); min-width:170px;}
.aft-break span:last-child{font-family:var(--fb); font-size:16px; color:rgba(218,218,208,0.87);}
.aft-closing{display:flex; align-items:flex-start; padding:28px 30px; background:rgba(195,250,75,0.04); border-top:1px solid rgba(195,250,75,0.12);}
.aft-closing .aft-time{min-width:170px;}
.aft-closing-tag{font-family:var(--fm); font-size:12px; letter-spacing:0.08em; color:var(--lime); background:rgba(195,250,75,0.1); padding:5px 11px; text-transform:uppercase; display:inline-block; margin-bottom:12px; border-radius:5px;}
.aft-closing-title{font-family:var(--fb); font-size:18px; color:rgba(218,218,208,0.82); font-weight:700;}
.aft-closing-sub{font-family:var(--fb); font-size:16px; color:var(--mu); margin-top:6px;}

/* ---------- Speakers ---------- */
.spk-header{display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:56px;}
.spk-header h2{margin-top:0;}
.spk-desc{font-family:var(--fb); font-size:15px; color:var(--mu); max-width:560px; line-height:1.7; margin:0;}
.spk-list{display:grid; grid-template-columns:repeat(4,1fr); column-gap:32px; row-gap:56px;}
.spk-item{display:flex; flex-direction:column; align-items:center; text-align:center;}
.spk-photo-wrap{position:relative; width:168px; height:168px; margin-bottom:20px;}
.spk-photo{width:100%; height:100%; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,0.1); filter:grayscale(20%) brightness(0.92); transition:border-color 0.3s, filter 0.3s; display:block;}
.spk-photo-placeholder{display:flex; align-items:center; justify-content:center; background:var(--s2); box-sizing:border-box;}
.spk-item:hover .spk-photo{border-color:var(--ring, var(--lime)); filter:grayscale(0) brightness(1);}
.spk-badge{position:absolute; bottom:-4px; right:-10px; width:120px; height:34px; background:var(--white); border-radius:999px; padding:0; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,0.35); box-sizing:border-box;}
.spk-badge img{max-width:92px; max-height:20px; width:auto; height:auto; object-fit:contain;}
.spk-badge-fallback{display:none; font-family:var(--fd); font-weight:700; font-size:10px; color:var(--bk); text-align:center; line-height:1.3;}
.spk-tag{font-family:var(--fm); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:8px; opacity:0.85;}
.spk-name{font-family:var(--fd); font-weight:700; font-size:19px; color:var(--white); margin-bottom:4px;}
.spk-role{font-family:var(--fb); font-size:13px; color:rgba(218,218,208,0.65); line-height:1.4; max-width:180px;}
.spk-note{font-family:var(--fb); font-size:13px; color:var(--mu); margin-top:48px; text-align:center;}

/* ---------- Last Year ---------- */
.ly-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-bottom:72px;}
.ly-desc{font-family:var(--fb); font-size:15px; line-height:1.85; color:rgba(218,218,208,0.87); font-weight:300; margin-bottom:28px;}
.ly-link{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border:1px solid rgba(195,250,75,0.3); background:rgba(195,250,75,0.06); color:var(--lime); font-family:var(--fd); font-weight:600; font-size:14px; text-decoration:none; border-radius:8px;}
.ly-carousel{position:relative; aspect-ratio:4/3; overflow:hidden; background:#080808; border-radius:16px;}
.ly-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(15%) brightness(0.72); opacity:0; transition:opacity 0.8s ease;}
.ly-slide.active{opacity:1;}
.ly-carousel-dots{position:absolute; bottom:16px; left:16px; display:flex; gap:6px; z-index:2;}
.ly-carousel-dots button{width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,0.35); padding:0; transition:background 0.3s, width 0.3s;}
.ly-carousel-dots button.active{background:var(--lime); width:20px; border-radius:4px;}
.testi-wrap{border-top:1px solid rgba(255,255,255,0.06); padding-top:56px;}
.testi-item{display:none;}
.testi-item.active{display:block;}
.testi-quote{font-family:var(--fd); font-weight:700; font-size:clamp(20px,3vw,32px); color:var(--white); line-height:1.4; margin-bottom:20px; max-width:800px;}
.testi-org{font-family:var(--fm); font-size:10px; color:var(--lime); letter-spacing:0.14em; text-transform:uppercase;}
.testi-dots{display:flex; gap:8px; margin-top:32px;}
.testi-dots button{height:4px; border:none; background:rgba(218,218,208,0.2); transition:all 0.3s; padding:0; width:8px;}
.testi-dots button.active{width:24px; background:var(--lime);}

/* ---------- CTA Banner ---------- */
.cta-banner{background:var(--lime); padding:80px 0;}
.cta-inner{max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.cta-eyebrow{font-family:var(--fd); font-size:14px; font-weight:700; letter-spacing:0.04em; color:rgba(5,5,4,0.6); margin:0 0 22px;}
.cta-title{font-family:var(--fd); font-weight:700; font-size:clamp(32px,5vw,56px); line-height:1.0; color:var(--bk); margin:0;}
.cta-btn{background:var(--bk); color:var(--lime); border:none; font-family:var(--fd); font-weight:700; font-size:17px; letter-spacing:0.04em; padding:18px 48px; display:flex; align-items:center; gap:10px; flex-shrink:0; transition:opacity 0.2s; border-radius:10px;}
.cta-btn:hover{opacity:0.85;}

/* ---------- Booths ---------- */
.booth-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.booth-card{background:var(--s1); padding:32px 32px 28px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; transition:background 0.2s; border-radius:12px;}
.booth-card:hover{background:var(--s2);}
.booth-num{font-family:var(--fm); font-size:9px; letter-spacing:0.14em; color:rgba(195,250,75,0.5); text-transform:uppercase;}
.booth-logo-wrap{display:flex; align-items:center; min-height:32px;}
.booth-logo-wrap img{height:24px; width:auto; max-width:150px; object-fit:contain; filter:brightness(0) invert(0.85); opacity:0.85;}
.booth-fallback{display:none; font-family:var(--fd); font-weight:700; font-size:16px; color:var(--white);}
.booth-product{font-family:var(--fm); font-size:11px; letter-spacing:0.04em; color:var(--lime); background:rgba(195,250,75,0.1); padding:4px 10px; border-radius:100px; margin-left:12px;}
.booth-desc{font-family:var(--fb); font-size:14px; color:rgba(218,218,208,0.6); line-height:1.6; margin:0; max-width:500px;}
.booth-more-note{font-family:var(--fb); font-size:13px; color:var(--mu); text-align:center; margin:32px 0 0;}
.booth-footer{border-top:1px solid rgba(255,255,255,0.04); padding-top:20px; display:flex; justify-content:flex-end;}
.booth-footer p{font-family:var(--fm); font-size:9px; color:var(--mu); letter-spacing:0.06em; margin:0;}
.booth-footer a{color:var(--lime); text-decoration:none;}

/* ---------- Register ---------- */
.register-grid{max-width:1200px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;}
.register-desc{font-family:var(--fb); font-size:16px; color:rgba(218,218,208,0.84); font-weight:300; line-height:1.85; margin-bottom:44px;}
.register-info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:36px;}
.register-info-cell{padding:20px; background:var(--s1); border:1px solid rgba(255,255,255,0.07); border-radius:10px;}
.register-info-cell .lbl{display:flex; align-items:center; gap:8px; margin-bottom:8px;}
.register-info-cell .lbl span{font-family:var(--fm); font-size:9px; letter-spacing:0.12em; color:var(--mu); text-transform:uppercase;}
.register-info-cell .val{font-family:var(--fb); font-size:14px; color:var(--cream);}
.register-contact{border-top:1px solid rgba(255,255,255,0.06); padding-top:24px;}
.register-contact span{font-family:var(--fm); font-size:9px; letter-spacing:0.12em; color:var(--mu); text-transform:uppercase; display:block; margin-bottom:8px;}
.register-contact a{font-family:var(--fb); font-size:14px; color:var(--lime); text-decoration:none;}

.register-form-box{background:var(--bk); border:1px solid rgba(255,255,255,0.07); padding:40px; border-radius:16px;}
.register-form-box h3{font-family:var(--fd); font-weight:700; font-size:22px; text-transform:uppercase; color:var(--white); margin:0 0 28px; letter-spacing:0.02em;}
.form-fields{display:flex; flex-direction:column; gap:20px;}
.form-fields label{font-family:var(--fm); font-size:9px; letter-spacing:0.14em; color:var(--mu); text-transform:uppercase; display:block; margin-bottom:8px;}
.form-fields label .req{color:var(--lime);}
.form-fields input, .form-fields select{width:100%; background:var(--s1); border:1px solid rgba(255,255,255,0.08); padding:13px 16px; color:var(--cream); font-family:var(--fb); font-size:14px; outline:none; box-sizing:border-box; transition:border-color 0.2s; border-radius:8px;}
.form-fields select{appearance:none;}
.form-fields input:focus, .form-fields select:focus{border-color:rgba(195,250,75,0.4);}
.form-submit{background:var(--lime); color:var(--bk); border:none; font-family:var(--fd); font-weight:700; font-size:16px; letter-spacing:0.04em; padding:16px 0; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:4px; transition:opacity 0.2s;}
.form-submit:hover{opacity:0.85;}
.form-note{font-family:var(--fm); font-size:9px; color:rgba(218,218,208,0.57); letter-spacing:0.07em; text-align:center; line-height:1.9; margin:0;}
.form-success{display:flex; flex-direction:column; align-items:center; text-align:center; padding:60px 0;}
.form-success-icon{width:56px; height:56px; background:rgba(195,250,75,0.08); border:1px solid rgba(195,250,75,0.2); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.form-success h3{font-family:var(--fd); font-weight:700; font-size:26px; text-transform:uppercase; color:var(--white); margin-bottom:12px;}
.form-success p{font-family:var(--fb); font-size:14px; color:var(--mu); line-height:1.8; margin:0;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid rgba(255,255,255,0.07);}
.faq-q{width:100%; text-align:left; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; background:none; color:var(--cream); border:none;}
.faq-q span{font-family:var(--fd); font-weight:700; font-size:17px; color:var(--white); line-height:1.3;}
.faq-q svg{flex-shrink:0; transition:transform 0.3s;}
.faq-item.open .faq-q svg{transform:rotate(180deg);}
.faq-a{padding-bottom:22px; display:none;}
.faq-item.open .faq-a{display:block;}
.faq-a p{font-family:var(--fb); font-size:15px; color:rgba(218,218,208,0.84); font-weight:300; line-height:1.85; margin:0;}

/* ---------- Venue ---------- */
.venue-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px;}
.venue-left{background:var(--bk); padding:44px 40px; border-radius:14px;}
.venue-eyebrow{font-family:var(--fm); font-size:9px; letter-spacing:0.16em; color:rgba(195,250,75,0.55); text-transform:uppercase; margin:0 0 16px;}
.venue-name{font-family:var(--fd); font-weight:700; font-size:26px; color:var(--white); margin-bottom:6px;}
.venue-hall{font-family:var(--fb); font-size:15px; color:var(--mu); margin-bottom:4px;}
.venue-addr{font-family:var(--fb); font-size:14px; color:rgba(218,218,208,0.52); margin-bottom:36px;}
.venue-access{display:flex; flex-direction:column; gap:18px; border-top:1px solid rgba(255,255,255,0.06); padding-top:28px;}
.venue-access-row{display:flex; gap:20px;}
.venue-access-row .label{font-family:var(--fm); font-size:9px; letter-spacing:0.1em; color:rgba(195,250,75,0.5); text-transform:uppercase; width:40px; flex-shrink:0; padding-top:2px;}
.venue-access-row p{font-family:var(--fb); font-size:13px; color:rgba(218,218,208,0.77); line-height:1.75; margin:0;}
.venue-map{background:#080808; min-height:400px; position:relative; overflow:hidden; border-radius:14px;}
.venue-map iframe{border:0; filter:invert(90%) hue-rotate(180deg); position:absolute; inset:0;}

/* ---------- Footer ---------- */
.footer{background:var(--bk); border-top:1px solid rgba(255,255,255,0.06);}
.footer-newsletter{padding:32px 32px 0;}
.footer-newsletter-inner{max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; padding:32px 40px; border:1px solid rgba(195,250,75,0.15); background:rgba(195,250,75,0.03); border-radius:16px;}
.footer-newsletter-inner .lbl{font-family:var(--fd); font-size:14px; font-weight:700; letter-spacing:0.04em; color:var(--lime); margin:0 0 10px;}
.footer-newsletter-inner h3{font-family:var(--fd); font-weight:700; font-size:clamp(22px,3vw,36px); text-transform:uppercase; color:var(--white); margin:0; line-height:1.0;}
.newsletter-open-btn{background:var(--lime); color:var(--bk); border:none; text-decoration:none; font-family:var(--fd); font-weight:700; font-size:14px; letter-spacing:0.03em; padding:15px 32px; flex-shrink:0; transition:opacity 0.2s; display:inline-block; border-radius:8px;}
.newsletter-open-btn:hover{opacity:0.85;}

.modal-overlay{position:fixed; inset:0; z-index:500; background:rgba(5,5,4,0.82); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:24px;}
.modal-overlay.open{display:flex;}
.modal-box{position:relative; background:var(--s1); border:1px solid rgba(195,250,75,0.15); max-width:480px; width:100%; max-height:88vh; overflow-y:auto; padding:44px 36px 36px; border-radius:16px;}
.modal-close{position:absolute; top:14px; right:14px; background:none; border:none; color:rgba(218,218,208,0.72); width:32px; height:32px; display:flex; align-items:center; justify-content:center;}
.modal-close:hover{color:var(--cream);}
.modal-box h3{font-family:var(--fd); font-weight:700; font-size:20px; text-transform:uppercase; color:var(--white); margin:0 0 20px;}
.footer-main{max-width:1200px; margin:0 auto; padding:56px 32px; display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start;}
.footer-brand-col{padding-right:24px;}
.footer-logo{height:20px; width:auto; opacity:0.9; margin-bottom:20px;}
.footer-desc{font-family:var(--fb); font-size:14px; color:rgba(218,218,208,0.72); line-height:1.8; max-width:460px; margin:0 0 20px;}
.footer-contact-label{font-family:var(--fm); font-size:11px; letter-spacing:0.13em; color:rgba(218,218,208,0.45); text-transform:uppercase; margin:0 0 6px;}
.footer-links-col{display:flex; flex-direction:column; gap:24px;}
.footer-links-row{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.footer-row-label{font-family:var(--fm); font-size:11px; letter-spacing:0.13em; color:rgba(218,218,208,0.57); text-transform:uppercase; width:72px; flex-shrink:0; margin:0;}
.footer-row-content{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.footer-link{font-family:var(--fb); font-size:14px; color:rgba(218,218,208,0.67); text-decoration:none;}
.footer-socials{display:flex; gap:8px;}
.footer-socials a{width:36px; height:36px; border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:rgba(218,218,208,0.62); text-decoration:none; border-radius:8px;}
.footer-email{font-family:var(--fb); font-size:14px; color:var(--lime); text-decoration:none;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);}
.footer-bottom-inner{max-width:1200px; margin:0 auto; padding:18px 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
.footer-bottom-inner p{font-family:var(--fm); font-size:11px; color:rgba(218,218,208,0.47); margin:0;}
.footer-bottom-links{display:flex; gap:24px;}
.footer-bottom-links a{font-family:var(--fm); font-size:11px; color:rgba(218,218,208,0.52); text-decoration:none;}

/* ---------- Responsive ---------- */
@media(max-width:768px){
  .ly-grid, .venue-grid, .register-grid{grid-template-columns:1fr !important;}
  .spk-list{grid-template-columns:repeat(2,1fr) !important; row-gap:40px;}
  .stats-grid{grid-template-columns:repeat(3,1fr) !important;}
  .booth-grid{grid-template-columns:1fr !important;}
  .footer-main{grid-template-columns:1fr !important;}
  .footer-links-col{margin-top:28px; gap:18px;}
  .footer-links-row{flex-direction:column; align-items:flex-start; gap:10px;}
  .footer-row-label{width:auto;}
  .register-info-grid{grid-template-columns:1fr 1fr;}
  .register-info-cell:last-child{grid-column:1 / -1;}
  .track-tabs{grid-template-columns:1fr !important;}
  .stat-item{padding:28px 12px;}
  .stat-val{font-size:clamp(32px,9vw,52px) !important;}
  .stat-en{letter-spacing:0.06em;}
  .aft-time{flex:1; min-width:0;}
  .aft-row>div:last-child, .aft-closing>div:last-child{flex:2; min-width:0;}
  .aft-closing .aft-time{min-width:0;}
  .aft-break span:first-child{flex:1; min-width:0;}
  .aft-break span:last-child{flex:2; min-width:0;}
  .aft-tag{white-space:nowrap; font-size:11px; padding:4px 9px;}
}
@media(max-width:480px){
  .spk-list{grid-template-columns:repeat(2,1fr) !important;}
  .spk-photo-wrap{width:100%; height:auto; aspect-ratio:1/1;}
  .morning-row{flex-direction:column;}
  .morning-time{min-width:0; margin-right:0; margin-bottom:12px; border-right:none; padding:20px 0 0;}
  .morning-body{padding:0 0 20px;}
}
