@charset "utf-8";

/* 목차 */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= Basic ========================= */
/* ========================= 공통 ========================= */
/* ========================= Header ========================= */
/* ========================= Footer ========================= */
/* ========================= Scroll reveal ========================= */
/* ========================= PC Gnb ========================= */
/* ========================= 모바일 햄버거 ========================= */
/* ========================= 모바일 dim ========================= */
/* ========================= 모바일 drawer ========================= */
/* ========================= 모바일 nav ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 메인 ========================= */
/* ========================= 메인 visual ========================= */
/* ========================= 메인 행사 소개 ========================= */
/* ========================= 메인 홍보 영상 / 콘텐츠 ========================= */
/* ========================= 메인 더팩트, 팬앤스타 배너 ========================= */
/* ========================= 메인 하단 팬앤스타 투표 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 행사 소개 > About TMA ========================= */
/* ========================= 행사 소개 > 라인업 ========================= */
/* ========================= 행사 소개 > 관람방법 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 투표 안내 > 투표 현황 ========================= */
/* ========================= 투표 안내 > 심사 기준 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 역대 수상자 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 공지사항 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 콘텐츠 > 보도 자료 ========================= */
/* ========================= 콘텐츠 > 사진 및 영상 ========================= */

/* ************************* 모바일 ************************* */
/* ************************* Tablet / 폴드 ************************* */


