/*
 * G-STAR 2026 이벤트 페이지 스타일 (/2025/css/event_gstar2026.css)
 * 모든 규칙은 #gstar2026 안에서만 적용됩니다 (사이트 공통 CSS와 충돌 방지).
 * 필요한 외부 폰트: Pretendard, Cherry Bomb One, Gaegu, Outfit (index.html <head> 참고)
 */
@font-face { font-family: 'Cafe24Ssurround'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/Cafe24Ssurround.woff') format('woff'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Freesentation'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-4Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Freesentation'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-5Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Freesentation'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-7Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
#gstar2026 { --cyan: #08cee8;
    --dark: #1d1f22;
    --brown: #63381f;
    --brown-line: #b47b6c;
    --purple: #8e72f4;
    --f-round: 'Cafe24Ssurround', 'Pretendard Variable', sans-serif;
    /* Cafe24 쑥쑥 대체 폰트 (웹폰트 CDN 미제공) */
    --f-hand: 'Cafe24Ssukssuk', 'Gaegu', 'Pretendard Variable', sans-serif;
    --f-body: 'Freesentation', 'Pretendard Variable', sans-serif;
    --f-ui: 'Pretendard Variable', Pretendard, -apple-system, sans-serif;
    --f-en: 'Cherry Bomb One', var(--f-round); }
#gstar2026 * { box-sizing: border-box; margin: 0; padding: 0; }
#gstar2026 { -webkit-text-size-adjust: 100%; }
#gstar2026 { background: var(--dark); color: #333; font-family: var(--f-ui); font-weight: 400; line-height: normal; overflow-x: hidden; word-break: keep-all; }
#gstar2026 b, #gstar2026 strong { font-weight: 700; }
#gstar2026 img { display: block; max-width: 100%; }
#gstar2026 button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
#gstar2026 .inner { width: min(1200px, 100% - 32px); margin: 0 auto; position: relative; }
/* 이미지 스프라이트 크롭 */
#gstar2026 .crop { position: relative; overflow: hidden; }
#gstar2026 .crop > img { position: absolute; max-width: none; }
/* ========== 공통 섹션 타이틀 ========== */
#gstar2026 .sec-title { position: relative; width: min(684px, 100%); margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
#gstar2026 .ribbon { min-width: min(474px, 100%); height: 46px; padding: 0 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: url('/2025/img/event/gstar2026/ribbon-474.svg') center / 100% 100% no-repeat;
    font-family: var(--f-hand); font-size: 28px; line-height: 36px; color: #fff; white-space: nowrap; }
#gstar2026 .ribbon.wide { min-width: min(612px, 100%); background-image: url('/2025/img/event/gstar2026/ribbon-612.svg'); }
#gstar2026 .ttl { margin-top: 18px; isolation: isolate; font-family: var(--f-round); font-weight: 700; font-size: 46px; line-height: 57px; letter-spacing: -0.01em; }
#gstar2026 .ttl span { position: relative; display: block; color: transparent; -webkit-background-clip: text; background-clip: text; background-image: linear-gradient(180deg, #fff 28%, #d1cfff 92%); }
#gstar2026 .ttl span + span { margin-top: 5px; background-image: linear-gradient(180deg, #fff 0%, #f6c5ff 100%); }
/* 보라 외곽선 + 하단 그림자 */
#gstar2026 .ttl span::before { content: attr(data-t); position: absolute; inset: 0; z-index: -1;
    color: #7c5fe6; -webkit-text-stroke: 9px #7c5fe6; text-shadow: 0 5px 0 #4e35b5, 0 6px 6px rgba(40, 20, 120, .35); }
