@charset "utf-8";
/* 메인 콘텐츠 */
.main-section {padding:180px 0;}
.main-section h2 {font-size:48px; font-weight:700; letter-spacing:-.045em; line-height:1.25; text-align:left;}
.eyebrow {font-size:12px; font-weight:650; letter-spacing:2px; color:var(--blue); line-height:1.5;}
.main-visual {position:relative; padding:0; isolation:isolate;}
.hero-art {position:absolute; inset:0 0 0 21%; background:url('../images/main/hero-background.webp') center center/cover no-repeat; z-index:-2;}
.hero-wash {position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#030e29 0%,#030e29f0 20%,#030e29b0 37%,transparent 64%),linear-gradient(0deg,#030e2999,transparent 25%);}
.hero-inner {height:100%; position:relative; display:flex; align-items:center;}
.hero-copy {padding-bottom:40px;}
.hero-kicker {display:flex; align-items:center; gap:10px; color:var(--blue); font-size:11px; letter-spacing:2.8px; margin-bottom:29px;}
.hero-kicker span {width:6px; height:6px; background:var(--blue); border-radius:50%; box-shadow:0 0 12px var(--blue);}
.hero-wordmark {display:block; width:570px; height:auto; max-width:100%; margin-left:-3px;}
.main-visual h2 {font-size:33px; letter-spacing:-.035em; margin-top:13px;}
.hero-slogan {font-size:22px; letter-spacing:-.035em; font-weight:350; margin-top:21px; color:#e7edff;}
.hero-date {display:flex; align-items:center; gap:12px; margin-top:33px;}
.hero-date strong {font-size:29px; letter-spacing:.025em; font-weight:650;}
.hero-date>span {font-size:11px; padding:4px 7px; border:1px solid #ffffff80; border-radius:3px; letter-spacing:1px;}
.hero-place {font-size:17px; color:#d4def0; margin-top:5px;}
.action {display:inline-flex; justify-content:space-between; align-items:center; gap:55px; min-width:208px; padding:17px 24px; border-radius:3px; font-size:16px; font-weight:650; transition:background .2s,transform .2s;}
.action-white {background:#fff; color:#142449;}
.action:hover {background:#eaf1ff; transform:translateY(-2px);}
.action span {font-size:23px; line-height:1;}
.hero-copy .action {margin-top:27px;}
.hero-bottom {position:absolute; bottom:25px; left:0; right:0; border-top:1px solid #ffffff26; padding-top:19px; display:flex; justify-content:space-between; align-items:center; color:#a3b6d4; font-size:9px; letter-spacing:2px;}
.hero-bottom a {color:white; font-size:9px;}
.hero-bottom a span {font-size:19px; vertical-align:middle; margin-left:15px;}
.quick-section {border-bottom:1px solid var(--line);}
.quick-grid {display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; padding:28px 0;}
.quick-intro {display:flex; align-items:center; gap:18px;}
.live-dot {width:10px; height:10px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 6px #edf2ff; margin-left:6px;}
.quick-intro strong {font-size:17px; font-weight:650;}
.quick-intro p {font-size:13px; color:var(--muted); margin-top:6px;}
.quick-grid>a {display:flex; justify-content:space-between; align-items:center; gap:15px; padding:4px 35px; border-left:1px solid var(--line); font-size:17px; font-weight:600;}
.quick-grid>a>span:last-child {font-size:22px; color:#8c98ab; margin-left:auto;}
.quick-grid>a:hover {color:var(--blue);}
.quick-symbol {font-size:29px; font-weight:400; color:var(--blue); margin-right:12px;}
.section-heading {display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:49px;}
.section-heading .eyebrow {margin-bottom:16px;}
.section-description {color:var(--muted); font-size:17px; line-height:1.8; padding-bottom:5px; letter-spacing:-.02em;}
/* Large editorial program panels — reference composition, supplied festival artwork */
.program-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:0;}
.program-card {position:relative; display:flex; flex-direction:column; min-height:610px; padding:32px 30px; border:0; border-left:1px solid #ddd; isolation:isolate; overflow:hidden; transition:color .25s;}
.program-card:first-child {border-left:0;}
.program-card:nth-child(1) {--program-image:url('../images/main/program-keynote.webp');}
.program-card:nth-child(2) {--program-image:url('../images/main/program-awards.webp');}
.program-card:nth-child(3) {--program-image:url('../images/main/program-showcase.webp');}
.program-card:nth-child(4) {--program-image:url('../images/main/program-exhibition.webp');}
.program-card:before {content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(3,14,45,.8) 0%,rgba(6,25,65,.42) 45%,rgba(2,10,31,.62) 100%),var(--program-image) center center/cover no-repeat; opacity:0; transition:opacity .3s;}
.program-card.program-featured, .program-card:hover, .program-card:focus-within {color:white;}
.program-card.program-featured:before, .program-card:hover:before, .program-card:focus-within:before {opacity:1;}
.program-grid:has(.program-card:not(:first-child):hover) .program-featured, .program-grid:has(.program-card:not(:first-child):focus-within) .program-featured {color:var(--ink);}
.program-grid:has(.program-card:not(:first-child):hover) .program-featured:before, .program-grid:has(.program-card:not(:first-child):focus-within) .program-featured:before {opacity:0;}
.program-meta {display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:1.4px; opacity:.7;}
.program-meta>span:first-child {font-size:13px; letter-spacing:0;}
.program-display {font-size:40px; font-weight:400; line-height:1.12; letter-spacing:-.055em; margin:32px 0 29px;}
.program-card h3 {font-size:18px; font-weight:600; letter-spacing:-.05em; line-height:1.4; margin-bottom:15px;}
.program-card p {font-size:16px; color:inherit; opacity:.76; line-height:1.8; word-break:keep-all;}
.program-time {font-size:12px; color:inherit; opacity:.7; margin-top:auto; padding-top:70px;}
.program-card>a {display:inline-flex; align-self:flex-start; justify-content:space-between; align-items:center; gap:24px; font-size:14px; font-weight:600; border:1px solid currentColor; border-radius:28px; margin-top:22px; padding:12px 18px; color:inherit;}
.program-card>a>span {font-size:22px; line-height:1;}
.program-card>a:hover {background:#ffffff20;}
.schedule-note {font-size:12px; color:#7d8798; margin-top:20px;}
.main-conference {background:#f3f6fc;}
.conference-grid {display:grid; grid-template-columns:1fr 1.1fr; gap:100px;}
.conference-intro {position:relative; overflow:hidden;}
.conference-intro>.eyebrow {margin-bottom:21px;}
.conference-subtitle {font-size:22px; font-weight:400; margin-top:25px; letter-spacing:-.03em;}
.conference-description {font-size:16px; line-height:1.9; color:var(--muted); margin-top:14px;}
.conference-intro>a {display:inline-flex; gap:65px; align-items:center; border-bottom:1px solid #bac5d8; padding:12px 0; margin-top:25px; font-size:14px;}
.conference-intro>a span {font-size:24px; color:var(--blue);}
.conference-watermark {display:block; margin-top:40px; font-size:98px; font-weight:800; line-height:.95; letter-spacing:-5px; color:#e2e9f7; user-select:none;}
.session {padding:28px 0 29px; border-top:1px solid #ccd6e8;}
.session:first-child {padding-top:0; border-top:0;}
.session-label {display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#77849a; margin-bottom:15px;}
.session-label span:first-child {color:var(--blue); font-weight:700; letter-spacing:1px;}
.session h3 {font-size:27px; letter-spacing:-.04em; font-weight:650; line-height:1.4; margin-bottom:16px;}
.session p {font-size:14px; color:#65728a; line-height:1.9; word-break:keep-all;}
.session-list>.schedule-note {margin-top:0;}
.news-grid {display:grid; grid-template-columns:1.25fr 1fr; gap:100px;}
.news-title {display:flex; justify-content:space-between; align-items:center; margin-top:15px;}
.news-title h2 {font-size:39px;}
.news-mark {font-size:37px; font-weight:300;}
.news-tabs {display:flex; gap:28px; border-bottom:1px solid var(--line); margin-top:35px;}
.news-tabs button {padding:0 0 15px; background:none; border:0; border-bottom:2px solid transparent; font-size:17px; font-weight:600; color:#8a94a4;}
.news-tabs button[aria-selected="true"] {color:var(--ink); border-bottom-color:var(--ink);}
.news-empty {padding:42px 0; border-bottom:1px solid var(--line);}
.news-empty>span {font-size:11px; letter-spacing:1.8px; color:var(--blue);}
.news-empty h3 {font-size:21px; line-height:1.5; font-weight:550; letter-spacing:-.035em; margin-top:15px; word-break:keep-all;}
.news-empty p {font-size:14px; color:var(--muted); margin-top:13px; line-height:1.6;}
.location-panel {background:#f3f6fa; padding:35px 40px; border-radius:5px; position:relative;}
.location-top {display:flex; justify-content:space-between; align-items:flex-start; height:54px;}
.location-top svg {height:65px; width:65px; fill:none; stroke:var(--blue); stroke-width:1.4;}
.location-panel h2 {font-size:31px; margin-top:12px;}
.location-room {font-size:19px; margin-top:6px; color:#50627b;}
.location-address {font-size:14px; color:var(--muted); margin-top:21px;}
.transit {display:flex; gap:18px; margin-top:16px; font-size:12px; color:#4b5c73;}
.transit b {display:inline-flex; justify-content:center; align-items:center; width:20px; height:20px; border-radius:50%; color:#fff; font-size:11px; background:#15418b; margin-right:5px;}
.transit>span+span b {background:#149ad0;}
.location-panel>a {display:flex; justify-content:space-between; padding-top:22px; margin-top:26px; border-top:1px solid #d9e0e9; font-size:14px; font-weight:600;}
.location-panel>a>span[aria-hidden] {font-size:21px; color:var(--blue);}
.main-registration {background:#1116a4 url('../images/main/registration-tunnel.jpg') center center/cover no-repeat; color:#fff; padding:180px 0; position:relative; isolation:isolate;}
.main-registration:before {content:""; position:absolute; inset:0; z-index:-1; background:rgba(0,0,0,.5);}
.registration-inner {display:flex; align-items:center; justify-content:space-between; gap:40px;}
.main-registration .eyebrow {color:var(--blue); margin-bottom:19px;}
.main-registration h2 {font-size:38px; font-weight:600; line-height:1.45;}
.main-registration h2+p {font-size:19px; color:#d4e0ff; margin-top:9px;}
.registration-actions {text-align:center;}
.registration-actions .action {min-width:272px; padding:21px 25px;}
.registration-actions>p {font-size:12px; color:#d2dfff; margin-top:15px;}
.registration-check {display:inline-flex; gap:20px; margin-top:18px; font-size:13px; color:#fff;}
.social-section {padding:180px 0;}
.social-inner {display:flex; align-items:center; justify-content:space-between; gap:24px;}
.social-inner .eyebrow {font-size:10px; color:#7c8799;}
.social-inner h2 {font-size:23px; font-weight:600; letter-spacing:-.035em; margin-top:6px;}
.social-links {display:flex; gap:16px;}
.social-links>a {display:flex; align-items:center; min-width:205px; gap:14px; border:1px solid var(--line); padding:17px 22px; border-radius:4px; font-size:15px; font-weight:550;}
.social-links>a>span[aria-hidden] {margin-left:auto; font-size:21px; color:#8f9aad;}
.social-links svg {width:23px; height:23px; stroke:var(--ink); stroke-width:1.6; fill:none;}
.linkedin-icon {font-family:Arial,sans-serif; font-size:23px; line-height:1;}

.main-visual {height:980px;}
.hero-inner {padding-top:var(--header-height);}

/* 2024 reference hierarchy adapted to the existing 1640px composition */
.main-section h2 {font-size:60px; font-weight:700; line-height:1.16; letter-spacing:-2px;}
.eyebrow {font-size:18px; font-weight:700; line-height:1.5; letter-spacing:-.6px;}
.section-description {font-size:20px; font-weight:500; line-height:1.5; letter-spacing:-.5px; color:#6d6d6d;}
.main-visual h2 {font-size:36px; line-height:1.3; letter-spacing:-1px;}
.hero-kicker {font-size:14px; letter-spacing:1px;}
.hero-slogan {font-size:24px; font-weight:500; line-height:1.5; letter-spacing:-.6px;}
.hero-place {font-size:20px; line-height:1.5; letter-spacing:-.5px;}
.action {font-size:20px; font-weight:500; letter-spacing:-.6px;}
.program-display {font-weight:400; letter-spacing:-2px;}
.program-card h3 {font-size:18px; font-weight:600; line-height:1.3; letter-spacing:-1px;}
.program-card p {font-size:16px; font-weight:500; line-height:1.5; letter-spacing:-.5px; opacity:1; color:#6d6d6d;}
.program-card.program-featured p, .program-card:hover p, .program-card:focus-within p {color:#e4e8f0;}
.program-grid:has(.program-card:not(:first-child):hover) .program-featured p, .program-grid:has(.program-card:not(:first-child):focus-within) .program-featured p {color:#6d6d6d;}
.program-card>a {font-size:17px; font-weight:500; letter-spacing:-.6px;}
.program-time {font-size:14px; line-height:1.5; opacity:.85;}
.conference-subtitle {font-size:22px; font-weight:400; letter-spacing:-1px;}
.conference-description {font-size:20px; font-weight:500; line-height:1.5; letter-spacing:-.5px;}
.conference-intro>a {font-size:18px; font-weight:500;}
.session h3 {font-size:32px; font-weight:500; line-height:1.3; letter-spacing:-1px;}
.session p {font-size:18px; font-weight:500; line-height:1.5; letter-spacing:-.6px; color:#6d6d6d; margin-top:7px;}
.session-label {font-size:14px;}
.news-title h2 {font-size:48px;}
.news-tabs button {font-size:18px; font-weight:500;}
.news-empty h3 {font-size:24px; font-weight:500; line-height:1.5; letter-spacing:-.8px;}
.news-empty p {font-size:18px; font-weight:500; line-height:1.5; color:#6d6d6d;}
.location-panel h2 {font-size:36px; letter-spacing:-1px;}
.location-address {font-size:18px; line-height:1.5;}
.main-registration h2 {font-size:40px; line-height:1.25; letter-spacing:-1px;}
.main-registration h2+p {font-size:20px; font-weight:500; line-height:1.5; letter-spacing:-.8px;}
.main-registration .eyebrow {font-size:16px; letter-spacing:-.6px;}
.social-inner h2 {font-size:28px; font-weight:700; letter-spacing:-1px;}

/* Program section title — user annotation */
.main-programs h2 {font-size:48px; font-weight:600;}

/* Keep the keynote action aligned after removing its schedule. */
.program-card.program-featured>a {margin-top:auto;}

.main-programs .section-description {font-size:18px;}

/* Shared main-page title scale. */
#container h2 {font-size:56px; font-weight:500; line-height:62px;}

.program-card:nth-child(2)>a {margin-top:auto;}

/* Consistent labels above main-page titles. */
#container .eyebrow, #container .hero-kicker {font-size:16px;}

/* Refined social links */
.social-links {gap:28px;}
.social-links>a {min-width:210px; padding:18px 0; border:0; border-bottom:1px solid #bbc1cc; border-radius:0; gap:14px; font-size:22px; font-weight:500; transition:color .2s,border-color .2s;}
.social-links svg, .social-links .linkedin-icon {box-sizing:content-box; width:22px; height:22px; padding:12px; border-radius:50%; background:#f2f4f8; stroke:currentColor; transition:background .2s,color .2s; flex-shrink:0;}
.social-links .linkedin-icon {display:flex; align-items:center; justify-content:center; font-size:22px;}
.social-links>a>span[aria-hidden] {font-size:25px; color:inherit; transition:transform .2s;}
.social-links>a:hover, .social-links>a:focus-visible {color:var(--blue); border-color:var(--blue);}
.social-links>a:hover>span[aria-hidden] {transform:translate(3px,-3px);}
.social-links>a:focus-visible {outline:2px solid var(--blue); outline-offset:6px;}
/* Dark conference and location surfaces */
#conference, #location {background:#111111; color:#fff;}
#conference h2, #conference h3, #conference .conference-subtitle, #conference a, #location h2, #location>a {color:#fff;}
#conference .conference-description, #conference .session p, #location .location-room, #location .location-address, #location .transit {color:#c5c5c5;}
#conference .eyebrow, #conference .session-label span:first-child, #conference a span, #location .eyebrow, #location>a>span[aria-hidden] {color:var(--blue);}
#conference .session-label, #conference .schedule-note {color:#aaa;}
#conference .session, #conference .conference-intro>a, #location>a {border-color:#383838;}
#conference .conference-watermark {color:#292929;}
#location .location-top svg {stroke:var(--blue);}

.program-card>a {border-radius:0; margin-top:auto;}
.main-visual .action {border-radius:0;}

#location {border-radius:0;}
#location .eyebrow, #location>a>span[aria-hidden] {color:#fff;}
#location .location-top svg {stroke:#fff;}

#registration .eyebrow {color:#fff;}

.main-visual .hero-copy .action {font-size:18px; color:#000;}

/* Shared body-copy size across main sections. */
#container .section-description, #container .program-card p, #container .conference-description, #container .session p, #container .news-empty p, #container .location-room, #container .location-address, #container .hero-slogan, #container .hero-place, #container .registration-inner>div>p:not(.eyebrow) {font-size:18px; font-weight:400;}
#conference .conference-description {color:#fff;}

/* Editable key visual: artwork, vector marks and live text are independent. */
.main-visual.hero-keyvisual {height:980px; padding:0; position:relative; overflow:hidden; background:#00103b url('../images/main/hero-background.webp') center calc(50% + 40px) / cover no-repeat; color:#fff; text-align:center;}
.main-visual.hero-keyvisual .slide-image {background-position:center calc(50% + 40px)!important;}
.main-visual.hero-keyvisual .slide-image img {object-fit:cover; object-position:center calc(50% + 40px);}
.main-visual.hero-keyvisual .pb-widget-inner,
.main-visual.hero-keyvisual .pb-widget-main-visual,
.main-visual.hero-keyvisual [id^="pbMV"],
.main-visual.hero-keyvisual .mv-wrap,
.main-visual.hero-keyvisual .pb-mv-swiper,
.main-visual.hero-keyvisual .swiper,
.main-visual.hero-keyvisual .swiper-wrapper,
.main-visual.hero-keyvisual .swiper-slide,
.main-visual.hero-keyvisual .mv-items,
.main-visual.hero-keyvisual .mv-item,
.main-visual.hero-keyvisual .item {height:100%;}
.main-visual.hero-keyvisual .mv-item,
.main-visual.hero-keyvisual .item,
.main-visual.hero-keyvisual .swiper,
.main-visual.hero-keyvisual .swiper-slide {padding-bottom:0 !important;}
.main-visual.hero-keyvisual .pb-mv-swiper,
.main-visual.hero-keyvisual .mv-items {visibility:visible !important;}
.hero-keyvisual-overlay {position:absolute; inset:0; z-index:6; pointer-events:none;}
.hero-keyvisual-overlay a {pointer-events:auto;}
.hero-keyvisual-heading {position:absolute; top:135px; left:20px; right:20px; z-index:6;}
.hero-keyvisual-heading h1 {margin:0; line-height:1;}
.hero-keyvisual-logo {display:block; width:540px; height:auto; margin:0 auto;}
.hero-keyvisual-title {margin:12px 0 0; font-size:40px; line-height:1.25; font-weight:800; letter-spacing:-1.5px;}
.hero-keyvisual-slogan {margin:24px 0 0; font-size:32px; line-height:1.4; font-weight:400; letter-spacing:-1px;}
.hero-keyvisual-footer {position:absolute; bottom:48px; left:20px; right:20px; z-index:6;}
.hero-keyvisual-badge {margin:0 0 10px; font-size:14px; font-weight:700; letter-spacing:.14em;}
.hero-keyvisual-event {margin:0 0 18px; font-size:24px; line-height:1.5; font-weight:700; letter-spacing:-.8px;}
.hero-keyvisual-btn {display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:0 0 18px; padding:0 28px; border:1px solid #fff; border-radius:28px; color:#fff; font-size:16px; font-weight:700;}
.hero-keyvisual-organizers {display:block; width:400px; max-width:100%; height:auto; margin:auto;}

#programs .program-card {border-left-color:#ddd;}
@media (min-width:768px) {.hero-keyvisual-event span {display:inline;}}

/* Program detail links: circular arrow controls. */
#programs .program-card>a {width:56px; height:56px; min-width:56px; padding:0; border:1px solid #333; border-radius:50%; background:#111; color:#fff; display:inline-flex; align-items:center; justify-content:center; gap:0;}
#programs .program-card>a>span {font-size:26px; line-height:1; font-weight:300; margin:0; transform:none;}
#programs .program-card>a:hover {background:var(--blue); border-color:var(--blue); color:#fff;}

@font-face {font-family:'Paperlogy'; src:url('../fonts/Paperlogy-4Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap;}
.hero-keyvisual-slogan {font-family:'Paperlogy',sans-serif;}

#programs .program-card>a .program-arrow {display:block; width:24px; height:24px; flex-shrink:0;}

/* Requested heading emphasis across viewport sizes. */
#container .social-section h2, #container #registration h2, #container .news-title h2 {font-weight:700;}

#programs .program-card:nth-child(2) .program-display {font-weight:600;}

/* Date-led notice rows; real post data awaits delivery. */
.news-tabs {border-bottom:2px solid #111; gap:28px;}
.news-tabs button {font-weight:700; padding-bottom:22px;}
.news-tabs button[aria-selected="true"] {border-bottom-color:transparent;}
.news-row {display:flex; align-items:center; gap:32px; min-height:124px; padding:22px 12px; border-bottom:1px solid #222;}
.news-date {width:94px; flex-shrink:0; text-align:left; color:#111;}
.news-date strong {display:block; font-size:42px; line-height:1.1; font-weight:700;}
.news-date span {display:block; margin-top:8px; font-size:14px; line-height:1.3;}
.news-row h3 {margin:0; font-size:24px; line-height:1.5; font-weight:600; letter-spacing:-.6px; word-break:keep-all;}
.news-row h3 small {display:inline-block; margin-left:8px; font-size:12px; font-weight:400; color:#777;}
@media(max-width:767px) {.news-row {gap:18px; padding:22px 0; min-height:110px;} .news-date {width:65px;} .news-date strong {font-size:34px;} .news-row h3 {font-size:18px;}}

#news-notice .news-row h3 {font-size:20px;}
#location {background:#111 url('../images/main/location-wave.svg') center bottom / cover no-repeat;}

/* Blend the upper image into the lowered visual without moving the monitors. */
@media (min-width:768px) {
  .main-visual.hero-keyvisual {isolation:isolate;}
  .main-visual.hero-keyvisual::before {
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:url('../images/main/hero-background.webp') center top / cover no-repeat;
    -webkit-mask-image:linear-gradient(#000 0px,#000 100px,transparent 240px);
    mask-image:linear-gradient(#000 0px,#000 100px,transparent 240px);
  }
  .main-visual.hero-keyvisual:has(.mv-wrap)::before,
  .main-visual.hero-keyvisual:has(.swiper)::before {content:none;}
}
@media (max-width:767px) {
  .main-visual,
  .main-visual.hero-keyvisual {height:640px;}
  .hero-keyvisual-heading {top:88px;}
  .hero-keyvisual-logo {width:min(78vw,360px);}
  .hero-keyvisual-title {font-size:24px; letter-spacing:-.8px;}
  .hero-keyvisual-slogan {font-size:18px; margin-top:12px;}
  .hero-keyvisual-event {font-size:16px;}
  .hero-keyvisual-organizers {width:min(80vw,280px);}
  .hero-keyvisual-footer {bottom:28px;}
}