/* ========================= 260316 영주 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= Basic ========================= */
html, body { max-width: 100%; scroll-behavior: smooth; scrollbar-gutter: stable; }
body { font-size: 17px; }
body.menu_open { overflow: hidden; }
* { box-sizing:border-box; word-break: keep-all; overflow-wrap: anywhere; }
body, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, legend, input, textarea, button, select { padding:0; margin:0; font-family: 'Pretendard GOV Variable', 'Malgun Gothic', '맑은 고딕', 'AppleSDGothicNeo-Light', sans-serif; line-height: 1.45em; letter-spacing: -0.02em; color:var(--text) }
html,body,figure { margin:0;padding:0;color:var(--text); background:#ffffff }
img { border:none; }
a { color:inherit;text-decoration:none }
ul,li,ol,summary { margin:0;padding:0;list-style:none }
button { cursor: pointer; border:none; background:none }

/* 버튼안에 아이콘이 들어갈때 // 아이콘에 icon 클래스 넣어주세요 */
.icon_arrow { 
    position:relative; flex:0 0 10px; width:10px; height:10px;
}
.icon_svg img { position:relative; flex:0 0 18px; width:18px; height:18px; }
/* 화살표 공통 */
.icon_arrow::after {
    content: ""; position: absolute; inset: 0; margin: auto; width: 6px; height: 6px; box-sizing: content-box; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform-origin: 50% 50%; transition: transform .2s ease;
}
/* 방향 */
.arrow_up::after{transform:rotate(-45deg) translateY(4px);}
.arrow_down::after{transform:rotate(135deg) translateX(-2px);}
.arrow_left::after{transform:rotate(-135deg) translateY(0px);}
.arrow_right::after{transform:rotate(45deg) translateY(0px);}


/* 다크모드 막기 */
@media (prefers-color-scheme: dark) {
body {
    background: #ffffff; color: var(--text);
    }
}

:root {
--text: #1a1a1a;
--text_sub: #666666;
--shadow_dark: 0 20px 60px rgba(0, 0, 0, .28);
--shadow_light: 0 4px 12px rgba(0, 0, 0, .03);
--wrap: min(1280px, calc(100% - 48px));
--wrap_narrow: min(1180px, calc(100% - 48px));
--header_h: 94px;
}


/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 공통 ========================= */
/* 전체 감싸기 */
.tma_wrap {
    width: 100%; margin: 0 auto; padding: 0 0 200px; background: linear-gradient(180deg, #f4f4f2 0%, #f1f1ef 100%);
}
.wrap_narrow {
    width: var(--wrap_narrow); margin: 50px auto 0;
}
/* 메인 섹션 구분 */
.tma_section {
    position: relative; padding: 100px 0 0;
}
/* 서브 내 섹션 구분 */
.tma_sub_section {
    position: relative; padding: 80px 0 0;
}
.official_txt {
    display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 20px;
}
.section_title {
    margin: 0; font-size: clamp(32px, 4vw, 64px); line-height: 1.02; font-weight: 900; letter-spacing: -.04em;
}
.section_desc {
    margin: 22px 0 0; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.8; color: var(--text_sub); word-break: keep-all;
}
.ghost_word {
    /*position: absolute; top: 18px; left: 14px; width: 100%; */font-size: clamp(36px, 7.5vw, 94px); line-height: 1; font-weight: 900; letter-spacing: -.05em; color: rgba(255, 255, 255, .05); pointer-events: none; user-select: none; white-space: nowrap; overflow: hidden; width: var(--wrap_narrow); margin: 0 auto;
}
.light_section .ghost_word {
    color: rgba(17, 17, 17, .035);
}
/* 서브 페이지 공통 감싸기 */
.tma_sub_wrap {
    background: #f3f3f1; padding: 160px 0 120px; color: #111; overflow: hidden;
}
.subwrap {
    width: var(--wrap_narrow); margin: 0 auto; padding: 160px 0 0;display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 80px; align-items: start;
}
.t_content_wrap {
    min-width: 0; min-height: 100vh;
}
/* 서브 페이지 // 좌측 서브 메뉴 */
.tma_snb {
    position: sticky; top: 160px;
}
.tma_snb h2 {
    font-weight: 800; background:#1a1a1a; color:#fff; padding: 8px 10px;line-height: 1; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 26px;
}
.tma_snb_inner {
    display: flex; flex-direction: column; gap: 22px
}
.tma_snb_inner a {
    position: relative; display: inline-block; width: fit-content; font-size: 20px; line-height: 1.3; font-weight: 700; color: #111;
}
.tma_snb_inner a.active::after {
    content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; height: 3px; background: #1a1a1a;
}
.line {
    width: 100%; border:1px solid rgba(17, 17, 17, .18); height: 1px;
}
/* 서브 페이지 // 상단 타이틀 */
.t_content_head {
    display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 40px; padding-bottom: 14px; border-bottom: 1px solid rgba(17,17,17,.12);
}
.t_content_head h3 {
    margin: 0; font-size: clamp(28px, 2.2vw, 40px); line-height: 1.1; font-weight: 900; letter-spacing: -.04em;
}

.t_content_head p {
    margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .16em; color: #666;
}

/* ***** 페이지 넘버링 ***** */
.pagination {
    display: flex; justify-content: center; align-items: center; gap: 10px; margin: 50px auto 0;
}
.pagination a {
    width: 42px; height: 42px; border-radius: 4px; background: #e5e5e5; border: 1px solid #d8d8d8; color: #333; font-size: 18px; font-weight: 500; display: flex; align-items: center; justify-content: center; text-decoration: none; box-sizing: border-box; transition: .2s ease;
}
.pagination .page_num.active {
    background: #263963; border: 1px solid #263963; color: #ffffff;
}
.pagination a:hover {
    background: #263963; border: 1px solid #263963; color: #ffffff;
}
/* prev / next 화살표 */
.pagination .page_btn {
    position: relative; font-size: 0;
}
.pagination .page_btn::before {
    content: ""; width: 10px; height: 10px; border-top: 2px solid #777; border-right: 2px solid #777; display: block;
}
.pagination .prev::before {
    transform: rotate(-135deg); margin-left: 4px;
}
.pagination .next::before {
    transform: rotate(45deg); margin-right: 4px;
}
.pagination .page_btn:hover::before {
    border-color: #fff;
}

/* ========================= Header ========================= */
.tma_header {
    position: fixed; top: 0; left: 0; width: 100%; height: var(--header_h); z-index: 1000; border-bottom: 1px solid rgba(255, 255, 255, .08); background: rgba(10, 10, 10, .85); backdrop-filter: blur(14px);
}
.tma_header .inner {
    position: relative; width:var(--wrap_narrow); height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
/*
.tmalogo {
    font-size: 36px; font-weight: 900; letter-spacing: -.06em; color: #fff; white-space: nowrap; position: relative; z-index: 2;
}*/
.tmalogo img {
    width: 80px;
}
.lang {
    display: flex; align-items: center; gap: 8px; color: #fff; font-size: 16px; font-weight: 700; white-space: nowrap; position: relative; z-index: 2;
}
.lang .bar::after {
    content: ""; position: absolute; left: 50%; top: 4px; width: 1px; height: 60%; background: #d5d5d5; border-radius: 2px;
}
.lang a {
    color: #fff; opacity: .94;
}
.lang a.active {
    color:#819BCC
}

/* ========================= Footer ========================= */
.tma_footer {
    position: relative; color: #fff; overflow: hidden; background:linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,1)), url('https://img.tf.co.kr/ss/2025/tma_official/tma25_mimg_01.jpg') no-repeat center 60% / cover;
}
.tma_footer .info {
    width: var(--wrap_narrow); margin:30px auto; color:#ffffff; display: flex; flex-direction: column; gap: 5px;
}
.tma_footer .info h2 {
    color:#ffffff; font-size: 20px;
}
.tma_footer .info .minfo {
    display: flex; flex-wrap:wrap; gap:15px; align-items: center; font-size: 16px; font-weight: 500; color: #ffffff; letter-spacing: 0.02em; position: relative; border-bottom: 1px solid rgba(255, 255, 255, .12); padding-bottom: 20px; justify-content: flex-start;
}
.tma_footer .info .minfo .minfo_logo {
    display:inline-flex; align-items:center; gap:12px; flex:0 0 auto; white-space:nowrap; position:relative; padding-right:18px;
}
.tma_footer .info .minfo .minfo_logo::after {
    content: ""; position: absolute; right: 0; top: 5px; width: 1px; height: 60%; background: rgba(255, 255, 255, .4); border-radius: 2px;
}
.tma_footer .info .minfo .minfo_logo:last-child:after {
    width: 0;
}
.tma_footer .info .minfo .minfo_logo span img {
    width:auto; height:13px; display:block;
}
.footer_bottom {
    background:#1a1a1a; padding: 14px 30px;
}
.tma_footer .footer_bottom h2 {
    color:rgba(255, 255, 255, .15); margin: 0;
}
.footer_title {
    margin: 0; font-size: 20px; font-weight: 900; letter-spacing: -.02em; color: rgba(255, 255, 255, .25);
}
.copyright {
    font-size: 13px; letter-spacing: 0.04em; color: rgba(255, 255, 255, .25);
}
.footer_b_inner {
    width: var(--wrap_narrow); margin: 0 auto;  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; 
}

/* ========================= Scroll reveal ========================= */
.reveal {
    opacity: 0; transform: translateY(44px); transition: opacity .9s cubic-bezier(.2, .65, .2, 1), transform .9s cubic-bezier(.2, .65, .2, 1); will-change: opacity, transform;
}
.reveal.i_visible {
    opacity: 1; transform: translateY(0); color:#ffffff;
}
.reveal_left {
    opacity: 0; transform: translateX(-46px); transition: opacity .9s cubic-bezier(.2, .65, .2, 1), transform .9s cubic-bezier(.2, .65, .2, 1);
}
.reveal_left.i_visible {
    opacity: 1; transform: translateX(0);
}
.reveal_right {
    opacity: 0; transform: translateX(46px); transition: opacity .9s cubic-bezier(.2, .65, .2, 1), transform .9s cubic-bezier(.2, .65, .2, 1);
}
.reveal_right.i_visible {
    opacity: 1; transform: translateX(0);
}
.delay_1 {
    transition-delay: .08s;
}
.delay_2 {
    transition-delay: .16s;
}
.delay_3 {
    transition-delay: .24s;
}
.delay_4 {
    transition-delay: .32s;
}

/* ========================= PC Gnb ========================= */
.gnb {
    height: 100%;
}
.gnb_list {
    display: flex; align-items: center; gap: 52px; height: 100%; 
}
.gnb_list > li {
    position: relative; height: 100%; display: flex; align-items: center;
}
.gnb_list > li > a {
    position: relative; display: inline-flex; align-items: center; height: 100%; color: #ffffff; font-size: 18px; font-weight: 600;
}
.gnb_list > li > a::after {
    content: ""; position: absolute; left: 0; bottom: 26px; width: 0; height: 2px; background: #ffffff; transition: width .25s ease;
}
.gnb_list > li:hover > a::after {
    width: 100%;
}
.gnb_sub {
    position: absolute; top: calc(100% - 8px); left: 50%; transform: translateX(-50%) translateY(10px); min-width: 180px; padding: 14px 0; border-radius: 14px; background: rgba(20, 20, 22, .96); border: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 6px 10px rgba(0, 0, 0, .24); opacity: 0; visibility: hidden; transition: .25s ease; backdrop-filter: blur(12px); text-align: center;
}
.gnb_sub a {
    display: block; padding: 11px 18px; color: rgba(255, 255, 255, .88); font-size: 16px; font-weight: 500; white-space: nowrap; transition: .2s ease;
}
.gnb_sub a:hover {
    background: rgba(255, 255, 255, .06); color: #fff;
}
.gnb_list > li:hover .gnb_sub {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}

/* ========================= 모바일 햄버거 ========================= */
.m_menu_btn,
.mobile_drawer,
.m_drawer_dim {
    display: none;
}
.m_menu_btn {
    display: none; width: 42px; height: 42px; padding: 0; border: 0; background: none; cursor: pointer; flex: 0 0 42px; position: relative; z-index: 2;
}
.m_menu_btn span {
    display: block; width: 22px; height: 2px; margin: 5px auto; border-radius: 999px; background: #ffffff;
}
.gnb {
    display: block;
}

.lang {
    display: flex;
}


/* ========================= 모바일 dim ========================= */
.m_drawer_dim {
    position: fixed; inset: 0; background: rgba(0, 0, 0, .52); opacity: 0; visibility: hidden; transition: .3s ease; z-index: 1001;
}
.m_drawer_dim.iopen {
    opacity: 1; visibility: visible;
}
/* ========================= 모바일 drawer ========================= */
.mobile_drawer {
    position: fixed; top: 0; left: 0; width: min(86vw, 340px); height: 100vh; background: linear-gradient(180deg, #111214 0%, #1a1b1f 100%);  transform: translateX(-100%); transition: transform .35s ease; z-index: 1002; overflow: hidden;
}
.mobile_drawer.iopen {
    transform: translateX(0);
}
.mobile_drawer_inner {
    display: flex; flex-direction: column; height: 100%; padding: 22px 20px 24px; overflow-y: auto;
}
.mobile_drawer_top {
    display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.drawer_logo {
    font-size: 28px; font-weight: 900; letter-spacing: -.06em; color: #ffffff;
}
.drawer_close {
    position: relative; width: 38px; height: 38px; border: 0; background: none; cursor: pointer; padding: 0;
}
.drawer_close span {
    position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; background: #ffffff; border-radius: 999px;
}
.drawer_close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}
.drawer_close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* ========================= 모바일 nav ========================= */
.mobile_nav {
    display: flex; flex-direction: column; padding: 16px 0 8px;
}
.m_nav_item {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.m_nav_btn, .m_nav_link {
    width: 100%; min-height: 56px; padding: 0 4px; display: flex; align-items: center; justify-content: space-between; background: none; border: 0; color: #fff;font-size: 18px; font-weight: 700; text-align: left; cursor: pointer;
}
.m_nav_btn i {
    position: relative; width: 18px; height: 18px; flex: 0 0 18px;
}
.m_nav_btn i::before, .m_nav_btn i::after {
    content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; background: #ffffff; border-radius: 999px; transform: translate(-50%, -50%); transition: .25s ease;
}
.m_nav_btn i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.m_nav_item.iopen .m_nav_btn i::after {
    opacity: 0;
}
.m_nav_sub {
    max-height: 0; overflow: hidden; transition: max-height .3s ease;
}
.m_nav_sub a {
    display: block; padding: 10px 4px 10px 18px; color: rgba(255, 255, 255, .8); font-size: 15px; font-weight: 500;
}
.m_nav_sub a:last-child {
    padding-bottom: 16px;
}
.mobile_lang {
    margin-top: auto; display: flex; gap: 10px; padding-top: 20px;
}
.mobile_lang a {
    min-width: 68px; height: 42px; padding: 0 16px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); color: #ffffff; font-size: 14px; font-weight: 700;
}
/* ========================= Reveal ========================= */
.fade_up {
    opacity: 0;transition: opacity .8s ease, transform .8s ease;
}
.fade_up.show {
    opacity: 1; transform: translateY(0);
}
.delay_1 {
    transition-delay: .08s;
}
.delay_2 {
    transition-delay: .16s;
}
.delay_3 {
    transition-delay: .24s;
}
.delay_4 {
    transition-delay: .32s;
}



/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 메인 ========================= */


/* ========================= 메인 visual ========================= */

.m_visual {
    position: relative; min-height: 100vh; padding-top: var(--header_h); overflow: hidden; background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .06), transparent 34%), linear-gradient(180deg, #0b0b0c 0%, #121214 46%, #17181b 100%); color: #ffffff;
}
.m_visual::after {
    content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 220px; background: linear-gradient(180deg, rgba(23, 24, 27, 0) 0%, #1e1f23 30%, #f3f3f1 90%); z-index: 1; pointer-events: none;
}
.m_visual_inner {
    position: relative; width: min(1400px, calc(100% - 48px)); min-height: calc(100vh - var(--header_h)); margin: 0 auto; display: flex; align-items: center; justify-content: center; z-index: 2;
}
.m_visual_collage {
    position: absolute; inset: 0; pointer-events: none;
}
.m_visual_card {
    position: absolute; overflow: hidden; border-radius:16px; background: #232428; box-shadow: var(--shadow_dark); opacity: .95;
}
.m_visual_card img {
    width: 100%; height: 100%; object-fit: cover; opacity: .9;
}
.m_visual_card.card1 {
    width: 24%; aspect-ratio: 2.5/1.5; left: 2%; top: 8%;
}
.m_visual_card.card2 {
    width: 13%; aspect-ratio: 1/1.5; left: 31%; top: 36%;
}
.m_visual_card.card3 {
    width: 20%; aspect-ratio: 1.5/1; right: 37%; top: 15%;
}
.m_visual_card.card4 {
    width: 25%; aspect-ratio: 1.35/1; right: 2%; top: 4%;
}
.m_visual_card.card5 {
    width: 20%; aspect-ratio: 1.5/1; left: 7%; bottom: 23%;
}
.m_visual_card.card6 {
    width: 17%; aspect-ratio: 1.5/1; left: 50%; bottom: 22%;
}
.m_visual_card.card7 {
    width: 16%; aspect-ratio: 1.5/1; right: 8%; bottom: 16%;
}
.m_visual_content {
    position: relative; z-index: 2; text-align: center; width: min(1200px, 100%); padding: 100px 0 120px; width: fit-content;
}
.m_visual_title {
    margin: 0; font-size: clamp(64px, 9vw, 130px); line-height: .95; font-weight: 1000; letter-spacing: -.02em; text-transform: uppercase; text-shadow: 0 4px 10px rgba(0, 0, 0, .65);
}
.m_visual_copy {
    margin: 28px auto 0; font-size: clamp(18px, 1.7vw, 28px); line-height: 1.4; color: rgba(255, 255, 255, .92); text-shadow: 0 4px 10px rgba(0, 0, 0, .65); word-break: keep-all; text-align: right;
}
.m_visual_date {
    margin-top: 10px; font-size: clamp(28px, 2.6vw, 50px); font-weight: 900; letter-spacing: -.03em; text-shadow: 0 4px 10px rgba(0, 0, 0, .65); text-align: right;
}

/* ========================= 메인 행사 소개 ========================= */
.m_intro {
    position: relative; overflow: hidden;
}
.m_intro_grid {
    position: relative; display: grid; grid-template-columns: 1fr .55fr; gap: 50px; align-items: center;
}
.m_intro_text .headline {
    font-size: clamp(32px, 4vw, 54px); line-height: 1.02; font-weight: 1000; 
    border-bottom: 1px solid #d2d2d2; padding-bottom:40px
}
.m_intro_text .headline small {
    display: block; margin-top: 10px; font-size: clamp(22px, 2.2vw, 34px); line-height: 1.25; font-weight: 800;
}
.m_intro_body {
    margin-top: 40px; display: flex; flex-direction: column; gap: 20px; color: #222; font-size: 18px; line-height: 1.85; word-break: keep-all;    
}
.m_intro_body .m_intro_btitle {
    font-size: 20px;
}
.sns_row {
    display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 40px 0 20px;
}
.sns_circle {
    width: 60px; height: 60px; border-radius: 999px; border: 1px solid rgba(17, 17, 17, .18); background: rgba(255, 255, 255, .75); display: grid; place-items: center; transition: .25s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, .05);
}
.sns_circle img {
    width: 50%;
}
.sns_circle:hover {
    transform: translateY(-4px);
}
.poster_box {
    position: relative; border-radius: 20px; overflow: hidden; min-height:520px; border: 1px solid rgba(17, 17, 17, .08); isolation: isolate;
}
.poster_box img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
/*
.poster_box::after {
    content: "2026 TMA OFFICIAL POSTER"; position: absolute; bottom: 9px; right: 19px; z-index: 2; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .18em;
}
.poster_box .poster_overlay {
    position: absolute; inset: auto 0 0 0; z-index: 2; padding: 100px 24px; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .9) 100%); color: #fff;
}
    
.poster_box .poster_overlay strong {
    display: block; font-size: 26px; line-height: 1.15; letter-spacing: -.03em;
}
.poster_box .poster_overlay span {
    display: block; margin-top: 8px; font-size: 14px; color: rgba(255, 255, 255, .85);
}*/

/* ========================= 메인 홍보 영상 / 콘텐츠 ========================= */
.m_promo {
    padding-top: 160px;
}
.m_promo_card {
    position: relative; border-radius: 32px; overflow: hidden; min-height: 520px; background: #ddd; box-shadow: var(--shadow_light);
}
.m_promo_card iframe {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.m_promo_card .dim {
    position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .16) 0%, rgba(0, 0, 0, .45) 100%);
}
.play_btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 110px; height: 110px; border: none; border-radius: 50%; background: rgba(255, 255, 255, .18); backdrop-filter: blur(10px); box-shadow: 0 18px 36px rgba(0, 0, 0, .22); cursor: pointer;
}
.play_btn::before {
    content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-left: 26px solid #fff;
}

/* ========================= 메인 더팩트, 팬앤스타 배너 ========================= */
.m_banner_grid {
    margin-top: 28px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
}
.m_banner_card {
    position: relative; min-height: 280px; border-radius: 28px; overflow: hidden; background: #e7e7e5; box-shadow: var(--shadow_light); border: 1px solid rgba(17, 17, 17, .06);
}
.m_banner_card img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.m_banner_card .txt {
    position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; color: #ffffff;
}
.m_banner_card .txt strong {
    display: block; font-size: 28px; line-height: 1.08; letter-spacing: -.03em; font-weight: 800;
}
.m_banner_card .txt span {
    display: block; margin-top: 7px; font-size: 17px; color: rgba(255, 255, 255, .86);
}
.m_banner_card::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .08) 40%, rgba(0, 0, 0, .8) 100%);
}