#gstar2026 .wave { width: 100%; height: 15px; margin-top: 18px; }
#gstar2026 .sec-desc { margin-top: 22px; font-family: var(--f-body); font-weight: 500; font-size: 28px; line-height: 35px; color: #333; text-align: center; }
#gstar2026 .deco { position: absolute; pointer-events: none; }
/* ========== HERO ========== */
#gstar2026 .hero { position: relative; height: 700px; background: var(--dark); }
#gstar2026 .hero-bg { position: absolute; inset: 0; overflow: hidden; }
#gstar2026 .hero-bg img { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .hero-bg::before, #gstar2026 .hero-bg::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(0deg, var(--dark) 15%, rgba(29, 31, 34, 0)); }
#gstar2026 .hero-bg::before { height: 348px; }
#gstar2026 .hero-bg::after { height: 417px; }
#gstar2026 .hero-char { --w: min(825px, 43vw); position: absolute; right: 0; bottom: calc(var(--w) * -0.108); width: var(--w); transform: scaleX(-1); z-index: 1; }
#gstar2026 .hero-text { position: relative; z-index: 2; padding-top: 302px; }
#gstar2026 .hero h1 { font-family: 'Outfit', var(--f-ui); font-weight: 800; font-size: 100px; line-height: 90px; letter-spacing: -2.5px;
    color: var(--cyan); text-transform: uppercase; text-shadow: 0 1px 28px rgba(0, 0, 0, .25); }
#gstar2026 .hero h2 { margin-top: 22px; font-size: 32px; line-height: 46px; font-weight: 700; letter-spacing: -0.7px; color: #fff; }
#gstar2026 .hero p { margin-top: 17px; max-width: 685px; font-size: 17px; line-height: 25px; color: #b1b1b1; }
/* ========== S01 : 게임개발자 소개 ========== */
#gstar2026 .intro { position: relative; height: 896px; margin-top: calc(100vw * 0.1125); }
#gstar2026 .intro-cloud-top { position: absolute; left: 0; right: 0; top: calc(100vw * -0.0953); aspect-ratio: 1921 / 381; overflow: hidden; z-index: 0; }
#gstar2026 .intro-cloud-top img { width: 100%; height: 127.27%; max-width: none; }
#gstar2026 .intro-tint { position: absolute; left: 0; right: 0; top: -32px; height: 538px; background: linear-gradient(180deg, rgba(97, 101, 255, 0) 2.5%, #afb1ff 119%); }
#gstar2026 .intro-bg { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(217, 217, 255, 0) calc(100vw * 0.0156), #d9d9ff calc(100vw * 0.094), #ececff 37%, #fff 100%); }
#gstar2026 .intro-body { position: relative; z-index: 3; padding-top: 230px; }
#gstar2026 .intro .sec-title { z-index: 4; }
#gstar2026 .intro .ttl { margin-top: 18px; }
#gstar2026 .deco-feather { left: calc(100% - 16px); top: 58px; width: 148px; height: 143px; }
#gstar2026 .deco-sign { left: calc(50% - 715px); top: 253px; width: 199.5px; height: 191px; transform: translate(21px, 23px) rotate(15deg); z-index: 1; }
#gstar2026 .deco-sign img { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .deco-chest { left: calc(50% + 605px); top: 261px; width: 253px; height: 207px; transform: translate(11px, 14px) rotate(6.81deg); z-index: 1; }
#gstar2026 .intro-cloud { position: absolute; left: 50%; top: 227px; width: max(134.8%, 1200px); height: 669px; transform: translateX(-50%); z-index: 2; }
#gstar2026 .intro-cloud img { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .scroll { position: relative; z-index: 3; width: min(766px, 100%); aspect-ratio: 766 / 192; margin: 19px auto 0; display: flex; align-items: center; justify-content: center; }
#gstar2026 .scroll img { position: absolute; inset: 0; width: 100%; height: 100%; }
#gstar2026 .scroll p { position: relative; padding: 4% 9% 0; white-space: nowrap; font-family: var(--f-hand); font-size: 30px; line-height: 34px; color: var(--brown); text-align: center; }
/* ========== JOURNEY : 퀘스트 지도 + 부스 ========== */
#gstar2026 .journey { position: relative; overflow: hidden; background: #fff; padding-bottom: 134px; }
#gstar2026 .journey-bg { position: absolute; inset: 0; opacity: .41; background: url('/2025/img/event/gstar2026/journey-bg.webp') 50% 100% / 158% auto no-repeat; }
#gstar2026 .journey::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 240px; background: linear-gradient(#fff, rgba(255, 255, 255, 0)); z-index: 0; }
#gstar2026 .journey > .inner { z-index: 1; }
#gstar2026 .deco-potion { left: calc(100% - 51px); top: 112px; width: 128.6px; height: 124.3px; transform: rotate(15deg); }
#gstar2026 .map { position: relative; width: min(1275px, 100%); aspect-ratio: 1275 / 792.3; margin: 21px auto 0; container-type: inline-size; }
#gstar2026 .map > img { width: 100%; height: 100%; object-fit: contain; }
#gstar2026 .quest { position: absolute; width: 14.11%; aspect-ratio: 180 / 221.7; }
#gstar2026 .quest img { position: absolute; inset: 0; width: 100%; height: 100%; }
#gstar2026 .quest div { position: absolute; left: 0; right: 0; top: 20.4%; display: flex; flex-direction: column; align-items: center; gap: .27cqw; color: var(--brown); text-align: center; }
#gstar2026 .quest.one-line div { top: 26.4%; }
#gstar2026 .quest b { font-family: var(--f-en); font-weight: 400; font-size: 2.01cqw; line-height: 1.13; }
#gstar2026 .quest span { font-family: var(--f-round); font-weight: 700; font-size: 1.61cqw; line-height: 1.125; letter-spacing: -0.02em; }
#gstar2026 .pin { position: absolute; width: 4.38%; aspect-ratio: 55.9 / 69.1; }
#gstar2026 .pin img { width: 100%; height: 100%; }
#gstar2026 .booth-wrap { margin-top: 31px; }
#gstar2026 .deco-scroll { left: -92px; top: 140px; width: 108px; height: 104px; }
#gstar2026 .booths { position: relative; width: min(1281px, 100%); margin: 81px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
#gstar2026 .road { position: absolute; left: 50%; top: 66px; width: 100vw; height: 131px; transform: translateX(-50%); }
#gstar2026 .road > img { width: 100%; height: 100%; }
#gstar2026 .road .pin { width: 40px; }
#gstar2026 .booth { position: relative; z-index: 1; aspect-ratio: 413 / 325; border: 5px solid var(--brown-line); border-radius: 15px;
    background: #f8e3c4 url('/2025/img/event/gstar2026/booth-bg.webp') 0 0 / 389.01% 100% no-repeat;
    display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 32px 23px 0; }
