@charset "utf-8";
@media (max-width:1500px) {
 #gnb>ul>li {padding:0 13px;}
 #gnb>ul>li>a {font-size:14px;}
 .sitelogo, .sitelogo a, .sitelogo img {width:170px; flex-basis:170px;}
 .header-register {padding:11px 18px; gap:15px;}
 .hero-wordmark {width:500px;}
 .main-visual h2 {font-size:30px;}
 .main-visual {height:700px;}
 .hero-slogan {font-size:21px;}
 .quick-grid>a {padding:4px 22px; font-size:15px;}
 .quick-intro strong {font-size:15px;}
 .quick-intro p {font-size:12px;}
 .quick-symbol {margin-right:0;}
 .program-card {padding-left:22px; padding-right:22px;}
 .program-card h3 {font-size:18px;}
 .conference-grid, .news-grid {gap:70px;}
 .footer-top {gap:40px;}
 .organizers img {width:340px;}
 .footer-contact strong {font-size:14px;}
}
@media (max-width:1200px) {
 #gnb {display:none;}
 #header .contain {gap:24px;}
 .header-register {margin-left:auto;}
 .btn-m-menu {display:flex;}
 .mobile-navigation {display:block;}
 .main-section {padding-top:80px; padding-bottom:80px;}
 .main-visual {padding:0; height:690px;}
 .hero-art {left:16%; right:-18%;}
 .hero-wash {background:linear-gradient(90deg,#030e29 0%,#030e29db 30%,#030e2950 65%,transparent);}
 .quick-grid {grid-template-columns:repeat(3,1fr);}
 .quick-intro {display:none;}
 .quick-grid>a:first-of-type {border-left:0; padding-left:0;}
 .quick-grid>a:last-child {padding-right:0;}
 .main-section h2 {font-size:39px;}
 .main-visual h2 {font-size:30px;}
 .program-grid {grid-template-columns:repeat(2,1fr);}
 .program-card {padding:25px 28px;}
 .program-card:nth-child(3) {border-left:1px solid var(--line);}
 .program-card:nth-child(-n+2) {border-bottom:1px solid var(--line);}
 .program-card h3 {font-size:18px;}
 .program-icon {height:118px;}
 .section-description {font-size:14px;}
 .conference-grid {gap:45px;}
 .conference-subtitle {font-size:22px;}
 .conference-description {font-size:14px;}
 .session h3 {font-size:23px;}
 .conference-watermark {font-size:79px;}
 .news-grid {gap:40px;}
 .location-panel {padding:28px;}
 .location-panel h2 {font-size:27px;}
 .news-empty h3 {font-size:18px;}
 .main-registration h2 {font-size:30px;}
 .registration-actions .action {min-width:230px; gap:30px;}
 .footer-top {flex-wrap:wrap;}
 .organizers {margin-left:0; width:100%;}
}
@media (max-width:767px) {
 :root:root {--header-height:76px;}
 .contain {width:calc(100% - 40px);}
 .sitelogo, .sitelogo a, .sitelogo img {width:147px; flex-basis:147px;}
 #header .contain {gap:20px;}
 .header-register {font-size:11px; padding:9px 12px; gap:9px;}
 .header-register span {font-size:16px;}
 .btn-m-menu {width:22px; flex:0 0 22px;}
 .main-section {padding:62px 0;}
 .main-section h2 {font-size:33px;}
 .main-visual {padding:0; height:790px;}
 .hero-art {inset:0; background-image:url('../images/main/hero-mobile.webp'); background-position:center bottom;}
 .hero-wash {background:linear-gradient(180deg,#031638cc 0%,#03163870 32%,transparent 60%,#03163840);}
 .hero-inner {display:block; padding-top:43px;}
 .hero-copy {padding:0;}
 .hero-kicker {font-size:8px; letter-spacing:1.8px; margin-bottom:24px;}
 .hero-wordmark {width:355px; max-width:100%; margin-left:0;}
 .main-visual h2 {font-size:22px; margin-top:12px; letter-spacing:-.045em;}
 .hero-slogan {font-size:15px; margin-top:15px; letter-spacing:-.03em;}
 .hero-date {margin-top:26px; gap:10px;}
 .hero-date strong {font-size:25px;}
 .hero-date>span {font-size:9px;}
 .hero-place {font-size:14px; margin-top:4px;}
 .hero-copy .action {margin-top:23px; font-size:13px; min-width:178px; padding:14px 17px;}
 .hero-bottom {bottom:19px; padding-top:16px;}
 .hero-bottom>span {font-size:7px; letter-spacing:1px;}
 .hero-bottom>span:last-child {display:none;}
 .hero-bottom a {font-size:7px; letter-spacing:1px;}
 .hero-bottom a span {margin-left:8px;}
 .quick-grid {padding:21px 0;}
 .quick-grid>a {padding:0 10px; flex-direction:column; gap:8px; font-size:12px;}
 .quick-grid>a:first-of-type {padding-left:0;}
 .quick-grid>a>span:last-child {display:none;}
 .quick-symbol {font-size:25px;}
 .section-heading {display:block; margin-bottom:30px;}
 .eyebrow {font-size:10px; letter-spacing:1.5px;}
 .section-heading .eyebrow {margin-bottom:14px;}
 .section-description {margin-top:20px; font-size:13px; line-height:1.8;}
 .program-card {padding:20px 15px;}
 .program-meta {font-size:8px; letter-spacing:.6px;}
 .program-meta>span:first-child {font-size:11px;}
 .program-icon {height:93px;}
 .program-icon svg {width:55px; height:55px;}
 .program-card h3 {font-size:18px; letter-spacing:-.055em; word-break:keep-all; min-height:46px; margin-bottom:9px; line-height:1.4;}
 .program-card p {font-size:16px; min-height:64px; line-height:1.7;}
 .program-time {font-size:10px; line-height:1.6; margin-top:19px; min-height:32px;}
 .program-card>a {font-size:11px; margin-top:12px; padding-top:12px;}
 .program-card>a>span {font-size:18px;}
 .schedule-note {font-size:10px; line-height:1.6; margin-top:16px;}
 .conference-grid {grid-template-columns:1fr; gap:37px;}
 .conference-subtitle {font-size:22px; margin-top:22px;}
 .conference-description {font-size:13px;}
 .conference-intro>a {margin-top:18px; font-size:13px;}
 .conference-watermark {display:none;}
 .session {padding:24px 0;}
 .session:first-child {border-top:1px solid #ccd6e8; padding-top:24px;}
 .session-label {font-size:10px;}
 .session h3 {font-size:22px; margin-bottom:13px;}
 .session p {font-size:12px; line-height:1.8; margin-top:5px;}
 .news-grid {grid-template-columns:1fr; gap:40px;}
 .news-title h2 {font-size:31px;}
 .news-tabs {margin-top:25px;}
 .news-tabs button {font-size:15px; padding-bottom:13px;}
 .news-empty {padding:30px 0;}
 .news-empty h3 {font-size:18px;}
 .news-empty p {font-size:12px;}
 .location-panel {padding:28px;}
 .location-panel h2 {font-size:28px;}
 .location-room {font-size:17px;}
 .location-address {font-size:12px;}
 .registration-inner {display:block;}
 .main-registration h2 {font-size:27px; line-height:1.45; word-break:keep-all;}
 .main-registration h2+p {font-size:16px; line-height:1.6; margin-top:15px;}
 .registration-actions {margin-top:29px; text-align:left;}
 .registration-actions .action {min-width:240px; font-size:14px; padding:18px 22px;}
 .registration-actions>p {font-size:11px;}
 .social-section {padding:34px 0;}
 .social-inner {display:block;}
 .social-inner h2 {font-size:20px;}
 .social-links {margin-top:23px; gap:10px;}
 .social-links>a {min-width:0; flex:1; padding:14px; gap:9px; font-size:12px;}
 .social-links svg {width:20px; height:20px;}
 .social-links>a>span[aria-hidden] {font-size:17px;}
 #footer {padding:40px 0 25px;}
 .footer-top {display:block; padding-bottom:30px;}
 .footer-wordmark {width:175px;}
 .footer-contact {margin-top:26px; font-size:12px; gap:9px;}
 .footer-contact strong {font-size:13px;}
 .organizers {margin-top:28px;}
 .organizers img {width:100%; max-width:400px;}
 .footer-bottom {align-items:flex-start; flex-direction:column-reverse; gap:20px; padding-top:20px;}
 #footer .copyright {font-size:10px;}
 .back-top {font-size:10px; align-self:flex-end;}
 .only-desktop, .only-desktop-tablet {display:none;}
 .only-mobile, .only-tablet-mobile {display:block;}
}
@media (max-width:359px) {
 .header-register {display:none;}
 .btn-m-menu {margin-left:auto;}
 .main-visual h2 {font-size:19px;}
 .hero-slogan {font-size:13px;}
 .program-grid {grid-template-columns:1fr;}
 .program-card {border-left:1px solid var(--line); border-bottom:1px solid var(--line);}
 .program-card h3, .program-card p, .program-time {min-height:0;}
}
@media (prefers-reduced-motion:reduce) {
 *, *:before, *:after {scroll-behavior:auto!important; transition:none!important; animation:none!important;}
}

/* Editorial program panels */
@media (max-width:1500px) {
 .program-card {padding:28px 23px; min-height:570px;}
 .program-display {font-size:40px;}
 .program-card h3 {font-size:18px;}
}
@media (max-width:1200px) {
 .program-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .program-card {min-height:510px; padding:30px;}
 .program-card:nth-child(3) {border-left:0;}
 .program-card:nth-child(-n+2) {border-bottom:1px solid #202735;}
 .program-display {font-size:40px;}
}
@media (max-width:767px) {
 .program-grid {grid-template-columns:1fr;}
 .program-card {min-height:470px; padding:29px 25px; border-left:0; border-bottom:1px solid #202735;}
 .program-card:nth-child(3) {border-left:0;}
 .program-card:last-child {border-bottom:0;}
 .program-display {font-size:40px; margin:26px 0 25px;}
 .program-card h3 {font-size:18px; min-height:0; margin-bottom:13px;}
 .program-card p {font-size:16px; min-height:0;}
 .program-time {font-size:11px; min-height:0; margin-top:auto; padding-top:45px;}
 .program-card>a {font-size:13px; padding:11px 17px; margin-top:19px;}
 .program-card>a>span {font-size:21px;}
}

@media (max-width:1500px) {.main-visual {height:calc(700px + var(--header-height));}}
@media (max-width:1200px) {.main-visual {height:calc(690px + var(--header-height));}}
@media (max-width:767px) {.main-visual {height:calc(790px + var(--header-height));} .hero-inner {padding-top:calc(43px + var(--header-height));}}

/* Reference type scale, adapted for each layout width */
@media (max-width:1500px) {
 #gnb>ul>li {padding:0 12px;}
 #gnb>ul>li>a {font-size:16px;}
 .main-section h2 {font-size:50px;}
 .main-visual h2 {font-size:32px;}
 .program-card h3 {font-size:18px;}
 .program-card p {font-size:16px;}
 .program-display {font-size:40px;}
 .section-description {font-size:18px;}
 .conference-description {font-size:18px;}
 .session h3 {font-size:28px;}
 .session p {font-size:17px;}
 .main-registration h2 {font-size:36px;}
 .location-panel h2 {font-size:32px;}
}
@media (max-width:1200px) {
 .main-section h2 {font-size:44px;}
 .main-visual h2 {font-size:32px;}
 .section-heading {gap:35px;}
 .section-description {font-size:17px;}
 .conference-grid {grid-template-columns:1fr 1.1fr; gap:35px;}
 .conference-subtitle {font-size:22px;}
 .conference-description {font-size:17px;}
 .session h3 {font-size:26px;}
 .session p {font-size:16px;}
 .eyebrow {font-size:15px;}
 .main-registration h2 {font-size:30px;}
 .location-panel h2 {font-size:29px;}
 .location-address {font-size:16px;}
 .news-empty h3 {font-size:21px;}
 .news-empty p {font-size:16px;}
}
@media (max-width:767px) {
 .header-register {font-size:12px;}
 .main-section h2 {font-size:34px; line-height:1.25; letter-spacing:-1px;}
 .main-visual h2 {font-size:22px; line-height:1.3; letter-spacing:-.8px;}
 .eyebrow {font-size:14px; letter-spacing:-.4px;}
 .hero-kicker {font-size:9px; letter-spacing:1px;}
 .hero-slogan {font-size:16px; line-height:1.5; letter-spacing:-.6px;}
 .hero-place {font-size:15px;}
 .hero-copy .action {font-size:16px;}
 .section-description {font-size:16px; line-height:1.6;}
 .program-display {font-size:40px;}
 .program-card h3 {font-size:18px;}
 .program-card p {font-size:16px; line-height:1.6;}
 .program-time {font-size:13px;}
 .program-card>a {font-size:16px;}
 .conference-grid {grid-template-columns:1fr;}
 .conference-subtitle {font-size:22px;}
 .conference-description {font-size:16px; line-height:1.6;}
 .conference-intro>a {font-size:16px;}
 .session h3 {font-size:24px;}
 .session p {font-size:16px; line-height:1.6;}
 .session-label {font-size:12px;}
 .news-empty h3 {font-size:20px;}
 .news-empty p {font-size:16px;}
 .location-panel h2 {font-size:30px;}
 .location-address {font-size:15px;}
 .main-registration h2 {font-size:28px; line-height:1.4;}
 .main-registration h2+p {font-size:18px;}
 .main-registration .eyebrow {font-size:13px;}
 .registration-actions .action {font-size:17px;}
 .social-inner h2 {font-size:22px;}
 #footer .copyright {font-size:11px;}
}

@media (max-width:1500px) {.main-programs h2 {font-size:48px;}}
@media (max-width:1200px) {.main-programs h2 {font-size:44px;}}
@media (max-width:767px) {.main-programs h2 {font-size:34px;}}

@media (max-width:1200px) {.main-programs .section-description {font-size:17px;}}
@media (max-width:767px) {.main-programs .section-description {font-size:16px;}}

@media (max-width:1200px) {#container h2 {font-size:40px; line-height:53px;}}
@media (max-width:767px) {#container h2 {font-size:32px; line-height:43px;}}

@media (max-width:1200px) {.header-social {margin-left:auto;} .header-register {margin-left:0;}}
@media (max-width:767px) {.header-social {gap:2px; margin-right:10px;} .header-social a {width:28px;} .header-social svg {width:20px; height:20px;}}
@media (max-width:480px) {.btn-m-menu {margin-left:0;}}

/* Desktop visual: 1920 x 980 reference, fluid full width. */
@media (min-width:1201px) {.main-visual {height:980px;}}

@media (max-width:1200px) {.social-inner {flex-wrap:wrap; gap:30px;} .social-links {gap:24px;}}
@media (max-width:767px) {.social-links {width:100%; gap:18px;} .social-links>a {min-width:0; flex:1; font-size:18px; padding:16px 0; gap:8px;} .social-links svg, .social-links .linkedin-icon {width:20px; height:20px; padding:8px;} .social-links>a>span[aria-hidden] {font-size:20px;}}
@media (max-width:380px) {.social-links {flex-direction:column; gap:4px;}}

@media (max-width:767px) {.program-card>a {margin-top:auto;}}

@media (max-width:1200px) {
 .main-visual.hero-keyvisual {height:850px;}
 .hero-keyvisual-heading {top:125px;}
 .hero-keyvisual-logo {width:460px;}
 .hero-keyvisual-title {font-size:34px;}
 .hero-keyvisual-slogan {font-size:27px;}
}
@media (max-width:767px) {
 .main-visual.hero-keyvisual {height:780px; background-size:auto 690px; background-position:center bottom;}
 .hero-keyvisual-heading {top:120px; left:16px; right:16px;}
 .hero-keyvisual-logo {width:330px; max-width:100%;}
 .hero-keyvisual-title {font-size:25px; letter-spacing:-1px; margin-top:10px;}
 .hero-keyvisual-slogan {font-size:19px; letter-spacing:-.6px; margin-top:18px;}
 .hero-keyvisual-footer {bottom:32px; left:16px; right:16px;}
 .hero-keyvisual-event {font-size:18px; margin-bottom:14px;}
 .hero-keyvisual-event span {display:block;}
 .hero-keyvisual-organizers {width:350px;}
}