/* ========================= 메인 하단 팬앤스타 투표 ========================= */
.m_vote {
}
.m_vote_head {
    display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px;
}
.m_vote_live {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid rgba(17, 17, 17, .15); border-radius: 24px; overflow: hidden; background: #fff; box-shadow: var(--shadow_light);
}
.m_vote_live_item {
    padding: 34px 32px; min-height: 148px; display: flex; flex-direction: column; justify-content: center;
}
.m_vote_live_item+.m_vote_live_item {
    border-left: 1px solid rgba(17, 17, 17, .14);
}
.m_vote_live_item > strong {
    font-size: clamp(24px, 2vw, 34px); font-weight: 900; letter-spacing: -.04em; color:#1a1a1a; display: flex; gap: 8px; align-items: baseline ; justify-content: flex-start;
}
.m_vote_live_item span {
    margin-top: 10px; font-size: 17px; color: var(--text_sub);
}
.m_vote_live_item strong > span img {
    width: 20px;
}
.m_vote_cards {
    margin-top: 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.artist_card {
    display: block;
}
.artist_card .cate {
    display: block; margin-bottom: 14px; text-align: center; font-size: 24px; font-weight: 900; letter-spacing: -.03em; color: #1a1a1a;
}
.artist_card .artist_thumb {
    position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 0.88 / 1; background: #ddd; box-shadow: var(--shadow_light);
}
.artist_card .artist_thumb img {
    width: 100%; height: 100%; object-fit: cover; transition:transform .45s ease;
}
.artist_card .artist_thumb::after {
    content: ""; position: absolute; inset: auto 0 0 0; height:36%; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .8) 100%);
}
.artist_card:hover .artist_thumb img  {
    transform:scale(1.05);
}
.artist_card .artist_name {
    position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; text-align: center; font-size: 24px; font-weight: 800; color:#ffffff; text-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}
.m_vote_btn_row {
    margin-top: 40px; text-align: center;
}
/* 팬앤스타 순위 자세히 보기 버튼 */
.m_vote_btn_row .btn_more {
    display: inline-flex; align-items: center; justify-content: center; min-width: 180px; height: 58px; padding: 0 26px; border-radius: 999px; border: 1px solid rgba(17, 17, 17, .18); background: rgba(255, 255, 255, .65); backdrop-filter: blur(10px); color: #111; font-size: 16px; font-weight: 600; transition: .3s ease;
}
.m_vote_btn_row .btn_more:hover {
    transform: translateY(-1px); box-shadow: var(--shadow_light);
}
.m_vote_btn_row .btn_more .arr {
    display: inline-block; margin-left: 10px; transition: transform .3s ease;
}
.m_vote_btn_row .btn_more .arr::before {
    content: "→";
    font-size: 15px;
}
.m_vote_btn_row .btn_more:hover .arr {
    transform: translateX(4px);
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 행사 소개 > About TMA ========================= */

.about_top_banner {
    margin-bottom: 80px;
}
.about_top_banner img {
    width: 100%; vertical-align: top; border-radius: 12px;
}
.about_intro {
    width: 100%; margin: 0 auto 60px; 
}
.about_intro .m_intro_grid {
    display: block; width: 100%;
}
.tma_about_wrap {
    display: flex; flex-direction: column; gap: 80px;
}
.about_bbox {
    display: flex; gap: 26px; align-items:flex-start; border-bottom: 1px solid rgba(17, 17, 17, .12); padding-bottom: 60px;
}
.about_thumb {
    flex: 0 0 38%; border-radius:16px; overflow: hidden; background: #ddd; box-shadow: 0 8px 24px rgba(0, 0, 0, .06); aspect-ratio: 4/3; border:1px solid #dedede
}
.about_thumb img {
    display: block; width: 100%; height: 100%; object-fit: cover;
}
.about_text {
    min-width: 0;
}
.about_text h3 {
    margin: 0 0 10px; font-size: clamp(22px, 1.8vw, 31px); line-height: 1.4; font-weight: 800; letter-spacing: -.03em; word-break: keep-all;
}
.about_text p {
    line-height: 1.6; color: #333; font-size: 18px;
}
.about_bottom_visual {
    margin: 80px 0 60px 0; 
}
.about_bottom_visual img {
    display: block; width: 100%; border-radius: 22px; box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.about_closing {
    position: relative; text-align: center;
}
.about_closing h3 {
    margin: 0 0 14px; font-size: clamp(28px, 2.2vw, 36px); line-height: 1.3; font-weight: 900; letter-spacing: -.04em;
}
.about_closing p {
    font-size: clamp(20px, 1.45vw, 24px); line-height: 1.6; color: #1a1a1a; word-break: keep-all;
}

/* 하단 이미지 슬라이드 */
.about_awards_slider {
    position: relative; width: 100%; overflow: hidden; margin: 100px auto 0;
}
.about_awards_slider .awards_track {
    display:flex;
    width:max-content;
    will-change:transform;
    animation:awardsMarquee 45s linear infinite;
}
.about_awards_slider .awards_group {
    display:flex;
    gap:18px;
    flex-shrink:0;
    margin-right: 18px; align-items:flex-start
}
.about_awards_slider .award_item {
    flex: 0 0 auto; width: 180px; border-radius: 12px; overflow: hidden; background: #111;
}
.about_awards_slider .award_item img {
    display:block; width: 100%; height: auto; object-fit: cover;
}
.about_awards_slider .award_item:nth-child(5n+1) img {
    aspect-ratio: 4 / 6;
}
.about_awards_slider .award_item:nth-child(5n+2) img {
    aspect-ratio: 4 / 5;
}
.about_awards_slider .award_item:nth-child(5n+3) img {
    aspect-ratio: 1 / 1;
}
.about_awards_slider .award_item:nth-child(5n+4) img {
    aspect-ratio: 9 / 16;
}
.about_awards_slider .award_item:nth-child(5n+5) img {
    aspect-ratio: 3 / 2;
}
/* 슬라이드 애니메이션 */
@keyframes awardsMarquee {
    from {
        transform:translateX(0);
    }
    to {
        transform:translateX(-50%);
    }
}

/* hover 시 잠깐 멈춤//
.about_awards_slider:hover .awards_track {
animation-play-state: paused;
} 
*/
.about_awards_slider::before,
.about_awards_slider::after {
    content: ""; position: absolute; top: 0; width: 120px; height: 100%; z-index: 2; pointer-events: none;
}


/* ========================= 행사 소개 > 라인업 ========================= */

.lineup_group {
    margin-bottom: 80px; border-bottom: 1px solid rgba(17, 17, 17, .12); padding-bottom: 80px;
}
.t_about .lineup_group+:last-of-type {
    border-bottom: none; padding-bottom: 0; margin-bottom: 0;
}
.lineup_group_head {
    display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; /*padding-bottom:16px; border-bottom:1px solid rgba(17,17,17,.12);*/
}
.lineup_group_head h3{
    margin:0; font-size:clamp(26px, 2.2vw, 40px); line-height:1.1; font-weight:900; letter-spacing:-.04em;
}
.lineup_group_head p{
    margin:0; font-size:14px; font-weight:800; letter-spacing:.16em; color:#666;
}
/* 아티스트 그리드 */
.artist_grid {
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px;
}
.artist_item {
    display:block; color:inherit; text-decoration:none; 
}
.artist_photo {
    position:relative; overflow:hidden; border-radius:22px; aspect-ratio: 0.9 / 1; background:#ddd; box-shadow:0 10px 28px rgba(0,0,0,.06);
}
.artist_photo img{
    width:100%; height:100%; object-fit:cover; transition:transform .45s ease;
}
.artist_photo::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .08) 60%, rgba(0, 0, 0, .9) 100%);
}
.artist_item:hover .artist_photo img {
    transform:scale(1.05);
}
.artist_name {
    display:block; margin-top:14px; text-align:center; font-size:clamp(20px, 1.5vw, 26px); line-height:1.3; font-weight:800; color:#ffffff; letter-spacing: -0.01em; position: absolute; left: 24px; bottom: 24px; right: 24px; text-align: center; z-index: 5;
}