#gstar2026 .booth:nth-child(3) { background-position: 32.7% 0; }
#gstar2026 .booth:nth-child(4) { background-position: 79.7% 0; }
#gstar2026 .booth .photo { width: 100%; aspect-ratio: 355 / 215; border-radius: 8px; overflow: hidden; }
#gstar2026 .booth .photo img { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .booth strong { font-family: var(--f-round); font-size: 28px; line-height: 34px; letter-spacing: -0.02em; color: var(--brown); }
#gstar2026 .year { position: absolute; left: 50%; top: -26px; transform: translateX(-50%); padding: 8px 28px; border-radius: 50px; background: var(--brown); font-family: var(--f-en); font-size: 35px; line-height: 34px; color: #fff; }
/* ========== EVENT : 굿즈 + 수강생 게임 ========== */
#gstar2026 .event { position: relative; overflow: hidden; background: #393547; padding: 114px 0 116px; }
#gstar2026 .event-bg { position: absolute; inset: 0; background: url('/2025/img/event/gstar2026/event-bg.webp') center / cover; mix-blend-mode: multiply; opacity: .25; }
#gstar2026 .event::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 323px; background: linear-gradient(180deg, rgba(29, 31, 34, 0), var(--dark)); }
#gstar2026 .event > .inner { z-index: 1; }
#gstar2026 .events { width: min(1060px, 100%); margin: 67px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#gstar2026 .ev { position: relative; min-height: 471px; padding: 20px 20px 24px; border: 2px solid var(--brown-line); border-radius: 15px;
    background: #b47b6c url('/2025/img/event/gstar2026/event-card.webp') center / cover;
    display: flex; flex-direction: column; align-items: center; text-align: center; }
