#dandan2026 {
    --dd-ink: #19213f;
    --dd-muted: #57556b;
    --dd-purple: #87469f;
    --dd-teal: #007d91;
    --dd-pink: #ed526c;
    --dd-lavender: #dcdbee;
    --dd-yellow: #ffe778;
    --dd-line: #e4ddeb;
    width: 100%;
    color: var(--dd-ink);
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -1px;
    overflow-wrap: break-word;
    text-align: left;
    isolation: isolate;
    overflow: clip;
}
#dandan2026 *, #dandan2026 *::before, #dandan2026 *::after { box-sizing: border-box; }
/* reset.css의 태그별 고정값을 상속으로 연결하고, 아래에서 필요한 크기만 지정합니다. */
#dandan2026 :where(div, section, article, nav, figure, h2, h3, h4, p, dl, dt, dd, ul, ol, li, span, small, strong, b, em, a, button, summary, dialog) { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; }
#dandan2026 :where(h2, h3, h4, p, figure, dl, dd, ul, ol) { margin: 0; padding: 0; }
#dandan2026 :where(ul, ol) { list-style: none; }
#dandan2026 a { color: inherit; text-decoration: none; }
#dandan2026 button { margin: 0; font: inherit; letter-spacing: inherit; cursor: pointer; }
#dandan2026 img { display: block; width: 100%; height: 100%; object-fit: cover; }
#dandan2026 :where(button, a, summary):focus-visible { outline: 3px solid var(--dd-teal); outline-offset: 5px; }
#dandan2026 [hidden] { display: none !important; }
#dandan2026 :where(section, article)[id] { scroll-margin-top: 100px; }
/* 기존 .sub_inner(최대 1440px, 폭 94%)를 그대로 사용합니다. */
#dandan2026 .dd-inner { width: 100%; margin-inline: auto; }
#dandan2026 .dd-kicker { font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
#dandan2026 .dd-spark { display: inline-block; font-size: 25px; font-weight: 400; line-height: 1; }
#dandan2026 .dd-arrow { display: inline-block; margin-left: 14px; font-family: Arial, sans-serif; font-size: 23px; line-height: 1; }
#dandan2026 .dd-hero { --dd-float-x: 12px; --dd-float-y: -20px; position: relative; padding: 40px 0 0; border-radius: 20px; background: var(--dd-lavender); overflow: hidden; isolation: isolate; }
#dandan2026 .dd-hero::before { content: ""; position: absolute; z-index: 0; width: 510px; height: 510px; top: -335px; right: -90px; border: 110px solid #fff2c5; border-radius: 50%; transform: rotate(-25deg); pointer-events: none; }
#dandan2026 .dd-hero::after { content: ""; position: absolute; z-index: 0; width: 400px; height: 170px; bottom: 100px; left: -300px; border: 36px solid #8dcfd1; border-radius: 50%; transform: rotate(-32deg); pointer-events: none; }
#dandan2026 .dd-hero-art { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
#dandan2026 .dd-hero-art::before { content: ""; position: absolute; width: 240px; height: 340px; right: -190px; bottom: -130px; border: 36px solid #f0b9cd; border-radius: 50%; transform: rotate(32deg); }
#dandan2026 .dd-hero-star { position: absolute; display: block; line-height: 1; }
#dandan2026 .dd-hero-star-teal { top: 28px; right: 5%; color: var(--dd-teal); font-size: 38px; }
#dandan2026 .dd-hero-star-purple { top: 36px; left: 47%; color: var(--dd-purple); font-size: 23px; }
#dandan2026 .dd-hero-star-yellow { bottom: 32%; left: 18px; color: #fff2a8; font-size: 32px; }
#dandan2026 .dd-hero-dot { position: absolute; display: block; width: 10px; height: 10px; border-radius: 50%; }
#dandan2026 .dd-hero-dot-pink { top: 48px; left: 12%; background: var(--dd-pink); }
#dandan2026 .dd-hero-dot-teal { right: 11%; bottom: 27%; width: 7px; height: 7px; background: #35b6b9; }
#dandan2026 .dd-hero-dot-purple { left: 46%; bottom: 22%; width: 8px; height: 8px; background: #a47cbb; }
#dandan2026 .dd-hero-orbit { position: absolute; top: 20%; left: -32px; width: 100px; height: 100px; border: 1px solid #ffffffa6; border-radius: 50%; }
#dandan2026 .dd-hero > .dd-inner { padding-inline: 40px; }
#dandan2026 .dd-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-bottom: 30px; }
#dandan2026 .dd-hero-brand { width: 100%; max-width: 520px; min-width: 0; margin-inline: auto; text-align: center; }
#dandan2026 .dd-hero-kicker { display: flex; justify-content: center; align-items: center; gap: 9px; color: var(--dd-purple); font-size: 16px; font-weight: 600; }
#dandan2026 .dd-hero-kicker::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--dd-teal); }
/* 제공된 로고의 흰 배경과 1024 × 563 원본 비율을 유지합니다. */
#dandan2026 .dd-hero-title { width: min(100%, 480px); aspect-ratio: 1024 / 563; margin: 16px auto 0; border-radius: 12px; overflow: hidden; }
#dandan2026 .dd-hero-logo { width: 100%; height: auto; object-fit: contain; object-position: center; }
#dandan2026 .dd-hero-logo-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 16px; color: var(--dd-purple); font-size: clamp(40px, 6vw, 76px); font-weight: 700; line-height: 1.1; letter-spacing: -.06em; }
#dandan2026 .dd-hero-en { margin-top: 10px; padding-top: 10px; border-top: 1px solid #b9abc9; color: #615a70; font-size: 12px; font-weight: 600; letter-spacing: .1em; }
#dandan2026 .dd-hero-en span { margin-inline: 5px; color: var(--dd-pink); }
#dandan2026 .dd-hero-copy { position: relative; padding: 0; }
#dandan2026 .dd-hero-flower { display: inline-block; margin-bottom: 12px; color: var(--dd-teal); font-size: 28px; line-height: 1; }
#dandan2026 .dd-hero-copy h3 { font-size: 27px; line-height: 1.5; letter-spacing: -.04em; font-weight: 600; }
#dandan2026 .dd-hero-copy h3 em { position: relative; display: inline-block; isolation: isolate; color: var(--dd-ink); font-style: normal; }
#dandan2026 .dd-hero-copy h3 em::after { content: ""; position: absolute; z-index: -1; right: -3px; bottom: .08em; left: -3px; height: .32em; border-radius: 50% 35%; background: #fff0a6; transform: rotate(-2deg); }
#dandan2026 .dd-hero-copy > p { margin-top: 16px; max-width: 440px; color: #615a70; font-size: 17px; line-height: 1.7; }
#dandan2026 .dd-hero-cta { display: inline-flex; justify-self: start; align-items: center; margin-top: 20px; padding-bottom: 6px; border-bottom: 1px solid var(--dd-ink); font-size: 16px; font-weight: 600; }
#dandan2026 .dd-hero-cta:hover .dd-arrow { transform: translateY(3px); }
#dandan2026 .dd-hero-meta { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 20px 0; border-top: 1px solid #b9abc9; }
#dandan2026 .dd-date { font-size: 27px; font-weight: 600; letter-spacing: -1px; line-height: 1.4; white-space: nowrap; }
#dandan2026 .dd-date small { margin: 0 5px; font-size: 14px; font-weight: 400; vertical-align: middle; }
#dandan2026 .dd-venue { font-size: 18px; font-weight: 600; line-height: 1.5; }
#dandan2026 .dd-venue small { display: block; margin-top: 4px; font-size: 15px; font-weight: 400; color: #6f637f; }
#dandan2026 .dd-free { display: inline-flex; padding: 8px 16px; color: #fff; background: var(--dd-purple); border-radius: 30px; font-size: 15px; font-weight: 600; white-space: nowrap; }
#dandan2026 .dd-section-title { margin-top: 12px; font-size: clamp(21px, 3vw, 31px); line-height: 1.4; font-weight: 600; letter-spacing: -.04em; }
#dandan2026 .dd-programs { padding: 36px 0 40px; background: #fff; }
#dandan2026 .dd-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
#dandan2026 .dd-section-head > p { color: var(--dd-muted); font-size: 15px; }
#dandan2026 .dd-program-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 14px; padding: 12px 0; border-top: 1px solid var(--dd-line); border-bottom: 1px solid var(--dd-line); }
#dandan2026 .dd-filter { padding: 10px 18px; border: 1px solid transparent; border-radius: 25px; color: #555; background: #eceeef; font-size: 15px; font-weight: 600; transition: background .2s, color .2s; }
#dandan2026 .dd-filter[aria-pressed="true"] { color: #fff; background: var(--dd-purple); }
#dandan2026 .dd-filter:hover { border-color: #c8bdd3; }
#dandan2026 .dd-filter small { margin-right: 5px; font-size: 13px; letter-spacing: 0; }
#dandan2026 .dd-booking-note { color: var(--dd-muted); font-size: 14px; line-height: 1.6; }
#dandan2026 .dd-program { --dd-accent: var(--dd-purple); margin-top: 48px; padding: 0; border: 0; border-radius: 0; }
#dandan2026 .dd-program:first-of-type { margin-top: 48px; }
#dandan2026 .dd-program[data-dd-category="children"] { --dd-accent: var(--dd-teal); }
#dandan2026 .dd-program[data-dd-category="concert"] { --dd-accent: #db496c; }
#dandan2026 .dd-program-heading { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 24px; align-items: start; }
#dandan2026 .dd-day-stamp { padding: 12px 8px; border-radius: 10px; color: var(--dd-accent); background: #f5f1f8; text-align: center; }
#dandan2026 .dd-day-stamp b { display: block; font-size: 27px; font-weight: 600; line-height: 1.3; letter-spacing: -1px; }
#dandan2026 .dd-day-stamp span { display: block; margin-top: 8px; font-size: 15px; font-weight: 400; }
#dandan2026 .dd-program-heading-main { min-width: 0; }
#dandan2026 .dd-program-label { color: var(--dd-accent); font-size: 14px; font-weight: 500; }
#dandan2026 .dd-program-heading h3 { margin-top: 6px; font-size: clamp(21px, 3vw, 31px); font-weight: 600; line-height: 1.4; letter-spacing: -.04em; }
#dandan2026 .dd-program-heading-main > p { margin-top: 12px; color: var(--dd-muted); font-size: 17px; word-break: keep-all; }
#dandan2026 .dd-program-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 16px; }
#dandan2026 .dd-program-free { color: var(--dd-purple); font-size: 14px; font-weight: 600; }
#dandan2026 .dd-booking { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; padding: 10px 18px; border-radius: 8px; color: #fff; background: var(--dd-purple); font-size: 15px; font-weight: 600; }
#dandan2026 .dd-booking:hover { background: #674080; }
#dandan2026 .dd-program-body { margin-top: 24px; }
#dandan2026 .dd-program-body > .dd-lineup-heading:first-child { margin-top: 0; }
#dandan2026 .dd-hero-actions { display: flex; flex-wrap: wrap; gap: 0 24px; }
#dandan2026 .dd-grid { display: grid; gap: 24px; }
#dandan2026 .dd-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#dandan2026 .dd-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#dandan2026 .dd-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#dandan2026 .dd-artist { display: flex; flex-direction: column; width: 100%; padding: 0; border: 0; border-radius: 0; color: var(--dd-ink); background: transparent; text-align: left; appearance: none; }
#dandan2026 .dd-photo { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; border: 1px solid #ddd; border-radius: 16px; overflow: hidden; background: #e7e0ee; }
#dandan2026 .dd-photo::before { content: ""; position: absolute; inset: 16% -17% -60% 22%; border: 28px solid #ffffff45; border-radius: 50%; transform: rotate(-25deg); }
#dandan2026 .dd-photo::after { content: attr(data-dd-name); position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: 18px; color: var(--dd-ink); font-size: 21px; font-weight: 600; letter-spacing: -1px; text-align: center; word-break: keep-all; overflow-wrap: anywhere; }
#dandan2026 .dd-photo img { position: relative; z-index: 1; transition: transform .55s ease; }
#dandan2026 .dd-photo img.dd-image-unavailable { visibility: hidden; }
#dandan2026 .dd-artist:hover .dd-photo img { transform: scale(1.045); }
#dandan2026 .dd-photo .dd-photo-plus { position: absolute; z-index: 2; right: 12px; bottom: 12px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--dd-ink); background: #ffffffed; font-size: 20px; line-height: 1; transition: transform .25s; }
#dandan2026 .dd-artist:hover .dd-photo-plus { transform: rotate(90deg); }
#dandan2026 .dd-photo-purple { background: #9d82b4; }
#dandan2026 .dd-photo-teal { background: #63a9af; }
#dandan2026 .dd-photo-pink { background: #d58c9a; }
#dandan2026 .dd-photo-navy { background: #777997; }
#dandan2026 .dd-artist-copy { display: block; width: 100%; padding-top: 16px; }
#dandan2026 .dd-artist-name { display: block; font-size: 20px; font-weight: 600; line-height: 1.5; letter-spacing: -.03em; overflow-wrap: anywhere; }
#dandan2026 .dd-artist-desc { display: block; margin-top: 8px; color: var(--dd-muted); font-size: 16px; line-height: 1.5; word-break: keep-all; }
#dandan2026 .dd-artist-tag { display: block; margin-bottom: 6px; color: var(--dd-accent); font-size: 14px; font-weight: 500; }
#dandan2026 .dd-featured .dd-photo { aspect-ratio: 1.38; }
#dandan2026 .dd-featured .dd-artist-name { font-size: 21px; }
#dandan2026 .dd-featured .dd-artist-desc { font-size: 17px; }
#dandan2026 .dd-children-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
#dandan2026 .dd-children-grid .dd-photo { aspect-ratio: 1.65; }
#dandan2026 .dd-children-note { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 24px; color: var(--dd-teal); background: #edf5f3; }
#dandan2026 .dd-children-note .dd-spark { margin-bottom: 14px; font-size: 32px; }
#dandan2026 .dd-children-note strong { font-size: 21px; font-weight: 600; line-height: 1.5; }
#dandan2026 .dd-children-note p { margin-top: 12px; color: #607b7d; font-size: 16px; }
#dandan2026 .dd-goodon { padding: 28px; border: 1px solid #e4dbea; border-radius: 22px; background: #f0eaf6; }
#dandan2026 .dd-goodon-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 24px; }
#dandan2026 .dd-goodon-intro > p { max-width: 880px; color: #6b5e7a; font-size: 17px; line-height: 1.7; }
#dandan2026 .dd-goodon-mark { color: var(--dd-purple); font-size: 21px; font-weight: 600; letter-spacing: -1px; white-space: nowrap; }
#dandan2026 .dd-acts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #d4c5df; }
#dandan2026 .dd-act h4 { color: var(--dd-purple); font-size: 18px; font-weight: 600; }
#dandan2026 .dd-act > p { margin-top: 8px; color: #75667f; font-size: 16px; line-height: 1.7; word-break: keep-all; }
#dandan2026 .dd-act-main { margin-top: 28px; }
#dandan2026 .dd-act-main > .dd-grid { margin-top: 20px; }
#dandan2026 .dd-lineup-heading { display: flex; align-items: center; gap: 14px; margin: 30px 0 20px; color: var(--dd-accent); font-size: 21px; font-weight: 600; }
#dandan2026 .dd-lineup-heading::after { content: ""; flex: 1; height: 1px; background: #ebccd4; }
#dandan2026 .dd-award { display: inline-block; margin-top: 10px; padding: 5px 10px; border-radius: 20px; color: #b34360; background: #fcebf0; font-size: 13px; font-weight: 500; }
#dandan2026 .dd-dance-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
#dandan2026 .dd-closing-note { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 22px; color: #a34463; background: #fceff2; }
#dandan2026 .dd-closing-note .dd-spark { margin-bottom: 14px; font-size: 32px; }
#dandan2026 .dd-closing-note strong { font-size: 21px; font-weight: 600; line-height: 1.5; }
#dandan2026 .dd-closing-note p { margin-top: 12px; font-size: 16px; }
#dandan2026 .dd-guide { padding-block: 50px; }
#dandan2026 .dd-guide-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 24px; }
#dandan2026 .dd-guide-info { border-top: 2px solid var(--dd-ink); }
#dandan2026 .dd-guide-info > div, #dandan2026 .dd-booking-guide > p { font-size: 17px; }
#dandan2026 .dd-guide-info > div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--dd-line); }
#dandan2026 .dd-guide-info dt { color: var(--dd-muted); font-size: 16px; }
#dandan2026 .dd-guide-info dd, #dandan2026 .dd-booking-guide { font-weight: 500; }
#dandan2026 .dd-guide-info dd small { display: block; margin-top: 5px; color: var(--dd-muted); font-size: 15px; font-weight: 400; }
#dandan2026 .dd-guide-actions { display: flex; gap: 10px; margin-top: 22px; }
#dandan2026 .dd-action { display: flex; flex: 1; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 17px; border: 1px solid var(--dd-line); border-radius: 12px; font-size: 16px; font-weight: 500; transition: background .2s; }
#dandan2026 .dd-action:hover { background: #f5f1f8; }
#dandan2026 .dd-action-primary { color: #fff; background: var(--dd-ink); border-color: var(--dd-ink); }
#dandan2026 .dd-action-primary:hover { background: #49415f; }
#dandan2026 .dd-booking-guide { align-self: stretch; padding: 26px; border: 1px solid var(--dd-line); border-radius: 12px; color: var(--dd-ink); background: #f7f4fa; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
#dandan2026 .dd-booking-guide p + p { margin-top: 16px; }
#dandan2026 .dd-booking-guide strong { color: var(--dd-purple); font-weight: 700; }
#dandan2026 .dd-booking-guide a:hover { text-decoration: underline; text-underline-offset: 3px; }
#dandan2026 .dd-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#dandan2026 .dd-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 0; border-radius: 5px; color: var(--dd-ink); background: #fff; overflow: auto; overscroll-behavior: contain; }
#dandan2026 .dd-dialog::backdrop { background: #211b35b8; backdrop-filter: blur(5px); }
#dandan2026 .dd-dialog-close { position: absolute; z-index: 3; right: 12px; top: 12px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--dd-ink); background: #fffffff2; font-family: Arial, sans-serif; font-size: 27px; line-height: 1; }
#dandan2026 .dd-dialog .dd-photo { aspect-ratio: 1.6; border: 0; border-radius: 0; }
#dandan2026 .dd-dialog-copy { padding: 28px; }
#dandan2026 .dd-dialog-label { color: var(--dd-purple); font-size: 14px; font-weight: 500; }
#dandan2026 .dd-dialog-title { margin-top: 10px; font-size: 27px; font-weight: 600; letter-spacing: -.03em; }
#dandan2026 .dd-dialog-desc { margin-top: 14px; color: var(--dd-muted); font-size: 17px; line-height: 1.7; white-space: pre-line; }
@media (max-width: 1024px) {
    #dandan2026 .dd-hero > .dd-inner { padding-inline: 30px; }
    #dandan2026 .dd-hero-grid { gap: 30px; }
    #dandan2026 .dd-hero-meta { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; }
    #dandan2026 .dd-hero-meta .dd-free { grid-column: 2; grid-row: 1 / 3; }
    #dandan2026 .dd-venue { grid-column: 1; }
    #dandan2026 .dd-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #dandan2026 .dd-goodon { padding: 24px; }
    #dandan2026 .dd-goodon-mark { display: none; }
    #dandan2026 .dd-guide-grid { gap: 30px; }
}
@media (max-width: 768px) {
    #dandan2026 .dd-hero { --dd-float-x: 6px; --dd-float-y: -12px; padding-top: 26px; }
    #dandan2026 .dd-hero::before { width: 350px; height: 350px; top: -260px; right: -160px; border-width: 70px; }
    #dandan2026 .dd-hero::after { width: 280px; height: 130px; left: -235px; bottom: 150px; border-width: 24px; }
    #dandan2026 .dd-hero-art::before { width: 190px; height: 260px; right: -165px; bottom: -90px; border-width: 26px; }
    #dandan2026 .dd-hero-star-teal { top: 16px; right: 12px; font-size: 24px; }
    #dandan2026 .dd-hero-star-purple { top: 43%; left: 8px; font-size: 16px; }
    #dandan2026 .dd-hero-star-yellow { bottom: 22px; left: auto; right: 20px; font-size: 24px; }
    #dandan2026 .dd-hero-dot-pink { top: 36px; left: 32px; width: 6px; height: 6px; }
    #dandan2026 .dd-hero-dot-teal { right: 10px; bottom: 38%; }
    #dandan2026 .dd-hero-dot-purple, #dandan2026 .dd-hero-orbit { display: none; }
    #dandan2026 .dd-hero-flower { margin-bottom: 10px; font-size: 23px; }
    #dandan2026 .dd-hero > .dd-inner { padding-inline: 22px; }
    #dandan2026 .dd-hero-grid { grid-template-columns: 1fr; gap: 24px; padding-bottom: 24px; }
    #dandan2026 .dd-hero-brand { max-width: 440px; }
    #dandan2026 .dd-hero-kicker { font-size: 15px; }
    #dandan2026 .dd-hero-title { width: min(100%, 400px); }
    #dandan2026 .dd-hero-en { font-size: 11px; }
    #dandan2026 .dd-hero-copy { padding-top: 24px; border-top: 1px solid #c6b9d3; }
    #dandan2026 .dd-hero-copy h3 { font-size: 23px; }
    #dandan2026 .dd-hero-copy > p { max-width: none; margin-top: 14px; font-size: 16px; }
    #dandan2026 .dd-hero-cta { margin-top: 18px; font-size: 15px; }
    #dandan2026 .dd-hero-meta { grid-template-columns: 1fr; gap: 14px; padding: 20px 0; }
    #dandan2026 .dd-hero-meta .dd-free { grid-column: 1; grid-row: auto; justify-self: start; }
    #dandan2026 .dd-date { font-size: 23px; }
    #dandan2026 .dd-date small { margin: 0 3px; font-size: 13px; }
    #dandan2026 .dd-venue { font-size: 17px; }
    #dandan2026 .dd-venue small { font-size: 14px; }
    #dandan2026 .dd-free { padding: 7px 12px; font-size: 14px; }
    #dandan2026 .dd-section-title { margin-top: 10px; font-size: 23px; }
    #dandan2026 .dd-programs { padding-block: 30px 40px; }
    #dandan2026 .dd-section-head { display: block; }
    #dandan2026 .dd-section-head > p { margin-top: 14px; font-size: 15px; }
    #dandan2026 .dd-section-head > p br { display: none; }
    #dandan2026 .dd-program-nav { gap: 5px; margin: 20px 0 12px; padding: 10px 0; }
    #dandan2026 .dd-filter { padding: 9px 12px; font-size: 14px; }
    #dandan2026 .dd-filter small { display: none; }
    #dandan2026 .dd-program { margin-top: 40px; }
    #dandan2026 .dd-program-heading { grid-template-columns: 86px minmax(0, 1fr); gap: 18px; }
    #dandan2026 .dd-day-stamp b { font-size: 23px; }
    #dandan2026 .dd-day-stamp span { font-size: 13px; }
    #dandan2026 .dd-program-heading h3 { font-size: 21px; }
    #dandan2026 .dd-program-heading-main > p { font-size: 16px; }
    #dandan2026 .dd-program-label { font-size: 13px; }
    #dandan2026 .dd-grid { gap: 24px 18px; }
    #dandan2026 .dd-featured { grid-template-columns: 1fr; gap: 28px; }
    #dandan2026 .dd-featured .dd-photo { aspect-ratio: 1.45; }
    #dandan2026 .dd-featured .dd-artist-name { font-size: 20px; }
    #dandan2026 .dd-featured .dd-artist-desc { font-size: 16px; }
    #dandan2026 .dd-children-grid, #dandan2026 .dd-dance-grid, #dandan2026 .dd-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #dandan2026 .dd-artist-name { font-size: 18px; }
    #dandan2026 .dd-artist-desc { font-size: 16px; }
    #dandan2026 .dd-artist-copy { padding-top: 14px; }
    #dandan2026 .dd-children-note, #dandan2026 .dd-closing-note { padding: 20px; }
    #dandan2026 .dd-children-note strong, #dandan2026 .dd-closing-note strong { font-size: 19px; }
    #dandan2026 .dd-goodon { padding: 20px; }
    #dandan2026 .dd-goodon-intro { margin-bottom: 20px; }
    #dandan2026 .dd-goodon-intro > p { font-size: 16px; }
    #dandan2026 .dd-acts { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; padding-top: 20px; }
    #dandan2026 .dd-act-main { margin-top: 24px; }
    #dandan2026 .dd-lineup-heading { margin-top: 28px; font-size: 19px; }
    #dandan2026 .dd-award { padding-inline: 8px; font-size: 12px; }
    #dandan2026 .dd-guide { padding-block: 40px; }
    #dandan2026 .dd-guide-grid { grid-template-columns: 1fr; gap: 30px; }
    #dandan2026 .dd-guide-info > div, #dandan2026 .dd-booking-guide > p { font-size: 16px; }
    #dandan2026 .dd-booking-guide { padding: 20px; }
    #dandan2026 .dd-action { padding-inline: 12px; font-size: 15px; }
    #dandan2026 .dd-dialog-copy { padding: 22px; }
    #dandan2026 .dd-dialog-title { font-size: 23px; }
    #dandan2026 .dd-dialog-desc { font-size: 16px; }
}
@media (max-width: 480px) {
    #dandan2026 .dd-kicker { font-size: 13px; }
    #dandan2026 .dd-date { font-size: 21px; }
    #dandan2026 .dd-grid-3, #dandan2026 .dd-grid-4, #dandan2026 .dd-children-grid, #dandan2026 .dd-dance-grid { grid-template-columns: 1fr; }
    #dandan2026 .dd-program-heading { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
    #dandan2026 .dd-day-stamp { padding-inline: 4px; }
    #dandan2026 .dd-program-heading h3 { font-size: 19px; }
    #dandan2026 .dd-program-actions { justify-content: space-between; }
    #dandan2026 .dd-booking { padding-inline: 14px; font-size: 14px; }
    #dandan2026 .dd-day-stamp span { font-size: 13px; letter-spacing: -1px; }
    #dandan2026 .dd-photo { aspect-ratio: 1.6; }
    #dandan2026 .dd-guide-info > div { grid-template-columns: 64px minmax(0, 1fr); }
    #dandan2026 .dd-guide-actions { flex-direction: column; }
}
/* 영문은 같은 레이아웃을 사용하되 영문 자간과 자연스러운 줄바꿈을 적용합니다. */
#dandan2026[lang="en"] { letter-spacing: normal; }
#dandan2026[lang="en"] :is(.dd-hero-copy h3, .dd-section-title, .dd-program-heading h3, .dd-artist-name, .dd-dialog-title, .dd-date, .dd-day-stamp b, .dd-day-stamp span, .dd-goodon-mark, .dd-hero-logo-fallback) { letter-spacing: normal; }
#dandan2026[lang="en"] .dd-photo::after { letter-spacing: normal; word-break: normal; }
#dandan2026[lang="en"] :is(.dd-program-heading-main > p, .dd-artist-desc) { word-break: normal; }
#dandan2026[lang="en"] .dd-hero-logo-fallback { font-size: clamp(30px, 5vw, 60px); }
#dandan2026[lang="en"] .dd-hero-dot-pink { top: 76px; }
#dandan2026[lang="en"] .dd-date { white-space: normal; }
@keyframes dd-reveal {
    from { opacity: 0; transform: translateY(var(--dd-reveal-distance, 16px)); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes dd-float {
    0%, 100% { transform: translate(0, 0) rotate(-10deg) scale(.95); }
    50% { transform: translate(var(--dd-float-x), var(--dd-float-y)) rotate(30deg) scale(1.12); }
}
@keyframes dd-dot-drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    35% { transform: translate(var(--dd-float-x), var(--dd-float-y)) scale(1.25); }
    70% { transform: translate(calc(var(--dd-float-x) * -1), calc(var(--dd-float-y) * .5)) scale(.9); }
}
@keyframes dd-flower-turn {
    from { transform: rotate(0); }
    to { transform: rotate(360deg); }
}
@keyframes dd-ring-drift {
    0%, 100% { transform: translate(0, 0) rotate(-25deg); }
    50% { transform: translate(-20px, 18px) rotate(-15deg); }
}
@keyframes dd-loop-drift {
    0%, 100% { transform: translate(0, 0) rotate(-32deg); }
    50% { transform: translate(22px, -18px) rotate(-20deg); }
}
@keyframes dd-petal-drift {
    0%, 100% { transform: translate(0, 0) rotate(32deg); }
    50% { transform: translate(-18px, -14px) rotate(22deg); }
}
@keyframes dd-dialog-in {
    from { opacity: 0; transform: translateY(14px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes dd-backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
    /* 영문 페이지의 스크롤 효과: 22px 이동, 0.65초 ease, 개별 지연 없음. */
    #dandan2026 .dd-enter { --dd-reveal-distance: 22px; animation: dd-reveal .65s ease backwards; }
    /* 서로 다른 주기와 시작점으로 상단 장식을 계속 움직입니다. */
    #dandan2026 .dd-hero-star { animation: dd-float 5.5s ease-in-out infinite; }
    #dandan2026 .dd-hero-star-purple { animation-duration: 6.5s; animation-delay: -2s; }
    #dandan2026 .dd-hero-star-yellow { animation-duration: 7s; animation-delay: -4s; animation-direction: reverse; }
    #dandan2026 .dd-hero-dot { animation: dd-dot-drift 6s ease-in-out infinite; }
    #dandan2026 .dd-hero-dot-pink { animation-delay: -1.5s; }
    #dandan2026 .dd-hero-dot-teal { animation-duration: 7.5s; animation-delay: -3s; }
    #dandan2026 .dd-hero-dot-purple { animation-duration: 5s; animation-delay: -2s; }
    #dandan2026 .dd-hero-flower { animation: dd-flower-turn 9s linear infinite; }
    #dandan2026 .dd-hero-orbit { animation: dd-dot-drift 10s ease-in-out infinite; }
    #dandan2026 .dd-hero::before { animation: dd-ring-drift 12s ease-in-out infinite; }
    #dandan2026 .dd-hero::after { animation: dd-loop-drift 10s ease-in-out -3s infinite; }
    #dandan2026 .dd-hero-art::before { animation: dd-petal-drift 13s ease-in-out -5s infinite; }
    #dandan2026 .dd-arrow { transition: transform .25s ease; }
    #dandan2026 .dd-filter, #dandan2026 .dd-booking, #dandan2026 .dd-action { transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
    #dandan2026 .dd-photo { transition: transform .3s ease, box-shadow .3s ease; }
    #dandan2026 .dd-artist-name { transition: color .2s ease; }
    #dandan2026 .dd-dialog-close { transition: transform .2s ease, background .2s ease; }
    #dandan2026 .dd-filter:active, #dandan2026 .dd-booking:active, #dandan2026 .dd-action:active { transform: scale(.98); }
    #dandan2026 .dd-dialog[open] { animation: dd-dialog-in .25s ease-out; }
    #dandan2026 .dd-dialog[open]::backdrop { animation: dd-backdrop-in .2s ease-out; }
    #dandan2026 .dd-artist:focus-visible .dd-photo { transform: translateY(-3px); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    #dandan2026 .dd-filter:hover, #dandan2026 .dd-booking:hover, #dandan2026 .dd-action:hover { transform: translateY(-2px); box-shadow: 0 5px 14px #39294d1a; }
    #dandan2026 .dd-artist:hover .dd-photo { transform: translateY(-3px); box-shadow: 0 8px 20px #39294d1f; }
    #dandan2026 .dd-artist:hover .dd-artist-name { color: var(--dd-accent); }
    #dandan2026 .dd-dialog-close:hover { transform: rotate(8deg); }
}
@media (prefers-reduced-motion: reduce) {
    #dandan2026 *, #dandan2026 *::before, #dandan2026 *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    #dandan2026 .dd-arrow, #dandan2026 .dd-photo img, #dandan2026 .dd-photo-plus { transform: none !important; }
}
@media print {
    #dandan2026 *, #dandan2026 *::before, #dandan2026 *::after { animation: none !important; transition: none !important; }
}