/* ========================= 행사 소개 > 관람방법 ========================= */
.view_tab_wrap {
    margin-top: 8px;
}
.view_tab_btns {
    display: flex; gap: 12px; margin-bottom: 24px;
}
.view_tab_btn {
    min-width: 168px; height: 56px; padding: 0 24px; border: 1px solid rgba(17,17,17,.14); border-radius: 999px; background: rgba(255,255,255,.65); color: #111; font-size: 17px; font-weight: 800; transition: .25s ease;
}
.view_tab_btn.i_active {
    background: #111214; color: #fff; border-color: #111214; box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.view_tab_panel {
    display: none;
}
.view_tab_panel.i_active {
    display: block;
}
.view_notice {
    margin-bottom: 22px; border-radius: 18px; color: #1a1a1a; font-size: 17px; line-height: 1.7;
}
/* 오프라인 카드 */
.ticket_grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
}
.ticket_card {
    display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 144px; padding: 26px 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.07); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.ticket_info {
    min-width: 0;
}
.ticket_region {
    display: inline-block; margin-bottom: 10px; font-size: 14px; font-weight: 800; letter-spacing: .06em; color: #666;
}
.ticket_info h3 {
    margin: 0; font-size: clamp(22px, 1.7vw, 30px); line-height: 1.2; font-weight: 900; letter-spacing: -.03em;
}
.ticket_sub {
    margin: 20px 0 0; font-size: 14px;  line-height: 1.6; color: #666; display: flex; flex-direction: column; gap: 5px;
}
.ticket_sub .buydate {
    display: inline-block; background:#dadada; color:#333; padding: 5px 10px; border-radius: 99px; width: fit-content; line-height: 1;
}
.ticket_btn {
    flex: 0 0 auto; min-width: 140px; height: 50px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #111214; color: #fff; font-size: 15px; font-weight: 700; text-align: center; transition: .25s ease;
}
.ticket_btn:hover {
    transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0,0,0,.12);
}
/* 온라인 카드 */
.stream_grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}
.stream_card {
    display: flex; flex-direction: column; min-height: 260px; padding: 26px 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.07); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.stream_country {
    display: inline-block; margin-bottom: 10px; font-size: 14px; font-weight: 800; letter-spacing: .06em; color: #666;
}
.stream_head h3 {
    margin: 0; font-size: clamp(22px, 1.5vw, 28px); line-height: 1.25; font-weight: 900; letter-spacing: -.03em;
}
.stream_body {
    margin-top: 18px; flex: 1 1 auto;
}
.stream_body p {
    margin: 0 0 8px; font-size: 16px; line-height: 1.75; color: #333;
}
.stream_btn {
    margin-top: 20px; min-width: 100%; height: 52px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #111214; color: #fff; font-size: 15px; font-weight: 700; transition: .25s ease;
}
.stream_btn:hover {
    transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0,0,0,.12);
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 투표 안내 > 투표 현황 ========================= */
.vote_tab_wrap {
    margin-top: 10px;
}
.vote_tab_btns {
    display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px;
}
.vote_tab_btn {
    min-width: 180px; height: 56px; padding: 0 24px; border: 1px solid rgba(17,17,17,.14); border-radius: 999px; background: rgba(255,255,255,.66); color: #111; font-size: 16px; font-weight: 800; transition: .25s ease;
}
.vote_tab_btn.i_active {
    background: #111214; color: #fff; border-color: #111214; box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.vote_tab_panel {
    display: none;
}
.vote_tab_panel.i_active {
    display: block;
}
/* 리스트 */
.vote_rank_list {
    display: flex; flex-direction: column; gap: 16px;
}
.vote_rank_item {
    display: grid; grid-template-columns: 76px 110px minmax(0, 1fr); align-items: center; gap: 20px; padding: 20px 22px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.rank_num {
    width: 76px; text-align: center; font-size: 34px; line-height: 1; font-weight: 1000; letter-spacing: -.04em; color: #111;
}
.rank_1 .rank_num { color: #111; }
.rank_2 .rank_num { color: #333; }
.rank_3 .rank_num { color: #444; }
.rank_4 .rank_num { color: #555; }
.rank_5 .rank_num { color: #666; }

.rank_thumb {
    width: 110px; aspect-ratio: 1 / 1; border-radius: 18px; overflow: hidden; background: #ddd; box-shadow: 0 8px 18px rgba(0,0,0,.05);
}
.rank_thumb img {
    width: 100%; height: 100%; object-fit: cover;
}
.rank_info {
    min-width: 0;
}
.rank_name {
    margin-bottom: 14px; font-size: clamp(22px, 1.6vw, 30px); line-height: 1.2; font-weight: 900; letter-spacing: -.03em; color: #111;
}
.rank_bar_wrap {
    display: flex; flex-direction: column; gap: 10px;
}
.rank_bar {
    width: 100%; height: 16px; border-radius: 999px; background: #ececea; overflow: hidden; position: relative;
}
.rank_bar span {
    display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #111214 0%, #555 100%);
}
.rank_meta {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.rank_meta strong {
    font-size: 18px; line-height: 1.3; font-weight: 900; color: #111;
}
.rank_meta span {
    font-size: 18px; line-height: 1.3; font-weight: 800; color: #666;
}

/* ========================= 투표 안내 > 심사 기준 ========================= */
/*상단 카드*/
.judge_summary {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 56px;
}
.judge_summary_card {
    padding: 26px 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.judge_label {
    display: inline-block; margin-bottom: 14px; font-size: 13px; font-weight: 900; letter-spacing: .14em; color: #777;
}
.judge_summary_card h3 {
    margin: 0 0 10px; font-size: 28px; line-height: 1.2; font-weight: 900; letter-spacing: -.03em;
}
.judge_summary_card p {
    margin: 0; font-size: 16px; line-height: 1.7; color: #444;
}
/* 블록 공통 */
.judge_block {
    margin-bottom: 56px;
}
.judge_block:last-child {
    margin-bottom: 0;
}
.judge_block_head {
    display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(17,17,17,.12);
}
.judge_block_head h3 {
    margin: 0; font-size: clamp(28px, 2.2vw, 40px); line-height: 1.1; font-weight: 900; letter-spacing: -.04em;
}
.judge_block_head p {
    margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .16em; color: #666;
}
/* 평가 항목 */
.judge_eval_list {
    display: flex; flex-direction: column; gap: 16px;
}
.judge_eval_item {
    display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px 22px; border-radius: 22px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.judge_eval_num {
    font-size: 28px; line-height: 1; font-weight: 1000; color: #111; text-align: center;
}
.judge_eval_txt h4 {
    margin: 0 0 8px; font-size: 24px; line-height: 1.25; font-weight: 900; letter-spacing: -.03em;
}
.judge_eval_txt p {
    margin: 0; font-size: 16px; line-height: 1.75; color: #444;
}
/* 심사위원 */
.judge_panel {
    padding: 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.judge_panel_notice {
    margin-bottom: 20px; padding: 16px 18px; border-radius: 16px; background: #f7f7f6; color: #555; font-size: 15px; line-height: 1.7;
}
.judge_people {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}
.judge_person {
    padding: 20px 18px; border-radius: 18px; background: #fafafa; border: 1px solid rgba(17,17,17,.06);
}
.judge_person strong {
    display: block; margin-bottom: 6px; font-size: 20px; line-height: 1.3; font-weight: 900; color: #111;
}
.judge_person span {
    display: block; font-size: 15px; line-height: 1.6; color: #666;
}
/* 유의사항 */
.judge_notice_box {
    padding: 24px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.judge_notice_box li {
    position: relative; padding-left: 18px; font-size: 16px; line-height: 1.8; color: #333;
}
.judge_notice_box li + li {
    margin-top: 8px;
}
.judge_notice_box li::before {
    content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: #111;
}

/* 테이블 */
.judge_block {
    margin-bottom: 56px;
}
.judge_block:last-child {
    margin-bottom: 0;
}
.judge_block_head {
    display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(17,17,17,.12);
}
.judge_block_head h3 {
    margin: 0; font-size: clamp(28px, 2.2vw, 40px); line-height: 1.1; font-weight: 900; letter-spacing: -.04em;
}
.judge_block_head p {
    margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .16em; color: #666;
}

/* 반응형 테이블 */
.judge_table_wrap {
    margin-top: 0;
}
.judge_table {
    width: 100%; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid rgba(17,17,17,.08); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
/* 타입1: 7열 */
.judge_table_type1 .judge_tr {
    display: grid; grid-template-columns: 2.1fr .82fr .82fr .82fr .82fr .82fr 1.3fr; align-items: center; border-bottom: 1px solid rgba(17,17,17,.06);
}
/* 타입2: 3열 */
.judge_table_type2 .judge_tr {
    display: grid; grid-template-columns: 1.2fr 1fr .55fr; align-items: stretch; border-bottom: 1px solid rgba(17,17,17,.06);
}
.judge_table .judge_tr:last-child {
    border-bottom: 0;
}
.judge_head {
    background: #111214; color: #fff;
}
.judge_head .judge_th {
    padding: 16px 14px; font-size: 14px; line-height: 1.4; font-weight: 800; text-align: center;
}
.judge_td {
    padding: 18px 14px; font-size: 15px; line-height: 1.7; color: #222; text-align: center; border-right: 1px solid rgba(17,17,17,.06);
}
.judge_tr > *:last-child {
    border-right: 0;
}
.judge_table_type1 .judge_td:first-child,
.judge_table_type2 .judge_td:first-child {
    text-align: left; font-weight: 800;
}
.judge_table_type2 .judge_td:nth-child(2) {
    text-align: left;
}
.judge_table_type1 .judge_td:last-child,
.judge_table_type2 .judge_td:last-child {
    font-weight: 900;
}
/* 하단 주석 */
.judge_note_box {
    margin-top: 16px; padding: 20px 20px; border-radius: 18px; background: rgba(255,255,255,.75); border: 1px solid rgba(17,17,17,.08);
}
.judge_note_box p {
    margin: 0; font-size: 14px; line-height: 1.7; color: #444;
}
.judge_note_box p + p {
    margin-top: 4px;
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 역대 수상자 ========================= */
.win_radio, .sub_radio, .year_radio {
    position: absolute; opacity: 0; pointer-events: none;
}
.fns_tmawin {
    width: 100%; margin: 0 auto;
}
.fns_tmawin .year_tab_btns {
    width: 100%; display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 auto 30px;
}
.fns_tmawin .year_tab_btns::-webkit-scrollbar {
    display:none;
}
.fns_tmawin .sub_tab_btns.row_actions {
    overflow: scroll; margin: 10px auto; display: flex; gap: 7px; width:100%; margin: 0 auto; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; width: 100%; margin: 0 auto 20px;
}
.fns_tmawin .sub_tab_btns.row_actions::-webkit-scrollbar {
    display: none;
}
.fns_tmawin .year_tab_btns label {
    flex:0 0 auto; white-space:nowrap; min-width:auto; padding:0 0 6px 0; font-size:18px; border-radius:0; background:none; border:none; border-bottom:2px solid transparent; font-weight: 500; transition: .25s ease; cursor: pointer;
}

.fns_tmawin .sub_tab_btns.row_actions label {
    min-width: 90px; padding: 16px 20px; border-radius: 999px; border: 1px solid #dedede; background:#ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: #1a1a1a; cursor: pointer; transition: .25s ease;
}
.fns_tmawin .sub_tab_btns.row_actions label :hover {
    background: #263963; border: 1px solid #263963; color: #ffffff;
}
#year_2025:checked ~ .year_tab_btns label[for="year_2025"],
#year_2024:checked ~ .year_tab_btns label[for="year_2024"],
#year_2023:checked ~ .year_tab_btns label[for="year_2023"],
#year_2022:checked ~ .year_tab_btns label[for="year_2022"],
#year_2021:checked ~ .year_tab_btns label[for="year_2021"],
#year_2020:checked ~ .year_tab_btns label[for="year_2020"],
#year_2019:checked ~ .year_tab_btns label[for="year_2019"],
#year_2018:checked ~ .year_tab_btns label[for="year_2018"]{
    background:none; border:none; color:#1a1a1a; border-bottom:2px solid #1a1a1a; font-weight: 700;
}
.fns_tmawin .year_panel {
    display: none; 
}
.fns_tmawin .year_panel img {
    width:100%; vertical-align: top;
}
/* 선택된 연도만 표시 */
#year_2025:checked ~ .year_panel_2025,
#year_2024:checked ~ .year_panel_2024,
#year_2023:checked ~ .year_panel_2023,
#year_2022:checked ~ .year_panel_2022,
#year_2021:checked ~ .year_panel_2021,
#year_2020:checked ~ .year_panel_2020,
#year_2019:checked ~ .year_panel_2019,
#year_2018:checked ~ .year_panel_2018 {
    display: block;
}
/* ========== 2차 부문 탭 ========== */
.sub_tab_btns {
    display: flex; gap: 12px;
}
.sub_tab_btns label {
    background: #ffffff; border:1px solid #c9c9c9
}
/* 각 연도별 서브탭 활성 */
#sub_2025_tma:checked ~ .sub_tab_btns label[for="sub_2025_tma"],
#sub_2025_fannstar:checked ~ .sub_tab_btns label[for="sub_2025_fannstar"],
#sub_2024_tma:checked ~ .sub_tab_btns label[for="sub_2024_tma"],
#sub_2024_fannstar:checked ~ .sub_tab_btns label[for="sub_2024_fannstar"],
#sub_2023_tma:checked ~ .sub_tab_btns label[for="sub_2023_tma"],
#sub_2023_fannstar:checked ~ .sub_tab_btns label[for="sub_2023_fannstar"],
#sub_2022_tma:checked ~ .sub_tab_btns label[for="sub_2022_tma"],
#sub_2022_fannstar:checked ~ .sub_tab_btns label[for="sub_2022_fannstar"],
#sub_2021_tma:checked ~ .sub_tab_btns label[for="sub_2021_tma"],
#sub_2021_fannstar:checked ~ .sub_tab_btns label[for="sub_2021_fannstar"],
#sub_2020_tma:checked ~ .sub_tab_btns label[for="sub_2020_tma"],
#sub_2020_fannstar:checked ~ .sub_tab_btns label[for="sub_2020_fannstar"],
#sub_2019_tma:checked ~ .sub_tab_btns label[for="sub_2019_tma"],
#sub_2019_fannstar:checked ~ .sub_tab_btns label[for="sub_2019_fannstar"],
#sub_2018_tma:checked ~ .sub_tab_btns label[for="sub_2018_tma"],
#sub_2018_fannstar:checked ~ .sub_tab_btns label[for="sub_2018_fannstar"] {
    background: #263963; color: #fff; border:1px solid #263963; 
}
.fns_tmawin .sub_panel {
    display: none; padding: 20px 22px; border-radius: 22px; background: #fff; border: 1px solid rgba(17, 17, 17, .06); box-shadow: 0 10px 24px rgba(0, 0, 0, .05);

}
#sub_2025_tma:checked ~ .sub_panel_tma,
#sub_2025_fannstar:checked ~ .sub_panel_fannstar,
#sub_2024_tma:checked ~ .sub_panel_tma,
#sub_2024_fannstar:checked ~ .sub_panel_fannstar,
#sub_2023_tma:checked ~ .sub_panel_tma,
#sub_2023_fannstar:checked ~ .sub_panel_fannstar,
#sub_2022_tma:checked ~ .sub_panel_tma,
#sub_2022_fannstar:checked ~ .sub_panel_fannstar,
#sub_2021_tma:checked ~ .sub_panel_tma,
#sub_2021_fannstar:checked ~ .sub_panel_fannstar,
#sub_2020_tma:checked ~ .sub_panel_tma,
#sub_2020_fannstar:checked ~ .sub_panel_fannstar,
#sub_2019_tma:checked ~ .sub_panel_tma,
#sub_2019_fannstar:checked ~ .sub_panel_fannstar,
#sub_2018_tma:checked ~ .sub_panel_tma,
#sub_2018_fannstar:checked ~ .sub_panel_fannstar {
    display: block;
}

/* 수상자 리스트 */
.winner_list {
    display: flex; flex-direction: column; gap: 16px;
}
.winner_item {
    /*display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: center;*/ padding: 20px 22px; border-radius: 22px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.winner_item img {
    width: 100%; vertical-align: top;
}
.winner_award {
    font-size: 18px; line-height: 1.5; font-weight: 800; color: #222;
}
.winner_artist {
    font-size: 22px; line-height: 1.35; font-weight: 900; color: #111; text-align: right;
}
.winner_artist img {
    width: 100%; vertical-align: top;
}
/* 카드 그리드 */
.winner_card_grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px;
}
/* 카드 */
.winner_card {
    padding: 18px; border-radius: 24px; background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 10px 24px rgba(0,0,0,.05); transition: .25s ease;
}
.winner_card:hover {
    transform: translateY(-4px); box-shadow: 0 16px 30px rgba(0,0,0,.08);
}
/* 부문명 -> 상단 배지 느낌 */
.winner_category {
    display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 14px; margin-bottom: 14px; border-radius: 999px; background: #111214; color: #fff; font-size: 13px; line-height: 1.3; font-weight: 800; letter-spacing: .04em; word-break: keep-all; box-shadow: 0 6px 14px rgba(0,0,0,.08);
}
/* 썸네일 */
.winner_thumb {
    position: relative; overflow: hidden; border-radius: 20px; aspect-ratio: 1 / 1; background: #ddd;
}
.winner_thumb img {
    width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;
}
.winner_card:hover .winner_thumb img {
    transform: scale(1.05);
}
/* 사진 하단 그라데이션 */
.winner_thumb::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.82) 100%); pointer-events: none;
}
/* 가수명 -> 사진 하단 오버레이 */
.winner_name {
    position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 2; font-size: 24px; line-height: 1.25; font-weight: 900; letter-spacing: -.03em; color: #fff; text-align: center; text-shadow: 0 2px 10px rgba(0,0,0,.28);
}


/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 공지사항 ========================= */
.tma_notice_wrap {
    width:100%; margin:0 auto; display:flex; flex-direction:column; gap:14px;
}
.t_notice_item {
    background:#fff; border-radius:16px; overflow:hidden; box-shadow: 0 4px 10px rgba(0, 0, 0, .04);
}
.t_notice_toggle {
    appearance:none; position:absolute; width:1px; height:1px; margin:-1px;padding:0; overflow:hidden; clip:rect(0 0 0 0); border:0
}
.t_notice_btn {
    display:flex; align-items:center; justify-content:space-between; gap:14px; padding: 30px 40px 30px 30px; cursor:pointer; user-select:none;
}
.t_notice_btn:focus-visible {
    outline-offset:-2px; border-radius:10px
}
.t_notice_tt {
    font-size:22px; line-height:1.5; font-weight:900;
}
.t_notice_panel {
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease
}
.t_notice_inner {
    overflow:hidden
}
.t_notice_btn .icon_arrow::after {
    width: 10px; height: 10px;
}
/* 내용 펼쳐졌을때 */
.t_notice_toggle:checked + .t_notice_btn .icon_arrow::after {
    transform:rotate(-45deg) translateY(4px); 
}
.t_notice_toggle:checked + .t_notice_btn {
    border-bottom: 1px solid #ededed;
}
.t_notice_toggle:checked ~ .t_notice_panel {
    grid-template-rows:1fr
}
/* 내용*/
.t_notice_inner .t_notice_inner_txt {
    padding: 40px; font-size:18px; line-height:1.55 ;
}
.t_notice_inner .t_notice_date {
    display: block; font-size: 15px; color:#999999; margin-bottom: 20px;
}



/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 콘텐츠 > 보도 자료 ========================= */
.pr_radio{
    position: absolute; opacity: 0; pointer-events: none;
}
.year_btns {
    display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px;
}
.year_btns label {
    min-width: 90px; padding: 16px 20px; border-radius: 999px; border: 1px solid #dedede; background:#ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: #1a1a1a; cursor: pointer; transition: .25s ease;
}
.year_btns label:hover {
    background: #263963; border: 1px solid #263963; color: #ffffff;
}
#pr_year_2026:checked ~ .year_btns label[for="pr_year_2026"],
#pr_year_2025:checked ~ .year_btns label[for="pr_year_2025"],
#pr_year_2024:checked ~ .year_btns label[for="pr_year_2024"],
#pr_year_2023:checked ~ .year_btns label[for="pr_year_2023"],
#pr_year_2022:checked ~ .year_btns label[for="pr_year_2022"],
#pr_year_2021:checked ~ .year_btns label[for="pr_year_2021"],
#pr_year_2020:checked ~ .year_btns label[for="pr_year_2020"],
#pr_year_2019:checked ~ .year_btns label[for="pr_year_2019"],
#pr_year_2018:checked ~ .year_btns label[for="pr_year_2018"] {
    background: #263963; color: #fff; border:1px solid #263963; 
}
.win_panel {
    display: none;
}
#pr_year_2026:checked ~ .pr_2026,
#pr_year_2025:checked ~ .pr_2025,
#pr_year_2024:checked ~ .pr_2024,
#pr_year_2023:checked ~ .pr_2023,
#pr_year_2022:checked ~ .pr_2022,
#pr_year_2021:checked ~ .pr_2021,
#pr_year_2020:checked ~ .pr_2020,
#pr_year_2019:checked ~ .pr_2019,
#pr_year_2018:checked ~ .pr_2018 {
    display: block;
}

/* 상단 큰 기사 2개 */
.pr_b_list {
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(17, 17, 17, .06);
}
.pr_p_card {
    position: relative; min-height: 280px; border-radius: 14px; overflow: hidden; background: #e7e7e5; box-shadow: var(--shadow_light); border: 1px solid rgba(17, 17, 17, .06);
}
.pr_p_card .pr_s_thumb {
    position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px;
}
.pr_p_card img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.pr_p_card .txt {
    position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; color: #ffffff;
}
.pr_p_card .txt strong {
    display: block; font-size: 24px; line-height: 1.3; letter-spacing: -.03em; font-weight: 800; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 
}
.pr_p_card .txt span {
    display: block; margin-top: 7px; font-size: 17px; color: rgba(255, 255, 255, .86);
}
.pr_p_card::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .08) 40%, rgba(0, 0, 0, .8) 100%);
}

/* 작은 기사 3개 */
.pr_s_list {
    display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(17, 17, 17, .06); overflow: hidden;
}
.pr_s_card {
    position: relative; display: flex; flex-direction: column; gap: 10px; 
}
.pr_s_card .pr_s_thumb {
    position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px;
}
.pr_s_card img {
    width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block;
}
.pr_s_list .pr_s_card .txt {
    display: inline-block; color: #1a1a1a ;
}
.pr_s_list .pr_s_card .txt strong {
    display: block; font-size: 20px; line-height: 1.3; letter-spacing: -.03em; font-weight: 700; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 
}
.pr_s_list .pr_s_card .txt span {
    display: block; margin-top: 7px; font-size: 17px; color: rgba(255, 255, 255, .86);
}


/* ========================= 콘텐츠 > 사진 및 영상 ========================= */
/* 미디어 2개씩 */
.midea_list {
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(17, 17, 17, .06);
}
.midea_card {
    position: relative; min-height: 280px; border-radius: 14px; overflow: hidden; background: #e7e7e5; box-shadow: var(--shadow_light); border: 1px solid rgba(17, 17, 17, .06);
}
.midea_card .midea_thumb {
    position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px;
}
.midea_card img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.midea_card .txt {
    position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; color: #ffffff;
}
.midea_card .txt strong {
    display: block; font-size: 24px; line-height: 1.3; letter-spacing: -.03em; font-weight: 800; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 
}
.midea_card .txt span {
    display: block; margin-top: 7px; font-size: 17px; color: rgba(255, 255, 255, .86);
}
.midea_card::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .08) 40%, rgba(0, 0, 0, .8) 100%);
}
.midea_card .dim {
    position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .16) 0%, rgba(0, 0, 0, .45) 100%);
}
.midea_card .play_btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 90px; height: 90px; border: none; border-radius: 50%; background: rgba(255, 255, 255, .18); backdrop-filter: blur(10px); box-shadow: 0 18px 36px rgba(0, 0, 0, .22); cursor: pointer;
}
.midea_card .play_btn::before {
    content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-left: 26px solid #fff;
}