#gstar2026 .ev-tag { padding: 10px 15px; border-radius: 50px; background: var(--brown); font-family: var(--f-en); font-size: 30px; line-height: 29px; color: #fff7eb; }
#gstar2026 .ev-img { width: min(222px, 100%); aspect-ratio: 798 / 675; margin-top: 12px; }
#gstar2026 .ev-img > img:only-child:not([style]) { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .ev h3 { margin-top: 8px; font-family: var(--f-round); font-size: 25px; line-height: 30px; letter-spacing: -0.02em; color: var(--brown); }
#gstar2026 .ev hr { width: min(264px, 100%); height: 4px; margin: 10px 0 8px; border: 0; background: url('/2025/img/event/gstar2026/card-divider.svg') center / 100% 100% no-repeat; }
#gstar2026 .ev p { font-family: var(--f-body); font-size: 19px; line-height: 24px; letter-spacing: -0.02em; color: #333; }
#gstar2026 .ev small { display: block; margin-top: 4px; font-family: var(--f-body); font-weight: 700; font-size: 17px; line-height: 25px; color: #9f7267; }
#gstar2026 .gem-pink { left: -62px; top: 23px; width: 104.7px; height: 97.4px; transform: translate(11px, 12px) rotate(-15deg); }
#gstar2026 .gem-blue { left: -102px; top: 112px; width: 76.1px; height: 70.8px; transform: translate(8px, 9px) rotate(15deg); }
#gstar2026 .gem-green { left: 81.8%; top: 60.7%; width: 142.2px; height: 132.2px; transform: translate(15px, 16px) rotate(15deg); }
#gstar2026 .games-wrap { margin-top: 130px; }
#gstar2026 .games-wrap .sec-desc { color: #eee; font-size: 28px; }
#gstar2026 .games-wrap .sec-desc b { display: block; font-size: 30px; font-weight: 700; color: #fff; }
#gstar2026 .games-wrap .sec-desc b em { font-style: normal; color: #ffd997; }
#gstar2026 .deco-magnifier { left: -92px; top: 140px; width: 119px; height: 122px; }
#gstar2026 .games { width: min(1280px, 100%); margin: 77px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 20px; }
#gstar2026 .game { width: calc((100% - 60px) / 4); }
#gstar2026 .game .thumb { aspect-ratio: 305 / 200; border-radius: 10px; overflow: hidden; background: #000; }
#gstar2026 .game .thumb img { width: 100%; height: 100%; object-fit: cover; }
#gstar2026 .game p { margin-top: 10px; padding: 0 10px; font-family: var(--f-body); font-weight: 500; font-size: 19px; line-height: 24px; color: #fff; }
#gstar2026 .cta { display: table; margin: 128px auto 0; padding: 20px 40px; border-radius: 10px;
    background: linear-gradient(128deg, #8e72f4 0%, #411fca 102%);
    font-size: 20px; font-weight: 700; line-height: 1.27; letter-spacing: -0.6px; color: #fff; text-decoration: none;
    transition: transform .2s, box-shadow .2s; }
