:root {--color-primary:#1e34d6; --color-secondary:#122447; --ink:#222222; --muted:#6d6d6d; --line:#e2e6ed; --header-height:102px; --space-container:0px; --blue:#1e34d6;}

/* Shared Korean and Latin variable font. */
body, .hero-keyvisual-slogan, .linkedin-icon, input[type=password], #programs .program-card>p {font-family:'Pretendard',sans-serif;}
#location .location-top svg {width:32.5px; height:32.5px;}

@font-face {font-family:'Poppins'; src:url('../fonts/Poppins-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Poppins'; src:url('../fonts/Poppins-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap;}
.eyebrow, .program-display, .conference-watermark, .session-label>span:first-child, .title-english {font-family:'Poppins','Pretendard',sans-serif;}
/* Four continuous image panels beneath a dark introduction. */
#programs {background:#111; color:#fff; padding-bottom:40px;}
#programs>.contain {max-width:none; width:100%; padding:0;}
#programs .section-heading {max-width:1640px; width:calc(100% - 80px); margin:0 auto 80px; align-items:flex-start; gap:70px;}
#programs .section-heading h2 {color:#fff;}
#programs .section-description {color:#ccc; padding-top:38px; max-width:560px;}
#programs .program-grid {gap:0;}
#programs .program-card {min-height:560px; padding:48px 32px 34px; border:0; color:#fff; justify-content:center;}
#programs .program-card:before {opacity:1; background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.58)),var(--program-image) center/cover no-repeat; transition:transform .5s;}
#programs .program-card:hover:before {transform:scale(1.04);}
#programs .program-display {font-size:clamp(27px,2.2vw,42px); font-weight:700; line-height:1.22; letter-spacing:-1.4px; margin:auto 0 24px;}
#programs .program-card h3 {color:#fff;}
#programs .program-card p {opacity:1; color:#e5e5e5;}
#programs .program-card>a {margin-top:34px; background:#111b; border-color:#ffffff60;}
#programs .schedule-note {margin:20px 40px 0; color:#aaa;}
@media(max-width:1200px) {#programs .program-card {min-height:480px;} #programs .program-display {font-size:36px;}}
@media(max-width:767px) {#programs .section-heading {width:calc(100% - 40px); margin-bottom:40px; gap:20px;} #programs .section-description {padding-top:0;} #programs .program-card {min-height:440px; padding:32px 24px;} #programs .program-display {font-size:34px;} #programs .schedule-note {margin-left:20px; margin-right:20px;}}

@media(min-width:1201px) {#programs .program-card p {min-height:65px;}}

/* White editorial cards reveal existing artwork on hover or keyboard focus. */
#programs {background:#fff; color:#111;}
#programs .section-heading h2 {color:#111;}
#programs .section-description {color:#6d6d6d;}
#programs .program-card {color:#111; min-height:640px; padding:52px 32px 36px; border-left:1px solid #ddd; justify-content:flex-start;}
#programs .program-card:first-child {border-left:0;}
#programs .program-card:before {opacity:0; transition:opacity .35s,transform .6s;}
#programs .program-display {margin:0 0 30px; font-size:clamp(28px,2.5vw,46px); line-height:1.35;}
#programs .program-card h3 {color:inherit;}
#programs .program-card p {color:inherit; opacity:.8; min-height:0;}
#programs .program-card>a {margin-top:auto; background:#111; border-color:#111;}
#programs .program-card:hover, #programs .program-card:focus-within {color:#fff;}
#programs .program-card:hover:before, #programs .program-card:focus-within:before {opacity:1;}
#programs .program-card:hover>a, #programs .program-card:focus-within>a {border-color:#ffffff80;}
.social-section {background:#f8f9fb;}
.social-inner {display:block;}
.social-links {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-top:48px; width:100%;}
.social-links>a {position:relative; display:flex; flex-wrap:wrap; align-content:center; justify-content:center; align-items:center; gap:16px; min-height:290px; min-width:0; padding:40px; border:0; border-radius:20px; background:#fff;}
.social-links svg, .social-links .linkedin-icon {width:52px; height:52px; padding:0; border-radius:12px; background:none;}
.social-links>a:first-child>svg {box-sizing:border-box; padding:9px; stroke:#fff; background:radial-gradient(circle at 25% 100%,#ffd776,#f52d70 50%,#7838ee 90%);}
.social-links .linkedin-icon {font-size:38px; color:#fff; background:#0866c2; border-radius:4px;}
.social-brand {font-family:'Poppins','Pretendard',sans-serif; font-size:34px; font-weight:700; color:#222;}
.social-links>a:nth-child(2) .social-brand {color:#0866c2;}
.social-links .social-cta {display:flex; justify-content:center; align-items:center; gap:12px; flex-basis:150px; margin:24px calc((100% - 150px)/2) 0; padding:13px 20px; white-space:nowrap; border-radius:28px; background:#000; color:#fff; font-size:18px; line-height:1.4;}
.social-links>a:hover {box-shadow:0 8px 30px #1224470b;}
@media(max-width:1200px) {#programs .program-card {min-height:520px;}}
@media(max-width:767px) {#programs .program-card {min-height:460px; padding:36px 24px; border-left:0; border-top:1px solid #ddd;} #programs .program-display {font-size:34px;} .social-links {grid-template-columns:1fr; gap:18px;} .social-links>a {min-height:240px; padding:28px;} .social-brand {font-size:28px;}}
@media(prefers-reduced-motion:reduce) {#programs .program-card:before {transition:none;}}

@font-face {font-family:'Pretendard'; src:url('../fonts/PretendardVariable.woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap;}
body, .hero-keyvisual-slogan, .linkedin-icon, input[type=password], #programs .program-card>p {font-family:'Pretendard',sans-serif;}
.eyebrow, .program-display, .conference-watermark, .session-label>span:first-child, .title-english {font-family:'Poppins','Pretendard',sans-serif;}
/* Subpage shell */
.page-sub .notice-shell {padding-top:var(--header-height);}
.notice-wrap {max-width:1640px; width:calc(100% - 80px); margin:auto;}
.notice-breadcrumb {display:flex; gap:14px; align-items:center; padding-top:46px; color:#666; font-size:15px;}
.notice-breadcrumb a {color:#222;}
.notice-heading {padding:120px 0 65px;}
.notice-heading .eyebrow {margin-bottom:16px; color:var(--blue);}
#container .notice-heading h2 {font-size:88px; line-height:1.15; font-weight:700; letter-spacing:-4px;}
.notice-heading p:last-child {font-size:22px; color:#666; margin-top:28px; line-height:1.6;}
.notice-subtabs {display:flex; gap:48px; border-bottom:1px solid #ddd; padding:0 0 24px; margin-bottom:65px;}
.notice-subtabs a {font-size:21px; font-weight:600; color:#999;}
.notice-subtabs a[aria-current] {color:#111; display:flex; align-items:center; gap:12px;}
.notice-subtabs a[aria-current]:before {content:''; width:8px; height:8px; background:var(--blue); border-radius:50%;}
.notice-shell .real-cont {padding-bottom:150px;}
@media(max-width:767px) {.notice-wrap {width:calc(100% - 40px);} .notice-breadcrumb {padding-top:28px; font-size:13px;} .notice-heading {padding:65px 0 40px;} #container .notice-heading h2 {font-size:50px; letter-spacing:-2px;} .notice-heading p:last-child {font-size:18px;} .notice-subtabs {gap:28px; margin-bottom:36px;} .notice-subtabs a {font-size:18px;}}

#footer {background:#111;}

.notice-heading .eyebrow {color:#222222;}
.news-tabs button[aria-selected="false"] {color:#afafaf;}
#programs .program-grid {border-top:1px solid #555; border-bottom:1px solid #555;}
#programs .program-card {border-left-color:#555; min-height:0; aspect-ratio: .92; padding:48px 38px;}
#programs .program-card:before {inset:0;}
#programs .program-card:hover:before {transform:none;}
#programs .program-card:hover>a, #programs .program-card:focus-within>a {background:#fff; color:#111; border-color:#fff;}
.main-news .news-grid {display:block;}
.news-panel {display:grid; grid-template-columns:1fr 2fr; column-gap:80px;}
.news-overview {grid-column:1; grid-row:1 / 4;}
.news-overview .news-more {display:inline-block; margin-top:32px; font-weight:700; font-size:18px;}
.news-panel .news-tabs {grid-column:2; margin-top:0;}
.news-panel [role="tabpanel"] {grid-column:2; border-top:0;}
.news-panel .news-row {min-height:124px;}
.news-panel .news-row h3 {font-size:20px;}
.main-news #location {margin-top:80px; max-width:none;}
@media(max-width:1200px) {#programs .program-card {min-height:520px; aspect-ratio:auto;}}
@media(max-width:767px) {#programs .program-card {min-height:500px; padding:42px 34px;} #programs .program-card:before {inset:0;} .news-panel {display:block;} .news-overview {margin-bottom:32px;} .news-overview .news-more {margin-top:18px;} .main-news #location {margin-top:48px;}}

/* Requested finishing adjustments, 2026-10-06. */
#header .header-register, #registration .action-white {border-radius:1000px;}
#registration .action-white {color:#000;}
#registration {background-image:url('../images/main/registration-blue-wave.jpg');}
#location {background-image:linear-gradient(90deg,#111 0%,rgba(17,17,17,.96) 24%,rgba(17,17,17,.65) 47%,rgba(17,17,17,0) 75%),url('../images/main/location-wave.svg');}
#programs .section-heading h2.title-english {font-weight:600;}
@media(min-width:768px) {#programs .section-heading h2.title-english {font-size:64px;}}
@media(min-width:1201px) {#programs .program-card {aspect-ratio:auto;height:calc(100vw / 4 / .92 + 48px);}}
@media(min-width:768px) and (max-width:1200px) {#programs .program-card {min-height:568px;}}
@media(max-width:767px) {#programs .program-card {min-height:548px;} #location {background-image:linear-gradient(90deg,rgba(17,17,17,.95),rgba(17,17,17,.55)),url('../images/main/location-wave.svg');}}
body.page-sub #container.notice-shell {padding-top:var(--header-height);}
body.page-sub #header {background:#fff;color:#111;}
body.page-sub #header .gnb>li>a,body.page-sub #header .header-register {color:#111;}

.main-news .news-grid {display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:start;}
.main-news .news-panel {display:block;min-width:0;}
.news-overview {position:relative;margin-bottom:36px;padding-right:85px;}
.news-overview .news-more {position:absolute;right:0;bottom:5px;margin:0;}
.main-news #location {margin-top:0;min-width:0;}
.news-panel .news-row {min-height:106px;}
.notice-visual {margin:0 0 70px;height:360px;overflow:hidden;}
.notice-visual img {width:100%;height:100%;object-fit:cover;}
@media(max-width:1000px) {.main-news .news-grid {grid-template-columns:1fr;gap:48px;}}
@media(max-width:767px) {.notice-visual {height:200px;margin-bottom:40px;}}
@font-face {font-family:'Poppins';src:url('../fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}

#programs .section-heading .eyebrow {font-weight:600;}
#programs .program-featured .program-display {font-weight:600;}
@media(min-width:1201px) {#programs .program-card {height:calc(100vw / 4 / .92 + 96px);}}
@media(min-width:768px) and (max-width:1200px) {#programs .program-card {min-height:616px;}}
@media(max-width:767px) {#programs .program-card {min-height:596px;}}
.guide-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
.guide-heading {grid-row:span 2;padding:0 45px 30px 0;}
.guide-heading h2 {font-size:56px;line-height:1.2;letter-spacing:-2px;}
.guide-card {display:flex;flex-direction:column;min-height:300px;padding:34px;border-top:1px solid #111;border-left:1px solid #111;color:#111;transition:background .2s;}
.guide-card:nth-last-child(-n+2) {border-bottom:1px solid #111;}
.guide-label {display:flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-size:14px;}
.guide-label:before {content:'';width:7px;height:7px;border-radius:50%;background:#2636e7;}
.guide-card h3 {font-size:32px;font-weight:600;margin:22px 0 12px;}
.guide-card p {font-size:17px;color:#777;line-height:1.6;}
.guide-link {display:flex;justify-content:space-between;margin-top:auto;padding-top:36px;font-size:17px;font-weight:600;}
.guide-card:hover {background:#f5f6fa;}
@media(max-width:1000px) {.guide-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.guide-heading {grid-column:1/-1;grid-row:auto;margin-bottom:35px;}.guide-card:nth-child(even) {border-left:0;}}
@media(max-width:767px) {.guide-heading h2 {font-size:36px;}.guide-card {padding:22px;min-height:260px;}.guide-card h3 {font-size:26px;}.guide-card p {font-size:15px;}}

#programs .section-heading .eyebrow {color:#777;font-weight:600;}
#registration {margin:0;}
@media(max-width:767px) {#registration {margin:0;}}

#programs .program-display {font-weight:600;}
.social-inner>div:first-child {text-align:center;}
.main-news .news-grid {align-items:stretch;}
.main-news #location {display:flex;flex-direction:column;}
#location>a {margin-top:auto;padding-top:24px;}
#location .transit {font-size:15px;margin-bottom:28px;}
.guide-card:nth-of-type(even) {border-right:1px solid #111;}
.guide-card:hover,.guide-card:focus-visible {background:#1e34d6;color:#fff;}
.guide-card:hover p,.guide-card:focus-visible p {color:#fff;}
.guide-card:hover .guide-label:before {background:#fff;}
.notice-subtabs {border-bottom:0;}
@media(min-width:768px) {#container .notice-heading h2 {font-size:80px;}}
#header .btn-m-menu {display:flex;flex:0 0 26px;margin-left:22px;}
#header .btn-m-menu span {background:#111;}
#menu {display:grid;grid-template-columns:32% 1fr;gap:60px;width:100%;height:100dvh;padding:100px 6vw 60px;visibility:hidden;transform:translateY(-12px);opacity:0;background:#f7f8fc;transition:opacity .25s,transform .25s,visibility .25s;}
html.menu-opened #menu {visibility:visible;opacity:1;transform:none;}
#menu .home {display:block;height:auto;padding:45px 30px;background:#172ed4;color:white;align-self:stretch;}
#menu .home>span {font-family:Poppins,sans-serif;font-size:14px;}
#menu .home strong {display:block;font-family:Poppins,sans-serif;font-size:clamp(40px,4vw,70px);line-height:1.1;margin:70px 0 35px;}
#menu .home p {font-size:18px;font-weight:400;}
#menu .nav-menu>ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 45px;border:0;}
#menu .nav-menu>ul>li {border:0;border-top:1px solid #aaa;padding-top:20px;}
#menu .nav-menu>ul>li>a {padding:0 0 16px;font-size:24px;line-height:1.4;}
#menu .nav-menu .submenu {display:block;background:none;padding:0;}
#menu .nav-menu .submenu ul li a {padding:7px 0;font-size:17px;color:#666;}
#menu .nav-menu .submenu ul li a:hover {color:#172ed4;}
#menu .close {top:32px;right:6vw;width:36px;height:36px;}
@media(max-width:767px) {#menu {display:block;padding:80px 24px 35px;}#menu .home {padding:22px;margin-bottom:30px;}#menu .home strong {font-size:32px;margin:18px 0;}#menu .home strong br {display:none;}#menu .home p {display:none;}#menu .nav-menu>ul {gap:28px 20px;}#menu .nav-menu>ul>li>a {font-size:19px;}#menu .nav-menu .submenu ul li a {font-size:15px;}#header .btn-m-menu {margin-left:8px;} }

#container:not(.notice-shell) .eyebrow {color:#7c8799;}
#festival-guide {background:#111;color:#fff;}
#festival-guide .guide-card {color:#fff;border-color:#555;}
#festival-guide .guide-card p {color:#b9b9b9;}
#festival-guide .guide-card:hover,#festival-guide .guide-card:focus-visible {background:linear-gradient(135deg,#061b3d 0%,#105cff 58%,#32bff0 100%);}
#festival-guide .guide-card:hover p,#festival-guide .guide-card:focus-visible p {color:#fff;}

#header {border-bottom:1px solid #111;}
.notice-heading {padding-top:80px;}
.notice-subtabs:has(+.notice-visual) {padding-bottom:0;margin-bottom:24px;}
@media(max-width:767px) {.notice-heading {padding-top:25px;}#header>.contain {display:flex;width:100%;padding:0 20px;gap:12px;}#header .sitelogo {flex:1;min-width:0;}#header .sitelogo img {max-width:150px;}#header .header-social {display:none;}#header .header-register {min-width:0;width:auto;padding:10px 14px;margin:0;}#header .btn-m-menu {margin:0;flex:0 0 24px;} }

/* Equal spacing for all four program cards. */
#programs .program-card {padding:40px;}
#programs .program-card:before {inset:0;}
@media(max-width:767px) {#programs .program-card {padding:32px;}#programs .program-card:before {inset:0;}}

.news-overview>.eyebrow {display:block;margin-bottom:24px;}
.news-overview .news-title {margin-top:0;}
#festival-guide {background:#111 url('../images/main/guide-blue-wave.svg') center bottom/cover no-repeat;}
#registration .registration-inner>div:first-child {display:flex;flex-direction:column;gap:24px;}
#registration .registration-inner>div:first-child>p,#registration .registration-inner>div:first-child>h2 {margin:0;}
#container #registration h2 {line-height:72px;}
@media(max-width:1200px) {#container #registration h2 {line-height:63px;}}
@media(max-width:767px) {#container #registration h2 {line-height:53px;}}

#header,#header.is-scrolled {border-bottom:0;box-shadow:none;}
#container .news-title h2 {font-weight:600;}
#programs .section-heading>div {display:flex;flex-direction:column;gap:24px;}
#programs .section-heading>div>.eyebrow,#programs .section-heading>div>h2 {margin:0;}
#festival-guide .guide-card h3 {margin:24px 0;}
.social-links .instagram-logo {width:52px;height:52px;object-fit:contain;}
.social-links .linkedin-wordmark {width:220px;height:55px;object-fit:contain;}

#programs .program-display {font-size:40px;}
@media(max-width:767px) {#programs .program-display {font-size:34px;}}

/* Main section heading scale and label spacing. */
#container {--main-heading-size:64px;--main-heading-gap:24px;}
#container :is(.section-heading,.news-title,.guide-heading,.social-inner) h2,
#container #registration h2 {font-size:var(--main-heading-size);}
#container :is(.guide-heading,.social-inner>div:first-child)>.eyebrow {display:block;margin:0 0 var(--main-heading-gap);font-size:16px;line-height:1.5;}
#container :is(.guide-heading,.social-inner>div:first-child)>h2 {margin-top:0;}
.social-links .social-cta {display:flex;align-items:center;justify-content:space-between;gap:40px;width:272px;max-width:100%;min-height:72px;padding:20px 28px;border-radius:1000px;background:#fff;color:#111;font-size:20px;font-weight:500;box-sizing:border-box;}
.social-links a:hover .social-cta,.social-links a:focus-visible .social-cta {background:#f4f6fa;color:#111;}
.social-links .social-cta>span {color:inherit;}
@media(max-width:767px) {
 #container {--main-heading-size:32px;}
 .social-links .social-cta {width:240px;min-height:64px;font-size:18px;padding:18px 24px;}
}

.social-links .social-cta {flex:0 0 272px;margin:24px max(0px,calc((100% - 272px)/2)) 0;}
@media(max-width:767px) {.social-links .social-cta {flex-basis:240px;margin:24px max(0px,calc((100% - 240px)/2)) 0;}}

#registration .registration-actions .action {font-size:18px;}

.social-links>a:nth-child(2) .social-cta {background:#0a66c2;color:#fff;}
.social-links>a:first-child .social-cta {background:#ff8a8a;background:linear-gradient(110deg,#f6a235 0%,#ed596d 35%,#d72c94 65%,#8149c9 100%);color:#fff;}
.directions-venue {display:grid;grid-template-columns:1.1fr 1fr;background:#111923;color:#fff;min-height:410px;}.directions-venue>div {padding:60px;}.directions-venue h3 {font-size:52px;letter-spacing:-2px;margin:24px 0;}.directions-venue p {font-size:22px;line-height:1.7;}.directions-venue .eyebrow {font-size:16px;}.directions-room {margin-bottom:20px;}.directions-map {display:inline-flex;gap:40px;background:#fff;color:#111;padding:20px 28px;margin-top:32px;border-radius:100px;font-size:18px;}.directions-art {display:flex;align-items:center;justify-content:space-between;background-repeat:no-repeat;background-image:url('../images/main/guide-blue-wave.svg');background-size:cover;}.directions-art>span:first-child {font:600 64px/1.1 Poppins,sans-serif;color:#a7bddb;}.directions-pin {font-size:110px;color:#a7bddb;}.directions-info>section {display:flex;gap:50px;padding:48px 0;border-bottom:1px solid #ddd;}.directions-number {font:500 22px Poppins,sans-serif;color:#1e34d6;}.directions-info h3 {font-size:30px;margin-bottom:24px;}.directions-info p {font-size:20px;line-height:1.8;overflow-wrap:anywhere;}.directions-muted {color:#777;margin-top:12px;}.directions-info b {display:inline-block;border-radius:20px;color:#fff;padding:2px 14px;font-size:16px;margin-right:12px;}.line-one {background:#1354a4;}.line-four {background:#079dc8;}.directions-inquiry {display:inline-block;margin-top:24px;color:#1e34d6;font-size:18px;}
@media(max-width:767px) {.directions-venue {grid-template-columns:1fr;}.directions-venue>div {padding:32px 24px;}.directions-venue h3 {font-size:36px;}.directions-venue p {font-size:18px;}.directions-art>span:first-child {font-size:42px;}.directions-info>section {gap:24px;padding:32px 0;}.directions-info h3 {font-size:24px;}.directions-info p {font-size:18px;}.directions-map {font-size:16px;gap:20px;}}

/* Full menu: black background and white typography. */
#menu,#menu .home {background:#111;color:#fff;}
#menu .nav-menu>ul>li>a,#menu .nav-menu .submenu ul li a,#menu .nav-menu .submenu ul li a:hover {color:#fff;}
#menu .nav-menu>ul>li {border-top-color:#555;}
#menu .close:before,#menu .close:after {background:#fff;}
#menu a:focus-visible {outline:2px solid #fff;outline-offset:5px;}
.directions-stops {list-style:decimal;padding-left:24px;font-size:20px;line-height:2;}.directions-stops a {display:inline-flex;gap:28px;}.directions-buses>div {display:flex;gap:28px;margin-bottom:18px;font-size:20px;line-height:1.6;}.directions-buses dt {min-width:52px;color:#1e34d6;font-weight:600;}.directions-buses dd {margin:0;}

.invitation-letter {display:grid;grid-template-columns:.9fr 1.3fr;border-top:0;}.invitation-intro {padding:60px 48px;background:#111923 url('../images/main/guide-blue-wave.svg') center bottom/cover no-repeat;color:#fff;}.invitation-intro .eyebrow {color:#a7bddb;}.invitation-intro h3 {font-size:48px;line-height:1.35;letter-spacing:-2px;margin:30px 0;}.invitation-intro>p:last-child {font-size:20px;line-height:1.7;}.invitation-copy {padding:60px 0 30px 70px;}.invitation-draft {display:inline-block;padding:8px 14px;margin-bottom:30px;background:#f0f2f8;color:#596479;font-size:14px;}.invitation-copy>p {font-size:18px;line-height:1.9;margin-bottom:28px;word-break:keep-all;}.invitation-details {border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:24px 0;margin:40px 0;}.invitation-details p {font-size:19px;line-height:1.9;}.invitation-details strong {margin-right:24px;}.invitation-sign {font-weight:600;}.invitation-location {display:inline-flex;gap:55px;background:#111;color:#fff;padding:20px 28px;border-radius:100px;font-size:18px;}
@media(max-width:767px) {.invitation-letter {grid-template-columns:1fr;}.invitation-intro {padding:36px 24px;}.invitation-intro h3 {font-size:34px;}.invitation-copy {padding:36px 0;}.invitation-copy>p {font-size:18px;}.invitation-details p {font-size:17px;}}

/* Social cards: brand left, CTA right on wide screens. */
@media(min-width:1201px) {
 .social-links>a {flex-wrap:nowrap;justify-content:flex-start;min-height:200px;gap:16px;padding:40px;}
 .social-links .social-brand {font-size:30px;white-space:nowrap;}
 .social-links .instagram-logo,.social-links .linkedin-wordmark {flex-shrink:0;}
 .social-links .social-cta {flex:0 0 240px;width:240px;margin:0 0 0 auto;}
}

#festival-guide .guide-heading h2.title-english {font-weight:600;}

.social-links .linkedin-wordmark {width:168px;height:42px;}
.invitation-intro.invitation-art {padding:0;background:#fff;align-self:start;}
.invitation-art img {display:block;width:100%;height:auto;}

.invitation-copy-title {font-size:44px;font-weight:700;line-height:1.4;letter-spacing:-1px;margin-bottom:32px;}
.keynote-session {padding:56px;background:#f6f7fa;border-top:2px solid #111;}.keynote-session h3 {font-size:48px;font-weight:600;line-height:1.35;letter-spacing:-1.5px;margin:24px 0;}.keynote-description {font-size:22px;line-height:1.7;max-width:850px;color:#666;}.keynote-meta {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid #ddd;margin-top:40px;padding-top:32px;}.keynote-meta dt {font-size:16px;color:#777;margin-bottom:12px;}.keynote-meta dd {font-size:24px;font-weight:600;margin:0;}.keynote-speaker {display:grid;grid-template-columns:340px 1fr;gap:70px;padding:70px 0;border-bottom:1px solid #ddd;align-items:center;}.keynote-photo img {display:block;width:100%;height:auto;}.keynote-profile h3 {font-size:42px;font-weight:700;margin:24px 0 32px;}.keynote-profile h3 span {font-size:22px;font-weight:400;margin-left:20px;}.keynote-profile ul {padding-left:22px;list-style:disc;font-size:21px;line-height:2;}.keynote-note {font-size:17px;color:#777;margin-top:24px;}
@media(max-width:767px) {.invitation-copy-title {font-size:28px;}.keynote-session {padding:28px 22px;}.keynote-session h3 {font-size:30px;}.keynote-description {font-size:18px;}.keynote-meta {grid-template-columns:1fr;gap:24px;}.keynote-meta dd {font-size:21px;}.keynote-speaker {grid-template-columns:1fr;gap:32px;padding:40px 0;}.keynote-photo {max-width:300px;}.keynote-profile h3 {font-size:32px;}.keynote-profile ul {font-size:18px;}.keynote-profile h3 span {font-size:18px;}}

@media(min-width:768px) {#container #location>h2 {font-size:44px;}}

/* Shared desktop subpage title; retain mobile 50px sizing. */
@media(min-width:768px){#container .notice-heading h2{font-size:72px;}}

/* Keynote body typography, desktop and mobile. */
.keynote-description,.keynote-meta dt,.keynote-meta dd,.keynote-profile h3 span,.keynote-profile ul,.keynote-profile li,.keynote-note{font-size:18px;}

#registration .registration-actions{display:flex;flex-direction:column;align-items:center;gap:14px;}
@media(max-width:767px){#registration .registration-actions{align-items:flex-start;}}

#container .notice-heading > p:last-child{color:#888;}

#menu .home{background:#2930ed;}
/* Full menu: white columns and restrained dividers. */
#menu{display:block;padding:0;background:#fff;color:#111;overflow-y:auto;}
#menu .home{display:none;}
#menu .nav-menu{width:100%;min-height:100%;}
#menu .nav-menu>ul{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:100dvh;}
#menu .nav-menu>ul>li{border:0;border-right:1px solid #ddd;padding:150px 32px 70px;min-width:0;}
#menu .nav-menu>ul>li:last-child{border-right:0;}
#menu .nav-menu>ul>li>a{color:#111;font-size:40px;font-weight:600;line-height:1.4;min-height:140px;padding:0 0 45px;word-break:keep-all;}
#menu .nav-menu>ul>li.is-current>a,#menu .nav-menu>ul>li.active>a{color:#2930ed;background:none;font-weight:700;}
#menu .nav-menu>ul>li.is-current .submenu ul li.is-current>a{color:#2930ed;background:none;font-weight:700;}
#menu .nav-menu .submenu ul li a{color:#333;font-size:18px;font-weight:400;padding:15px 0;line-height:1.6;word-break:keep-all;}
#menu .nav-menu .submenu ul li a:hover{color:#2930ed;}
#menu .close{top:28px;right:32px;}
#menu .close:before,#menu .close:after{background:#111;}
#menu a:focus-visible{outline-color:#2930ed;}
@media(max-width:1200px){#menu .nav-menu>ul>li{padding:120px 22px 50px;}#menu .nav-menu>ul>li>a{font-size:25px;}#menu .nav-menu .submenu ul li a{font-size:17px;}}
@media(max-width:767px){#menu{padding:70px 24px 35px;}#menu .nav-menu>ul{grid-template-columns:1fr;min-height:0;}#menu .nav-menu>ul>li{padding:26px 0;border:0;border-bottom:1px solid #ddd;}#menu .nav-menu>ul>li>a{font-size:24px;min-height:0;padding-bottom:16px;}#menu .nav-menu .submenu ul li a{padding:9px 0;font-size:17px;}#menu .close{top:20px;right:24px;}}

/* Invitation heading: restrained ribbon artwork */
.invitation-heading {position:relative;isolation:isolate;}
.invitation-heading-art {position:absolute;right:0;top:30px;width:38%;height:calc(100% - 45px);z-index:-1;pointer-events:none;}
.invitation-heading>p,.invitation-heading>h2 {max-width:62%;}
@media(max-width:1024px) {.invitation-heading-art {width:30%;opacity:.7;} .invitation-heading>p,.invitation-heading>h2 {max-width:70%;}}
@media(max-width:767px) {.invitation-heading-art {display:none;} .invitation-heading>p,.invitation-heading>h2 {max-width:none;}}

/* Use the supplied festival artwork, showing only its upper ribbons. */
.invitation-heading-art {top:50%;width:38%;height:auto;aspect-ratio:2.9;transform:translateY(-50%);background:url('../images/main/invitation-heading-ribbons.png') center top/100% auto no-repeat;mask-image:linear-gradient(to right,transparent 0%,#000 22%),linear-gradient(to bottom,#000 72%,transparent 100%);mask-composite:intersect;}
@media(min-width:768px) and (max-width:1024px) {.invitation-heading-art {width:30%;opacity:1;}}

/* Folded festival ribbons on the plain white heading background. */
.invitation-heading {background:#fff;}
.invitation-folded-ribbons {position:absolute;right:0;top:50%;transform:translateY(-50%);width:38%;height:auto;pointer-events:none;}
@media(max-width:1024px) {.invitation-folded-ribbons {width:29%;}}
@media(max-width:767px) {.invitation-folded-ribbons {display:none;}}

/* Header logo reused as a quiet vertical watermark. */
.invitation-heading-watermark {position:absolute;left:57%;top:50%;width:285px;height:auto;max-width:none;transform:translate(-50%,-50%) rotate(-90deg);filter:grayscale(1);opacity:.055;pointer-events:none;}
@media(max-width:1024px) {.invitation-heading-watermark {left:66%;width:220px;}}
@media(max-width:767px) {.invitation-heading-watermark {display:none;}}
/* Horizontal watermark beneath the ribbon composition. */
.invitation-heading-watermark {left:auto;right:4%;top:auto;bottom:12px;width:40%;max-width:572px;transform:none;opacity:.055;}
@media(min-width:768px) and (max-width:1024px) {.invitation-heading-watermark {left:auto;right:1%;width:32%;bottom:18px;}}
/* Invitation heading: add 24px to the existing vertical space. */
.invitation-heading {padding-bottom:89px;}
@media(max-width:767px) {.invitation-heading {padding-bottom:64px;}}

/* Unified subpage heading, matching the approved invitation layout. */
.notice-heading {position:relative;isolation:isolate;background:#fff;padding:80px 0 89px;min-height:354px;box-sizing:border-box;}
.notice-heading>p,.notice-heading>h2 {max-width:62%;}
.sub-heading-watermark {position:absolute;right:4%;bottom:12px;width:40%;max-width:572px;height:auto;filter:grayscale(1);opacity:.055;pointer-events:none;}
@media(min-width:768px) and (max-width:1024px) {.notice-heading>p,.notice-heading>h2 {max-width:70%;}.sub-heading-watermark {right:1%;width:32%;bottom:18px;}}
@media(max-width:767px) {.notice-heading {padding:25px 0 64px;min-height:280px;}.notice-heading>p,.notice-heading>h2 {max-width:none;}.sub-heading-watermark {display:none;}}
#container .hero-keyvisual-slogan {font-family:'Paperlogy',sans-serif;}

/* Fixed registration / top shortcuts shared across pages. */
.festival-quick-menu {position:fixed;right:20px;bottom:32px;z-index:90;display:flex;flex-direction:column;gap:10px;width:104px;font-family:'Pretendard',sans-serif;}
.festival-quick-menu>a,.festival-quick-menu>button {display:flex;align-items:center;justify-content:center;border:0;border-radius:18px;box-shadow:0 4px 18px #14244818;font:inherit;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;box-sizing:border-box;}
.festival-quick-menu .quick-register {flex-direction:column;gap:10px;padding:18px 8px;background:#2930ed;color:#fff;}
.quick-register svg {width:40px;height:40px;}
.festival-quick-menu .quick-top {gap:12px;min-height:58px;background:#fff;color:#222;border:1px solid #eee;}
.quick-top svg {width:24px;height:24px;}
.festival-quick-menu>a:hover {background:#1d24c8;}.festival-quick-menu>button:hover {background:#f4f6fb;}
.festival-quick-menu :is(a,button):focus-visible {outline:3px solid #809bff;outline-offset:4px;}
@media(max-width:767px) {.festival-quick-menu {right:12px;bottom:calc(16px + env(safe-area-inset-bottom));width:76px;gap:8px;}.festival-quick-menu>a,.festival-quick-menu>button {font-size:13px;border-radius:14px;}.festival-quick-menu .quick-register {padding:12px 6px;gap:5px;}.quick-register svg {width:28px;height:28px;}.festival-quick-menu .quick-top {min-height:44px;gap:6px;}.quick-top svg {width:20px;height:20px;}}

#header .header-register {transition:background-color .2s,color .2s,border-color .2s;}
#header .header-register:hover, #header .header-register:focus-visible, body.page-sub #header .header-register:hover, body.page-sub #header .header-register:focus-visible {background:linear-gradient(135deg,#061b3d 0%,#105cff 58%,#32bff0 100%);border-color:transparent;color:#fff;}
/* Fill the hovered full-menu category with the festival blue gradient. */
#menu .nav-menu>ul>li {position:relative;isolation:isolate;}
#menu .nav-menu>ul>li::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#061b3d 0%,#105cff 58%,#32bff0 100%);opacity:0;transition:opacity .3s ease;pointer-events:none;}
#menu .nav-menu>ul>li:hover::before,#menu .nav-menu>ul>li:focus-within::before {opacity:1;}
#menu .nav-menu>ul>li:hover>a,#menu .nav-menu>ul>li:focus-within>a,#menu .nav-menu>ul>li:hover .submenu a,#menu .nav-menu>ul>li:focus-within .submenu a {color:#fff;}
#menu .nav-menu>ul>li a {transition:color .25s;}
#menu .nav-menu>ul>li a:focus-visible {outline-color:#fff;}
#menu .close {mix-blend-mode:difference;}
#menu .close:before,#menu .close:after {background:#fff;}
@media(prefers-reduced-motion:reduce) {#menu .nav-menu>ul>li::before,#menu .nav-menu>ul>li a {transition:none;}}

#menu .nav-menu .submenu ul li a:hover, #menu .nav-menu .submenu ul li a:focus-visible {text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:currentColor;}

/* Header registration uses the gradient in its default state. */
#header .header-register, body.page-sub #header .header-register {background:linear-gradient(135deg,#061b3d 0%,#105cff 58%,#32bff0 100%);border-color:transparent;color:#fff;}

#header .header-register, body.page-sub #header .header-register {border-width:0;}

/* Main page: subtle interactive motion. */
#registration .action-white:hover, #registration .action-white:focus-visible {
  background:linear-gradient(110deg,#061b3d 0%,#105cff 58%,#32bff0 100%);
  color:#fff;border-color:transparent;
}
#registration .action-white span, #programs .program-arrow,
#festival-guide .guide-link > span {display:inline-block;transition:transform .25s ease;}
#registration .action-white:hover span, #registration .action-white:focus-visible span,
#festival-guide .guide-card:hover .guide-link > span,
#festival-guide .guide-card:focus-visible .guide-link > span {transform:translate(3px,-3px);}
#programs .program-card:hover .program-arrow,
#programs .program-card:focus-within .program-arrow {transform:translateX(4px);}
@media(prefers-reduced-motion:reduce) {
  #registration .action-white span, #programs .program-arrow,
  #festival-guide .guide-link > span {transition:none;transform:none!important;}
}

/* Expand the existing accessible link to the entire event card. */
#programs .program-card > a {position:static;}
#programs .program-card > a::after {content:"";position:absolute;inset:0;z-index:2;cursor:pointer;}
#programs .program-card > a:focus-visible::after {outline:3px solid #105cff;outline-offset:-4px;}

/* Updated invitation uses the supplied main key visual. */
.invitation-art img {object-fit:cover;object-position:center;}

/* Double the key visual display height while keeping its pixels undistorted. */
.invitation-art img {aspect-ratio:1865 / 2160;height:auto;object-fit:cover;object-position:center;}
.invitation-copy {padding-top:0;}

/* Vertically center the letter against the adjacent key visual on two-column layouts. */
@media(min-width:768px){.invitation-letter .invitation-copy{align-self:center;padding-top:0;padding-bottom:0;}}

/* Registration period pill under the main CTA title. */
#registration .registration-period {
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  margin:0;
  color:#fff;
  font-size:22px;
  font-weight:500;
  letter-spacing:-.4px;
  line-height:1.4;
}
#registration .registration-period-label {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 22px;
  border-radius:100px;
  background:#2930ed;
  color:#fff;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.4px;
  white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,0,0,.28);
}
#registration .registration-period-date {color:#fff;}
@media(max-width:767px) {
  #registration .registration-period {font-size:16px;gap:14px;}
  #registration .registration-period-label {height:36px;padding:0 16px;font-size:14px;}
}