/* 미디어 팝업 */
.media_popup {
    position: fixed; inset: 0; z-index: 3000;
}
.media_pop_dim {
    position: absolute; inset: 0; background: rgba(0, 0, 0, .6); backdrop-filter: blur(5px);
}
.media_pop_box {
    position: absolute; top: 50%; left: 50%; width: min(980px, calc(100% - 40px)); transform: translate(-50%, -50%); background: #1a1a1a; border-radius: 20px; padding: 10px; border: 1px solid rgba(255,255,255,.08);
}
.media_pop_video {
    display: flex; justify-content: center; align-items: center; width: 100%; max-height: 85vh; overflow: auto;border-radius: 20px; background: #000000;
}
.media_pop_video iframe {
    width: min(100%, 1280px); height: min(80vh, 720px); border: 0; border-radius: 20px; background: #000000;
}
/* X 버튼 */
.media_pop_close {
    position: absolute; top: -56px; right: 0; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); cursor: pointer; transition: .25s ease;
}
.media_pop_close::before,
.media_pop_close::after {
    content: ""; position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; background: #fff; border-radius: 999px;
}
.media_pop_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.media_pop_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}


/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ************************* 모바일 ************************* */
@media (max-width: 767px) {

/* ========================= Basic ========================= */
:root { 
    --header_h: 78px;
}

/* ========================= 공통 ========================= */
.tma_section { 
    padding: 40px 0 0;
}
.tma_wrap { 
    padding: 0 0 120px;
}
.tma_sub_wrap { 
    padding: 26px 0 80px;
}
.subwrap { 
    display: block; padding: 120px 0 0; width: min(1280px, calc(100% - 32px));
}
.wrap_narrow { 
    margin: 0 auto;
}
/* 페이지 넘버링 */
.pagination a {
    width: 34px; height: 34px; font-size: 16px;
}

/* ========================= Header ========================= */
/* ========================= 모바일 햄버거 ========================= */
.tma_header .inner { 
    width: calc(100% - 32px); display: flex; align-items: center; gap: 12px; justify-content: space-between;
}
.m_menu_btn { 
    display: block; justify-self: start;
}
.gnb { 
    display: none;
}
.tmalogo { 
    z-index: 2;
}
.tmalogo img,
.drawer_logo img { 
    width: 64px; display: block; 
}
.lang { 
    justify-self: end; font-size: 13px; gap: 6px; display: none;
}
.mobile_drawer,
.m_drawer_dim { 
    display: block;
}
.mobile_drawer { 
    background:none; width: 100%;
}
.tma_snb { 
    display: none;
}
.m_drawer_dim {
    background:#1a1a1a
}

/* ========================= Footer ========================= */
.tma_footer {
    background-image:none; background-color:#1a1a1a
}
.tma_footer .info {
    width:90%; margin: 20px auto 0;
}
.tma_footer .info h2 {
    font-size: 17px;
}
.tma_footer .info .minfo { 
    font-size: 14px; padding-bottom: 12px; gap: 0px 15px;
}
.tma_footer .info .minfo .minfo_logo::after {
    display: none;
}
.footer_bottom {
    flex-direction: column; gap:0; justify-content: flex-start; align-items: 
    flex-start; padding: 10px 18px;
}
.footer_b_inner {
    margin: 0; gap: 0px; flex-direction: column; align-items: flex-start;
}
.footer_title {
    font-size: 16px; 
}
.copyright { 
    font-size: 11px; color: rgba(255, 255, 255, .15);
}
/* ========================= 메인 ========================= */
/* ========================= 메인 visual ========================= */
.m_visual {
    min-height: 760px;
}
.m_visual::after {
    height: 160px;
}
.m_visual_card {
    border-radius: 12px;
}
.m_visual_card.card1 {
    width: 48%; left: 0; top: 10%;
}
.m_visual_card.card2 {
    width: 23%; left: 3%; top: 40%;
}
.m_visual_card.card3 {
    width: 33%; right: 0%; top: 42%;
}
.m_visual_card.card4 {
    width: 45%; right: 2%; top: 19%;
}
.m_visual_card.card5 {
    width: 30%; left: 9%; bottom: 28%;
}
.m_visual_card.card6 {
    width: 30%; left: 52%; bottom: 19%;
}
.m_visual_card.card7 {
    width: 24%; right: 10%; top: 10%;
}
.m_visual_content {
    padding: 0px 0 120px;
}

/* ========================= 메인 행사 소개 ========================= */
.m_intro_text .headline {
    border-bottom: 0; padding-bottom: 0;
}
.m_intro_text .headline small {
    margin-top: 6px;
}
.ghost_word {
    display: none;
}
.m_intro_grid {
    display: flex; flex-direction: column; gap: 40px; border-bottom: 1px solid rgba(17, 17, 17, .12); padding-bottom: 30px;
}
.m_intro_body {
    font-size: 16px; line-height: 1.8; margin-top: 30px; padding-bottom:30px; border-bottom:1px solid #d2d2d2
}
.m_intro_body .m_intro_btitle {
    font-size: 19px; font-weight: 600;
}
.sns_row {
    gap: 12px; margin: 40px 0
}
.sns_circle {
    width: 48px; height: 48px; font-size: 12px;
}
.sns_label {
    width: 100%; font-size: 16px;
}
.poster_box {
    width: 100%; border-radius: 14px; min-height: auto; aspect-ratio: 3 / 4;
}
.poster_box img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
.m_intro_grid .m_intro_body {
    padding-bottom: 0; border-bottom: none;
}

/* ========================= 메인 홍보 영상 / 콘텐츠 ========================= */
/* ========================= 메인 더팩트, 팬앤스타 배너 ========================= */
.m_promo_card {
    min-height: 260px; border-radius: 14px;
}
.m_promo_card .m_promo_txt {
    left: 20px; right: 20px; bottom: 20px;
}
.m_banner_grid {
    display: flex; flex-direction: column; gap: 20px; margin-top: 30px;
}
.m_banner_card {
    min-height: 220px; border-radius: 14px;
}
.m_banner_card .txt strong {
    font-size: 20px; letter-spacing: 0;
}
.m_banner_card .txt span {
    font-size: 16px; margin-top: 5px; line-height: 1.3em;
}


/* ========================= 메인 하단 팬앤스타 투표 ========================= */
.official_txt { 
    font-weight: normal; margin-bottom: 10px;
}
.m_vote_live { 
    align-items: flex-start;
}
.m_vote_live_item {
    padding: 20px 16px; height: 100%; justify-content: space-between; text-align: center;
}
.m_vote_live_item strong {
    font-size: 20px; display: block;
}
.m_vote_live_item strong > span {
    display: block;
}
.m_vote_live_item strong > span > img {
    width: 16px;
}
.m_vote_live_item span {
    font-size: 15px;
}
.m_vote_cards {
    display: flex; flex-direction: column; gap: 50px;
}
.artist_card .artist_name {
    font-size: 22px;
}
.artist_thumb {
    border-radius: 20px;
}
.artist_name {
    font-size: 24px;
}
.m_vote_btn_row .btn_more {
    min-width: 160px; height: 52px; font-size: 15px;
}

/* ========================= 행사 소개 > About TMA ========================= */
.about_top_banner {
    margin-bottom: 40px;
}
.tma_about_wrap {
    gap: 40px;
}
.about_intro {
    margin-bottom: 34px;
}
.about_bbox {
    margin-bottom: 30px; flex-direction: column; width: 100%; padding-bottom: 40px; margin: 0;
}
.about_bbox .about_thumb {
    width: 100%; min-width: 120px; aspect-ratio: 3 / 2;
}
.about_text h3 {
    font-size: 22px; line-height: 1.45; margin-bottom: 10px;
}
.about_text p {
    font-size: 16px; line-height: 1.6; margin-bottom: 7px;
}
.about_quote {
    margin: 44px 0 28px;
}
.about_quote p {
    font-size: 18px; line-height: 1.85;
}
.about_bottom_visual {
    margin: 40px 0;
}
.about_bottom_visual img {
    border-radius: 16px;
}
.about_closing h3 {
    font-size: 24px; line-height: 1.35; margin-bottom: 10px;
}
.about_closing p {
    font-size: 18px; line-height: 1.5;
}
/* 하단 슬라이드 */
.about_awards_slider .awards_group {
    gap: 12px;
}
.about_awards_slider .award_item {
    width: 100px; border-radius: 12px;
}

/* ========================= 행사 소개 > 라인업 ========================= */
.lineup_group {
    margin-bottom: 50px; border-bottom: 1px solid rgba(17, 17, 17, .12); padding-bottom: 50px;
}
.lineup_group_head {
    margin-bottom:18px; align-items:center;
}
.lineup_group_head h3 {
    font-size:26px;
}
.lineup_group_head p {
    font-size:12px; letter-spacing:.12em;
}
.artist_grid {
    grid-template-columns:1fr; gap:24px;
}
.artist_photo {
    border-radius:18px; aspect-ratio: 1.08 / 1;
}
.artist_name {
    margin-top:12px; font-size:22px;
}
.view_intro {
    margin-bottom: 34px;
}
.view_kicker {
    margin-bottom: 14px; font-size: 12px; letter-spacing: .12em;
}
.view_title {
    font-size: 36px; line-height: 1.08;
}
.view_title span {
    margin-top: 8px; font-size: 22px; line-height: 1.28;
}
.view_meta {
    margin-top: 20px; font-size: 15px; line-height: 1.65;
}
.view_tab_btns {
    gap: 10px; margin-bottom: 18px;
}
.view_tab_btn {
    flex: 1 1 0; min-width: 0; height: 50px; padding: 0 14px; font-size: 15px;
}
.view_notice {
    margin-bottom: 16px; padding: 16px 16px; font-size: 14px;
}
.ticket_card {
    flex-direction: column; align-items: flex-start; min-height: auto; padding: 22px 18px; border-radius: 18px;
}
.ticket_info h3 {
    font-size: 24px;
}
.ticket_btn {
    width: 100%; min-width: 100%; height: 48px;
}
.stream_card {
    min-height: auto; padding: 22px 18px; border-radius: 18px;
}
.stream_head h3 {
    font-size: 24px;
}
.stream_body p {
    font-size: 15px; line-height: 1.7;
}
.stream_btn {
    height: 48px; font-size: 14px;
}

/* ========================= 투표 안내 > 투표 현황 ========================= */
.vote_tab_btns {
    gap: 10px; margin-bottom: 20px;
}
.vote_tab_btn {
    min-width: 0; width: 100%; height: 48px; padding: 0 14px; font-size: 14px;
}
.vote_rank_item {
    grid-template-columns: 1fr; gap: 16px; padding: 18px 16px; border-radius: 18px;
}
.rank_num {
    width: auto; text-align: left; font-size: 24px;
}
.rank_thumb {
    width: 84px; border-radius: 14px;
}
.rank_name {
    margin-bottom: 12px; font-size: 22px;
}
.rank_bar {
    height: 14px;
}
.rank_meta {
    flex-direction: row; align-items: center;
}
.rank_meta strong,
.rank_meta span {
    font-size: 15px;
}


/* ========================= 투표 안내 > 심사 기준 ========================= */
/* 상단 카드 */
.judge_page {
    padding: 26px 0 80px;
}
.judge_wrap {
    width: calc(100% - 32px); gap: 22px;
}
.judge_intro {
    margin-bottom: 34px;
}
.judge_kicker {
    margin-bottom: 14px; font-size: 12px; letter-spacing: .12em;
}
.judge_title {
    font-size: 36px; line-height: 1.08;
}
.judge_title span {
    margin-top: 8px; font-size: 22px; line-height: 1.28;
}
.judge_desc {
    margin-top: 20px; font-size: 16px; line-height: 1.7;
}
.judge_desc span {
    font-size: 13px; line-height: 1.6;
}
.judge_summary {
    gap: 16px; margin-bottom: 40px;
}
.judge_summary_card {
    padding: 22px 18px; border-radius: 18px;
}
.judge_summary_card h3 {
    font-size: 24px;
}
.judge_summary_card p {
    font-size: 15px;
}
.judge_block {
    margin-bottom: 40px;
}
.judge_block_head {
    margin-bottom: 16px; padding-bottom: 12px; align-items: center;
}
.judge_block_head h3 {
    font-size: 26px;
}
.judge_block_head p {
    font-size: 12px; letter-spacing: .12em;
}
.judge_eval_item {
    grid-template-columns: 1fr; gap: 12px; padding: 18px 16px; border-radius: 18px;
}
.judge_eval_num {
    text-align: left; font-size: 22px;
}
.judge_eval_txt h4 {
    font-size: 22px;
}
.judge_eval_txt p {
    font-size: 15px; line-height: 1.7;
}
.judge_panel,
.judge_notice_box {
    padding: 18px 16px; border-radius: 18px;
}
.judge_panel_notice {
    padding: 14px 14px; border-radius: 14px; font-size: 14px;
}
.judge_person {
    padding: 16px 14px; border-radius: 14px;
}
.judge_person strong {
    font-size: 18px;
}
.judge_person span,
.judge_notice_box li {
    font-size: 14px;
}
/* 하단 테이블 */
.judge_wrap {
    grid-template-columns: 1fr; gap: 28px;
}
.judge_snb {
    position: static;
}
.judge_snb_inner {
    flex-direction: row; gap: 20px; overflow-x: auto; padding-bottom: 6px; -ms-overflow-style: none; scrollbar-width: none;
}
.judge_snb_inner::-webkit-scrollbar {
    display: none;
}
.judge_snb_inner a {
    flex: 0 0 auto; white-space: nowrap; font-size: 16px;
}
.judge_table_type1 .judge_tr {
    grid-template-columns: 1.8fr .8fr .8fr .8fr .8fr .8fr 1.1fr;
}


/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 역대 수상자 ========================= */
.fns_tmawin .sub_tab_btns.row_actions label {
    font-size: 16px; padding: 12px 16px;
}
/*

.winner_card {
    padding: 16px; border-radius: 18px;
}
.winner_category {
    min-height: 30px; padding: 6px 12px; margin-bottom: 12px; font-size: 12px;
}
.winner_thumb {
    border-radius: 16px;
}
.winner_thumb::after {
    height: 46%;
}
.winner_name {
    left: 14px; right: 14px; bottom: 12px; font-size: 22px;
}

*/

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 공지사항 ========================= */
.t_notice_btn {
    padding: 20px 30px 20px 20px; gap: 20px; border-radius: 12px;
}
.t_notice_inner .t_notice_inner_txt {
    padding: 30px 20px;
}
.t_notice_tt {
    font-size: 20px; line-height: 1.4; font-weight: 800;
}
.t_notice_inner .t_notice_inner_txt {
    font-size: 17px;
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 콘텐츠 > 보도 자료 ========================= */
.year_btns {
    display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; margin-bottom:20px;
}
.year_btns::-webkit-scrollbar {
    display:none;
}
.year_btns label{
    flex:0 0 auto; white-space:nowrap; min-width:auto; padding:0 0 4px 0; font-size:18px; border-radius:0; background:none; border:none; border-bottom:2px solid transparent; font-weight: 500;
}
#pr_year_2026:checked ~ .year_btns label[for="pr_year_2026"],
#pr_year_2025:checked ~ .year_btns label[for="pr_year_2025"],
#pr_year_2024:checked ~ .year_btns label[for="pr_year_2024"],
#pr_year_2023:checked ~ .year_btns label[for="pr_year_2023"],
#pr_year_2022:checked ~ .year_btns label[for="pr_year_2022"],
#pr_year_2021:checked ~ .year_btns label[for="pr_year_2021"],
#pr_year_2020:checked ~ .year_btns label[for="pr_year_2020"],
#pr_year_2019:checked ~ .year_btns label[for="pr_year_2019"],
#pr_year_2018:checked ~ .year_btns label[for="pr_year_2018"] {
    background:none; border:none; color:#1a1a1a; border-bottom:2px solid #1a1a1a;font-weight: 700;
}
.pr_b_list, .pr_s_list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.pr_s_card {
    flex-direction: row; gap: 14px; align-items: center;
}
.pr_p_card .pr_s_thumb {
    aspect-ratio: 12 / 10;
}
.pr_s_card .pr_s_thumb {
    border-radius: 0; flex: 0 0 30%; aspect-ratio: 3 / 2;
}
.pr_s_list .pr_s_card .txt strong {
    font-size: 18px;
}

/* ========================= 콘텐츠 > 사진 및 영상 ========================= */
.midea_list {
    grid-template-columns: repeat(1, minmax(0px, 1fr));
}
.midea_card .midea_thumb {
    aspect-ratio: 12 / 10;
}
.midea_card .txt strong {
    font-size: 20px;
}


}