#gstar2026 .cta:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(110, 80, 240, .4); }
/* ========== FAQ ========== */
#gstar2026 .faq { background: var(--dark); padding: 125px 0 114px; }
#gstar2026 .faq-list { width: min(1282px, 100%); margin: 77px auto 0; display: flex; flex-direction: column; gap: 10px; }
#gstar2026 .faq details { border-radius: 15px; background: #2a2c30; }
#gstar2026 .faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 23px 52px; cursor: pointer; }
#gstar2026 .faq summary::-webkit-details-marker { display: none; }
#gstar2026 .faq summary .q { display: flex; align-items: center; gap: 14px; text-align: left; }
#gstar2026 .faq summary .q i { font-style: normal; font-weight: 500; font-size: 28px; line-height: 1.27; color: #9679ff; }
#gstar2026 .faq summary .q span { font-weight: 700; font-size: 23px; line-height: 1.27; letter-spacing: -0.01em; color: #fff; }
#gstar2026 .faq summary::after { content: ''; flex: none; width: 18px; height: 11px; background: url('/2025/img/event/gstar2026/chevron.svg') center / contain no-repeat; transition: transform .25s; }
#gstar2026 .faq details[open] summary::after { transform: rotate(180deg); }
#gstar2026 .faq details { overflow: hidden; }
#gstar2026 .faq .a { display: flex; align-items: flex-start; gap: 14px; padding: 4px 52px 27px; color: #fff; font-weight: 500; }
#gstar2026 .faq .a b { flex: none; font-weight: 500; font-size: 28px; line-height: 1.27; }
#gstar2026 .faq .a p { padding-top: 4px; font-size: 19px; line-height: 1.55; letter-spacing: -0.01em; }
/* ========== 상담 폼 타이틀 (폼 본체는 기존 사이트 include) ========== */
#gstar2026 .apply-title { background: #fff; padding: 103px 0 0; }
#gstar2026 .apply-title .inner { width: min(1178px, 100% - 32px); }
#gstar2026 .apply-title h2 { font-size: 24px; font-weight: 700; letter-spacing: -0.48px; color: #333; }
/* ========== 모션 ========== */
#gstar2026 .reveal { opacity: 0; translate: 0 40px; transition: opacity .9s ease, translate .9s cubic-bezier(.2, .7, .2, 1), scale .9s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--d, 0s); }
#gstar2026 .reveal.zoom { translate: 0 0; scale: .92; }
#gstar2026 .reveal.in { opacity: 1; translate: 0 0; scale: 1; }
#gstar2026 .reveal .wave { clip-path: inset(0 100% 0 0); transition: clip-path 1.4s cubic-bezier(.6, 0, .3, 1) .35s; }
#gstar2026 .reveal.in .wave { clip-path: inset(0 0 0 0); }
@keyframes gs-heroUp { from { opacity: 0; translate: 0 40px; } to { opacity: 1; translate: 0 0; } }
@keyframes gs-heroChar { from { opacity: 0; translate: 80px 30px; } to { opacity: 1; translate: 0 0; } }
@keyframes gs-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
@keyframes gs-floatSm { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes gs-drift { from { translate: -20px 0; } to { translate: 20px 0; } }
@keyframes gs-pinBounce { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes gs-shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }
#gstar2026 .hero-text > * { animation: gs-heroUp 1s cubic-bezier(.2, .7, .2, 1) both; }
#gstar2026 .hero-text > h2 { animation-delay: .2s; }
#gstar2026 .hero-text > p { animation-delay: .35s; }
#gstar2026 .hero-char { animation: gs-heroChar 1.1s cubic-bezier(.2, .7, .2, 1) .3s both, gs-float 4.5s ease-in-out 1.4s infinite; }
#gstar2026 .deco { animation: gs-float 4s ease-in-out infinite; }
#gstar2026 .deco-chest, #gstar2026 .gem-blue, #gstar2026 .deco-potion { animation-duration: 5s; animation-delay: -1.5s; }
#gstar2026 .gem-green, #gstar2026 .deco-magnifier { animation-duration: 4.6s; animation-delay: -2.4s; }
#gstar2026 .intro-cloud { animation: gs-drift 14s ease-in-out infinite alternate; }
#gstar2026 .map.reveal .quest { opacity: 0; scale: .6; translate: 0 -30px; transition: opacity .5s ease, scale .6s cubic-bezier(.3, 1.6, .5, 1), translate .6s cubic-bezier(.3, 1.6, .5, 1); transition-delay: var(--d, 0s); }
#gstar2026 .map.in .quest { opacity: 1; scale: 1; translate: 0 0; }
#gstar2026 .map.reveal .pin { opacity: 0; transition: opacity .4s ease 1.3s; }
#gstar2026 .map.in .pin { opacity: 1; animation: gs-pinBounce 1.8s ease-in-out 1.3s infinite; }
#gstar2026 .map.in .pin:nth-of-type(2n) { animation-delay: 1.7s; }
#gstar2026 .booth.reveal, #gstar2026 .ev.reveal { transition: opacity .9s ease var(--d, 0s), translate .6s cubic-bezier(.2, .7, .2, 1) var(--d, 0s), scale .9s var(--d, 0s), box-shadow .3s; }
#gstar2026 .booth:hover, #gstar2026 .ev:hover { translate: 0 -8px; box-shadow: 0 16px 30px rgba(60, 30, 10, .25); }
#gstar2026 .game .thumb img { transition: scale .5s ease; }
#gstar2026 .game:hover .thumb img { scale: 1.06; }
#gstar2026 .cta { position: relative; overflow: hidden; }
#gstar2026 .cta::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); animation: gs-shine 3.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  #gstar2026 *, #gstar2026 *::before, #gstar2026 *::after { animation: none !important; transition: none !important; }
  #gstar2026 .reveal, #gstar2026 .map.reveal .quest, #gstar2026 .map.reveal .pin { opacity: 1; translate: none; scale: none; }
  #gstar2026 .reveal .wave { clip-path: none; }
}

/* ========== 반응형 ========== */
@media (max-width: 1440px) {
  #gstar2026 .deco-sign { left: 2%; transform: translate(0, 23px) rotate(15deg) scale(.8); }
  #gstar2026 .deco-chest { left: auto; right: 0; transform: translate(0, 14px) rotate(6.81deg) scale(.8); }
}

@media (max-width: 1280px) {
  #gstar2026 .hero h1 { font-size: 80px; line-height: 74px; }
  #gstar2026 .deco-feather, #gstar2026 .deco-potion { transform: scale(.75); }
  #gstar2026 .deco-scroll, #gstar2026 .deco-magnifier { left: -40px; transform: scale(.75); }
  #gstar2026 .gem-blue { display: none; }
  #gstar2026 .gem-pink { left: -40px; transform: rotate(-15deg) scale(.8); }
}

@media (max-width: 1024px) {
  #gstar2026 .hero { height: 620px; }
  #gstar2026 .hero-text { padding-top: 220px; }
  #gstar2026 .hero h1 { font-size: 64px; line-height: 60px; letter-spacing: -1.5px; }
  #gstar2026 .hero h2 { font-size: 26px; line-height: 38px; }
  #gstar2026 .hero-char { --w: 48vw; }
  #gstar2026 .ttl { font-size: 38px; line-height: 48px; }
  #gstar2026 .sec-desc { font-size: 22px; line-height: 30px; }
  #gstar2026 .games-wrap .sec-desc { font-size: 22px; }
  #gstar2026 .games-wrap .sec-desc b { font-size: 24px; }
  #gstar2026 .deco-sign, #gstar2026 .deco-chest { display: none; }
  #gstar2026 .booth strong { font-size: 22px; }
  #gstar2026 .year { font-size: 28px; padding: 6px 22px; top: -22px; }
  #gstar2026 .events { gap: 14px; }
  #gstar2026 .scroll p { font-size: 24px; line-height: 30px; }
  #gstar2026 .ev h3 { font-size: 21px; line-height: 26px; }
  #gstar2026 .ev p { font-size: 16px; line-height: 21px; }
  #gstar2026 .ev small { font-size: 15px; }
  #gstar2026 .gem-green { display: none; }
  #gstar2026 .game { width: calc((100% - 20px) / 2); }
}