/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ************************* Tablet / 폴드 ************************* */
@media (min-width: 768px) and (max-width: 1024px) {

/* ========================= Basic ========================= */
:root { 
    --header_h: 78px;
}
.wrap_narrow {
    margin: 30px auto 0;
}
/* ========================= 공통 ========================= */
.tma_section { 
    padding: 60px 0 0;
}
.tma_wrap { 
    padding: 0 0 120px;
}
.tma_sub_wrap { 
    padding: 26px 0 80px;
}
.subwrap { 
    display: block; padding: 120px 0 0; width: min(1280px, calc(100% - 32px));
}
.about_intro {
    margin: 0 auto;
}
/* 페이지 넘버링 */
.pagination a {
    width: 34px; height: 34px; font-size: 16px;
}
/* ========================= Header ========================= */
/* ========================= 모바일 햄버거 ========================= */
.tma_header .inner { 
    width: calc(100% - 32px); display: flex; align-items: center; gap: 12px; justify-content: space-between;
}
.m_menu_btn { 
    display: block; justify-self: start;
}
.gnb { 
    display: none;
}
.tmalogo { 
    z-index: 2;
}
.tmalogo img,
.drawer_logo img { 
    width: 64px; display: block; 
}
.lang { 
    justify-self: end; font-size: 13px; gap: 6px; display: none;
}
.mobile_drawer,
.m_drawer_dim { 
    display: block;
}
.mobile_drawer { 
    background:none; width: 100%;
}
.tma_snb { 
    display: none;
}
.m_drawer_dim {
    background:#1a1a1a
}

/* ========================= Footer ========================= */
.tma_footer .info {
    margin: 20px auto;
}
.tma_footer .info .minfo {
    padding-bottom: 10px;
}
.tma_footer .info h2 {
    font-size: 18px;
}
.tma_footer .info .minfo {
    font-size: 15px;
}
.footer_bottom {
    padding: 13px 0;
}
.footer_title { 
    font-size: 18px;
}
.copyright {
    font-size: 11px;
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 메인 ========================= */
/* ========================= 메인 visual ========================= */

.m_visual_card.card1 {
    width: 32%; left: 0; top: 6%;
}
.m_visual_card.card2 {
    width: 16%; left: 14%; top: 30%;
}
.m_visual_card.card3 {
    width: 20%; right: 40%; top: 16%;
}
.m_visual_card.card4 {
    width: 30%; right: 2%; top: 0%;
}
.m_visual_card.card5 {
    width: 24%; left: 5%; bottom: 28%;
}
.m_visual_card.card6 {
    width: 20%; left: 42%; bottom: 35%;
}
.m_visual_card.card7 {
    width: 24%; right: 14%; bottom: 18%;
}
.m_visual_content {
    padding: 0px 0 120px;
}
/* ========================= 메인 행사 소개 ========================= */
.m_intro_text .headline small {
    margin-top: 6px;
}
.m_intro_grid {
    display: flex; flex-direction: column; gap: 40px;
}
.m_intro_text  {
    width: 100%; padding-bottom: 40px;
}
.m_intro_body {
    font-size: 18px; line-height: 1.8; margin-top: 40px; padding-bottom:40px; border-bottom:1px solid #d2d2d2
}
.m_intro_body .m_intro_btitle {
    font-size: 20px; font-weight: 600;
}
.sns_row {
    gap: 12px;
}
.sns_circle {
    width: 48px; height: 48px; font-size: 12px;
}
.sns_label {
    width: 100%; font-size: 16px;
}
.m_intro_grid .m_intro_body {
    padding-bottom: 0; border-bottom: none;
}
.poster_box {
    display: none;
}

/* ========================= 메인 홍보 영상 / 콘텐츠 ========================= */
.m_promo_card .promo_txt {
    left: 34px; bottom: 34px;
}

/* ========================= 메인 더팩트, 팬앤스타 배너 ========================= */
.m_banner_card .txt strong {
    font-size: 24px;
}
.m_banner_card .txt span {
    margin-top: 4px; font-size: 16px;
}

/* ========================= 메인 하단 팬앤스타 투표 ========================= */
.m_vote_live_item {
    justify-content: flex-start;
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 행사 소개 > About TMA ========================= */
.tma_about_wrap {
    gap: 50px;
}
.about_thumb {
    flex: 0 0 30%;
}
.about_text p {
    font-size: 16px; line-height: 1.5;
}
.about_bbox {
    padding-bottom: 50px;
}
.about_bottom_visual {
    margin: 50px 0 60px 0;
}
.about_closing p {
    line-height: 1.5;
}
/* ========================= 행사 소개 > 라인업 ========================= */
/* ========================= 행사 소개 > 관람방법 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 투표 안내 > 투표 현황 ========================= */
/* ========================= 투표 안내 > 심사 기준 ========================= */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 역대 수상자 ========================= */
.fns_tmawin .sub_tab_btns.row_actions label {
    font-size: 16px; padding: 12px 16px;
}

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 공지사항 ========================= */

/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ========================= 콘텐츠 > 보도 자료 ========================= */
.year_btns {
    display:flex; flex-wrap:nowrap; gap:20px; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; margin-bottom:20px;
}
.year_btns::-webkit-scrollbar {
    display:none;
}
.year_btns label{
    flex:0 0 auto; white-space:nowrap; min-width:auto; padding:0 0 4px 0; font-size:18px; border-radius:0; background:none; border:none; border-bottom:2px solid transparent; font-weight: 500;
}
#pr_year_2026:checked ~ .year_btns label[for="pr_year_2026"],
#pr_year_2025:checked ~ .year_btns label[for="pr_year_2025"],
#pr_year_2024:checked ~ .year_btns label[for="pr_year_2024"],
#pr_year_2023:checked ~ .year_btns label[for="pr_year_2023"],
#pr_year_2022:checked ~ .year_btns label[for="pr_year_2022"],
#pr_year_2021:checked ~ .year_btns label[for="pr_year_2021"],
#pr_year_2020:checked ~ .year_btns label[for="pr_year_2020"],
#pr_year_2019:checked ~ .year_btns label[for="pr_year_2019"],
#pr_year_2018:checked ~ .year_btns label[for="pr_year_2018"] {
    background:none; border:none; color:#1a1a1a; border-bottom:2px solid #1a1a1a;font-weight: 700;
}
.pr_p_card .pr_s_thumb {
    aspect-ratio: 14 / 12;
}
.pr_p_card .txt strong {
    font-size: 20px; line-height: 1.4;
}
.pr_s_list .pr_s_card .txt strong {
    font-size: 18px;
}

/* ========================= 콘텐츠 > 사진 및 영상 ========================= */
.midea_card .midea_thumb {
    aspect-ratio: 14 / 12;
}
.midea_card .txt strong {
    font-size: 20px;  line-height: 1.4;
}



}