@media (max-width: 768px) {
  /* 모바일 히어로: 캐릭터를 타이틀 오른쪽에 배치 */
  #gstar2026 .hero { height: auto; padding-bottom: 130px; }
  #gstar2026 .hero-text { padding-top: 108px; }
  #gstar2026 .hero h1 { max-width: 62%; font-size: 10.5vw; line-height: 1; letter-spacing: -0.03em; }
  #gstar2026 .hero h2 { margin-top: 22px; font-size: 22px; line-height: 32px; }
  #gstar2026 .hero p { font-size: 15px; line-height: 23px; }
  #gstar2026 .hero p br { display: none; }
  #gstar2026 .hero-bg img { object-position: 40% top; }
  #gstar2026 .hero-bg::before { height: 100%; background: linear-gradient(0deg, var(--dark) 25%, rgba(29, 31, 34, .55) 70%, rgba(29, 31, 34, .3)); }
  #gstar2026 .hero-char { --w: 50vw; top: 96px; bottom: auto; right: -3vw; -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 92%); mask-image: linear-gradient(180deg, #000 62%, transparent 92%); }
  #gstar2026 .booth, #gstar2026 .booth:nth-child(n) { background-position: 32.7% 0; }
  #gstar2026 .intro { height: auto; margin-top: 0; padding-bottom: 180px; }
  #gstar2026 .intro-cloud-top { left: -60%; right: -60%; top: -100px; }
  #gstar2026 .intro-bg { background: linear-gradient(180deg, rgba(217, 217, 255, 0) 0, #d9d9ff 60px, #ececff 30%, #fff 100%); }
  #gstar2026 .intro-body { padding-top: 140px; }
  #gstar2026 .intro-cloud { top: 180px; height: calc(100% - 180px); min-width: 900px; }
  #gstar2026 .ribbon, #gstar2026 .ribbon.wide { min-width: 0; max-width: 100%; height: auto; min-height: 38px; padding: 6px 28px; font-size: 18px; line-height: 1.3; white-space: normal; }
  #gstar2026 .ttl { margin-top: 14px; font-size: clamp(21px, 6.4vw, 28px); line-height: 1.3; }
  #gstar2026 .ttl span::before { -webkit-text-stroke-width: 6px; text-shadow: 0 3px 0 #4e35b5; }
  #gstar2026 .wave { margin-top: 14px; height: 10px; }
  #gstar2026 .sec-desc { margin-top: 16px; font-size: 17px; line-height: 25px; }
  #gstar2026 .sec-desc br { display: none; }
  #gstar2026 .scroll { width: 100%; aspect-ratio: auto; min-height: 120px; padding: 30px 0 26px; }
  #gstar2026 .scroll p { white-space: normal; font-size: 16px; line-height: 22px; padding: 0 13%; }
  #gstar2026 .scroll p br { display: none; }
  #gstar2026 .deco-feather, #gstar2026 .deco-potion { left: auto; right: -6px; top: 34px; transform: scale(.45); transform-origin: top right; }
  #gstar2026 .deco-scroll, #gstar2026 .deco-magnifier { left: -8px; top: 100px; transform: scale(.45); transform-origin: top left; }
  #gstar2026 .journey { padding-bottom: 80px; }
  /* 모바일 지도: 양옆을 잘라 크게 보여주고, 퀘스트 표지판은 더 키움 */
  #gstar2026 .map { width: 148%; max-width: none; margin: 76px 0 0 -32%; }
  #gstar2026 .quest { z-index: 1; transform: scale(1.45); transform-origin: 50% 100%; }
  /* 모바일: 팻말과 겹치는 지도 핀 숨김 */
  #gstar2026 .map .pin { display: none; }
  #gstar2026 .booths { grid-template-columns: 1fr; gap: 44px; max-width: 413px; margin-top: 60px; }
  #gstar2026 .road { display: none; }
  #gstar2026 .event { padding: 80px 0 90px; }
  #gstar2026 .events { grid-template-columns: 1fr; gap: 20px; max-width: 340px; margin-top: 44px; }
  #gstar2026 .ev { min-height: 0; }
  #gstar2026 .ev h3 { font-size: 24px; line-height: 30px; }
  #gstar2026 .ev p { font-size: 17px; line-height: 23px; }
  #gstar2026 .gem-pink { left: -20px; top: 10px; transform: rotate(-15deg) scale(.55); transform-origin: top left; }
  #gstar2026 .games-wrap { margin-top: 90px; }
  #gstar2026 .games-wrap .sec-desc { font-size: 17px; }
  #gstar2026 .games-wrap .sec-desc b { font-size: 19px; }
  #gstar2026 .games { margin-top: 44px; gap: 22px 12px; }
  #gstar2026 .game p { padding: 0 4px; font-size: 14px; line-height: 19px; }
  #gstar2026 .cta { margin-top: 64px; padding: 16px 24px; font-size: 16px; }
  #gstar2026 .faq { padding: 80px 0; }
  #gstar2026 .faq-list { margin-top: 44px; }
  #gstar2026 .faq summary { padding: 18px 20px; }
  #gstar2026 .faq summary .q { gap: 10px; align-items: flex-start; }
  #gstar2026 .faq summary .q i { font-size: 20px; line-height: 1.2; }
  #gstar2026 .faq summary .q span { font-size: 16px; line-height: 1.5; }
  #gstar2026 .faq .a { gap: 10px; padding: 0 20px 20px; }
  #gstar2026 .faq .a b { font-size: 20px; line-height: 1.2; }
  #gstar2026 .faq .a p { padding-top: 0; font-size: 15px; line-height: 1.6; }
  #gstar2026 .apply-title { padding-top: 70px; }
  #gstar2026 .apply-title h2 { font-size: 20px; }
}

@media (max-width: 480px) {
  #gstar2026 .game { width: 100%; }
  #gstar2026 .game p { font-size: 15px; }
}


